tools/gst-launch.1.in: Update gst-launch man page; add a section with useful environm...
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * tools/gst-launch.1.in:
4           Update gst-launch man page; add a section with useful
5           environment variables. Fixes #323882.
6
7 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
8
9         * gst/gst.c:
10         * gst/gst_private.h:
11           change some char* into char[]
12
13 2005-12-16  Wim Taymans  <wim@fluendo.com>
14
15         * gst/gstregistryxml.c: (load_feature):
16         Cleanups.
17         Don't use g_object_unref on GstObjects so that we avoid
18         leaks on unsafe glibs.
19
20 2005-12-16  Wim Taymans  <wim@fluendo.com>
21
22         * gst/gstbin.c: (gst_bin_recalc_state):
23         Small doc updates.
24
25 2005-12-16  Wim Taymans  <wim@fluendo.com>
26
27         * common/check.mak:
28         Added make forever target for check.
29
30 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
31
32         * gst/gst.c: (init_post):
33           make the registry cache file HOST_CPU-dependent
34
35 2005-12-16  Andy Wingo  <wingo@pobox.com>
36
37         * plugins/elements/gstbufferstore.c
38         (gst_buffer_store_cleared_func): Pay attention to g_list_append
39         return value.
40
41         * tests/check/gst/gstobject.c
42         (test_fake_object_name_threaded_unique): Pay attention to
43         g_list_sort return value.
44
45 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
46
47         * tools/gst-feedback-m.m:
48           Update for 0.9/0.10 (fixes #323870).
49
50 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
51
52         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
53           Fix lcopy for mini objects, the mini object needs to be ref'ed.
54           
55         * tests/check/gst/gstminiobject.c: (my_foo_init),
56         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
57         (test_value_collection), (gst_mini_object_suite):
58           Add test to ensure refcounts end up as expected when passing
59           GstMiniObjects through g_object_get() and g_object_set().
60
61 2005-12-14  Julien MOUTTE  <julien@moutte.net>
62
63         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
64         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
65         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
66         of collectpads. This version removes a lot of races without
67         touching API/ABI. Yay !
68
69 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
70
71         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
72           Don't allow activation of a srcpad in pull_range if it has no
73           getrange function.
74           Change some debug statements to be a little clearer
75
76         * plugins/elements/gsttypefindelement.c:
77         (gst_type_find_handle_src_query):
78           Check that we have a peer before executing queries thereupon.
79
80         * tests/examples/metadata/read-metadata.c: (message_loop):
81           Use gst_bus_pop instead of gst_bus_poll when we just want it to
82           immediately return us any available message with 0 timeout.
83
84 2005-12-12  Michael Smith  <msmith@fluendo.com>
85
86         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
87           Don't unref factories after calling them.
88         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
89         * plugins/elements/gsttypefindelement.c:
90         (gst_type_find_element_chain):
91           Free lists of factories after using them. Fixing typefinding memory
92           leaks.
93
94 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
95
96         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
97         (gst_plugin_feature_load):
98           more meaningful debug output
99         * configure.ac:
100         * tests/Makefile.am:
101         * tests/old/examples/Makefile.am:
102           make make distcheck happy again
103
104 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
105
106         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
107           Catch the special case where we are operating chain-based,
108           but the downstream peer pad has no chain function. Emit a
109           custom error message in this case instead of letting the
110           core generate one implying that this is some sort of core
111           bug. It's not, it just means that whatever got plugged
112           into the pipeline downstream when we announced the type
113           can only operate pull-based, while our source can only
114           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
115           Error string has not been marked for translation yet, as
116           it probably needs some more work first.
117
118         (gst_type_find_element_get_best_possibility):
119           Add helper function to find the best of all available
120           found possibilities that qualify given the min. threshold.
121
122         (gst_type_find_element_handle_event):
123           Fix the case where we get an EOS while still in TYPEFIND
124           mode (we want to chose the best of all possible types,
125           not just the first type that happens to be in our unsorted
126           list of possible types).
127
128         (gst_type_find_element_chain):
129           Make sure we return GST_FLOW_ERROR when we errored out
130           in stop_typefinding(); also, don't just find the best of
131           all found type entries and then use the last examined
132           type entry, but actually use the best entry.
133
134 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
135
136         * tests/examples/typefind/typefind.c: (type_found):
137         * tests/examples/xml/runxml.c: (xml_loaded):
138           More gcc4 fixes and a mem leak fix.
139
140 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
141
142         * tests/examples/xml/createxml.c: (object_saved):
143           gcc 4 fixes
144
145 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
146
147         * tests/Makefile.am:
148           enable the examples even more
149
150 2005-12-12  Andy Wingo  <wingo@pobox.com>
151
152         * libs/gst/net/gstnettimeprovider.c
153         (gst_net_time_provider_class_init, gst_net_time_provider_init)
154         (gst_net_time_provider_set_property)
155         (gst_net_time_provider_get_property): Export "active" as a GObject
156         property.
157         (gst_net_time_provider_thread): Only respond to time queries if
158         the time provider is active.
159
160         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
161         NetTimeProvider, preserving binary compat.
162
163 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
164
165         * tests/examples/controller/audio-example.c: (main):
166         * tests/examples/launch/Makefile.am:
167           convert comments again
168
169 2005-12-12  Wim Taymans  <wim@fluendo.com>
170
171         * libs/gst/base/gstpushsrc.c:
172         Fix typo.
173
174 2005-12-12  Wim Taymans  <wim@fluendo.com>
175
176         * docs/libs/gstreamer-libs-sections.txt:
177         Added new symbol to docs.
178
179         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
180         (gst_base_src_init), (gst_base_src_set_format),
181         (gst_base_src_default_query), (gst_base_src_query),
182         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
183         (gst_base_src_perform_seek), (gst_base_src_send_event),
184         (gst_base_src_default_event), (gst_base_src_event_handler),
185         (gst_base_src_set_property), (gst_base_src_get_property),
186         (gst_base_src_wait), (gst_base_src_do_sync),
187         (gst_base_src_update_length), (gst_base_src_get_range),
188         (gst_base_src_check_get_range), (gst_base_src_loop),
189         (gst_base_src_default_negotiate), (gst_base_src_start),
190         (gst_base_src_activate_push), (gst_base_src_activate_pull),
191         (gst_base_src_change_state):
192         * libs/gst/base/gstbasesrc.h:
193         Implement seeking to other formats than _BYTES.
194         Implement more seeking methods correctly.
195         Doc updates.
196         Added query vmethod.
197         Added do_seek vmethod to make life easier for subclasses
198         when seeking.
199         API addition: gst_base_src_set_format()
200
201 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
202
203         * tests/examples/Makefile.am:
204           added that too
205
206 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
207
208         * configure.ac:
209         * docs/random/ensonic/media-device-daemon.txt:
210         * tests/examples/controller/.cvsignore:
211         * tests/examples/controller/Makefile.am:
212         * tests/examples/controller/audio-example.c: (main):
213         * tests/examples/helloworld/.cvsignore:
214         * tests/examples/helloworld/Makefile.am:
215         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
216         * tests/examples/launch/.cvsignore:
217         * tests/examples/launch/Makefile.am:
218         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
219         * tests/examples/metadata/.cvsignore:
220         * tests/examples/metadata/Makefile.am:
221         * tests/examples/metadata/read-metadata.c: (message_loop),
222         (make_pipeline), (print_tag), (main):
223         * tests/examples/queue/.cvsignore:
224         * tests/examples/queue/Makefile.am:
225         * tests/examples/queue/queue.c: (event_loop), (main):
226         * tests/examples/typefind/.cvsignore:
227         * tests/examples/typefind/Makefile.am:
228         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
229         (main):
230         * tests/examples/xml/.cvsignore:
231         * tests/examples/xml/Makefile.am:
232         * tests/examples/xml/createxml.c: (object_saved), (main):
233         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
234         * tests/old/examples/Makefile.am:
235         * tests/old/examples/TODO:
236         * tests/old/examples/controller/.cvsignore:
237         * tests/old/examples/controller/Makefile.am:
238         * tests/old/examples/controller/audio-example.c:
239         * tests/old/examples/helloworld/.cvsignore:
240         * tests/old/examples/helloworld/Makefile.am:
241         * tests/old/examples/helloworld/helloworld.c:
242         * tests/old/examples/launch/.cvsignore:
243         * tests/old/examples/launch/Makefile.am:
244         * tests/old/examples/launch/mp3parselaunch.c:
245         * tests/old/examples/launch/mp3play:
246         * tests/old/examples/manual/Makefile.am:
247         * tests/old/examples/metadata/Makefile.am:
248         * tests/old/examples/metadata/read-metadata.c:
249         * tests/old/examples/queue/.cvsignore:
250         * tests/old/examples/queue/Makefile.am:
251         * tests/old/examples/queue/queue.c:
252         * tests/old/examples/typefind/.cvsignore:
253         * tests/old/examples/typefind/Makefile.am:
254         * tests/old/examples/typefind/typefind.c:
255         * tests/old/examples/xml/.cvsignore:
256         * tests/old/examples/xml/Makefile.am:
257         * tests/old/examples/xml/createxml.c:
258         * tests/old/examples/xml/runxml.c:
259           applied some simple fixing to some examples
260           re-enabled the working examples
261
262 2005-12-12  Wim Taymans  <wim@fluendo.com>
263
264         * gst/gstsegment.c: (gst_segment_init),
265         (gst_segment_set_last_stop), (gst_segment_set_seek),
266         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
267         (gst_segment_to_running_time):
268         Added more documentation.
269         Make sure the last_pos value is updated properly.
270         Make sure to_stream_time and to_running_time don't
271         operate on wrong values.
272
273         * tests/check/gst/gstsegment.c: (GST_START_TEST):
274         Update check.
275
276 2005-12-12  Michael Smith  <msmith@fluendo.com>
277
278         * plugins/elements/gsttypefindelement.c: (free_entry),
279         (gst_type_find_element_chain):
280           Now that we're not leaking factories, make sure we keep references
281           to them while we need them.
282
283 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
284
285         * tests/check/gst/struct_i386.h:
286           ifdef out the XML structs
287
288 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
289
290         * gst/gstvalue.c: (gst_value_transform_double_fraction):
291           floor is not needed, F is always positive; this obviates the
292           need for adding -lm when building without libxml
293
294 2005-12-12  Wim Taymans  <wim@fluendo.com>
295
296         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
297         Take current playback rate into account when reporting
298         the position.
299
300 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
301
302         * docs/manual/mime-world.fig:
303           Let's try this again, this time with a file that is
304           actually in XFig format.
305
306 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
307
308         * docs/manual/mime-world.fig:
309           Add audioconvert element to diagram so that it
310           matches the text and the code (fixes #319526).
311
312 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
313
314         * docs/pwg/building-chainfn.xml:
315         * docs/pwg/building-pads.xml:
316         * docs/pwg/building-state.xml:
317         * docs/pwg/other-source.xml:
318           Update state change stuff for 0.10 (fixes #322969).
319
320 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
321
322         * docs/manual/advanced-dataaccess.xml:
323         * docs/manual/appendix-checklist.xml:
324         * docs/manual/appendix-programs.xml:
325         * docs/manual/basics-pads.xml:
326         * docs/manual/highlevel-components.xml:
327         * docs/manual/manual.xml:
328           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
329           add converters in front of pipelines; remove curly
330           brackets for threads stuff, they no longer exist; use
331           GST_TYPE_FRACTION for framerates; update some pieces of
332           code to 0.10, but there's plenty more to do.
333
334         * docs/manual/appendix-porting.xml:
335           Expand on asynchroneous state changes; s/0.9/0.10/;
336           mention disappearance of gst_init_get_popt_table()
337           (fixes #322916).
338
339 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
340
341         * docs/faq/using.xml:
342           Spider no longer exists, and neither does gst-launch-ext.
343           Update examples to use decodebin and playbin and put
344           converters in front of sinks (fixes #323726).
345
346 2005-12-09  Michael Smith  <msmith@fluendo.com>
347
348         * plugins/elements/gsttypefindelement.c: (find_peek),
349         (gst_type_find_element_chain):
350           Fix leaking element factories in typefinding.
351           Fix problem where we forgot about a probable type on non-seekable
352           files, and thus later mis-typefound it.
353
354 2005-12-09  Michael Smith  <msmith@fluendo.com>
355
356         * common/m4/gst-makecontext.m4:
357         * common/m4/gst-mcsc.m4:
358         * configure.ac:
359         * win32/common/config.h:
360         * win32/common/config.h.in:
361           Remove makecontext stuff; not used in 0.10 and causes problems on
362           HPUX according to bug #322441
363
364 2005-12-07  Wim Taymans  <wim@fluendo.com>
365
366         * tests/check/Makefile.am:
367         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
368         (main):
369         * tests/check/libs/struct_i386.h:
370         Added ABI check for libs
371
372 2005-12-07  Wim Taymans  <wim@fluendo.com>
373
374         * tests/check/Makefile.am:
375         And add the struct_i386.h to dist.
376
377 2005-12-07  Wim Taymans  <wim@fluendo.com>
378
379         * tests/check/Makefile.am:
380         * tests/check/gst/.cvsignore:
381         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
382         (main):
383         * tests/check/gst/struct_i386.h:
384         Added check for ABI compatibility.
385
386 2005-12-07  Wim Taymans  <wim@fluendo.com>
387
388         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
389         (gst_fake_src_get_times), (gst_fake_src_create):
390         Fix broken sync option, fixes #323259
391
392 2005-12-07  Wim Taymans  <wim@fluendo.com>
393
394         * gst/gstbuffer.c:
395         Small docs update.
396
397         * gst/gstcaps.c: (gst_caps_is_equal):
398         Don't assert on NULL <--> X. Fixes #323260
399
400         * gst/gstminiobject.c: (gst_mini_object_replace):
401         If we're doing atomic operations, we might just as well use
402         the proper way to get an atomic pointer.
403
404         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
405         Clean up debugging.
406
407 2005-12-07  Michael Smith  <msmith@fluendo.com>
408
409         * gst/parse/grammar.y:
410           Remove handling of { } for threads.
411
412 2005-12-06  David Schleef  <ds@schleef.org>
413
414         * libs/gst/base/gstbasetransform.c: speling fix.
415
416 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
417
418         * docs/libs/tmpl/gstdataprotocol.sgml:
419         * docs/random/omega/testing/gstobject.c:
420         * gst/gst.c:
421         * gst/gstclock.c:
422         * gst/gstelement.c:
423         * gst/gstelementfactory.c:
424         * gst/gsterror.c:
425         * gst/gstevent.c:
426         * gst/gstghostpad.c:
427         * gst/gstinfo.c:
428         * gst/gstpadtemplate.c:
429         * gst/gstregistryxml.c:
430         * gst/gsttaglist.c:
431         * gst/gsttagsetter.c:
432         * gst/gsttypefind.c:
433         * gst/gstvalue.c:
434         * libs/gst/base/gstbasesrc.c:
435         * libs/gst/net/gstnetclientclock.c:
436         * libs/gst/net/gstnettimeprovider.c:
437         * plugins/elements/gstfakesrc.c:
438         * plugins/elements/gstfdsrc.c:
439         * plugins/elements/gstfilesrc.c:
440         * plugins/elements/gstidentity.c:
441         * plugins/elements/gstqueue.c:
442         * plugins/elements/gsttypefindelement.c:
443         * plugins/indexers/gstfileindex.c:
444         * plugins/indexers/gstmemindex.c:
445         * tests/check/gst/gsttag.c:
446         * tests/old/examples/cutter/cutter.c:
447         * tests/old/examples/mixer/mixer.c:
448         * tests/old/examples/xml/runxml.c: (main):
449         * tests/old/testsuite/caps/normalisation.c:
450         * tests/old/testsuite/debug/global.c:
451         * tests/old/testsuite/parse/parse1.c:
452         * tools/gst-xmlinspect.c:
453         * win32/common/dirent.c:
454           expand tabs
455
456 === release 0.10.0 ===
457
458 2005-12-05   <thomas (at) apestaart (dot) org>
459
460         * configure.ac:
461           releasing 0.10.0, "Maroilles"
462
463 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
464
465         submitted by: Funda Wang <fundawang@linux.net.cn>
466
467         * po/LINGUAS:
468         * po/zh_CN.po:
469           added Chinese (Traditional) translation
470
471 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
472
473         * docs/gst/gstreamer-sections.txt:
474         * docs/libs/tmpl/gstdataprotocol.sgml:
475         * docs/random/thomasvs/TODO:
476         * gst/gstutils.c:
477         * gst/gstutils.h:
478           fix docs
479
480 2005-12-05  Andy Wingo  <wingo@pobox.com>
481
482         patch by: Wim Taymans <wim@fluendo.com>
483
484         * libs/gst/base/gstbasetransform.c
485         (gst_base_transform_prepare_output_buf)
486         (gst_base_transform_buffer_alloc):
487         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
488         alloc_buffer_and_set_caps.
489
490         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
491         set_caps on the source pad.
492         (gst_pad_alloc_buffer_and_set_caps): New function, does what
493         alloc_buffer used to do. Fixes #322874.
494
495         * docs/gst/gstreamer-sections.txt: 
496         * docs/design/part-negotiation.txt: 
497         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
498         changes.
499
500 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
501
502         patch by: Sebastien Moutte
503
504         * win32/MANIFEST:
505         * win32/common/config.h.in:
506         * win32/vs6/libgstcontroller.dsp:
507           win32 build fixes
508
509 2005-12-05  Wim Taymans  <wim@fluendo.com>
510
511         * gst/gstcaps.c: (gst_caps_is_equal):
512         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
513         (gst_fake_src_create):
514         Back out previous code changes, leave doc updates, file bugs 
515         instead. 
516
517 2005-12-05  Wim Taymans  <wim@fluendo.com>
518
519         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
520         (gst_fake_src_get_times), (gst_fake_src_create):
521         * plugins/elements/gstfakesrc.h:
522         Fix broken sync code.
523
524 2005-12-05  Wim Taymans  <wim@fluendo.com>
525
526         * gst/gstcaps.c: (gst_caps_is_equal):
527         Comparing NULL against !NULL yields different caps, not a
528         failure.
529
530 2005-12-05  Wim Taymans  <wim@fluendo.com>
531
532         * gst/gstpipeline.c:
533         Fix small typo in docs.
534
535 2005-12-05  Andy Wingo  <wingo@pobox.com>
536
537         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
538
539         * gst/gst.c (init_post): remove hard-coded 0.9 location for
540         registries/plugins with a MAJORMINOR one.
541         (plugin_desc): Rename library from gstcoreleements to
542         staticelements. Fixes #323222.
543
544 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
545
546         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
547           Change debug category to 'collectpads' from 'collect_pads'
548           (fixes #323250).
549
550 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
551
552         patch by: Sebastien Moutte
553
554         * libs/gst/controller/gstinterpolation.c:
555           use convert function for uint64/double
556         * win32/vs6/libgstcontroller.dsp:
557           link to GLib
558
559 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
560
561         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
562         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
563         * gst/gstutils.h:
564         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
565           add tests that seem to show that the guint64/gdouble conversions
566           are correct.
567
568 2005-12-02  Wim Taymans  <wim@fluendo.com>
569
570         * gst/gstregistry.c: (gst_registry_add_path):
571         * gst/gstregistry.h:
572         * gst/gstregistryxml.c:
573         Fix docs again.
574
575 2005-12-02  Wim Taymans  <wim@fluendo.com>
576
577         * gst/gstutils.c: (gst_util_uint64_scale_int64),
578         (gst_util_uint64_scale_int):
579         Small cleanup.
580
581         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
582         Add debug log line.
583
584         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
585         Add FIXME.
586
587 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
588
589         * win32/MANIFEST:
590         * win32/common/config.h:
591         * win32/vs6/gstreamer.dsw:
592         * win32/vs6/libgstcoreelements.dsp:
593         * win32/vs6/libgstelements.dsp:
594           renamed core elements plugin
595
596 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
597
598         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
599         (get_candidates):
600           do piece-wise major/minor comparison so 0.9 < 0.10
601           also allow .exe extensions for tools
602
603 2005-12-02  Michael Smith  <msmith@fluendo.com>
604
605         * gst/gst.c:
606           Escape a % to make gtkdoc happier; bug 322958.
607
608 === release 0.9.7 ===
609
610 2005-12-01   <thomas (at) apestaart (dot) org>
611
612         * configure.ac:
613           releasing 0.9.7, "My Dog Has No Nose"
614
615 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
616
617         * common/gst-xmlinspect.py:
618         * configure.ac:
619         * docs/libs/tmpl/gstdataprotocol.sgml:
620         * docs/random/release:
621         * po/af.po:
622         * po/az.po:
623         * po/bg.po:
624         * po/ca.po:
625         * po/cs.po:
626         * po/de.po:
627         * po/en_GB.po:
628         * po/fr.po:
629         * po/it.po:
630         * po/nb.po:
631         * po/nl.po:
632         * po/ru.po:
633         * po/sq.po:
634         * po/sr.po:
635         * po/sv.po:
636         * po/tr.po:
637         * po/uk.po:
638         * po/vi.po:
639         * win32/common/config.h:
640         * win32/common/config.h.in:
641         * win32/vs6/gst_inspect.dsp:
642         * win32/vs6/gst_launch.dsp:
643         * win32/vs6/libgstbase.dsp:
644         * win32/vs6/libgstelements.dsp:
645         * win32/vs6/libgstreamer.dsp:
646         * win32/vs7/GStreamer.vcproj:
647         * win32/vs7/gst-inspect.vcproj:
648         * win32/vs7/gst-launch.vcproj:
649         * win32/vs7/libgstbase.vcproj:
650           bump GST_MAJORMINOR to 0.10
651           reset libtool version
652
653 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
654
655         * po/LINGUAS:
656         * po/bg.po:
657           Added Bulgarian translation by (Alexander Shopov)
658
659 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
660
661         * tests/check/gst/gstplugin.c:
662           fix test
663
664 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
665
666         * common/gst-xmlinspect.py:
667         * common/gtk-doc-plugins.mak:
668         * configure.ac:
669         * docs/Makefile.am:
670         * docs/gst/Makefile.am:
671         * docs/gst/gstreamer-docs.sgml:
672         * docs/gst/gstreamer-sections.txt:
673         * docs/gst/gstreamer.types:
674         * docs/gst/gstreamer.types.in:
675         * docs/plugins/Makefile.am:
676         * docs/plugins/gstreamer-plugins-docs.sgml:
677         * docs/plugins/gstreamer-plugins-sections.txt:
678         * docs/plugins/gstreamer-plugins.types:
679         * docs/plugins/inspect.stamp:
680         * docs/plugins/inspect/plugin-coreelements.xml:
681         * docs/plugins/inspect/plugin-coreindexers.xml:
682         * docs/plugins/scanobj-build.stamp:
683         * gstreamer.spec.in:
684         * plugins/elements/Makefile.am:
685         * plugins/elements/gstelements.c:
686         * plugins/elements/gstfakesink.c:
687         * plugins/elements/gstfakesrc.c:
688         * plugins/elements/gstfilesink.c:
689         * plugins/elements/gstfilesrc.c:
690         * plugins/elements/gstqueue.c:
691         * plugins/indexers/Makefile.am:
692         * plugins/indexers/gstindexers.c:
693           document core plugins in a separate document just like all the
694           others
695           rename these plugins to something starting with core
696
697 2005-12-01  Andy Wingo  <wingo@pobox.com>
698
699         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
700         padding here before, but it missed the commit.
701
702 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
703
704         * libs/gst/controller/gstinterpolation.c:
705           whitespace prices have crashed, we should feel free to use some now
706           use gst_guint64_to_gdouble
707
708 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
709
710         * libs/gst/controller/gstcontroller.c:
711         * libs/gst/controller/gsthelper.c:
712         * libs/gst/controller/gstinterpolation.c:
713         * libs/gst/controller/lib.c:
714           wrap config.h include
715
716 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
717
718         * docs/gst/gstreamer-sections.txt:
719           update docs
720
721 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
722
723         * plugins/elements/gstelements.c:
724         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
725         (gst_fd_sink__class_init), (gst_fd_sink__init),
726         (gst_fd_sink__chain), (gst_fd_sink__set_property),
727         (gst_fd_sink__get_property):
728         * plugins/elements/gstfdsink.h:
729         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
730         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
731         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
732         (gst_fd_src_unlock), (gst_fd_src_set_property),
733         (gst_fd_src_get_property), (gst_fd_src_create),
734         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
735         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
736         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
737         (gst_fd_src_uri_handler_init):
738         * plugins/elements/gstfdsrc.h:
739         * plugins/elements/gstqueue.c: (gst_queue_get_type):
740           more anal cleanup
741
742 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
743
744         * docs/gst/Makefile.am:
745         * docs/gst/gstreamer.types.in:
746         * gst/Makefile.am:
747           fix the docs build
748
749 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
750
751         * configure.ac:
752         * gst/Makefile.am:
753         * gst/gst.c:
754         * gst/gstplugin.h:
755         * gst/gstregistry.h:
756         * tests/benchmarks/complexity.c:
757         * tests/benchmarks/mass-elements.c:
758         * tests/check/Makefile.am:
759         * tools/Makefile.am:
760         * tools/gst-inspect.c:
761         * tools/gst-xmlinspect.c:
762           various fixes to make
763           --disable-nls --disable-registry --disable-loadsave
764           --disable-parse --disable-gst-debug
765           work and get the core .so down to 360444 bytes after stripping
766
767 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
768
769         * Makefile.am:
770         * configure.ac:
771           descend into tests
772         * docs/random/thomasvs/TODO:
773         * tests/Makefile.am:
774         * tests/README:
775           add a README
776
777 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
778
779         * win32/GStreamer.vcproj:
780         * win32/MANIFEST:
781         * win32/Makefile:
782         * win32/Makefile.inspect:
783         * win32/Makefile.launch:
784         * win32/Makefile.register:
785         * win32/README.txt:
786         * win32/gst-inspect.vcproj:
787         * win32/gst-launch.vcproj:
788         * win32/gst-register.vcproj:
789         * win32/gstelements.vcproj:
790         * win32/gstgetbits.def:
791         * win32/gstgetbits.vcproj:
792         * win32/gstreamer-dbg.def:
793         * win32/gstreamer.def:
794         * win32/libgstbase.def:
795         * win32/libgstbase.vcproj:
796         * win32/link_oldruntime.c:
797         * win32/mman.c:
798         * win32/mman.h:
799         * win32/mman.inl:
800         * win32/msvc71.sln:
801           move even more stuff, win32/ is nice and clean now
802
803 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
804
805         * libs/gst/control/.cvsignore:
806         * win32/MANIFEST:
807         * win32/config.h:
808         * win32/dirent.c:
809         * win32/dirent.h:
810         * win32/gstbytestream.def:
811         * win32/gstbytestream.vcproj:
812         * win32/gstconfig.h:
813         * win32/gstenumtypes.c:
814         * win32/gstenumtypes.h:
815         * win32/gstoptimalscheduler.vcproj:
816         * win32/gstversion.h:
817         * win32/gtchar.h:
818         * win32/testsuite/bins.vcproj:
819         * win32/testsuite/bytestream.vcproj:
820         * win32/testsuite/caps.vcproj:
821         * win32/testsuite/cleanup.vcproj:
822         * win32/testsuite/clock.vcproj:
823         * win32/testsuite/debug.vcproj:
824         * win32/testsuite/dlopen.vcproj:
825         * win32/testsuite/dynparams.vcproj:
826         * win32/testsuite/elements.vcproj:
827         * win32/testsuite/ghostpads.vcproj:
828         * win32/testsuite/indexers.vcproj:
829         * win32/testsuite/negotiation.vcproj:
830         * win32/testsuite/parse.vcproj:
831         * win32/testsuite/plugin.vcproj:
832         * win32/testsuite/refcounting.vcproj:
833         * win32/testsuite/schedulers.vcproj:
834         * win32/testsuite/states.vcproj:
835         * win32/testsuite/tags.vcproj:
836         * win32/testsuite/threads.vcproj:
837           remove old win32 stuff that isn't maintained and should be
838           reorganized
839
840 2005-11-30  Andy Wingo  <wingo@pobox.com>
841
842         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
843         loading the gst.interfaces python module bork.
844
845         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
846         available since GLib 2.2. Fixes #318031.
847
848 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
849
850         * Makefile.am:
851         * check/.cvsignore:
852         * check/Makefile.am:
853         * check/elements/.cvsignore:
854         * check/elements/fakesrc.c:
855         * check/elements/fdsrc.c:
856         * check/elements/identity.c:
857         * check/generic/.cvsignore:
858         * check/generic/states.c:
859         * check/gst-libs/.cvsignore:
860         * check/gst-libs/controller.c:
861         * check/gst-libs/gdp.c:
862         * check/gst/.cvsignore:
863         * check/gst/capslist.h:
864         * check/gst/gst.c:
865         * check/gst/gstbin.c:
866         * check/gst/gstbuffer.c:
867         * check/gst/gstbus.c:
868         * check/gst/gstcaps.c:
869         * check/gst/gstelement.c:
870         * check/gst/gstevent.c:
871         * check/gst/gstghostpad.c:
872         * check/gst/gstiterator.c:
873         * check/gst/gstmessage.c:
874         * check/gst/gstminiobject.c:
875         * check/gst/gstobject.c:
876         * check/gst/gstpad.c:
877         * check/gst/gstpipeline.c:
878         * check/gst/gstplugin.c:
879         * check/gst/gstsegment.c:
880         * check/gst/gststructure.c:
881         * check/gst/gstsystemclock.c:
882         * check/gst/gsttag.c:
883         * check/gst/gstutils.c:
884         * check/gst/gstvalue.c:
885         * check/net/.cvsignore:
886         * check/net/gstnetclientclock.c:
887         * check/net/gstnettimeprovider.c:
888         * check/pipelines/.cvsignore:
889         * check/pipelines/cleanup.c:
890         * check/pipelines/simple_launch_lines.c:
891         * check/pipelines/stress.c:
892         * check/states/.cvsignore:
893         * check/states/sinks.c:
894         * configure.ac:
895         * examples/Makefile.am:
896         * examples/appreader/.cvsignore:
897         * examples/appreader/Makefile.am:
898         * examples/appreader/appreader.c:
899         * examples/controller/.cvsignore:
900         * examples/controller/Makefile.am:
901         * examples/controller/audio-example.c:
902         * examples/cutter/.cvsignore:
903         * examples/cutter/Makefile.am:
904         * examples/cutter/cutter.c:
905         * examples/cutter/cutter.h:
906         * examples/events/Makefile.am:
907         * examples/events/seek.c:
908         * examples/helloworld/.cvsignore:
909         * examples/helloworld/Makefile.am:
910         * examples/helloworld/helloworld.c:
911         * examples/helloworld2/.cvsignore:
912         * examples/helloworld2/Makefile.am:
913         * examples/helloworld2/helloworld2.c:
914         * examples/launch/.cvsignore:
915         * examples/launch/Makefile.am:
916         * examples/launch/mp3parselaunch.c:
917         * examples/launch/mp3play:
918         * examples/manual/.cvsignore:
919         * examples/manual/Makefile.am:
920         * examples/manual/extract.pl:
921         * examples/metadata/Makefile.am:
922         * examples/metadata/read-metadata.c:
923         * examples/mixer/.cvsignore:
924         * examples/mixer/Makefile.am:
925         * examples/mixer/mixer.c:
926         * examples/mixer/mixer.h:
927         * examples/pingpong/.cvsignore:
928         * examples/pingpong/Makefile.am:
929         * examples/pingpong/pingpong.c:
930         * examples/plugins/.cvsignore:
931         * examples/plugins/Makefile.am:
932         * examples/plugins/example.c:
933         * examples/plugins/example.h:
934         * examples/pwg/.cvsignore:
935         * examples/pwg/Makefile.am:
936         * examples/pwg/extract.pl:
937         * examples/queue/.cvsignore:
938         * examples/queue/Makefile.am:
939         * examples/queue/queue.c:
940         * examples/queue2/.cvsignore:
941         * examples/queue2/Makefile.am:
942         * examples/queue2/queue2.c:
943         * examples/queue3/.cvsignore:
944         * examples/queue3/Makefile.am:
945         * examples/queue3/queue3.c:
946         * examples/queue4/.cvsignore:
947         * examples/queue4/Makefile.am:
948         * examples/queue4/queue4.c:
949         * examples/retag/.cvsignore:
950         * examples/retag/Makefile.am:
951         * examples/retag/retag.c:
952         * examples/retag/transcode.c:
953         * examples/thread/.cvsignore:
954         * examples/thread/Makefile.am:
955         * examples/thread/thread.c:
956         * examples/typefind/.cvsignore:
957         * examples/typefind/Makefile.am:
958         * examples/typefind/typefind.c:
959         * examples/xml/.cvsignore:
960         * examples/xml/Makefile.am:
961         * examples/xml/createxml.c:
962         * examples/xml/runxml.c:
963         * tests/Makefile.am:
964         * tests/check/Makefile.am:
965         * testsuite/.cvsignore:
966         * testsuite/Makefile.am:
967         * testsuite/Rules:
968         * testsuite/caps/.cvsignore:
969         * testsuite/caps/Makefile.am:
970         * testsuite/caps/app_fixate.c:
971         * testsuite/caps/audioscale.c:
972         * testsuite/caps/caps.c:
973         * testsuite/caps/caps.h:
974         * testsuite/caps/caps_strings:
975         * testsuite/caps/compatibility.c:
976         * testsuite/caps/deserialize.c:
977         * testsuite/caps/enumcaps.c:
978         * testsuite/caps/eratosthenes.c:
979         * testsuite/caps/filtercaps.c:
980         * testsuite/caps/fixed.c:
981         * testsuite/caps/fraction-convert.c:
982         * testsuite/caps/fraction-multiply-and-zero.c:
983         * testsuite/caps/intersect2.c:
984         * testsuite/caps/intersection.c:
985         * testsuite/caps/normalisation.c:
986         * testsuite/caps/random.c:
987         * testsuite/caps/renegotiate.c:
988         * testsuite/caps/sets.c:
989         * testsuite/caps/simplify.c:
990         * testsuite/caps/string-conversions.c:
991         * testsuite/caps/structure.c:
992         * testsuite/caps/subtract.c:
993         * testsuite/caps/union.c:
994         * testsuite/debug/.cvsignore:
995         * testsuite/debug/Makefile.am:
996         * testsuite/debug/category.c:
997         * testsuite/debug/commandline.c:
998         * testsuite/debug/global.c:
999         * testsuite/debug/output.c:
1000         * testsuite/debug/printf_extension.c:
1001         * testsuite/dlopen/.cvsignore:
1002         * testsuite/dlopen/Makefile.am:
1003         * testsuite/dlopen/dlopen_gst.c:
1004         * testsuite/dlopen/loadgst.c:
1005         * testsuite/elements/.cvsignore:
1006         * testsuite/elements/Makefile.am:
1007         * testsuite/elements/gst-inspect-check.in:
1008         * testsuite/elements/struct_i386.h:
1009         * testsuite/elements/struct_size.c:
1010         * testsuite/indexers/.cvsignore:
1011         * testsuite/indexers/Makefile.am:
1012         * testsuite/indexers/cache1.c:
1013         * testsuite/indexers/indexdump.c:
1014         * testsuite/parse/.cvsignore:
1015         * testsuite/parse/Makefile.am:
1016         * testsuite/parse/parse1.c:
1017         * testsuite/parse/parse2.c:
1018         * testsuite/plugin/.cvsignore:
1019         * testsuite/plugin/Makefile.am:
1020         * testsuite/plugin/README:
1021         * testsuite/plugin/dynamic.c:
1022         * testsuite/plugin/linked.c:
1023         * testsuite/plugin/loading.c:
1024         * testsuite/plugin/registry.c:
1025         * testsuite/plugin/static.c:
1026         * testsuite/plugin/static2.c:
1027         * testsuite/plugin/testplugin.c:
1028         * testsuite/plugin/testplugin2.c:
1029         * testsuite/plugin/testplugin2_s.c:
1030         * testsuite/plugin/testplugin_s.c:
1031         * testsuite/refcounting/.cvsignore:
1032         * testsuite/refcounting/Makefile.am:
1033         * testsuite/refcounting/bin.c:
1034         * testsuite/refcounting/element.c:
1035         * testsuite/refcounting/element_pad.c:
1036         * testsuite/refcounting/mainloop.c:
1037         * testsuite/refcounting/mem.c:
1038         * testsuite/refcounting/mem.h:
1039         * testsuite/refcounting/object.c:
1040         * testsuite/refcounting/pad.c:
1041         * testsuite/refcounting/sched.c:
1042         * testsuite/refcounting/thread.c:
1043         * testsuite/states/.cvsignore:
1044         * testsuite/states/Makefile.am:
1045         * testsuite/states/bin.c:
1046         * testsuite/states/locked.c:
1047         * testsuite/states/parent.c:
1048         * testsuite/threads/.cvsignore:
1049         * testsuite/threads/159566.c:
1050         * testsuite/threads/159852.c:
1051         * testsuite/threads/Makefile.am:
1052         * testsuite/threads/queue.c:
1053         * testsuite/threads/signals.c:
1054         * testsuite/threads/staticrec.c:
1055         * testsuite/threads/thread.c:
1056         * testsuite/threads/threadb.c:
1057         * testsuite/threads/threadc.c:
1058         * testsuite/threads/threadd.c:
1059         * testsuite/threads/threade.c:
1060         * testsuite/threads/threadf.c:
1061         * testsuite/threads/threadg.c:
1062         * testsuite/threads/threadh.c:
1063         * testsuite/threads/threadi.c:
1064           move all of these under tests
1065
1066 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1067
1068         * configure.ac:
1069         * tests/Makefile.am:
1070           fix distcheck
1071
1072 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1073
1074         * docs/gst/gstreamer-sections.txt:
1075         * tests/sched/.cvsignore:
1076         * tests/sched/Makefile.am:
1077         * tests/sched/cases/(fs-fs).xml:
1078         * tests/sched/cases/(fs-i-fs).xml:
1079         * tests/sched/cases/(fs-i-i-fs).xml:
1080         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1081         * tests/sched/dynamic-pipeline.c:
1082         * tests/sched/interrupt1.c:
1083         * tests/sched/interrupt2.c:
1084         * tests/sched/interrupt3.c:
1085         * tests/sched/runtestcases:
1086         * tests/sched/runxml.c:
1087         * tests/sched/sched-stress.c:
1088         * tests/sched/sort.c:
1089         * tests/sched/testcases:
1090         * tests/sched/testcases1.tc:
1091         * tests/seeking/.cvsignore:
1092         * tests/seeking/Makefile.am:
1093         * tests/seeking/seeking1.c:
1094         * tests/threadstate/.cvsignore:
1095         * tests/threadstate/Makefile.am:
1096         * tests/threadstate/test1.c:
1097         * tests/threadstate/test2.c:
1098         * tests/threadstate/threadstate1.c:
1099         * tests/threadstate/threadstate2.c:
1100         * tests/threadstate/threadstate3.c:
1101         * tests/threadstate/threadstate4.c:
1102         * tests/threadstate/threadstate5.c:
1103           remove obsolete tests
1104         * configure.ac:
1105         * tests/bench-complexity.scm:
1106         * tests/bench-mass_elements.scm:
1107         * tests/complexity.c:
1108         * tests/complexity.gnuplot:
1109         * tests/instantiate/.cvsignore:
1110         * tests/instantiate/Makefile.am:
1111         * tests/instantiate/caps.c:
1112         * tests/mass_elements.c:
1113         * tests/network-clock-utils.scm:
1114         * tests/network-clock.scm:
1115         * tests/plot-data:
1116         First pass at cleaning up tests/ dir before moving the rest
1117         Combined with CVS surgery
1118
1119 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1120
1121         * po/POTFILES.in:
1122           queue has moved, update
1123
1124 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1125
1126         * docs/gst/gstreamer-sections.txt:
1127           remove double entries from the docs
1128         * gst/gst_private.h:
1129         * gst/gstinfo.c: (_gst_debug_init):
1130           remove the THREAD debug category
1131         * gst/Makefile.am:
1132         * gst/gstqueue.c:
1133         * gst/gstqueue.h:
1134         * docs/gst/gstreamer.types:
1135         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1136         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1137           completely move queue and fix up debugging categories
1138
1139 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1140
1141         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1142           make initialization portable, using LL is not
1143
1144 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1145
1146         * win32/common/gstconfig.h:
1147           add large padding
1148
1149 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1150
1151         * win32/common/libgstreamer.def:
1152           rename symbols; sort base section
1153
1154 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1155
1156         * gst/gstclock.c: (do_linear_regression):
1157           remove crack non-portable handrolled DEBUG macro
1158
1159 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1160
1161         * docs/random/release:
1162           update notes
1163         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1164         (gst_object_flags_get_type), (register_gst_bin_flags),
1165         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1166         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1167         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1168         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1169         (gst_caps_flags_get_type), (register_gst_clock_return),
1170         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1171         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1172         (gst_clock_flags_get_type), (register_gst_state),
1173         (gst_state_get_type), (register_gst_state_change_return),
1174         (gst_state_change_return_get_type), (register_gst_state_change),
1175         (gst_state_change_get_type), (register_gst_element_flags),
1176         (gst_element_flags_get_type), (register_gst_core_error),
1177         (gst_core_error_get_type), (register_gst_library_error),
1178         (gst_library_error_get_type), (register_gst_resource_error),
1179         (gst_resource_error_get_type), (register_gst_stream_error),
1180         (gst_stream_error_get_type), (register_gst_event_type_flags),
1181         (gst_event_type_flags_get_type), (register_gst_event_type),
1182         (gst_event_type_get_type), (register_gst_seek_type),
1183         (gst_seek_type_get_type), (register_gst_seek_flags),
1184         (gst_seek_flags_get_type), (register_gst_format),
1185         (gst_format_get_type), (register_gst_index_certainty),
1186         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1187         (gst_index_entry_type_get_type),
1188         (register_gst_index_lookup_method),
1189         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1190         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1191         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1192         (gst_index_flags_get_type), (register_gst_debug_level),
1193         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1194         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1195         (gst_iterator_result_get_type), (register_gst_iterator_item),
1196         (gst_iterator_item_get_type), (register_gst_message_type),
1197         (gst_message_type_get_type), (register_gst_mini_object_flags),
1198         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1199         (gst_pad_link_return_get_type), (register_gst_flow_return),
1200         (gst_flow_return_get_type), (register_gst_activate_mode),
1201         (gst_activate_mode_get_type), (register_gst_pad_direction),
1202         (gst_pad_direction_get_type), (register_gst_pad_flags),
1203         (gst_pad_flags_get_type), (register_gst_pad_presence),
1204         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1205         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1206         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1207         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1208         (gst_plugin_flags_get_type), (register_gst_rank),
1209         (gst_rank_get_type), (register_gst_query_type),
1210         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1211         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1212         (gst_tag_flag_get_type), (register_gst_task_state),
1213         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1214         (gst_alloc_trace_flags_get_type),
1215         (register_gst_type_find_probability),
1216         (gst_type_find_probability_get_type), (register_gst_uri_type),
1217         (gst_uri_type_get_type), (register_gst_parse_error),
1218         (gst_parse_error_get_type):
1219         * win32/common/gstenumtypes.h:
1220         * win32/common/gstversion.h:
1221           update visual studio generated files
1222
1223 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1224
1225         * win32/vs6/libgstbase.dsp:
1226         * win32/vs6/libgstelements.dsp:
1227           update project files for new locations
1228
1229 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1230
1231         * Makefile.am:
1232           remove some files
1233         * README:
1234           reinstate and update
1235         * DEVEL:
1236         * REQUIREMENTS:
1237           removed
1238         * LICENSE:
1239         * docs/random/LICENSE:
1240           moved to random
1241
1242 2005-11-30  Edward Hervey  <edward@fluendo.com>
1243
1244         * gst/gsttypefind.c: (gst_type_find_register):
1245         * gst/gsttypefind.h:
1246         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1247         (gst_type_find_factory_dispose):
1248         * gst/gsttypefindfactory.h:
1249         Fix memory leak in GstTypeFindFactory.
1250
1251 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1252
1253         * gst/gst.c:
1254         * plugins/elements/Makefile.am:
1255         * plugins/elements/gstelements.c:
1256         * plugins/elements/gstqueue.c:
1257           move queue from core to the elements plugin
1258
1259 2005-11-29  Andy Wingo  <wingo@pobox.com>
1260
1261         * libs/gst/base/gstbasetransform.h: 
1262         * libs/gst/base/gstbasesrc.h: 
1263         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1264
1265         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1266         of pointers by which to pad very extensible base classes (like the
1267         ones in libs/gst/base).
1268
1269 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1270
1271         * docs/gst/gstreamer-docs.sgml:
1272         * docs/gst/gstreamer-sections.txt:
1273         * docs/libs/gstreamer-libs-docs.sgml:
1274         * docs/libs/gstreamer-libs-sections.txt:
1275           moving documentation from core to lib
1276
1277 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1278
1279         * check/Makefile.am:
1280         * configure.ac:
1281         * docs/gst/Makefile.am:
1282         * gst/Makefile.am:
1283         * gst/base/.cvsignore:
1284         * gst/base/Makefile.am:
1285         * gst/base/README:
1286         * gst/base/gstadapter.c:
1287         * gst/base/gstadapter.h:
1288         * gst/base/gstbasesink.c:
1289         * gst/base/gstbasesink.h:
1290         * gst/base/gstbasesrc.c:
1291         * gst/base/gstbasesrc.h:
1292         * gst/base/gstbasetransform.c:
1293         * gst/base/gstbasetransform.h:
1294         * gst/base/gstcollectpads.c:
1295         * gst/base/gstcollectpads.h:
1296         * gst/base/gstpushsrc.c:
1297         * gst/base/gstpushsrc.h:
1298         * gst/base/gsttypefindhelper.c:
1299         * gst/base/gsttypefindhelper.h:
1300         * gst/check/Makefile.am:
1301         * gst/check/gstcheck.c:
1302         * gst/check/gstcheck.h:
1303         * gst/net/Makefile.am:
1304         * gst/net/gstnet.h:
1305         * gst/net/gstnetclientclock.c:
1306         * gst/net/gstnetclientclock.h:
1307         * gst/net/gstnettimepacket.c:
1308         * gst/net/gstnettimepacket.h:
1309         * gst/net/gstnettimeprovider.c:
1310         * gst/net/gstnettimeprovider.h:
1311         * libs/gst/Makefile.am:
1312         * libs/gst/base/Makefile.am:
1313         * libs/gst/base/gstbasetransform.c:
1314         * libs/gst/check/Makefile.am:
1315         * plugins/elements/Makefile.am:
1316         * po/POTFILES.in:
1317           CVS surgery + support to move base, check, and net out of gst
1318           and into libs/gst
1319
1320 2005-11-29  Andy Wingo  <wingo@pobox.com>
1321
1322         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1323
1324         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1325         padding.
1326
1327         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1328
1329         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1330
1331         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1332
1333         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1334         padding; reduces object size by about 30%. We don't expect
1335         anything else to go into gstobject.
1336
1337         * gst/gstminiobject.h (struct _GstMiniObject)
1338         (struct _GstMiniObjectClass): Only one pointer of padding; the
1339         payload is only a pointer and two ints anyway. For the class there
1340         are only two methods as well.
1341         
1342         * gst/gstelement.h (struct _GstElementClass): Removed
1343         the state_changed signal callback, it is not used.
1344
1345 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1346
1347         * docs/gst/gstreamer.types:
1348           fix includes, though they are a little dinky
1349
1350 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1351
1352         * check/Makefile.am:
1353           look in the right place for elements, a lot more chance of
1354           success
1355         * gst/Makefile.am:
1356           remove indexers and elements subdirs
1357         * plugins/Makefile.am:
1358           make indexers conditional
1359
1360 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1361
1362         * Makefile.am:
1363         * configure.ac:
1364         * plugins/elements/Makefile.am:
1365         * plugins/elements/gstcapsfilter.c:
1366         * plugins/elements/gstfilesink.c:
1367         * plugins/elements/gstfilesrc.c:
1368         * plugins/elements/gstidentity.c:
1369         * plugins/indexers/Makefile.am:
1370           do CVS surgery and related build fixery to move elements
1371           and indexers in a new gstreamer/plugins directory, out of the
1372           gst/ directory
1373
1374 2005-11-29  Andy Wingo  <wingo@pobox.com>
1375
1376         * check/Makefile.am:
1377         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1378         * pkgconfig/gstreamer-net.pc.in:
1379         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1380         #322257.
1381
1382 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1383
1384         * tools/Makefile.am:
1385         * tools/gst-complete.1.in:
1386         * tools/gst-complete.c:
1387         * tools/gst-compprep.1.in:
1388         * tools/gst-compprep.c:
1389           removing -compprep and -complete
1390
1391 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1392
1393         * gst/gstevent.c: (gst_event_new_new_segment),
1394         (gst_event_parse_new_segment):
1395         * gst/gstevent.h:
1396           fix #320529 - clean up new_segment API and structure.
1397           Let's hope everyone was using the methods, and not the structure.
1398
1399 2005-11-29  Edward Hervey  <edward@fluendo.com>
1400
1401         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1402         (gst_base_sink_event), (gst_base_sink_do_sync),
1403         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1404         Properly handle non GST_FORMAT_TIME segment
1405         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1406         Properly handle non GST_FORMAT_TIME segment
1407         * gst/gstsegment.c:
1408         This function is valid if the accumulator is 0 and the format
1409         is different from the requested format.
1410         
1411 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1412
1413         * docs/gst/gstreamer-sections.txt:
1414         Add gst_query_new_seeking and gst_query_parse_seeking to the
1415         docs.
1416
1417 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1418
1419         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1420           Treat a pad alloc with new caps the same as if we were not
1421           negotiated, in order to allow a changing upstream output
1422           to produce a new format of data.
1423
1424 2005-11-29  Edward Hervey  <edward@fluendo.com>
1425
1426         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1427         (gst_base_transform_event), (gst_base_transform_eventfunc):
1428         The event virtual method is now properly implemented, with a default
1429         handler
1430         Sub classes should call the parent_class event method. They should
1431         return FALSE if they had a problem handling the given event, or don't
1432         want GstBaseTransform to send that even downstream
1433         * gst/elements/gstidentity.c: (gst_identity_class_init),
1434         (gst_identity_init), (gst_identity_event),
1435         (gst_identity_transform_ip), (gst_identity_set_property),
1436         (gst_identity_get_property):
1437         * gst/elements/gstidentity.h:
1438         Added the single-segment boolean property.
1439         If set to TRUE, it will output a single segment of data, starting from
1440         0, will eat up all incoming newsegment, and modify the timestamp of the
1441         buffers accordingly
1442
1443 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1444
1445         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1446           Don't ref NULL target pad (#322751). Improve docs.
1447
1448 2005-11-29  Michael Smith  <msmith@fluendo.com>
1449
1450         * gst/gstregistryxml.c: (load_plugin):
1451           Don't crash if we failed to load a feature from a plugin. 
1452
1453 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1454
1455         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1456         (GST_START_TEST):
1457           use more check API and less GLib API
1458
1459 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1460
1461         * Makefile.am:
1462           don't run checks if we don't have check
1463         * common/check.mak:
1464           remove the registry when running make torture
1465         * docs/gst/gstreamer-sections.txt:
1466           remove second multiply
1467         * gst/gstqueue.c: (gst_queue_loop):
1468           fix a compile warning when disabling debug
1469
1470 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1471
1472         * gst/gstinfo.h:
1473         Hey! Let's print the pad name if the pointer != NULL instead
1474         of when it == NULL :-)
1475
1476 2005-11-28  Wim Taymans  <wim@fluendo.com>
1477
1478         * check/gst/gstutils.c: (GST_START_TEST):
1479         Updated check, add some scaling accuracy checking code.
1480
1481         * gst/gstutils.c: (gst_util_div128_64),
1482         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1483         (gst_util_uint64_scale_int):
1484         Fix 6 times faster division code. Optimize for common 
1485         1/1 and less common X/1 cases.
1486
1487 2005-11-28  Wim Taymans  <wim@fluendo.com>
1488
1489         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1490         More checks.
1491
1492         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1493         (do_linear_regression), (gst_clock_add_observation):
1494         Cleanups.
1495         Release lock when the clock cannot be slaved.
1496         Catch the case where the regression returned an invalid denominator.
1497
1498         * gst/gstutils.c: (gst_util_div128_64_iterate),
1499         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1500         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1501         Add protentially more performant non-iterative 128/64 divide function
1502         that unfortunatly does not work yet.
1503         Shortcut the trivial 0/X = 0 case.
1504         Remove the warnings on overflow.
1505
1506 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1507
1508         * gst/gstplugin.c: (gst_plugin_register_func):
1509           everything causing a plugin not to load should be at least a WARNING
1510
1511 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1512
1513         * docs/random/ensonic/dparams.txt:
1514           some TODOs for the next dev cycle
1515         * libs/gst/controller/gstcontroller.c:
1516         (gst_controlled_property_set_interpolation_mode),
1517         (gst_controlled_property_new):
1518         * libs/gst/controller/gstcontroller.h:
1519           use base type to assign acccessor functions
1520
1521 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1522
1523         * check/Makefile.am:
1524         Oops, that should have been top_srcdir
1525
1526 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1527
1528         * check/Makefile.am:
1529         * check/elements/fdsrc.c: (GST_START_TEST):
1530         Use a cmdline define to specify the location of a file to use for
1531         testing, to avoid breaking distcheck.
1532
1533 2005-11-28  Andy Wingo  <wingo@pobox.com>
1534
1535         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1536
1537 2005-11-28  Edward Hervey  <edward@fluendo.com>
1538
1539         * tools/gst-launch.c: (main):
1540         Clarify the output strings, makes it easier to translate.
1541         Fixes #322626
1542
1543 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1544
1545         * gst/Makefile.am:
1546           don't try and build net if we don't even have <sys/socket.h>
1547
1548 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1549
1550         * check/Makefile.am:
1551         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1552         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1553           Add tests for fdsrc seekability
1554
1555         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1556         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1557         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1558         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1559         * gst/elements/gstfdsrc.h:
1560           fdsrc should not be a 'live' source.
1561           Implement seeking on seekable fd's.
1562
1563         * gst/gstquery.c: (gst_query_new_seeking),
1564         (gst_query_parse_seeking):
1565         * gst/gstquery.h:
1566           Implement SEEKING query functions: 
1567             *_new_seeking and *_parse_seeking
1568
1569 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1570
1571         * gst/gstelement.c: (gst_element_dispose):
1572           don't loop forever
1573
1574         * gst/gstiterator.c:
1575         * gst/gststructure.c:
1576           doc fixes
1577
1578         * libs/gst/controller/gstcontroller.c:
1579         (gst_controlled_property_set_interpolation_mode):
1580         * libs/gst/controller/gstcontroller.h:
1581         * libs/gst/controller/gstinterpolation.c:
1582         (interpolate_none_get_enum_value_array):
1583           support controlling enums
1584
1585 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1586
1587         * gst/gstvalue.c:
1588           Improve documentation for gst_value_union().
1589
1590         * gst/gstvalue.h:
1591           Change return value for union, intersect and subtract functions
1592           from gint to gboolean.
1593
1594 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1595
1596         * gst/gstvalue.c: (gst_value_serialize_any_list),
1597         (gst_value_transform_any_list_string),
1598         (gst_value_deserialize_list), (gst_value_deserialize_array),
1599         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1600         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1601         (gst_value_set_fraction_range_full),
1602         (gst_value_deserialize_fraction_range),
1603         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1604         (gst_value_deserialize_boolean),
1605         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1606         (gst_value_serialize_float), (gst_value_deserialize_float),
1607         (gst_string_wrap), (gst_value_deserialize_string),
1608         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1609         (gst_value_union_int_range_int_range),
1610         (gst_value_intersect_int_range_int_range),
1611         (gst_value_intersect_double_range_double_range),
1612         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1613         (gst_value_subtract_int_range_int_range),
1614         (gst_value_subtract_double_double_range),
1615         (gst_value_subtract_double_range_double_range),
1616         (gst_value_deserialize_fraction):
1617         * gst/gstvalue.h:
1618           Use gint, gdouble and gchar in our API instead of int, double and
1619           char (and make usage in gstvalue.c more consistent).
1620
1621 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1622
1623         * check/Makefile.am:
1624         * libs/gst/controller/Makefile.am:
1625         * libs/gst/dataprotocol/Makefile.am:
1626           fix up Makefile.am and remove GST_ENABLE_NEW
1627
1628 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1629
1630         * configure.ac:
1631         * gst/Makefile.am:
1632         * gst/base/Makefile.am:
1633         * gst/check/Makefile.am:
1634         * gst/elements/Makefile.am:
1635         * gst/net/Makefile.am:
1636           update LDFLAGS use some more
1637
1638 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1639
1640         * common/m4/gst-doc.m4:
1641           Fixes #312589
1642
1643 2005-11-26  Edward Hervey  <edward@fluendo.com>
1644
1645         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1646         This shouldn't issue a g_warning since it returns NULL if it
1647         couldn't find the plugin, and all functions using this behave
1648         properly on a NULL return. Switching to a GST_WARNING.
1649
1650 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1651
1652         * gst/gstbin.c: (gst_bin_handle_message_func):
1653         Don't leak clock messages.
1654
1655 2005-11-25  Wim Taymans  <wim@fluendo.com>
1656
1657         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1658         (gst_util_uint64_scale_int):
1659         Optimisations, remove unneeded vars.
1660
1661 2005-11-25  Wim Taymans  <wim@fluendo.com>
1662
1663         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1664         Added more checks for the high precision uint64 cases.
1665
1666         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1667         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1668         Implement high precision (guint64 * guint64) / guint64.
1669
1670 2005-11-24  Wim Taymans  <wim@fluendo.com>
1671
1672         * gst/base/gstbasesrc.c: (gst_base_src_query):
1673         Fix wrong percentage query.
1674
1675         * gst/gstutils.c: (gst_util_uint64_scale),
1676         (gst_util_uint64_scale_int):
1677         Add some more common cases that can be handled 
1678         efficiently to _scale.
1679
1680 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1681
1682         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1683         (gst_mini_object_suite):
1684           don't use check calls from threads; check probably isn't
1685           threadsafe and using a lock to make it threadsafe would
1686           defeat the purpose of this check
1687         * gst/check/gstcheck.c:
1688         * gst/check/gstcheck.h:
1689           use GST_DEBUG some more
1690
1691 2005-11-24  Wim Taymans  <wim@fluendo.com>
1692
1693         * gst/gstutils.c: (gst_util_uint64_scale),
1694         (gst_util_uint64_scale_int):
1695         Chain trivial case to _scale_int.
1696
1697 2005-11-24  Wim Taymans  <wim@fluendo.com>
1698
1699         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1700         Added test for scaling.
1701
1702         * gst/gstclock.h:
1703         Small doc fix.
1704
1705         * gst/gstutils.c: (gst_util_uint64_scale_int):
1706         Implemented high precision scaling code.
1707
1708 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1709
1710         * gst/gstinfo.h:
1711           do not crash on pad==NULL
1712
1713 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1714
1715         Patch by: Stefan Kost
1716
1717         * common/gtk-doc.mak:
1718         * docs/gst/Makefile.am:
1719         * docs/libs/Makefile.am:
1720           Fix distcheck issues for the libraries docs build
1721           Closes #319599.
1722
1723 2005-11-24  Michael Smith <msmith@fluendo.com>
1724
1725         * docs/manual/basics-helloworld.xml:
1726           Fix bug #315027: memory leak in example code in docs.
1727
1728 2005-11-24  Michael Smith <msmith@fluendo.com>
1729
1730         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1731           Unlock the PREROLL_LOCK in a failure case.
1732
1733 2005-11-24  Wim Taymans  <wim@fluendo.com>
1734
1735         * docs/gst/gstreamer-sections.txt:
1736         * gst/base/gstadapter.h:
1737         * gst/base/gstbasesink.h:
1738         * gst/base/gstbasesrc.h:
1739         * gst/base/gstbasetransform.h:
1740         * gst/base/gstpushsrc.h:
1741         * gst/elements/gstfakesink.h:
1742         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1743         * gst/elements/gstfakesrc.h:
1744         * gst/elements/gstfilesink.h:
1745         * gst/elements/gstfilesrc.h:
1746         * gst/gst.c:
1747         * gst/gstbin.c:
1748         * gst/gstbuffer.c: (_gst_buffer_copy):
1749         * gst/gstbus.h:
1750         * gst/gstcaps.c:
1751         * gst/gstchildproxy.c:
1752         * gst/gstclock.c:
1753         * gst/gstelement.c:
1754         * gst/gstelementfactory.c:
1755         * gst/gstelementfactory.h:
1756         * gst/gstevent.c:
1757         * gst/gstghostpad.h:
1758         * gst/gstindex.h:
1759         * gst/gstinterface.h:
1760         * gst/gstminiobject.c:
1761         * gst/gstminiobject.h:
1762         * gst/gstpad.c:
1763         * gst/gstpad.h:
1764         * gst/gstpadtemplate.h:
1765         * gst/gstpipeline.h:
1766         * gst/gstpluginfeature.h:
1767         * gst/gstquery.h:
1768         * gst/gstqueue.h:
1769         * gst/gsttaglist.c:
1770         * gst/gsttaglist.h:
1771         * gst/gsttagsetter.c:
1772         * gst/gsttagsetter.h:
1773         * gst/gsttrace.c:
1774         * gst/gsttrace.h:
1775         * gst/gsttypefind.h:
1776         * gst/gsturi.h:
1777         * gst/gstvalue.c:
1778         * gst/net/gstnetclientclock.c:
1779         * gst/net/gstnetclientclock.h:
1780         * gst/net/gstnettimepacket.c:
1781         * gst/net/gstnettimeprovider.c:
1782         * gst/net/gstnettimeprovider.h:
1783         Doc fixes.
1784
1785 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1786
1787         * configure.ac: back to HEAD
1788
1789 === release 0.9.6 ===
1790
1791 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1792
1793         * configure.ac:
1794           releasing 0.9.6, "Always On Time"
1795
1796 2005-11-23  Wim Taymans  <wim@fluendo.com>
1797
1798         * docs/gst/gstreamer-sections.txt:
1799         * gst/glib-compat.c:
1800         * gst/gsttagsetter.c:
1801         * gst/gstvalue.c:
1802         * gst/net/gstnetclientclock.c:
1803         * gst/net/gstnettimepacket.h:
1804         Doc updates.
1805
1806 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1807
1808         * docs/faq/using.xml:
1809         * docs/libs/tmpl/gstcontrol.sgml:
1810         * docs/manual/advanced-dparams.xml:
1811         * docs/manual/appendix-checklist.xml:
1812         * docs/manual/basics-elements.xml:
1813         * docs/pwg/other-source.xml:
1814         * docs/random/moving-plugins:
1815         * gst/gstpad.c:
1816         * tools/gst-launch.1.in:
1817           remove mentions of sinesrc
1818
1819 2005-11-23  Michael Smith <msmith@fluendo.com>
1820
1821         * docs/gst/gstreamer-sections.txt:
1822           Update for new API and API changes.
1823         * gst/gstobject.h:
1824           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1825         * gst/gstvalue.c:
1826           Documentation typo fix.
1827         * gst/net/gstnettimepacket.c:
1828           Documentation fixes for arguments.
1829
1830 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1831
1832         * gst/gststructure.c: (gst_structure_get_fraction),
1833         (gst_structure_parse_value),
1834         (gst_structure_fixate_field_nearest_fraction):
1835         * gst/gststructure.h:
1836         * gst/gstutils.c: (gst_util_uint64_scale_int):
1837         * gst/gstutils.h:
1838         * scripts/update-funcnames:
1839         API Changes. 
1840         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1841         Make gst_structure_fixate_field_nearest_fraction take a numerator
1842         and denominator argument instead of a GValue
1843         add gst_structure_get_fraction helper function.
1844
1845 2005-11-23  Wim Taymans  <wim@fluendo.com>
1846
1847         * docs/design/part-TODO.txt:
1848         Update TODO.
1849
1850         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1851         * gst/net/gstnetclientclock.h:
1852         Use parent fields for timeout and window_size.
1853
1854 2005-11-23  Andy Wingo  <wingo@pobox.com>
1855
1856         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1857         rate_num/rate_denom change.
1858
1859         * gst/net/gstnetclientclock.c
1860         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1861         OBJECT_LOCK. Don't call add_observation with the lock.
1862
1863         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1864         fraction.
1865         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1866         rate fraction.
1867         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1868         deal with rate as a fraction whose numerator and denominator are
1869         GstClockTime values.
1870         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1871         master; the other fields are protected by the SLAVE_LOCK.
1872         (do_linear_regression): Note that this must be called with the
1873         SLAVE_LOCK.
1874         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1875         OBJECT_LOCK. Call set_calibration instead of touching the
1876         variables directly.
1877         (gst_clock_set_property, gst_clock_get_property): Protect
1878         master/slave parameters with the SLAVE_LOCK.
1879
1880         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1881         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1882         note that all of the instance variables that add_observation and
1883         the set_master functions use are protected by that lock and not
1884         the OBJECT_LOCK.
1885         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1886
1887         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1888         the caller to take the object lock.
1889
1890 2005-11-23  Wim Taymans  <wim@fluendo.com>
1891
1892         * gst/gsterror.c: (_gst_core_errors_init):
1893         * gst/gsterror.h:
1894         Add error for clock stuff.
1895
1896         * gst/gstpipeline.c: (gst_pipeline_change_state),
1897         (gst_pipeline_set_clock):
1898         Post clock error when clock cannot be used in a pipeline.
1899
1900 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1901
1902         * docs/gst/gstreamer-sections.txt:
1903           make two symbols from gstinfo private for the docs
1904         * gst/base/gstcollectpads.h:
1905         * gst/gstutils.c:
1906           fix doc typos, update docs
1907
1908 2005-11-22  Wim Taymans  <wim@fluendo.com>
1909
1910         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1911         (gst_base_sink_wait), (gst_base_sink_do_sync),
1912         (gst_base_sink_handle_event):
1913         * gst/base/gstbasesink.h:
1914         No need to store the clock, the parent element class already
1915         has it.
1916
1917         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1918         Updates for clock_set returning a gboolean
1919
1920         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1921         (gst_clock_id_wait_async), (gst_clock_class_init),
1922         (gst_clock_init), (gst_clock_finalize),
1923         (gst_clock_get_internal_time), (gst_clock_get_time),
1924         (gst_clock_slave_callback), (gst_clock_set_master),
1925         (gst_clock_get_master), (do_linear_regression),
1926         (gst_clock_add_observation), (gst_clock_set_property),
1927         (gst_clock_get_property):
1928         * gst/gstclock.h:
1929         Implement master/slave. When setting a clock as a slave, a
1930         periodic timeout is scheduled to sample master and slave times.
1931         Then the slave clock is recalibrated to match offset and rate
1932         of the master clock.
1933         Update logging a bit.
1934         Add flag so that a clock can state that is cannot be slaved to
1935         another clock.
1936
1937         * gst/gstelement.c: (gst_element_set_clock):
1938         * gst/gstelement.h:
1939         The set clock returns a gboolean for when an element cannot
1940         deal with the selected clock in the pipeline. 
1941
1942         * gst/gstpipeline.c: (gst_pipeline_change_state),
1943         (gst_pipeline_set_clock):
1944         * gst/gstpipeline.h:
1945         Handle the case where the selected clock cannot be set on
1946         the pipeline.
1947
1948         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1949         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1950         (gst_net_client_clock_set_property),
1951         (gst_net_client_clock_get_property),
1952         (gst_net_client_clock_observe_times):
1953         * gst/net/gstnetclientclock.h:
1954         Use regression code in GstClock parent, remove duplicated
1955         functionality.
1956
1957 2005-11-22  Michael Smith <msmith@fluendo.com>
1958
1959         * gst/gstutils.c: (gst_util_clock_time_scale):
1960         * gst/gstutils.h:
1961         * docs/gst/gstreamer-sections.txt:
1962           Rename method to have extra underscore.
1963
1964 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1965
1966         * gst/elements/Makefile.am:
1967         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1968         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1969         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1970         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1971         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1972         * gst/elements/gstfakesrc.h:
1973         * gst/gstqueue.c: (queue_leaky_get_type):
1974           correctly fix GEnumValues so that nick is the short lowercase
1975           dashed tag
1976         * tools/gst-inspect.c: (print_element_properties_info):
1977           also show the nick, since it's useful to use from parse_launch
1978           syntax
1979           Fixes #322139
1980
1981 2005-11-22  Michael Smith <msmith@fluendo.com>
1982
1983         * gst/gstutils.c: (gst_util_clocktime_scale):
1984         * gst/gstutils.h:
1985         * docs/gst/gstreamer-sections.txt:
1986           Add util method for scaling a clocktime by a fraction. Useful 
1987           implementation is left as an exercise for the reader.
1988
1989 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1990
1991         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1992         If needed, allocate storage in the destination value during
1993         collection.
1994
1995 2005-11-22  Edward Hervey  <edward@fluendo.com>
1996
1997         * docs/gst/gstreamer-sections.txt:
1998         * gst/Makefile.am:
1999         * gst/gst.h:
2000         * gst/gsturitype.c:
2001         * gst/gsturitype.h:
2002         * gst/gstutils.c: (gst_util_set_object_arg):
2003         * tools/gst-compprep.c: (main):
2004         * tools/gst-inspect.c: (print_element_properties_info):
2005         Removed GstURI, closes bug #321061
2006
2007 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2008
2009         * check/gst/gststructure.c: (GST_START_TEST):
2010         * gst/gststructure.c: (gst_structure_parse_value):
2011           Oops, broke automatic string type parsing.
2012           Add a test to catch it in future.
2013
2014 2005-11-22  Andy Wingo  <wingo@pobox.com>
2015
2016         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2017         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2018         Actually rename the function implementations. Grr.
2019
2020 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2021
2022         * check/gst/capslist.h:
2023           Comment test cases
2024         * check/gst/gststructure.c: (GST_START_TEST),
2025         (gst_structure_suite):
2026           Test automatic value type detection in gst_structure_from_string.
2027         * gst/gststructure.c: (gst_structure_parse_value):
2028           Add fraction as a type we try and guess automatically in
2029           caps/structure strings.
2030
2031 2005-11-22  Andy Wingo  <wingo@pobox.com>
2032
2033         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2034
2035         * gst/gsttagsetter.h:
2036         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2037         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2038         (gst_tag_setter_add_tag_valist)
2039         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2040         _add_values, _add_valist, and _add_valist_values. Since this is an
2041         interface the function suffixes should be more explicit so
2042         language binding don't end up with element.add_valist ->
2043         gst_tag_setter_add_valist, for example. Fixes #322069.
2044
2045 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2046
2047         * check/gst/gstcaps.c: (GST_START_TEST):
2048           Extend caps string tests to check that a caps to string
2049           conversion is reversible and produces the same caps.
2050
2051         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2052           Output "fraction" as the generic type fraction range, so caps
2053           serialisation and deserialisation works.
2054         * check/gst/capslist.h:
2055         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2056           Support 'MIN' and 'MAX' for deserialising fractions.
2057
2058 2005-11-22  Andy Wingo  <wingo@pobox.com>
2059
2060         * gst/gstevent.h (gst_event_new_new_segment)
2061         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2062         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2063         Renamed from *_newsegment, *_buffersize, *_notarget.
2064
2065         * scripts/update-funcnames: New script, performs the changes
2066         listed above.
2067
2068 2005-11-22  Wim Taymans  <wim@fluendo.com>
2069
2070         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2071         Make sure the GstFlowReturn is returned.
2072
2073         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2074         (gst_bus_add_signal_watch):
2075         * gst/gstbus.h:
2076         add gst_bus_add_signal_watch_full.
2077
2078         * gst/gstplugin.c: (gst_plugin_load_file):
2079         Small style cleanup.
2080
2081 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2082
2083         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2084           Block the fakesrc srcpad when we send an event, to avoid
2085           contention on the stream_lock causing random test failures.
2086
2087 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2088
2089         * check/gst/gstvalue.c: (GST_START_TEST):
2090         * gst/gstvalue.c: (gst_value_fraction_subtract):
2091           Fix subtraction.
2092
2093 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2094
2095         * gst/gst.h:
2096           include "gstchildproxy.h"
2097         * gst/gstchildproxy.h:
2098         * libs/gst/controller/gstcontroller.h:
2099           use G_GNUC_NULL_TERMINATED
2100
2101 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2102
2103         * check/gst/capslist.h:
2104         * check/gst/gstcaps.c: (GST_START_TEST):
2105         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2106         * gst/gststructure.c: (gst_structure_parse_range),
2107         (gst_structure_fixate_field_nearest_fraction):
2108         * gst/gststructure.h:
2109         * gst/gstvalue.c: (gst_value_init_fraction_range),
2110         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2111         (gst_value_collect_fraction_range),
2112         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2113         (gst_value_set_fraction_range_full),
2114         (gst_value_get_fraction_range_min),
2115         (gst_value_get_fraction_range_max),
2116         (gst_value_serialize_fraction_range),
2117         (gst_value_transform_fraction_range_string),
2118         (gst_value_compare_fraction_range),
2119         (gst_value_deserialize_fraction_range),
2120         (gst_value_intersect_fraction_fraction_range),
2121         (gst_value_intersect_fraction_range_fraction_range),
2122         (gst_value_subtract_fraction_fraction_range),
2123         (gst_value_subtract_fraction_range_fraction),
2124         (gst_value_subtract_fraction_range_fraction_range),
2125         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2126         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2127         (gst_value_transform_string_fraction), (_gst_value_initialize):
2128         * gst/gstvalue.h:
2129           Implement fraction ranges and extend GstFraction to support
2130           arithmetic subtraction, as well as deserialization from integer
2131           strings such as "100"
2132           Add a testsuite as for int and double range set operations
2133
2134 2005-11-21  Andy Wingo  <wingo@pobox.com>
2135
2136         * gst/gsttaglist.h: 
2137         * gst/gstcaps.h: 
2138         * gst/gststructure.h: Add glib-compat.h.
2139
2140 2005-11-21  Wim Taymans  <wim@fluendo.com>
2141
2142         * gst/gstbin.c: (gst_bin_change_state_func):
2143         Fix for #321595
2144
2145 2005-11-21  Wim Taymans  <wim@fluendo.com>
2146
2147         * gst/gstsegment.h:
2148         And add a nice define too.
2149
2150 2005-11-21  Wim Taymans  <wim@fluendo.com>
2151
2152         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2153         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2154         (gst_segment_set_duration), (gst_segment_set_last_stop),
2155         (gst_segment_set_seek), (gst_segment_set_newsegment),
2156         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2157         (gst_segment_clip):
2158         * gst/gstsegment.h:
2159         Make binding friendly.
2160
2161 2005-11-21  Andy Wingo  <wingo@pobox.com>
2162
2163         * gst/gsttagsetter.h: 
2164         * gst/gsttaglist.h: 
2165         * gst/gststructure.h: 
2166         * gst/gstcaps.h: 
2167         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2168         #319940.
2169
2170         * gst/gsterror.c (_gst_core_errors_init):
2171         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2172         category.
2173
2174         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2175         (noinst_HEADERS): noinst the -private.
2176
2177 2005-11-21  Michael Smith <msmith@fluendo.com>
2178
2179         * gst/gstplugin.h:
2180         * gst/gstregistry.h:
2181           Remove unimplemented declarations for which we can see no sensible
2182           use.
2183
2184 2005-11-21  Andy Wingo  <wingo@pobox.com>
2185
2186         * gst/gst.h: Include glib-compat.h.
2187
2188         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2189
2190         * gst/glib-compat.c: Include the public and the private header.
2191
2192         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2193
2194         * gst/gstvalue.c: 
2195         * gst/gstpad.c: 
2196         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2197
2198         * check/gst/gstevent.c (create_custom_events): Check that
2199         FLUSH_STOP is serialized.
2200
2201         * check/elements/identity.c (event_func): 
2202         * check/elements/fakesrc.c (event_func): No stream lock, the core
2203         takes it.
2204
2205         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2206         stream lock taking, yay.
2207
2208         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2209         ensure that core takes the stream lock.
2210
2211         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2212         lock name change.
2213
2214         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2215         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2216         it already. For the flush start we do take it though so we get the
2217         right preroll state change messages.
2218
2219         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2220         the stream lock here, the core does it for us.
2221
2222         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2223         GST_STREAM_GET_LOCK.
2224         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2225         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2226         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2227         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2228         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2229         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2230
2231         * gst/gstpad.c: Update for stream lock name change.
2232
2233         * gst/base/gstbasesink.c: Update for preroll lock name change.
2234
2235 2005-11-21  Wim Taymans  <wim@fluendo.com>
2236
2237         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2238         (gst_clock_get_master):
2239         * gst/gstclock.h:
2240         * gst/gstsystemclock.c: (gst_system_clock_init):
2241         Convert Clock flags to object flags.
2242         Added methods to manage master/slave clocks.
2243
2244 2005-11-21  Wim Taymans  <wim@fluendo.com>
2245
2246         * check/gst/gstsegment.c: (GST_START_TEST):
2247         * docs/design/part-TODO.txt:
2248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2249         (gst_base_sink_event), (gst_base_sink_do_sync),
2250         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2251         (gst_base_sink_query), (gst_base_sink_change_state):
2252         * gst/base/gstbasesink.h:
2253         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2254         (gst_base_src_default_newsegment),
2255         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2256         (gst_base_src_get_range), (gst_base_src_loop),
2257         (gst_base_src_change_state):
2258         * gst/base/gstbasesrc.h:
2259         * gst/base/gstbasetransform.c:
2260         (gst_base_transform_prepare_output_buf),
2261         (gst_base_transform_event), (gst_base_transform_change_state):
2262         * gst/base/gstbasetransform.h:
2263         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2264         (gst_collect_pads_event):
2265         * gst/base/gstcollectpads.h:
2266         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2267         (gst_fake_src_create):
2268         * gst/elements/gstfakesrc.h:
2269         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2270         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2271         (gst_segment_set_last_stop), (gst_segment_set_seek),
2272         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2273         (gst_segment_to_running_time), (gst_segment_clip):
2274         * gst/gstsegment.h:
2275         More segment updates, replace code in plugins with segment
2276         helper functions.
2277
2278 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2279
2280         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2281         Don't ignore sscanf results
2282
2283 2005-11-21  Andy Wingo  <wingo@pobox.com>
2284
2285         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2286
2287         * *.h:
2288         * *.c: Ran scripts/update-macros. Oh yes.
2289
2290         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2291         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2292         GST_GET_LOCK, etc.
2293
2294         * scripts/update-macros: New script. Run it on your files to
2295         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2296         well.
2297
2298 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2299
2300         * docs/gst/Makefile.am:
2301         * docs/gst/gstreamer-docs.sgml:
2302         * docs/gst/gstreamer-sections.txt:
2303         * docs/gst/gstreamer.types:
2304         * gst/gstinfo.h:
2305           more docs fixes, add new api to the docs
2306
2307 2005-11-21  Andy Wingo  <wingo@pobox.com>
2308
2309         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2310         state_broadcast call.
2311
2312         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2313
2314 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2315
2316         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2317         function calls for arrays.
2318
2319 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2320
2321         * docs/random/ensonic/media-device-daemon.txt:
2322           wild idea, can this be done?
2323         * docs/gst/gstreamer-sections.txt:
2324         * gst/gsterror.h:
2325         * gst/gstfilter.c:
2326         * gst/gstfilter.h:
2327         * gst/gstplugin.h:
2328         * gst/gstpluginfeature.c:
2329         * gst/gsttrace.c:
2330         * gst/gstvalue.c:
2331         * gst/gstvalue.h:
2332           doc fixes and additions
2333
2334 2005-11-21  Andy Wingo  <wingo@pobox.com>
2335
2336         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2337         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2338         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2339         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2340         private to the basesrc implementation.
2341
2342         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2343         behalf of event function if necessary. It should no longer be
2344         necessary to take the stream lock in pad's event functions. Fixes
2345         #320299.
2346
2347 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2348         * docs/gst/gstreamer-sections.txt:
2349         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2350         (gst_structure_fixate_field_nearest_double),
2351         (gst_structure_fixate_field_boolean):
2352         * gst/gststructure.h:
2353         * win32/common/libgstreamer.def:
2354         * win32/gstreamer.def:
2355
2356         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2357         (#322027)
2358
2359 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2360
2361         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2362         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2363         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2364         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2365         (gst_fdsrc_uri_handler_init):
2366         * gst/elements/gstfdsrc.h:
2367           Port fd:// URI handler from 0.8 to fdsrc
2368
2369 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2370
2371         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2372         (gst_value_serialize_fourcc):
2373         * gst/gstvalue.h:
2374           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2375           consistent with our other format defines (#320324).
2376
2377 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2378
2379         * gst/gstvalue.c: (gst_value_is_fixed):
2380           Revert previous commit. Value lists are by definition
2381           not fixed, as they are a list of possible values.
2382
2383 2005-11-21  Andy Wingo  <wingo@pobox.com>
2384
2385         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2386         during the stable series if we need it. Fixes #319178.
2387
2388         * gst/gstevent.c (gst_event_new_filler): Removed.
2389
2390         * check/gst/gstevent.c: Update comment about filler events.
2391
2392 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2393
2394         * gst/gstvalue.c: (gst_value_is_fixed):
2395           Should handle both value arrays and value lists.
2396
2397 2005-11-21  Andy Wingo  <wingo@pobox.com>
2398
2399         patch by: Alessandro Dessina <alessandro nnva org>
2400
2401         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2402         functions to access arrays. Fixes #321962.
2403
2404 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2405
2406         * docs/gst/gstreamer.types:
2407           gst_collectpads_get_type => gst_collect_pads_get_type.
2408           
2409         * gst/base/gstbasetransform.c:
2410           Remove unused SIGNAL_HANDOFF enum.
2411
2412 2005-11-21  Andy Wingo  <wingo@pobox.com>
2413
2414         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2415         the event type (upstream, downstream, serialized). Renamed
2416         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2417         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2418         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2419
2420         * gst/gstevent.c: Update for new CUSTOM event names.
2421
2422         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2423
2424         * gst/gstevent.h:
2425         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2426         bug #319392.
2427
2428 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2429
2430         * docs/gst/gstreamer-sections.txt:
2431         * win32/common/libgstbase.def:
2432         * win32/libgstbase.def:
2433         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2434         (gst_collect_pads_class_init), (gst_collect_pads_init),
2435         (gst_collect_pads_finalize), (gst_collect_pads_new),
2436         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2437         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2438         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2439         (gst_collect_pads_start), (gst_collect_pads_stop),
2440         (gst_collect_pads_peek), (gst_collect_pads_pop),
2441         (gst_collect_pads_available), (gst_collect_pads_read),
2442         (gst_collect_pads_flush), (gst_collect_pads_event),
2443         (gst_collect_pads_chain):
2444         * gst/base/gstcollectpads.h:
2445           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2446           unimplemented functions as unimplemented. Add padding to
2447           GstCollectData. (#320766, #320423)
2448
2449 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2450
2451         * gst/gstmessage.c:
2452           Improve docs for DURATION message (usage of duration parameter)
2453           (#320113)
2454
2455 2005-11-20  Wim Taymans  <wim@fluendo.com>
2456
2457         * check/Makefile.am:
2458         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2459         (main):
2460         * gst/Makefile.am:
2461         * gst/gst.h:
2462         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2463         (gst_segment_set_seek), (gst_segment_set_newsegment),
2464         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2465         (gst_segment_clip):
2466         * gst/gstsegment.h:
2467         Added segment helper structure and methods. Not fully implemented
2468         yet.
2469         Added segment check.
2470
2471 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2472
2473         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2474           Add a deserialisation test for fractions
2475         * examples/metadata/read-metadata.c: (message_loop),
2476         (make_pipeline), (main):
2477           Fix up metadata reading sample.
2478         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2479           Debug format fix
2480         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2481           Don't try and fixate empty caps
2482         * gst/gst_private.h:
2483           Wrap in G_BEGIN_DECLS/G_END_DECLS
2484         * gst/gstvalue.c: (gst_value_collect_fraction),
2485         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2486         (gst_value_transform_string_fraction),
2487         (gst_value_compare_fraction):
2488           Add some extra guards to ensure that we don't end up 
2489           with an invalid denominator of 0 in a gstfraction and
2490           that fractions always get reduced.
2491
2492 2005-11-20  Wim Taymans  <wim@fluendo.com>
2493
2494         * docs/gst/gstreamer-sections.txt:
2495         * gst/gstbuffer.h:
2496         * gst/gstelement.c:
2497         * gst/gstformat.c:
2498         * gst/gstformat.h:
2499         * gst/gstindex.h:
2500         * gst/gstquery.c:
2501         * gst/gstquery.h:
2502         * gst/gstvalue.c:
2503         Doc fixes.
2504
2505 2005-11-20  Wim Taymans  <wim@fluendo.com>
2506
2507         * docs/design/part-TODO.txt:
2508         * gst/gstcaps.h:
2509         Make a proper enum of the flag.
2510
2511 2005-11-19  Wim Taymans  <wim@fluendo.com>
2512
2513         * docs/design/part-TODO.txt:
2514         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2515         (gst_format_to_quark), (gst_format_register):
2516         * gst/gstformat.h:
2517         * gst/gstquery.c: (_gst_query_initialize),
2518         (gst_query_type_get_name), (gst_query_type_to_quark),
2519         (gst_query_type_register):
2520         * gst/gstquery.h:
2521         Add type to quark and type to string conversions.
2522
2523 2005-11-19  Andy Wingo  <wingo@pobox.com>
2524
2525         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2526         #320097.
2527
2528 2005-11-19  Wim Taymans  <wim@fluendo.com>
2529
2530         * docs/design/part-TODO.txt:
2531         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2532         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2533         (gst_bin_handle_message_func):
2534         * gst/gstbin.h:
2535         Make message handling overridable.
2536
2537 2005-11-19  Andy Wingo  <wingo@pobox.com>
2538
2539         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2540
2541         * gst/gstclock.h:
2542         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2543         be a GstClockTime.
2544         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2545         is a GstClockTime. Fixes #321710.
2546
2547         * gst/gstclock.h (GstClock): Remove offset property. Add
2548         internal_calibration and external_calibration. Fix padding. Pad
2549         also by GstClockTime so we don't run into problems.
2550
2551         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2552         (gst_clock_get_rate_offset): Remove.
2553         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2554
2555         * gst/gstutils.h:
2556         * gst/gstutils.c (g_static_rec_cond_wait)
2557         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2558
2559         * gst/gstbin.c: Remove terrible continue_state prototype.
2560
2561         * gst/gstelement.h (gst_element_continue_state): Make public.
2562
2563         * gst/gstelement.h:
2564         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2565         by continue_state. Fixes #319389.
2566
2567         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2568         Really fixes #168438. However I don't see anywhere where the
2569         filter function is called... stupid GStreamer...
2570         
2571         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2572         don't have a dispose function, so it won't get called when the
2573         object is unreffed, but oh well!
2574
2575         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2576         allows a destroy function to be set so user_data can be freed.
2577         Fixes #168438.
2578         (gst_index_set_filter): Call gst_index_set_filter_full.
2579
2580         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2581
2582         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2583         string should produce an error, given the lack of a way to
2584         represent NULL strings. Fixes #165650.
2585         
2586         * gst/gstvalue.h: 
2587         * gst/gstvalue.c (gst_value_array_append_value) 
2588         (gst_value_array_prepend_value, gst_value_array_get_size) 
2589         (gst_value_array_get_value): New API, copied from
2590         gst_value_list_*, only operates on arrays.
2591         (gst_value_list_append_value, gst_value_list_prepend_value) 
2592         (gst_value_list_concat, gst_value_list_get_size) 
2593         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2594
2595         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2596         init_list, because it works on both.
2597         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2598         (gst_value_copy_list_or_array): Renamed from copy_list.
2599         (gst_value_free_list_or_array): Renamed from free_list.
2600         (gst_value_collect_list_or_array): Renamed from collect_list.
2601         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2602         (gst_value_list_or_array_peek_pointer): Renamed from
2603         list_peek_pointer.
2604         (_gst_value_array_value_table, _gst_value_list_value_table):
2605         Update value table functions.
2606         (gst_value_compare_list_or_array): Renamed from compare_list.
2607
2608         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2609         some constness.
2610
2611         * gst/gsttaglist.c:
2612         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2613         GstTagList*. Fixes #143472.
2614
2615         * gst/gststructure.h: Clarify what the foreach/map functions can
2616         or can't do to their arguments.
2617
2618 2005-11-18  Wim Taymans  <wim@fluendo.com>
2619
2620         * gst/gstclock.c: (gst_clock_set_calibration),
2621         (gst_clock_get_calibration):
2622         Doc and API fixes.
2623         Calibration can be set with internal time equal to current
2624         internal time too.
2625
2626 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2627
2628         * gst/gsterror.c:
2629         * gst/gsterror.h:
2630           document
2631
2632 2005-11-18  Andy Wingo  <wingo@pobox.com>
2633
2634         * configure.ac: 
2635         * pkgconfig/gstreamer-net.pc.in:
2636         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2637         * pkgconfig/Makefile.am: Add net pkgconfig files.
2638
2639 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2640
2641         * gst/gstcaps.c:
2642         * gst/gstghostpad.c:
2643         * gst/gsttrace.c:
2644         * gst/gstvalue.c:
2645         * gst/gstvalue.h:
2646           docs fixes
2647
2648 2005-11-18  Andy Wingo  <wingo@pobox.com>
2649
2650         * gst/net/gstnetclientclock.c: Turn off debugging.
2651
2652         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2653         times connverge somewhat. Can't make a real test.
2654
2655         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2656         integer arithmetic. Return the minimum of the domain, which can be
2657         set as "internal" for gst_clock_set_calibration.
2658         (gst_net_client_clock_observe_times): Call _set_calibration.
2659         (gst_net_client_clock_new): Call _set_calibration instead of
2660         rate_offset.
2661
2662         * check/net/gstnetclientclock.c (test_functioning): Use the right
2663         adjustment api.
2664
2665         * gst/gstclock.h:
2666         * gst/gstclock.c (gst_clock_get_calibration) 
2667         (gst_clock_set_calibration): New functions, obsolete the ones I
2668         added yesterday. Doh. Precision issues mean we have to extrapolate
2669         from a point in the more recent past than 1970.
2670         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2671         obsolete.
2672         (gst_clock_adjust_unlocked): Use the right calibration data.
2673
2674 2005-11-18  Edward Hervey  <edward@fluendo.com>
2675
2676         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2677         Also reset the ->current_* values in READY->PAUSED
2678
2679 2005-11-18  Andy Wingo  <wingo@pobox.com>
2680
2681         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2682         Whoops, check the right fd. Also add some debugging.
2683         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2684         (do_linear_regression): Add a crapload of debugging. Subtract off
2685         the minimum values from the input series to discard unneeded bits.
2686         Use only int arithmetic. There is still double arithmetic when
2687         calculating the intercept that needs fixing. Return boolean to
2688         indicate success; FALSE would mean the domain or range is too
2689         great. Still needs fixes.
2690
2691 2005-11-18  Wim Taymans  <wim@fluendo.com>
2692
2693         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2694         For the current position in stream time, we need to subtract
2695         accumulated time.
2696         
2697         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2698         Release lock before calling the callback function of async
2699         entries.
2700
2701 2005-11-18  Andy Wingo  <wingo@pobox.com>
2702
2703         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2704         Port goes all the way to MAXUINT16.
2705
2706         * gst/net/gstnettimeprovider.c: Make the port range the same as
2707         for the kernel: 0 assigns, otherwise ports are less than
2708         MAXUINT16.
2709
2710         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2711         port change.
2712
2713         * check/net/gstnetclientclock.c (test_functioning): Add the start
2714         of another test. 
2715
2716 2005-11-18  Wim Taymans  <wim@fluendo.com>
2717
2718         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2719         (gst_bin_remove_func), (bin_bus_handler):
2720         * gst/gstbin.h:
2721         Removing a clock provider from a bin, triggers a clock lost message
2722         so that a new clock will be selected.
2723         Adding a clock to a bin triggers a clock provider message.
2724         Make sure we reselect a clock when we received a clock lost message.
2725         Keep a reference to the element that provided the clock.
2726
2727 2005-11-18  Andy Wingo  <wingo@pobox.com>
2728
2729         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2730         the clock initially so it produces values around the base time.
2731         (gst_net_client_clock_class_init): Typo fix.
2732         (gst_net_client_clock_thread): Add note on when the socket gets
2733         closed.
2734
2735 2005-11-17  Wim Taymans  <wim@fluendo.com>
2736
2737         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2738         Free remote and local time arrays.
2739
2740 2005-11-17  Wim Taymans  <wim@fluendo.com>
2741
2742         * gst/net/gstnetclientclock.c: (do_linear_regression),
2743         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2744         Fix compilation, uninitialized vars and a forgotten continue.
2745
2746 2005-11-17  Andy Wingo  <wingo@pobox.com>
2747
2748         * check/Makefile.am (check_PROGRAMS): 
2749         * check/net/gstnetclientclock.c: Add a most minimal test for the
2750         net client clock. More to come later.
2751
2752         * gst/net/gstnet.h: 
2753         * gst/net/Makefile.am: Add netclientclock.
2754
2755         * gst/net/gstnetclientclock.h:
2756         * gst/net/gstnetclientclock.c: New files, implement an untested
2757         GstClock that takes its time from a network time provider.
2758         Implements the algorithm in network-clock.scm.
2759
2760         * tests/network-clock.scm (*window-size*): Rename from
2761         *queue-length*.
2762         * tests/network-clock.scm (network-time): 
2763         * tests/network-clock-utils.scm (q-push): Update callers.
2764
2765 2005-11-17  Wim Taymans  <wim@fluendo.com>
2766
2767         * gst/gstbin.c: (gst_bin_provide_clock_func),
2768         (gst_bin_sort_iterator_new):
2769         And unref the child too..
2770
2771 2005-11-17  Wim Taymans  <wim@fluendo.com>
2772
2773         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2774         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2775         Refactor the sort iterator so it can be used while holding the
2776         LOCK too.
2777         Make clock selection select a clock closest to the source.
2778
2779 2005-11-17  Michael Smith <msmith@fluendo.com>
2780
2781         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2782         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2783         * gst/gstclock.h:
2784           Anonymous structs are a gcc (and some other compilers) extension, so
2785           don't use them. Since this is only for ABI-compatibility, and our
2786           API/ABI freeze is over in a few days, this whole thing will only
2787           last a few days, so don't bother trying to think up a meaningful
2788           name for the struct.
2789
2790 2005-11-17  Andy Wingo  <wingo@pobox.com>
2791
2792         * gst/gstclock.h (GstClock): Add rate and offset properties,
2793         preserving ABI stability. Add rate/offset accessors. Will file bug
2794         for the freeze break.
2795
2796         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2797         and offset, trying to keep precision and avoiding
2798         underflow/overflow.
2799         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2800         functions. Make gst_clock_set_time_adjust obsolete.
2801         (gst_clock_set_time_adjust): Note that this function is obsolete.
2802         Will file bug soon.
2803
2804         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2805         greppable by using GST_PADDING-1+1.
2806
2807 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2808
2809         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2810
2811         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2812           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2813
2814         * gst/gstpadtemplate.h:
2815         * gst/gstpluginfeature.h:
2816           Don't use c++ style comments in headers (#321638).
2817
2818 2005-11-16  Andy Wingo  <wingo@pobox.com>
2819
2820         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2821         buffer.
2822
2823         * check/net/gstnettimeprovider.c: Check to see that the time
2824         provider actually provides times. Works, yo!
2825
2826 2005-11-16  Wim Taymans  <wim@fluendo.com>
2827
2828         * check/Makefile.am:
2829         Enable more tests.
2830
2831         * check/elements/fakesrc.c: (GST_START_TEST):
2832         Set element to NULL before disposing it.
2833
2834 2005-11-16  Andy Wingo  <wingo@pobox.com>
2835
2836         * gst/net/Makefile.am:
2837         * gst/net/gstnet.h:
2838         * gst/net/gstnettimeprovider.c: 
2839         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2840         provider, include it from gstnet.h, and add it to the build.
2841
2842         * gst/net/gstnettimepacket.h: 
2843         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2844         sending and receiving.
2845
2846 2005-11-16  Wim Taymans  <wim@fluendo.com>
2847
2848         * check/Makefile.am:
2849         Enable valgrind check.
2850
2851         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2852         (gst_fake_src_alloc_buffer):
2853         Fix memleak.
2854
2855 2005-11-16  Wim Taymans  <wim@fluendo.com>
2856
2857         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2858         Call parent finalize too.
2859
2860 2005-11-16  Wim Taymans  <wim@fluendo.com>
2861
2862         * check/Makefile.am:
2863         Enable valgrind check that should work fine now.
2864
2865         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2866         * gst/gstqueue.c: (gst_queue_init):
2867         Fix memleaks in pad allocation.
2868
2869 2005-11-16  Andy Wingo  <wingo@pobox.com>
2870
2871         * gst/net/Makefile.am:
2872         * gst/net/gstnet.h: New part of core to hold network elements and
2873         objects. Put in core because it exposes API that applications want
2874         to use. The library is named libgstnet-tempname right now because
2875         of the existing libgstnet in gst-plugins-base. Solution is
2876         probably to rename the one in plugins-base; will file a bug for
2877         the freeze break.
2878
2879         * gst/net/gstnettimeprovider.c: 
2880         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2881         get_time call over the network.
2882
2883         * configure.ac: 
2884         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2885
2886         * check/Makefile.am:
2887         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2888         get additions shortly.
2889
2890 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2891
2892         * gst/gstpad.c: (gst_pad_new_from_static_template):
2893         * gst/gstpad.h:
2894           add gst_pad_new_from_static_template functions
2895         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2896         (gst_check_setup_sink_pad):
2897         * gst/elements/gsttee.c: (gst_tee_init):
2898           and use them
2899
2900 2005-11-16  Wim Taymans  <wim@fluendo.com>
2901
2902         * gst/gstpad.c: (gst_pad_pause_task):
2903         Removed warning, it's not really an error either.
2904
2905 2005-11-16  Wim Taymans  <wim@fluendo.com>
2906
2907         * gst/base/gstbasetransform.c:
2908         (gst_base_transform_prepare_output_buf),
2909         (gst_base_transform_event):
2910         Check if the caps are NULL, this can happen if the element
2911         is shutting down and the pad caps are set to NULL.
2912
2913 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2914
2915         * gst/elements/gsttee.c: (gst_tee_init):
2916           fix pad template leak in tee
2917
2918 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2919
2920         * gst/glib-compat.c: (g_value_dup_gst_object):
2921         * gst/glib-compat.h:
2922         * gst/gstpad.c: (gst_pad_set_property):
2923           use gst_object_ref when setting the pad template; this will
2924           trigger the pad template leaks on GLib 2.6 and the slaves
2925
2926 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2927
2928         * gst/glib-compat.c: (gst_flags_get_first_value):
2929         * gst/glib-compat.h:
2930         * gst/gstregistryxml.c:
2931           remove functions copied from GLib 2.6
2932
2933 2005-11-16  Michael Smith <msmith@fluendo.com>
2934
2935         * gst/Makefile.am:
2936           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2937           do, but only breaks with newer valgrind versions. We're not a
2938           valgrind tool, we have no link-time dependencies on libcoregrind.
2939
2940 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2941
2942         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2943           some debug changes
2944         * gst/gstmessage.h:
2945           typo fixes
2946
2947 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2948
2949         * gst/base/gstbasesrc.c: (gst_base_src_init):
2950         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2951         * gst/gstqueue.c: (gst_queue_init):
2952         * gst/gstregistryxml.c: (load_feature):
2953           Revert all these unrefs, they don't even pass make check !
2954
2955 2005-11-15  Johan Dahlin  <johan@gnome.org>
2956
2957         * gst/base/gstbasesrc.c: (gst_base_src_init):
2958         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2959         * gst/gstqueue.c: (gst_queue_init): 
2960         Free pad templates, fixes a couple of leaks.
2961
2962 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2963
2964         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2965
2966         * gst/gstpad.c: (gst_pad_get_property):
2967           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2968           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2969           (#321452)
2970
2971 2005-11-15  Wim Taymans  <wim@fluendo.com>
2972
2973         * gst/gstevent.c:
2974         Small doc update.
2975
2976 2005-11-15  Andy Wingo  <wingo@pobox.com>
2977
2978         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2979
2980         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2981         using GST_CLOCK_TIME_NONE to disable base time management.
2982         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2983         time if it was NONE before.
2984         (gst_pipeline_change_state): Only munge the base time if
2985         stream_time != GST_CLOCK_TIME_NONE.
2986
2987         * check/gst/gstpipeline.c (test_base_time): Punt around the
2988         problem of the probe not being called, because that's not the
2989         issue I'm looking at. Add a check that setting stream_time to NONE
2990         disables base time management.
2991         
2992 2005-11-15  Wim Taymans  <wim@fluendo.com>
2993
2994         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2995         segment_stop == -1 at startup.
2996
2997         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2998         (gst_base_transform_change_state):
2999         Init segment values at start.
3000
3001 2005-11-15  Wim Taymans  <wim@fluendo.com>
3002
3003         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3004         0 segment values are 0 in any format.
3005
3006         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3007         * gst/base/gstbasetransform.h:
3008         Parse newsegment correctly in basetransform
3009
3010         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3011         Sync to clock using updated segment values.
3012
3013 2005-11-15  Andy Wingo  <wingo@pobox.com>
3014
3015         * check/gst/gstpipeline.c (test_base_time): Add check that the
3016         base time and stream time are reset correctly.
3017
3018 2005-11-15  Wim Taymans  <wim@fluendo.com>
3019
3020         * docs/design/part-TODO.txt:
3021         Some more TODO items.
3022
3023 2005-11-15  Andy Wingo  <wingo@pobox.com>
3024
3025         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3026         error if the user selected "no clock" as the clocking method.
3027
3028         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3029         timestamps with live capture.
3030
3031         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3032         is 0 but we are a live source, timestamp the buffers using the
3033         element's clock.
3034
3035 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3036
3037         * docs/gst/gstreamer-sections.txt:
3038         * gst/gsterror.c:
3039         * gst/gstghostpad.c:
3040         * gst/gstobject.h:
3041         * gst/gstxml.c:
3042           more section docs
3043
3044 2005-11-14  Wim Taymans  <wim@fluendo.com>
3045
3046         * common/gst.supp:
3047           add suppressions from Wim's Debian machine
3048
3049 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3050
3051         * common/gst.supp:
3052           add suppressions from Andy's AMD64 Ubuntu machine
3053
3054 2005-11-14  Andy Wingo  <wingo@pobox.com>
3055
3056         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3057         STATE_LOCK not necessary. Fixes #311489.
3058
3059         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3060         #305291.
3061
3062         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3063         this function is not implemented.
3064
3065 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3066
3067         * gst/base/gstbasetransform.c:
3068         (gst_base_transform_prepare_output_buf):
3069         Ref the source pad caps while we need them.
3070         Fixes (#321386)
3071
3072 2005-11-11  Wim Taymans  <wim@fluendo.com>
3073
3074         * docs/gst/gstreamer-sections.txt:
3075         Added some docs for GstCollectData.
3076
3077         * gst/base/gstadapter.c:
3078         Some small code example fix.
3079
3080         * gst/base/gstcollectpads.c:
3081         * gst/base/gstcollectpads.h:
3082         Document some more.
3083
3084 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3085
3086         * configure.ac: back to HEAD
3087
3088 === release 0.9.5 ===
3089
3090 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3091
3092         * configure.ac:
3093           releasing 0.9.5, "Bike Lunch Day"
3094
3095 2005-11-11  Wim Taymans  <wim@fluendo.com>
3096
3097         * gst/gstbuffer.c: (_gst_buffer_copy):
3098         Copy more flags.
3099
3100         * gst/gstcaps.c: (gst_caps_is_equal):
3101         Fix some docs.
3102         Make _is_equal fast in the trivial cases.
3103
3104         * gst/gstminiobject.c:
3105         * gst/gstminiobject.h:
3106         More docs. Spifify .h file.
3107
3108         * gst/gstutils.c:
3109         Small doc update.
3110
3111 2005-11-11  Wim Taymans  <wim@fluendo.com>
3112
3113         * gst/base/gstbasetransform.c:
3114         (gst_base_transform_prepare_output_buf),
3115         (gst_base_transform_handle_buffer):
3116         Small cleanups.
3117         If we're processing a buffer and need to allocate an output
3118         buffer, we cannot accept a format change. If we did get a 
3119         format change, we have to alloc a buffer ourselves of the 
3120         right size.
3121
3122 2005-11-11  Wim Taymans  <wim@fluendo.com>
3123
3124         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3125         While checking the flag for reentrancy in the gstcaps function
3126         is nice to detect recursive invocations, it also makes it 
3127         impossible to call getcaps from multiple threads, which must be
3128         possible. So, checking for recursive calls has to go.
3129
3130 2005-11-11  Michael Smith <msmith@fluendo.com>
3131
3132         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3133           Don't sync on buffers that fall partially outside our current
3134           segment. Prevents an assertion failure/abort playing some files.
3135
3136 2005-11-10  Andy Wingo  <wingo@pobox.com>
3137
3138         * check/gst/gstbin.c (test_message_state_changed_children): Style
3139         fix..
3140
3141         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3142         gst_bus_poll with the signal watch. Ensures that poll and a signal
3143         watch see the same messages.
3144
3145         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3146         a poll and a watch at the same time get the same messages.
3147
3148 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3149
3150         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3151         * gst/gstcaps.c: (gst_caps_intersect):
3152           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3153           and it's not needed.
3154
3155 2005-11-10  Wim Taymans  <wim@fluendo.com>
3156
3157         * docs/design/part-TODO.txt:
3158         Updated todo.
3159
3160 2005-11-10  Wim Taymans  <wim@fluendo.com>
3161
3162         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3163         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3164         (gst_base_src_do_sync), (gst_base_src_get_range):
3165         Implement clock sync in base class.
3166
3167 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3168
3169         patch by: Tim-Philipp Müller <tim at centricular dot net>
3170
3171         * gst/gststructure.c: (gst_structure_parse_field),
3172         (gst_structure_from_string):
3173           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3174           so that gst_parse_launch() can deal with spaces in filtered link
3175           caps (fixes #164479)
3176         * check/gst/capslist.h:
3177         * check/gst/gststructure.c: (GST_START_TEST):
3178           add unit tests for this change
3179
3180 2005-11-10  Wim Taymans  <wim@fluendo.com>
3181
3182         * docs/gst/gstreamer-sections.txt:
3183         * gst/gstelement.c:
3184         * gst/gstelement.h:
3185         Fix docs, move some STATE macros to private.
3186
3187 2005-11-10  Wim Taymans  <wim@fluendo.com>
3188
3189         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3190         Added check for bug #317341
3191
3192         * gst/gstbuffer.c:
3193         * gst/gstbuffer.h:
3194         Some more spiffifying.
3195
3196         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3197         Call peer linkfunction if we are a source pad. Totally fixes
3198         #317341
3199
3200         * gst/gstpad.c:
3201         Update docs, source pads should call the peer linkfunction
3202         so they can atomically perform the pad link.
3203
3204 2005-11-09  Wim Taymans  <wim@fluendo.com>
3205
3206         * gst/gstbuffer.c:
3207         * gst/gstbuffer.h:
3208         Uber-spiffy-spiffify some more.
3209
3210 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3211
3212         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3213         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3214         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3215         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3216         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3217         * gst/gstpad.c: (gst_pad_init):
3218           Use GST_DEBUG_FUNCPTR() more extensively.
3219
3220 2005-11-09  Wim Taymans  <wim@fluendo.com>
3221
3222         * gst/gstobject.c: (gst_object_class_init):
3223         * gst/gstobject.h:
3224         Documentation fixes.
3225
3226 2005-11-09  Edward Hervey  <edward@fluendo.com>
3227
3228         * gst/gsttypefindfactory.c:
3229         Fix docs.
3230         
3231 2005-11-09  Edward Hervey  <edward@fluendo.com>
3232
3233         * gst/base/gsttypefindhelper.c:
3234         * gst/gsttypefind.c:
3235         * gst/gsttypefind.h:
3236         Fix docs.
3237
3238 2005-11-09  Wim Taymans  <wim@fluendo.com>
3239
3240         * gst/gstiterator.c:
3241         Fix revision data.
3242
3243         * gst/gsttask.c:
3244         * gst/gsttask.h:
3245         Fix docs.
3246
3247 2005-11-09  Wim Taymans  <wim@fluendo.com>
3248
3249         * gst/gstevent.h:
3250         * gst/gsturi.h:
3251         Fix docs.
3252
3253 2005-11-09  Wim Taymans  <wim@fluendo.com>
3254
3255         * docs/gst/gstreamer-sections.txt:
3256         Moved the message async delivery private lock and cond
3257         to the private section.
3258
3259         * gst/gstmessage.c:
3260         * gst/gstmessage.h:
3261         Fixed docs.
3262
3263 2005-11-09  Edward Hervey  <edward@fluendo.com>
3264
3265         * docs/gst/gstreamer-sections.txt:
3266         * gst/gsturi.c:
3267         * gst/gsturi.h:
3268         Document GstURIHandler
3269
3270 2005-11-09  Wim Taymans  <wim@fluendo.com>
3271
3272         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3273         (gst_iterator_find_custom):
3274         * gst/gstiterator.h:
3275         Fix iterator docs.
3276
3277 2005-11-09  Wim Taymans  <wim@fluendo.com>
3278
3279         * gst/gstbin.h:
3280         Document another field.
3281
3282         * gst/gststructure.c:
3283         * gst/gststructure.h:
3284         Document.
3285
3286 2005-11-09  Wim Taymans  <wim@fluendo.com>
3287
3288         * gst/gstbin.h:
3289         Documented structs.
3290
3291 2005-11-09  Wim Taymans  <wim@fluendo.com>
3292
3293         * docs/gst/gstreamer-sections.txt:
3294         Added some new macros.
3295
3296         * gst/gstclock.c:
3297         * gst/gstclock.h:
3298         * gst/gstobject.h:
3299         Docs updates.
3300
3301 2005-11-09  Wim Taymans  <wim@fluendo.com>
3302
3303         * docs/design/part-TODO.txt:
3304         Some more items for the TODO
3305
3306         * gst/gstcaps.c:
3307         * gst/gstcaps.h:
3308         Document GstCaps.
3309
3310 2005-11-09  Andy Wingo  <wingo@pobox.com>
3311
3312         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3313         to work on something else now tho...
3314
3315         * gst/base/gstadapter.c: More adapter docs.
3316
3317         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3318         (gst_file_sink_stop): New functions, replace the state change
3319         handler.
3320         (gst_file_sink_class_init): Hook up the start and stop functions.
3321         (gst_file_sink_base_init): Don't set the state change handler any
3322         more. It was a bit ugly too, being set from here...
3323         (gst_file_sink_get_property, gst_file_sink_set_property):
3324         Cleanups...
3325         (gst_file_sink_set_location): More robust check that doesn't call
3326         GST_STATE. Ugggggg.
3327
3328 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3329
3330         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3331           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3332
3333 2005-11-08  Wim Taymans  <wim@fluendo.com>
3334
3335         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3336         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3337         (gst_base_sink_chain), (gst_base_sink_change_state):
3338         * gst/base/gstbasesink.h:
3339         * gst/base/gstbasesrc.h:
3340         * gst/gstelement.h:
3341         * gst/gstevent.h:
3342         Avoid excessive typechecking in macros.
3343
3344         * gst/gstminiobject.c: (gst_mini_object_get_type),
3345         (gst_mini_object_init), (gst_mini_object_new),
3346         (gst_mini_object_free):
3347         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3348         (gst_object_finalize):
3349         Remove cruft code, optimize alloc_trace.
3350
3351 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3352
3353         * docs/faq/gst-uninstalled:
3354           fix up PS1 for systems that try to reset it
3355
3356 2005-11-07  Wim Taymans  <wim@fluendo.com>
3357
3358         * gst/base/gstbasesrc.c: (gst_base_src_init),
3359         (gst_base_src_get_range):
3360         Set the segment_end to -1 initially. Fixed typefind.
3361
3362 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * gst/base/gstadapter.c:
3365           Debug category should be 'adapter', not 'GstAdapter'.
3366           
3367         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3368         (gst_collectpads_class_init), (gst_collectpads_init),
3369         (gst_collectpads_peek), (gst_collectpads_pop),
3370         (gst_collectpads_event), (gst_collectpads_chain):
3371           Add debug category and some debugging output. Use boilerplate
3372           macros. Remove some extraneous words from docs.
3373
3374 2005-11-05  Andy Wingo  <wingo@pobox.com>
3375
3376         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3377         macro.
3378
3379 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3380
3381         * docs/gst/gstreamer-sections.txt:
3382         * gst/gstcaps.h:
3383         * gst/gstinfo.c:
3384         * gst/gstminiobject.h:
3385         * gst/gstobject.h:
3386         * gst/gstutils.h:
3387           more docs added
3388
3389 2005-11-04  Wim Taymans  <wim@fluendo.com>
3390
3391         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3392         Small update to stop at the configured segment_end
3393         position.
3394
3395 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3396
3397         * gst/gstregistry.c:
3398         * gst/gstregistry.h:
3399           added missing docs
3400
3401 2005-11-04  Edward Hervey  <edward@fluendo.com>
3402
3403         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3404         Check if we are doing a segment seek and have arrived at the
3405         end of that segment.
3406
3407 2005-11-04  Wim Taymans  <wim@fluendo.com>
3408
3409         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3410         Don't leak a mutex unlock in case of an error.
3411
3412         * gst/gstbus.h:
3413         Doc fixes.
3414
3415 2005-11-04  Wim Taymans  <wim@fluendo.com>
3416
3417         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3418         (gst_bus_post):
3419         Get the context to wake up only once.
3420
3421 2005-11-03  Wim Taymans  <wim@fluendo.com>
3422
3423         * check/states/sinks.c: (GST_START_TEST):
3424         Uncomment fixed check.
3425
3426         * docs/design/part-TODO.txt:
3427         Updated TODO.
3428
3429         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3430         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3431         (gst_base_sink_get_position):
3432         If we are going to PLAYING, post the right pending state
3433         when we post the intermediate paused message.
3434
3435         * gst/gstelement.c: (gst_element_continue_state),
3436         (gst_element_set_state_func), (gst_element_change_state):
3437         Don't post state changes that were between the same state
3438         and were not ASYNC.
3439
3440 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3441
3442         * docs/gst/gstreamer-sections.txt:
3443         * gst/gstcaps.h:
3444         * gst/gstinfo.c:
3445         * gst/gstminiobject.h:
3446         * gst/gstobject.h:
3447         * gst/gstutils.h:
3448           more docs and doc style fixes
3449
3450 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3451
3452         * docs/gst/gstreamer-sections.txt:
3453         * gst/gstelement.c:
3454         * gst/gstminiobject.c:
3455         doc fixes
3456
3457 2005-11-03  Andy Wingo  <wingo@pobox.com>
3458
3459         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3460         state-changed messages actually have the right order and the right
3461         values.
3462
3463 2005-11-03  Wim Taymans  <wim@fluendo.com>
3464
3465         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3466         Added some more checks. Specifically the case where NO_PREROLL
3467         elements are in the pipeline.
3468
3469         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3470         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3471         (gst_base_sink_get_position):
3472         Post READY->PAUSED state change messages too.
3473         Fix bug where VOID was posted as pending state...
3474
3475         * gst/gstbin.c: (gst_bin_recalc_state):
3476         use _element_continue_state() to continue the state change.
3477
3478         * gst/gstelement.c: (gst_element_continue_state),
3479         (gst_element_commit_state), (gst_element_set_state_func),
3480         (gst_element_change_state), (gst_element_change_state_func):
3481         Lots of state change cleanups, assign the STATE_RETURN in
3482         a new continue_state() function that also propagates the
3483         last return value from a state change to the app.
3484         Update some debug statements with proper category.
3485
3486 2005-11-03  Wim Taymans  <wim@fluendo.com>
3487
3488         * docs/design/part-events.txt:
3489         * docs/design/part-gstpipeline.txt:
3490         * docs/design/part-messages.txt:
3491         * docs/design/part-overview.txt:
3492         * docs/design/part-seeking.txt:
3493         * docs/design/part-states.txt:
3494         * docs/design/part-trickmodes.txt:
3495         * docs/manual/advanced-position.xml:
3496         Small docs updates.
3497
3498         * gst/gstobject.h:
3499         People think !! is ugly, this looks better.
3500
3501         * gst/gstpad.c: (gst_pad_set_blocked_async):
3502         Remove !! since it's fixed elsewhere now.
3503
3504 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3505
3506         * gst/gstminiobject.h:
3507         * gst/gstobject.h:
3508           Add !! to _FLAG_IS_SET macros to make the result boolean.
3509
3510 2005-11-03  Edward Hervey  <edward@fluendo.com>
3511
3512         * gst/gstpad.c: (gst_pad_set_blocked_async):
3513         comparing a flag and a gboolean rarely returns coherent results...
3514         Added two characters (!!) to make that work correctly.
3515         
3516 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3517
3518         * gst/gstbus.c: (gst_bus_class_init):
3519           Fix some typos.
3520           
3521         * gst/gstqueue.c: (gst_queue_loop):
3522           Don't assume a miniobject that isn't a buffer is an
3523           event (it could be that there is a refcounting
3524           problem somewhere and the pointer is stale and
3525           refers to an already destroyed miniobject).
3526
3527 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3528
3529         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3530
3531 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3532
3533         * docs/manual/advanced-position.xml:
3534           Update seek example and explanations to current 0.9 API.
3535
3536         * gst/elements/gsttypefindelement.c:
3537         (gst_type_find_element_activate):
3538           Remove FIXME comment now that the found caps
3539           are unreffed.
3540
3541 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3542
3543         * gst/gstregistryxml.c: (load_feature):
3544           Add another GST_STR_NULL instance
3545
3546 2005-11-02  Edward Hervey  <edward@fluendo.com>
3547
3548         * gst/gstpad.c: (handle_pad_block):
3549         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3550         
3551 2005-11-02  Wim Taymans  <wim@fluendo.com>
3552
3553         * gst/gstbin.c:
3554         Fix typo in docs.
3555
3556         * gst/gstelement.c: (gst_element_commit_state):
3557         Remove unused value.
3558
3559         * gst/gstiterator.c:
3560         Mention that the returned element is reffed in the docs.
3561
3562 2005-11-02  Wim Taymans  <wim@fluendo.com>
3563
3564         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3565         (gst_pad_push), (gst_pad_push_event):
3566         Unlock blocked pads when they are flushed.
3567
3568 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3569
3570         * docs/README:
3571         * docs/gst/gstreamer-sections.txt:
3572         * gst/gstbin.c:
3573           doc updates
3574         * gst/gstregistry.c: (gst_registry_scan_path_level):
3575           fix for a nasty little missed situation where an installed plug-in
3576           which was in the cache did not get overridden by an uninstalled one
3577           which was earlier in the plugin path because the newly created plugin
3578           for the uninstalled one (not in the registry) didn't get its
3579           ->registered set to TRUE
3580
3581 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3582
3583         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3584         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3585         (gst_collectpads_is_active), (gst_collectpads_collect),
3586         (gst_collectpads_collect_range), (gst_collectpads_start),
3587         (gst_collectpads_stop), (gst_collectpads_peek),
3588         (gst_collectpads_pop), (gst_collectpads_available),
3589         (gst_collectpads_read), (gst_collectpads_flush):
3590           Guard public API with assertions.
3591         
3592         * gst/gstpad.c:
3593           Fix docs for gst_pad_set_link_function().
3594
3595 2005-11-02  Johan Dahlin  <johan@gnome.org>
3596
3597         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3598         Unref found_caps after we used it.
3599
3600 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3601
3602         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3603           Don't try to ref NULL.
3604
3605 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3606
3607         * win32/common/config.h.in:
3608           provide a GST_FUNCTION that just gives a string for now
3609
3610 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3611
3612         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3613         (gst_object_flags_get_type), (register_gst_bin_flags),
3614         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3615         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3616         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3617         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3618         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3619         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3620         (gst_clock_flags_get_type), (register_gst_state),
3621         (gst_state_get_type), (register_gst_state_change_return),
3622         (gst_state_change_return_get_type), (register_gst_state_change),
3623         (gst_state_change_get_type), (register_gst_element_flags),
3624         (gst_element_flags_get_type), (register_gst_core_error),
3625         (gst_core_error_get_type), (register_gst_library_error),
3626         (gst_library_error_get_type), (register_gst_resource_error),
3627         (gst_resource_error_get_type), (register_gst_stream_error),
3628         (gst_stream_error_get_type), (register_gst_event_type),
3629         (gst_event_type_get_type), (register_gst_seek_type),
3630         (gst_seek_type_get_type), (register_gst_seek_flags),
3631         (gst_seek_flags_get_type), (register_gst_format),
3632         (gst_format_get_type), (register_gst_index_certainty),
3633         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3634         (gst_index_entry_type_get_type),
3635         (register_gst_index_lookup_method),
3636         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3637         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3638         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3639         (gst_index_flags_get_type), (register_gst_debug_level),
3640         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3641         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3642         (gst_iterator_result_get_type), (register_gst_iterator_item),
3643         (gst_iterator_item_get_type), (register_gst_message_type),
3644         (gst_message_type_get_type), (register_gst_mini_object_flags),
3645         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3646         (gst_pad_link_return_get_type), (register_gst_flow_return),
3647         (gst_flow_return_get_type), (register_gst_activate_mode),
3648         (gst_activate_mode_get_type), (register_gst_pad_direction),
3649         (gst_pad_direction_get_type), (register_gst_pad_flags),
3650         (gst_pad_flags_get_type), (register_gst_pad_presence),
3651         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3652         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3653         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3654         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3655         (gst_plugin_flags_get_type), (register_gst_rank),
3656         (gst_rank_get_type), (register_gst_query_type),
3657         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3658         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3659         (gst_tag_flag_get_type), (register_gst_task_state),
3660         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3661         (gst_alloc_trace_flags_get_type),
3662         (register_gst_type_find_probability),
3663         (gst_type_find_probability_get_type), (register_gst_uri_type),
3664         (gst_uri_type_get_type), (register_gst_parse_error),
3665         (gst_parse_error_get_type):
3666         * win32/common/gstversion.h:
3667           update win32 copies
3668
3669 2005-11-01  Luca Ognibene  <luogni@tin.it>
3670
3671         * gst/gst.c:
3672           fix docs. popt is dead, long live GOption.
3673
3674 2005-10-31  Wim Taymans  <wim@fluendo.com>
3675
3676         * gst/gstbuffer.h:
3677         Small doc fix.
3678
3679 2005-10-31  Andy Wingo  <wingo@pobox.com>
3680
3681         * Boo!
3682
3683         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3684
3685         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3686         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3687         the possibility of deadlocks here if code calling notify() or
3688         set() has a lock that can be taken in another notify handler (ABBA
3689         with class lock and e.g. python GIL state lock).
3690
3691 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3692
3693         * gst/gstbus.c: Doc updates.
3694
3695 2005-10-28  Wim Taymans  <wim@fluendo.com>
3696
3697         * docs/design/part-TODO.txt:
3698         * gst/gstiterator.c:
3699         * gst/gstsystemclock.c:
3700         * gst/gstsystemclock.h:
3701         Doc updates.
3702
3703 2005-10-28  Edward Hervey  <edward@fluendo.com>
3704
3705         * docs/gst/gstreamer-docs.sgml:
3706         * docs/gst/gstreamer-sections.txt:
3707         the GstURIType documentation page is private, it only defines GstURIType
3708         which should be defined in the GstURIHandler page
3709         
3710 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3711
3712         * gst/gstbin.c: (gst_bin_class_init):
3713         * gst/gstbin.h:
3714         * gst/gstutils.c:
3715         Documentation updates.
3716
3717 2005-10-28  Wim Taymans  <wim@fluendo.com>
3718
3719         * docs/gst/gstreamer-sections.txt:
3720         * gst/gstclock.c:
3721         * gst/gstclock.h:
3722         Documented the clocks.
3723
3724 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3725
3726         * docs/gst/gstreamer-sections.txt:
3727           move some macros to private sections
3728         * gst/gstminiobject.c:
3729         * gst/gstminiobject.h:
3730           add descriptions provided by ds and some more
3731         * gst/gstpad.h:
3732           mark macro as to be removed
3733
3734 2005-10-28  Wim Taymans  <wim@fluendo.com>
3735
3736         * docs/design/part-TODO.txt:
3737         Add an item to TODO.
3738
3739         * gst/gstiterator.c: (gst_iterator_fold),
3740         (gst_iterator_find_custom):
3741         * gst/gstiterator.h:
3742         Add iterator docs.
3743
3744 2005-10-28  Wim Taymans  <wim@fluendo.com>
3745
3746         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3747         (gst_base_transform_init):
3748         Don't leak class.
3749
3750         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3751         An EOS event marks the queue as completely filled.
3752
3753 2005-10-27  Wim Taymans  <wim@fluendo.com>
3754
3755         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3756         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3757         Some more debugging.
3758
3759         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3760         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3761         (gst_base_transform_event), (gst_base_transform_getrange),
3762         (gst_base_transform_chain):
3763         * gst/base/gstbasetransform.h:
3764         Fix debugging,
3765         Protect transform and concurrent buffer alloc with a new lock.
3766         Try not to break ABI/API.
3767
3768 2005-10-27  Wim Taymans  <wim@fluendo.com>
3769
3770         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3771         (gst_base_src_init), (gst_base_src_query),
3772         (gst_base_src_default_newsegment),
3773         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3774         (gst_base_src_send_event), (gst_base_src_event_handler),
3775         (gst_base_src_pad_get_range), (gst_base_src_loop),
3776         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3777         (gst_base_src_start), (gst_base_src_deactivate),
3778         (gst_base_src_activate_push), (gst_base_src_change_state):
3779         Move some stuff around and cleanup things.
3780
3781 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3782
3783         * gst/base/gstbasesrc.c: (gst_base_src_query):
3784           Add missing break statements.
3785
3786 2005-10-27  Wim Taymans  <wim@fluendo.com>
3787
3788         * check/gst/gstbin.c: (GST_START_TEST):
3789         An extra refcount is taken in basesrc.
3790
3791         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3792         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3793         (gst_base_src_loop):
3794         Small cleanups, check for flushing after being unlocked from the 
3795         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3796         Don't send out EOS when going to READY.
3797
3798 2005-10-27  Wim Taymans  <wim@fluendo.com>
3799
3800         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3801         (gst_base_sink_get_position):
3802         Some more debug.
3803
3804         * gst/gstbin.c: (message_check), (bin_replace_message),
3805         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3806         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3807         (bin_query_duration_init), (bin_query_duration_fold),
3808         (bin_query_duration_done), (bin_query_generic_fold),
3809         (gst_bin_query):
3810         * tools/gst-launch.c: (main):
3811         Remove old option.
3812
3813 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3814
3815         * examples/controller/audio-example.c: (main):
3816         * examples/queue/queue.c: (event_loop):
3817         * gst/base/gstbasetransform.h:
3818         * gst/gstelement.c: (gst_element_send_event):
3819         * gst/gstevent.h:
3820         * gst/gstpad.c: (gst_pad_send_event):
3821           fixing examples
3822           fixing docs typos
3823           changing log priority in error situations
3824
3825 2005-10-25  Wim Taymans  <wim@fluendo.com>
3826
3827         * gst/gstbin.c: (message_check), (bin_replace_message),
3828         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3829         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3830         (bin_query_duration_init), (bin_query_duration_fold),
3831         (bin_query_duration_done), (bin_query_generic_fold),
3832         (gst_bin_query):
3833         Some doc and debug updates.
3834         Cache previously requested query DURATION for speed. invalidate
3835         cached duration if element posts a DURATION message.
3836
3837 2005-10-25  Wim Taymans  <wim@fluendo.com>
3838
3839         * docs/design/part-TODO.txt:
3840         Update TODO.
3841
3842         * gst/gstbin.c: (message_check), (bin_replace_message),
3843         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3844         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3845         (bin_query_duration_init), (bin_query_duration_fold),
3846         (bin_query_duration_done), (bin_query_generic_fold),
3847         (gst_bin_query):
3848         Handle SEGMENT_START/DONE messages correctly.
3849         More evolved query algorithm that handles duration queries
3850         correctly.
3851
3852         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3853         (gst_element_get_state_func), (gst_element_abort_state),
3854         (gst_element_commit_state), (gst_element_lost_state):
3855         Some more debugging.
3856
3857         * gst/gstmessage.h:
3858         Added doc.
3859
3860 2005-10-25  Wim Taymans  <wim@fluendo.com>
3861
3862         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3863         Don't use invalid stream_time.
3864
3865         * gst/gstevent.c: (gst_event_new_newsegment):
3866         stream_time in newsegment cannot be undefined.
3867
3868 2005-10-24  Wim Taymans  <wim@fluendo.com>
3869
3870         * gst/gstbus.c:
3871         Doc fix.
3872
3873         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3874         (gst_queue_loop):
3875         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3876
3877 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3878
3879         * docs/libs/tmpl/gstdparam.sgml:
3880         * docs/libs/tmpl/gstdplinint.sgml:
3881         * docs/libs/tmpl/gstdpman.sgml:
3882         * docs/libs/tmpl/gstdpsmooth.sgml:
3883         * docs/libs/tmpl/gstunitconvert.sgml:
3884           these are obsolete
3885
3886 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3887
3888         * configure.ac:
3889           back to HEAD
3890
3891 === release 0.9.4 ===
3892
3893 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3894
3895         * configure.ac:
3896           releasing 0.9.4, "Tyrannosaurus Rex"
3897
3898 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3899
3900         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3901         (gst_file_sink_get_current_offset):
3902           Use fseeko() and ftello() if available. When falling back on
3903           lseek() to get the current offset, fflush() first to make sure
3904           everything is up-to-date and we get the right offset.
3905
3906 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3907
3908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3909         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3910         * gst/gsterror.c: (_gst_stream_errors_init):
3911         * gst/gsterror.h:
3912         * gst/gstqueue.c: (gst_queue_loop):
3913         * po/POTFILES.in:
3914           remove prematurely added error category and clean up the instances
3915
3916 2005-10-21  Wim Taymans  <wim@fluendo.com>
3917
3918         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3919         (gst_base_sink_get_position), (gst_base_sink_query),
3920         (gst_base_sink_change_state):
3921         Simply set the right flag when going to playing, that's all
3922         we need to do instead of calling a function inside the object
3923         lock (that could take the lock as well and deadlock)
3924
3925 2005-10-21  Wim Taymans  <wim@fluendo.com>
3926
3927         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3928         (gst_base_src_loop):
3929         Don't warn, the peer element knows what to do best when
3930         the seek failed, it might try something else.
3931
3932 2005-10-21  Wim Taymans  <wim@fluendo.com>
3933
3934         * gst/base/gstbasesrc.c: (gst_base_src_init),
3935         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3936         Fix seeking.
3937
3938 2005-10-21  Wim Taymans  <wim@fluendo.com>
3939
3940         * docs/design/part-segments.txt:
3941         More docs.
3942
3943         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3944         Correctly set caps, even on the subbufer.
3945
3946 2005-10-21  Wim Taymans  <wim@fluendo.com>
3947
3948         * docs/gst/gstreamer-docs.sgml:
3949         * docs/gst/gstreamer-sections.txt:
3950         * gst/gstelement.h:
3951         * gst/gstevent.c:
3952         * gst/gstevent.h:
3953         * gst/gstmessage.h:
3954         * gst/gstpad.h:
3955         * gst/gstparse.h:
3956         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3957         * gst/gsttask.h:
3958         * gst/gstutils.c:
3959         * gst/gstutils.h:
3960         And 2% more doc coverage.
3961
3962 2005-10-21  Andy Wingo  <wingo@pobox.com>
3963
3964         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3965         position reporting.
3966
3967 2005-10-20  Wim Taymans  <wim@fluendo.com>
3968
3969         * gst/gsterror.c: (gst_error_get_message):
3970         * gst/gstparse.h:
3971         * gst/gstquery.h:
3972         * gst/gststructure.c:
3973         * gst/gsttrace.c:
3974         * gst/gstutils.c:
3975         More docs.
3976
3977 2005-10-20  Wim Taymans  <wim@fluendo.com>
3978
3979         * gst/gstbuffer.h:
3980         * gst/gstpad.c:
3981         * gst/gstparse.c:
3982         Another 1% more coverage.
3983
3984 2005-10-20  Wim Taymans  <wim@fluendo.com>
3985
3986         * docs/gst/gstreamer-sections.txt:
3987         * gst/gstelement.c: (gst_element_get_state_func),
3988         (gst_element_abort_state), (gst_element_commit_state),
3989         (gst_element_lost_state):
3990         * gst/gstevent.h:
3991         * gst/gstquery.c: (gst_query_set_position),
3992         (gst_query_parse_position), (gst_query_set_duration),
3993         (gst_query_parse_duration), (gst_query_new_convert):
3994         * gst/gstutils.c:
3995         Yay! 1% more docs coverage.
3996
3997 2005-10-20  Wim Taymans  <wim@fluendo.com>
3998
3999         * gst/gstpad.h:
4000         * gst/gstquery.c: (gst_query_set_position),
4001         (gst_query_parse_position), (gst_query_set_duration),
4002         (gst_query_parse_duration), (gst_query_new_convert):
4003         * gst/gstquery.h:
4004         * gst/gstutils.c: (gst_element_query_convert):
4005         * gst/gstutils.h:
4006         Docs and consistency fixes.
4007
4008 2005-10-20  Wim Taymans  <wim@fluendo.com>
4009
4010         * gst/gsttask.c:
4011         * gst/gsttask.h:
4012         More docs.
4013
4014 2005-10-20  Wim Taymans  <wim@fluendo.com>
4015
4016         * gst/gstbin.c: (message_check), (bin_replace_message),
4017         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4018         (update_degree), (gst_bin_sort_iterator_next),
4019         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4020         Reworked the message handling a bit, cache the messages instead of
4021         only the senders. alows us to do more in the future.
4022
4023 2005-10-20  Wim Taymans  <wim@fluendo.com>
4024
4025         * docs/design/part-TODO.txt:
4026         Update TODO
4027
4028         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4029         (gst_base_sink_query):
4030         Don't use clock time to report position when in EOS.
4031
4032 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4033
4034         * tools/gst-inspect.c: (print_interfaces),
4035         (print_element_properties_info), (print_element_info):
4036           Fix interface output with gst-inspect -a; don't print
4037           newlines after double/float properties.
4038
4039 2005-10-20  Wim Taymans  <wim@fluendo.com>
4040
4041         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4042         (gst_base_sink_query):
4043         Speed up current position calculation.
4044
4045         * gst/base/gstbasesrc.c: (gst_base_src_query),
4046         (gst_base_src_default_newsegment):
4047         Correctly set stream position in newsegment.
4048
4049         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4050         (update_degree), (gst_bin_sort_iterator_next),
4051         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4052         * gst/gstmessage.c: (gst_message_new_custom):
4053         Clean up debugging info
4054
4055         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4056         (gst_queue_loop), (gst_queue_handle_src_query):
4057         Pause task faster.
4058
4059 2005-10-19  Wim Taymans  <wim@fluendo.com>
4060
4061         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4062         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4063         Fix query handling again.
4064
4065 2005-10-19  Wim Taymans  <wim@fluendo.com>
4066
4067         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4068         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4069         * gst/base/gstbasesrc.c: (gst_base_src_query):
4070         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4071         * gst/elements/gsttypefindelement.c:
4072         (gst_type_find_handle_src_query), (find_element_get_length),
4073         (gst_type_find_element_activate):
4074         API change fix.
4075
4076         * gst/gstquery.c: (gst_query_new_position),
4077         (gst_query_set_position), (gst_query_parse_position),
4078         (gst_query_new_duration), (gst_query_set_duration),
4079         (gst_query_parse_duration), (gst_query_set_segment),
4080         (gst_query_parse_segment):
4081         * gst/gstquery.h:
4082         Bundling query position/duration is not a good idea since duration
4083         does not change much and we don't want to recalculate it for every
4084         position query, so they are separated again..
4085         Base value in segment query is not needed.
4086
4087         * gst/gstqueue.c: (gst_queue_handle_src_query):
4088         * gst/gstutils.c: (gst_element_query_position),
4089         (gst_element_query_duration), (gst_pad_query_position),
4090         (gst_pad_query_duration):
4091         * gst/gstutils.h:
4092         Updates for query API change.
4093         Added some docs here and there.
4094
4095 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4096
4097         * check/gst/gstbin.c: (GST_START_TEST):
4098         * check/gst/gstghostpad.c: (GST_START_TEST):
4099         * check/pipelines/cleanup.c: (GST_START_TEST):
4100           wait on thread to die so we can check refcount correctly
4101
4102 2005-10-18  Wim Taymans  <wim@fluendo.com>
4103
4104         * check/pipelines/stress.c: (GST_START_TEST):
4105         Make check a little more time consuming.
4106
4107 2005-10-18  Wim Taymans  <wim@fluendo.com>
4108
4109         * check/Makefile.am:
4110         * check/pipelines/stress.c: (GST_START_TEST),
4111         (simple_launch_lines_suite), (main):
4112         Small state change torture test.
4113
4114         * docs/design/part-states.txt:
4115         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4116         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4117         (gst_base_sink_change_state):
4118         Never take state lock from streaming thread, clean up ugly
4119         hacks. Unfortunatly core does not yet support nice ways to
4120         async commit state.
4121         
4122         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4123         (bin_bus_handler):
4124         Start state recalc if a STATE_DIRTY message is posted, but only
4125         on the toplevel bin.
4126
4127         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4128         (gst_element_get_state_func), (gst_element_abort_state),
4129         (gst_element_commit_state), (gst_element_lost_state),
4130         (gst_element_set_state_func), (gst_element_change_state):
4131         * gst/gstelement.h:
4132         State variables are now protected with the LOCK, the state
4133         lock is only used to serialize _set_state().
4134
4135 2005-10-18  Wim Taymans  <wim@fluendo.com>
4136
4137         * check/gst/gstbin.c: (GST_START_TEST):
4138         * check/gst/gstmessage.c: (GST_START_TEST):
4139         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4140         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4141         (bin_bus_handler):
4142         * gst/gstelement.c: (gst_element_abort_state),
4143         (gst_element_commit_state), (gst_element_lost_state):
4144         * gst/gstmessage.c: (gst_message_new_state_changed),
4145         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4146         (gst_message_new_segment_done), (gst_message_new_duration),
4147         (gst_message_parse_state_changed),
4148         (gst_message_parse_segment_start),
4149         (gst_message_parse_segment_done), (gst_message_parse_duration):
4150         * gst/gstmessage.h:
4151         * tools/gst-launch.c: (event_loop):
4152         Seriously, this is better than a previous commit as we only need
4153         to notify the fact that an element changed state in a streaming
4154         thread, marking the state of the parents dirty, hence the 
4155         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4156         message.
4157
4158 2005-10-18  Wim Taymans  <wim@fluendo.com>
4159
4160         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4161         (gst_bin_recalc_func):
4162         * gst/gstelement.c: (gst_element_set_clock),
4163         (gst_element_abort_state), (gst_element_lost_state):
4164         Cleanups, prepare for state change fixes.
4165
4166 2005-10-18  Wim Taymans  <wim@fluendo.com>
4167
4168         * gst/gstbin.h:
4169         * gst/gstelement.c: (gst_element_class_init),
4170         (gst_element_set_state), (gst_element_set_state_func):
4171         * gst/gstelement.h:
4172         Pending ABI changes.
4173         GThreadPool in GstBinClass to monitor async state changes.
4174         state_cookie in GstElement to detect concurrent gst/set state.
4175         set_state is now virtual too in case a very complicated element
4176         has to be constructed.
4177
4178 2005-10-18  Wim Taymans  <wim@fluendo.com>
4179
4180         * check/gst/gstbin.c: (GST_START_TEST):
4181         * check/gst/gstmessage.c: (GST_START_TEST):
4182         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4183         * gst/gstbin.c: (bin_bus_handler):
4184         * gst/gstelement.c: (gst_element_commit_state),
4185         (gst_element_lost_state):
4186         * gst/gstmessage.c: (gst_message_new_state_changed),
4187         (gst_message_new_segment_start), (gst_message_new_segment_done),
4188         (gst_message_new_duration), (gst_message_parse_state_changed),
4189         (gst_message_parse_segment_start),
4190         (gst_message_parse_segment_done), (gst_message_parse_duration):
4191         * gst/gstmessage.h:
4192         * tools/gst-launch.c: (event_loop):
4193         Make messages future proof.
4194         state-change gets a flag if it was a message comming from the
4195         streaming thread.
4196         segment-start/stop can also be specified in other formats.
4197         A message to notify an app that a pipeline changed playback 
4198         duration.
4199         Also fix a GstMessage leak in -launch
4200
4201 2005-10-18  Andy Wingo  <wingo@pobox.com>
4202
4203         * gst/gstelement.c (gst_element_dispose): More helpful message.
4204
4205 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4206
4207         reviewed by: <delete if not using a buddy>
4208
4209         * common/gtk-doc.mak:
4210
4211 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4212
4213         * gst/gstregistry.c: (gst_registry_scan_path_level):
4214           unref a plug-in we get that was already initialized
4215
4216 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4217
4218         * docs/gst/gstreamer-sections.txt:
4219         * docs/libs/gstreamer-libs-sections.txt:
4220         * gst/gstelement.h:
4221           add new api entries
4222           hide internal macro
4223
4224 2005-10-17  Andy Wingo  <wingo@pobox.com>
4225
4226         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4227         cleanup.
4228
4229         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4230
4231         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4232
4233         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4234         (gst_element_get_state_func): Better debug message.
4235         (gst_element_commit_state): s/INFO/DEBUG/.
4236         (gst_element_lost_state, gst_element_change_state): 
4237
4238         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4239         (gst_message_new_custom): s/INFO/LOG/.
4240
4241 2005-10-17  Michael Smith <msmith@fluendo.com>
4242
4243         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4244           Check if end time is valid using end time, not start time.
4245
4246 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4247
4248         * check/gst-libs/controller.c: (GST_START_TEST),
4249         (gst_controller_suite):
4250         * libs/gst/controller/gstcontroller.c:
4251         (gst_controlled_property_set_interpolation_mode):
4252         * libs/gst/controller/gstcontroller.h:
4253         * libs/gst/controller/gstinterpolation.c:
4254         * testsuite/controller/.cvsignore:
4255         * testsuite/controller/Makefile.am:
4256         * testsuite/controller/interpolator.c:
4257           merge controller testsuites
4258           fix broken tests
4259           remove mem-chunk from docs
4260
4261 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4262
4263         * gst/gstmemchunk.c:
4264         * gst/gstmemchunk.h:
4265         * gst/gsttrashstack.c:
4266         * gst/gsttrashstack.h:
4267           out.  get out.  you're fired.  to the Attic !
4268
4269 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4270
4271         * gst/gstcaps.c: (gst_caps_intersect):
4272           fix signedness issues in a (hopefully) correct way
4273         * gst/gstelement.c: (gst_element_pads_activate):
4274           some debugging
4275         * gst/gstobject.c: (gst_object_set_parent):
4276           some debugging
4277
4278 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4279
4280         * gst/gstvalue.h: Fix prototypes.
4281
4282 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4283
4284         * docs/gst/gstreamer-sections.txt:
4285         * gst/gst.c: (gst_version_string):
4286         * gst/gst.h:
4287         * gst/gstversion.h.in:
4288         * win32/common/libgstreamer.def:
4289           add gst_version_string ()
4290
4291 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4292
4293         * configure.ac:
4294           clean up further
4295         * gst/gst.c: (init_post):
4296         * win32/common/config.h.in:
4297           it's PLUGINDIR now
4298         * gst/gstcaps.c: (gst_caps_intersect):
4299           use gint64, the range could be bigger than a guint
4300
4301 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4302
4303         * gst/gstclock.h:
4304           document potential problem in 2038
4305
4306 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4307
4308         * gst/gstcaps.c: (gst_caps_intersect):
4309           Fix guint j diving under 0
4310
4311 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4312
4313         * configure.ac:
4314         * win32/common/config.h:
4315         * win32/common/config.h.in:
4316           check for process.h, declares getpid() on Windows
4317         * gst/gstinfo.c:
4318           include process.h if we have it
4319         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4320         * gst/gstmemchunk.h:
4321           fix signedness issues
4322         * win32/common/libgstreamer.def:
4323           fix get_type's
4324
4325 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4326
4327         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4328         fix. Because of unsigned ints, caps intersection was going nuts and
4329         trying to access structures with G_MAXUINT index. That fixes
4330         videotestsrc ! ffmpegcolorspace ! fakesink
4331         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4332         consistency.
4333
4334 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4335
4336         * configure.ac:
4337           use the gettext macro
4338         * gst/elements/gstelements.c:
4339         * gst/gst.c:
4340         * gst/indexers/gstindexers.c:
4341           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4342         * win32/common/config.h:
4343           updated config.h
4344         * win32/common/config.h.in:
4345           add the template to generate config.h
4346         * win32/common/gstenumtypes.c:
4347         * win32/common/gstversion.h:
4348           updated copies
4349
4350 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4351
4352         * gst/gst.c: (gst_version):
4353         * gst/gstversion.h.in:
4354           add the nano
4355
4356 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4357
4358         * gst/gstevent.h:
4359           Oops, add missing closing bracket.
4360
4361 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4362
4363         * configure.ac:
4364           use common m4's for argument checking
4365
4366 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4367
4368         * docs/gst/gstreamer-sections.txt:
4369         * gst/gstevent.h:
4370           Add GST_EVENT_TYPE_NAME() macro.
4371
4372 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4373
4374         * gst/gstinfo.c:
4375         * gst/gstpluginfeature.c:
4376         * gst/gsttask.c:
4377           privatize more symbols
4378
4379 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4380
4381         * configure.ac:
4382           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4383           everything that uses GStreamer API should have the includes
4384
4385 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4386
4387         * docs/gst/gstreamer-sections.txt:
4388         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4389         * gst/gstvalue.h:
4390           give each value a _get_type, removes the DATA exports
4391
4392 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4393
4394         * gst/gst.c:
4395         * gst/gst.h:
4396           remove _gst_registry_auto_load, not used anymore
4397         * gst/gstbin.c: (gst_bin_get_type):
4398         * gst/gstbin.h:
4399         * gst/gstelement.c: (gst_element_get_type):
4400         * gst/gstelement.h:
4401         * gst/gstobject.c: (gst_object_get_type):
4402         * gst/gstobject.h:
4403         * gst/gstpad.c: (gst_pad_get_type):
4404         * gst/gstpad.h:
4405           make _get_type functions similar, fixes data export from library
4406
4407 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4408
4409         * configure.ac:
4410           correctly make conditionals
4411         * gst/elements/Makefile.am:
4412         * gst/elements/gstelements.c:
4413           fix typo causing fdsrc not to build
4414
4415 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4416
4417         * testsuite/Makefile.am:
4418         * testsuite/bytestream/.cvsignore:
4419         * testsuite/bytestream/Makefile.am:
4420         * testsuite/bytestream/filepadsink.c:
4421         * testsuite/bytestream/gstbstest.c:
4422         * testsuite/bytestream/test1.c:
4423         * testsuite/bytestream/testfile1:
4424         * testsuite/caps/normalisation.c:
4425         * testsuite/caps/random.c: (main):
4426         * testsuite/cleanup/.cvsignore:
4427         * testsuite/cleanup/Makefile.am:
4428         * testsuite/cleanup/cleanup1.c:
4429         * testsuite/cleanup/cleanup2.c:
4430         * testsuite/cleanup/cleanup3.c:
4431         * testsuite/cleanup/cleanup4.c:
4432         * testsuite/cleanup/cleanup5.c:
4433         * testsuite/controller/interpolator.c:
4434         * testsuite/debug/printf_extension.c: (main):
4435         * testsuite/elements/tee.c:
4436         * testsuite/negotiation/.cvsignore:
4437         * testsuite/negotiation/Makefile.am:
4438         * testsuite/negotiation/pad_link.c:
4439         * testsuite/pad/Makefile.am:
4440         * testsuite/pad/chainnopull.c:
4441         * testsuite/pad/getnopush.c:
4442         * testsuite/pad/link.c:
4443         * testsuite/refcounting/sched.c: (create_pipeline):
4444         * testsuite/registry/Makefile.am:
4445         * testsuite/registry/gst-print-formats.c:
4446         * testsuite/schedulers/.cvsignore:
4447         * testsuite/schedulers/142183-2.c:
4448         * testsuite/schedulers/142183.c:
4449         * testsuite/schedulers/143777-2.c:
4450         * testsuite/schedulers/143777.c:
4451         * testsuite/schedulers/147713.c:
4452         * testsuite/schedulers/147819.c:
4453         * testsuite/schedulers/147894-2.c:
4454         * testsuite/schedulers/147894.c:
4455         * testsuite/schedulers/Makefile.am:
4456         * testsuite/schedulers/group_link.c:
4457         * testsuite/schedulers/queue_link.c:
4458         * testsuite/schedulers/relink.c:
4459         * testsuite/schedulers/unlink.c:
4460         * testsuite/schedulers/unref.c:
4461         * testsuite/schedulers/useless_iteration.c:
4462         * testsuite/states/bin.c:
4463           clean out/remove some stuff from the testsuite directories
4464
4465 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4466
4467         * configure.ac:
4468           check for some headers
4469         * gst/elements/Makefile.am:
4470         * gst/elements/gstelements.c:
4471           don't compile fdsrc without sys/socket.h
4472         * gst/indexers/Makefile.am:
4473         * gst/indexers/gstindexers.c: (plugin_init):
4474           don't compile fileindex without mmap
4475
4476 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * configure.ac:
4479           reorganize
4480           clean up
4481           document more
4482           remove cruft
4483         * check/Makefile.am:
4484         * docs/gst/Makefile.am:
4485         * examples/helloworld/Makefile.am:
4486         * gst/Makefile.am:
4487         * gst/base/Makefile.am:
4488         * gst/check/Makefile.am:
4489         * gst/elements/Makefile.am:
4490         * gst/indexers/Makefile.am:
4491         * gst/parse/Makefile.am:
4492         * libs/gst/controller/Makefile.am:
4493         * libs/gst/dataprotocol/Makefile.am:
4494         * examples/helloworld/helloworld.c: (event_loop):
4495           compile fixes, though it's not being compiled currently
4496
4497 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4498
4499         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4500           Add some simple tests for the new taglist date API.
4501
4502 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4505         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4506           Beautify 'last-message' output: print 'none' for buffer timestamps
4507           and durations if none is set; improve alignment with next messages.
4508
4509 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4510
4511         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4512         * gst/gstpluginfeature.h:
4513         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4514         * gst/gstregistry.h:
4515         * docs/gst/gstreamer-sections.txt:
4516           Add new API to check plugin feature version requirements.
4517
4518         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4519           Some basic tests for the above.         
4520
4521 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4522
4523         * gst/gststructure.c: (gst_structure_to_string):
4524           guard against NULL printf - happens when for example
4525           a message structure with GstClock gets serialized
4526
4527 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4528
4529         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4530           Fix presumable copy'n'pasto.
4531
4532 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4533
4534         * gst/elements/gstfakesrc.h:
4535         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4536         * gst/elements/gsttypefindelement.c:
4537           fix some signedness
4538         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4539           I wonder if this could actually write +2GB files before
4540
4541 2005-10-13  Andy Wingo  <wingo@pobox.com>
4542
4543         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4544         Fix Timmeke Waymans bug.
4545         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4546         string of the proper length to gst_caps_from_string. There's a
4547         potential for, before this fix, that this could cause someone
4548         connecting over the network to cause a segfault if the payload is
4549         not NUL-terminated.
4550
4551 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4552
4553         * docs/design/draft-push-pull.txt:
4554         * docs/design/part-overview.txt:
4555         * docs/random/TODO-pre-0.9:
4556         * docs/random/old/ChangeLog.gstreamer:
4557         * gst/base/gstpushsrc.c:
4558         * gst/gstclock.c:
4559           fixed typos
4560
4561 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4562
4563         * gst/glib-compat.c: (gst_flags_get_first_value):
4564         * gst/glib-compat.h:
4565         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4566         (gst_value_compare_double), (gst_value_serialize_flags):
4567           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4568           infinite loop
4569
4570 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4571
4572         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4573         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4574           fix up debugging
4575         * tools/gst-launch.c: (event_loop):
4576           print out clock nicely
4577
4578 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4579
4580         * docs/gst/gstreamer-sections.txt:
4581         * gst/gsttaglist.h:
4582         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4583         (gst_tag_list_get_date_index):
4584           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4585           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4586
4587 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4588
4589         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4590         (gst_collectpads_chain):
4591         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4592         in CollectData.
4593
4594 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4595
4596         * docs/gst/gstreamer-sections.txt:
4597         * gst/gst.c:
4598         * gst/gsterror.h:
4599         * tools/gst-inspect.c: (main):
4600         * tools/gst-launch.c: (main):
4601         * tools/gst-run.c: (main):
4602         * tools/gst-xmlinspect.c: (main):
4603           fix GOption context leaks
4604           doc fixes
4605
4606 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4607
4608         * gst/gstbus.c:
4609           use HAVE_UNISTD_H
4610         * win32/common/config.h:
4611           update config
4612         * win32/vs6/grammar.dsp:
4613         * win32/vs6/libgstelements.dsp:
4614         * win32/vs6/libgstreamer.dsp:
4615           update vs6 files
4616
4617 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4618
4619         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4620         * gst/base/gstbasesrc.c: (gst_base_src_query):
4621           fix more guint64<->gdouble conversions
4622
4623 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4624
4625         * Makefile.am:
4626           add win32-update target
4627         * win32/common/gstconfig.h:
4628         * win32/common/gstenumtypes.c:
4629         * win32/common/gstenumtypes.h:
4630         * win32/common/gstversion.h:
4631           add files that visual studio can't generate
4632
4633 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4634
4635         * Makefile.am:
4636           add a win32-update target
4637         * configure.ac:
4638
4639 2005-10-12  Wim Taymans  <wim@fluendo.com>
4640
4641         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4642         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4643         * gst/gstelement.c: (gst_element_commit_state),
4644         (gst_element_set_state):
4645         Protect flags with proper lock.
4646         unref provided cached clock in dispose.
4647
4648 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4649
4650         * gst/gst.c:
4651         * gst/gstminiobject.h:
4652         * gst/gstpad.h:
4653         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4654           removed unused flags from miniobject
4655           doc fixes
4656
4657 2005-10-12  Wim Taymans  <wim@fluendo.com>
4658
4659         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4660         (gst_file_sink_event), (gst_file_sink_render):
4661         Flush before seeking.
4662
4663 2005-10-12  Andy Wingo  <wingo@pobox.com>
4664
4665         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4666         always been the case.
4667
4668 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4669
4670         * check/gst/gstbin.c: (GST_START_TEST):
4671         * docs/gst/gstreamer-sections.txt:
4672         * gst/base/gstbasesink.c: (gst_base_sink_init):
4673         * gst/base/gstbasesrc.c: (gst_base_src_init),
4674         (gst_base_src_get_range), (gst_base_src_check_get_range),
4675         (gst_base_src_start), (gst_base_src_stop):
4676         * gst/base/gstbasesrc.h:
4677         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4678         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4679         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4680         (bin_bus_handler):
4681         * gst/gstbin.h:
4682         * gst/gstbuffer.h:
4683         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4684         * gst/gstbus.h:
4685         * gst/gstelement.c: (gst_element_is_locked_state),
4686         (gst_element_set_locked_state), (gst_element_commit_state),
4687         (gst_element_set_state):
4688         * gst/gstelement.h:
4689         * gst/gstindex.c: (gst_index_init):
4690         * gst/gstindex.h:
4691         * gst/gstminiobject.h:
4692         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4693         (gst_object_set_parent):
4694         * gst/gstobject.h:
4695         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4696         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4697         * gst/gstpad.h:
4698         * gst/gstpadtemplate.h:
4699         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4700         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4701         * gst/gstpipeline.h:
4702         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4703         (gst_file_index_commit):
4704         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4705         * testsuite/pad/link.c: (gst_test_src_init),
4706         (gst_test_filter_init), (gst_test_sink_init):
4707         * testsuite/states/locked.c: (main):
4708           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4709           moved bitshift from macro to enum definition
4710
4711 2005-10-12  Wim Taymans  <wim@fluendo.com>
4712
4713         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4714         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4715         (gst_file_sink_render):
4716         Some more debugging info.
4717
4718 2005-10-12  Wim Taymans  <wim@fluendo.com>
4719
4720         * docs/design/part-states.txt:
4721         * tools/gst-launch.c: (main):
4722         Some doc updates.
4723         Revert non-intentional change.
4724
4725 2005-10-12  Wim Taymans  <wim@fluendo.com>
4726
4727         * check/gst/gstbin.c: (GST_START_TEST):
4728         * check/gst/gstelement.c: (GST_START_TEST):
4729         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4730         * check/gst/gstghostpad.c: (GST_START_TEST):
4731         * check/gst/gstpipeline.c: (GST_START_TEST):
4732         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4733         * check/states/sinks.c: (GST_START_TEST):
4734         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4735         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4736         (gst_bin_remove_func), (gst_bin_get_state_func),
4737         (gst_bin_recalc_state), (gst_bin_change_state_func),
4738         (bin_bus_handler):
4739         * gst/gstelement.c: (gst_element_get_state_func),
4740         (gst_element_get_state), (gst_element_abort_state),
4741         (gst_element_commit_state), (gst_element_set_state),
4742         (gst_element_change_state), (gst_element_change_state_func):
4743         * gst/gstelement.h:
4744         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4745         (gst_pipeline_provide_clock_func):
4746         * gst/gstutils.c: (gst_element_link_pads_filtered):
4747         * tools/gst-launch.c: (main):
4748         * tools/gst-typefind.c: (main):
4749         Use GstClockTime in _get_state() instead of GTimeVal.
4750         Remove old code in gstutils.c
4751
4752 2005-10-12  Andy Wingo  <wingo@pobox.com>
4753
4754         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4755         removed.
4756
4757         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4758         there is no task. Shouldn't affect any code, as nothing in our
4759         plugins checks this return value.
4760         (gst_pad_stop_task): Also take the stream lock if the pad has no
4761         task. Docs updated.
4762
4763 2005-10-12  Wim Taymans  <wim@fluendo.com>
4764
4765         * gst/gstpad.c: (pre_activate), (post_activate),
4766         (gst_pad_activate_pull), (gst_pad_activate_push):
4767         Cleanup activation code. Reset old state if
4768         activation failed.
4769
4770 2005-10-12  Wim Taymans  <wim@fluendo.com>
4771
4772         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4773         (gst_base_sink_change_state):
4774         No need to prerol after receiving EOS.
4775
4776         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4777         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4778         * gst/elements/gstidentity.c: (gst_identity_event):
4779         Print events more verbosely.
4780
4781 2005-10-12  Wim Taymans  <wim@fluendo.com>
4782
4783         * check/Makefile.am:
4784         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4785         * check/states/sinks2.c:
4786         Moved sinks2 testcode in sinks check.
4787
4788         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4789         (gst_bin_remove_func), (gst_bin_recalc_state),
4790         (gst_bin_change_state_func), (bin_bus_handler):
4791         Fix potential race condition when _get_state() iterated over an
4792         ASYNC element right before it posted a state completion.
4793
4794         * gst/gstclock.h:
4795         Do proper cast here.
4796
4797         * gst/gstevent.c: (gst_event_new_newsegment),
4798         (gst_event_parse_newsegment):
4799         A playback rate of 0.0 is not allowed.
4800
4801 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4802
4803         * win32/common/config.h:
4804         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4805         (_trewinddir), (_ttelldir), (_tseekdir):
4806         * win32/common/dirent.h:
4807         * win32/common/gtchar.h:
4808         * win32/common/libgstbase.def:
4809         * win32/common/libgstreamer.def:
4810         * win32/vs6/grammar.dsp:
4811         * win32/vs6/gst_inspect.dsp:
4812         * win32/vs6/gst_launch.dsp:
4813         * win32/vs6/gstreamer.dsw:
4814         * win32/vs6/libgstbase.dsp:
4815         * win32/vs6/libgstelements.dsp:
4816         * win32/vs6/libgstreamer.dsp:
4817           Visual Studio 6 project files, and a new common directory.
4818           Phear.
4819
4820 2005-10-11  Wim Taymans  <wim@fluendo.com>
4821
4822         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4823         (gst_base_sink_do_sync), (gst_base_sink_query),
4824         (gst_base_sink_change_state):
4825         * gst/base/gstbasesink.h:
4826         Correctly parse newsegment info.
4827
4828 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4829
4830         * gst/gst.c: (init_post):
4831           split plugin paths correctly
4832
4833 2005-10-11  Wim Taymans  <wim@fluendo.com>
4834
4835         * check/gst/gstevent.c: (GST_START_TEST):
4836         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4837         (gst_base_sink_change_state):
4838         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4839         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4840         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4841         * gst/gstevent.c: (gst_event_new_newsegment),
4842         (gst_event_parse_newsegment):
4843         * gst/gstevent.h:
4844         Added extra flag to newsegment for future API freeze.
4845         Updated check and base elements.
4846
4847 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4848
4849         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4850         (gst_collectpads_add_pad), (gst_collectpads_pop),
4851         (gst_collectpads_event), (gst_collectpads_chain):
4852         * gst/base/gstcollectpads.h: Handle EOS correctly.
4853
4854 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4855
4856         * tools/gst-launch.c: (main):
4857           more null protecting
4858
4859 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4860
4861         * gst/gst-i18n-lib.h:
4862           check for ENABLE_NLS, not GETTEXT_PACKAGE
4863         * gst/gstregistry.c: (gst_registry_add_plugin),
4864         (gst_registry_scan_path_level),
4865         (_gst_registry_remove_cache_plugins):
4866           protect possibly NULL strings
4867         * gst/parse/types.h:
4868           config.h already included before
4869         * tools/gst-inspect.c: (main):
4870           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4871           check for ENABLE_NLS, not GETTEXT_PACKAGE
4872         * tools/gst-launch.c: (main):
4873           check for ENABLE_NLS, not GETTEXT_PACKAGE
4874
4875 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4876
4877         * configure.ac:
4878           if we don't have glib, fail before testing 2.8
4879         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4880           fix a leak, should fix plugins-base testsuite
4881
4882 2005-10-11  Andy Wingo  <wingo@pobox.com>
4883
4884         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4885         take the mode we're going to as an arg. Go head and set the mode
4886         and flushing flags now, so that if the activate function starts a
4887         thread all the flags will be in the right state.
4888         (post_activate): Renamed also. Just handle making sure streaming
4889         finishes for the deactivation case, and setting the deactivated
4890         mode.
4891         (gst_pad_set_active): Complain loudly if deactivation fails.
4892         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4893         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4894         remove the terrible hack.
4895
4896 2005-10-11  Wim Taymans  <wim@fluendo.com>
4897
4898         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4899         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4900         (gst_bin_recalc_state), (gst_bin_change_state_func),
4901         (gst_bin_dispose), (bin_bus_handler):
4902         * gst/gstbin.h:
4903         Prepare to make current EOS message queue more generic.
4904         Fix some typos.
4905
4906         * gst/gstevent.c: (gst_event_new_newsegment),
4907         (gst_event_parse_newsegment):
4908         * gst/gstevent.h:
4909         Rename base to stream_time.
4910
4911         * gst/gstmessage.h:
4912         Fix typo in docs.
4913
4914 2005-10-11  Wim Taymans  <wim@fluendo.com>
4915
4916         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4917         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4918         (gst_bin_change_state_func), (bin_bus_handler):
4919         * gst/gstbin.h:
4920         Work on proper clock selection.
4921
4922 2005-10-11  Edward Hervey  <edward@fluendo.com>
4923
4924         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4925         * libs/gst/controller/gstcontroller.h:
4926         Added GList* version of _remove_properties() in order to be able to wrap
4927         it in bindings.
4928
4929 2005-10-11  Wim Taymans  <wim@fluendo.com>
4930
4931         * docs/design/part-states.txt:
4932         Some more docs.
4933
4934         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4935         (gst_bin_change_state_func), (bin_bus_handler):
4936         Doc updates. Don't distribute the same clock over and over again.
4937
4938         * gst/gstclock.c:
4939         * gst/gstclock.h:
4940         Doc updates.
4941
4942         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4943         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4944         (gst_pad_send_event):
4945         * gst/gstpad.h:
4946         Make probe emission threadsafe again.
4947         Register quarks and move _get_name() from utils.
4948         Doc updates.
4949
4950         * gst/gstpipeline.c: (gst_pipeline_class_init),
4951         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4952         Only redistribute the clock of it changed.
4953
4954         * gst/gstsystemclock.h:
4955         Doc updates. 
4956
4957         * gst/gstutils.c:
4958         * gst/gstutils.h:
4959         Moved the _flow_get_name() to GstPad.
4960
4961 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4962
4963         * check/gst-libs/gdp.c: (GST_START_TEST):
4964         * check/gst/gstcaps.c: (GST_START_TEST):
4965         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4966         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4967         (gst_dp_packet_from_caps):
4968           fix more valgrind warnings before turning up the heat
4969
4970 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4971
4972         * gst/parse/grammar.y:
4973           some cleanup before the hacking
4974
4975 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4976
4977         * gst/base/gstbasesrc.c: (gst_base_src_query):
4978           use conversions
4979         * gst/gstutils.c: (gst_guint64_to_gdouble),
4980         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4981         * gst/gstutils.h:
4982           externalize, basesrc uses it
4983           obviously the implementation needs testing
4984
4985 2005-10-10  Wim Taymans  <wim@fluendo.com>
4986
4987         * tests/sched/Makefile.am:
4988         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4989         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4990
4991 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4992
4993         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4994           apparently converting from guint64 to double is not implemented
4995           on MSVC
4996
4997 2005-10-10  Wim Taymans  <wim@fluendo.com>
4998
4999         * check/Makefile.am:
5000         * check/generic/states.c: (GST_START_TEST):
5001         * check/gst/gstbin.c: (GST_START_TEST):
5002         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5003         * check/states/sinks.c: (GST_START_TEST):
5004         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
5005         (main):
5006         Check fixes, use API as stated in design docs, remove hacks.
5007
5008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5009         (gst_base_sink_change_state):
5010         Catch stopping our task while we're shutting down.
5011
5012         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5013         (gst_bin_remove_func), (gst_bin_get_state_func),
5014         (gst_bin_recalc_state), (gst_bin_change_state_func),
5015         (bin_bus_handler):
5016         * gst/gstbin.h:
5017         * gst/gstelement.c: (gst_element_init),
5018         (gst_element_get_state_func), (gst_element_abort_state),
5019         (gst_element_commit_state), (gst_element_lost_state),
5020         (gst_element_set_state), (gst_element_change_state),
5021         (gst_element_change_state_func):
5022         * gst/gstelement.h:
5023         New state change algorithm (see #318116)
5024
5025         * gst/gstpipeline.c: (gst_pipeline_class_init),
5026         (gst_pipeline_init), (gst_pipeline_set_property),
5027         (gst_pipeline_get_property), (do_pipeline_seek),
5028         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5029         * gst/gstpipeline.h:
5030         Remove crude state change hacks.
5031
5032         * gst/gstutils.h:
5033         Remove crude hacks.
5034
5035         * tools/gst-launch.c: (main):
5036         Fixes for state change. Needs some more work to fully use the
5037         new stuff.
5038
5039 2005-10-10  Andy Wingo  <wingo@pobox.com>
5040
5041         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5042
5043         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5044         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5045         issue.
5046
5047 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5048
5049         * gst/gstiterator.c: (gst_iterator_new):
5050           Fix my previous commit: GTypes passed to gst_iterator_new()
5051           can be fundamental types.
5052
5053 2005-10-10  Wim Taymans  <wim@fluendo.com>
5054
5055         * gst/gstelement.c: (gst_element_iterate_pad_list),
5056         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5057         (gst_element_iterate_sink_pads):
5058         Use src/sink pads lists for the respective iterators instead
5059         of filtering.
5060
5061 2005-10-10  Andy Wingo  <wingo@pobox.com>
5062
5063         Merged in popt removal + GOption addition patch from Ronald, bug
5064         #169772.
5065
5066         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5067         GstElement macros around, remove popt-related symbols, add goption
5068         stuff.
5069
5070         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5071         
5072         * docs/gst/Makefile.am:
5073         * docs/libs/Makefile.am: No POPT_CFLAGS.
5074         
5075         * examples/manual/Makefile.am:
5076         * docs/manual/basics-init.xml: Doc updates with an example.
5077         
5078         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5079         (gst_init), (parse_one_option), (parse_goption_arg):
5080         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5081         bit of hand merging and debugging to get the GOption stuff working
5082         tho.
5083         
5084         * tests/Makefile.am:
5085         * tools/Makefile.am:
5086         * tools/gst-inspect.c: (main):
5087         * tools/gst-launch.c: (main):
5088         * tools/gst-run.c: (main):
5089         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5090
5091 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5092
5093         * gst/gstiterator.c: (gst_iterator_new):
5094           Add assertions to make sure passed GType is likely to really
5095           be a GType (as the compiler won't catch it if the size and
5096           GType arguments get mixed up, see #318447).
5097
5098 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5099
5100         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5101
5102         * gst/gstbin.c: (gst_bin_iterate_sorted):
5103           Pass GType and size arguments to gst_iterator_new() in the right
5104           order (maybe we should make _new() take the GType as first argument
5105           just like _new_list()?) (#318447).
5106           
5107
5108 2005-10-10  Wim Taymans  <wim@fluendo.com>
5109
5110         * gst/gstelement.c: (gst_element_finalize):
5111         And free the GStaticRecMutex too
5112
5113 2005-10-10  Andy Wingo  <wingo@pobox.com>
5114
5115         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5116         Allocate and free the mutex properly.
5117
5118         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5119         New macros.
5120         (GstElement): The state_lock is now recursive. Rebuild your
5121         plugins, suckers. Old macros adapted.
5122
5123         * docs/gst/gstreamer-sections.txt: Doc updates.
5124
5125         * gst/gstutils.h:
5126         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5127         (g_static_rec_cond_wait): Ported from state changes patch, while
5128         we wait on bug #317802 to be solved in a well-distributed GLib.
5129
5130         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5131         gst_element_change_state, variable name changes.
5132         (gst_element_change_state): Split out of gst_element_set_state in
5133         preparation for the state change merge. Doesn't pay attention to
5134         the 'transition' argument.
5135         (gst_element_set_state): Updates, hopefully purely cosmetic.
5136         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5137         state change patch.
5138         (gst_element_get_state_func): Renamed from get_state, cosmetic
5139         changes.
5140
5141 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5142
5143         * gst/elements/gstelements.c:
5144         * win32/GStreamer.vcproj:
5145         * win32/config.h:
5146         * win32/dirent.c: (_tseekdir):
5147         * win32/gst-inspect.vcproj:
5148         * win32/gst-launch.vcproj:
5149         * win32/gstconfig.h:
5150         * win32/gstelements.vcproj:
5151         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5152         * win32/gstreamer.def:
5153         * win32/msvc71.sln:
5154           updates for the win32 build (patch from Sebastien Moutte)
5155
5156 2005-10-10  Andy Wingo  <wingo@pobox.com>
5157
5158         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5159         gst_bin_get_state, cleaned up (but no logic changes).
5160         (bin_element_is_sink): Comment updates.
5161         (sink_iterator_filter): Remove needless cast.
5162         (gst_bin_iterate_sinks): Doc update.
5163         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5164         cleaned up (but no logic changes).
5165
5166         * check/states/sinks.c (test_src_sink): Cleanups from the state
5167         change patch.
5168         (test_livesrc_sink): Sync on the state.
5169
5170         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5171         the state change patch.
5172
5173         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5174         change patch.
5175
5176         * check/gst/gstbin.c: Merge in some style fixes and additional
5177         checks from Wim's state change patch.
5178
5179 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5180
5181         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5182         (gst_type_find_helper):
5183           Check whether we have the requested data already in our list of
5184           cached buffers before pulling a new buffer; also make the buffer
5185           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5186
5187 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5188
5189         * gst/gstcaps.c:
5190         * gst/gstevent.c:
5191           doc updates
5192         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5193           don't use long long, it's not portable.  Replacing with
5194           gint64 seems to work; let's hope no skeletons fall out of the closet.
5195
5196 2005-10-10  Andy Wingo  <wingo@pobox.com>
5197
5198         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5199
5200 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5201
5202         * docs/gst/gstreamer-sections.txt:
5203         * gst/gstevent.c:
5204         * gst/gstevent.h:
5205         * gst/gstinfo.c:
5206         * gst/gstinfo.h:
5207         * gst/gstmessage.c: (gst_message_parse_state_changed):
5208         * gst/gstpad.c:
5209         * gst/gstpad.h:
5210           more docs, fix compilation
5211
5212 2005-10-09  Philippe Khalaf <burger@speedy.org>
5213         * gst/gstmessage.c:
5214           Fixed a few forgotten variables on previous commit
5215
5216 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5217
5218         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5219           Fix evil typefind crasher: getrange() might return a short
5220           buffer at the end of a file, but gst_type_find_peek() must
5221           either return the full data as requested or NULL, but
5222           never a short buffer.
5223
5224 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5225
5226         * gst/gstmessage.c: (gst_message_new_state_changed),
5227         (gst_message_parse_state_changed):
5228         * gst/gstmessage.h:
5229           don't use "new", it's a C++ keyword
5230
5231 2005-10-08  Wim Taymans  <wim@fluendo.com>
5232
5233         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5234         * gst/gstelement.c: (gst_element_post_message):
5235         * gst/gstpipeline.c: (gst_pipeline_change_state):
5236         Small docs and debug updates.
5237
5238 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5239
5240         * docs/gst/gstreamer-sections.txt:
5241         * gst/gstelementfactory.c:
5242         * gst/gstevent.c:
5243         * gst/gsttaglist.c:
5244           more docs
5245
5246 2005-10-08  Wim Taymans  <wim@fluendo.com>
5247
5248         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5249         (gst_bin_dispose), (bin_bus_handler):
5250         Fix typos, add comments.
5251         Clear EOS list when going to PAUSED from any direction and do it
5252         in a threadsafe way.
5253         Get base time in a threadsafe way too.
5254         Fix confusing debug in the change_state function.
5255         Various other small cleanups.
5256         
5257         * gst/gstelement.c: (gst_element_post_message):
5258         Fix very verbose bus posting code.
5259
5260         * gst/gstpipeline.c: (gst_pipeline_class_init),
5261         (gst_pipeline_set_property), (gst_pipeline_get_property),
5262         (gst_pipeline_change_state):
5263         Small ARG_ -> PROP_ cleanup
5264
5265 2005-10-08  Wim Taymans  <wim@fluendo.com>
5266
5267         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5268         Do a less CPU demanding EOS check because we can.
5269
5270 2005-10-08  Wim Taymans  <wim@fluendo.com>
5271
5272         * libs/gst/dataprotocol/dataprotocol.c:
5273         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5274         (gst_dp_packet_from_event):
5275         * libs/gst/dataprotocol/dataprotocol.h:
5276         * libs/gst/dataprotocol/dp-private.h:
5277         It's about time we bump the version number.
5278         Since event types don't fit in the guint8 anymore describing
5279         the payload type, make payload type 16 bits wide.
5280
5281 2005-10-08  Wim Taymans  <wim@fluendo.com>
5282
5283         * docs/design/part-TODO.txt:
5284         * docs/design/part-clocks.txt:
5285         * docs/design/part-events.txt:
5286         * docs/design/part-gstbin.txt:
5287         * docs/design/part-gstelement.txt:
5288         * docs/design/part-gstpipeline.txt:
5289         * docs/design/part-live-source.txt:
5290         * docs/design/part-messages.txt:
5291         * docs/design/part-overview.txt:
5292         * docs/design/part-states.txt:
5293         Many doc updates.
5294
5295 2005-10-08  Wim Taymans  <wim@fluendo.com>
5296
5297         * gst/gstevent.c:
5298         * gst/gstevent.h:
5299         Fix event quark registration.
5300         Add some space between events so we can insert them in the
5301         right groups.
5302
5303 2005-10-08  Wim Taymans  <wim@fluendo.com>
5304
5305         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5306         (gst_base_sink_handle_buffer):
5307         Better log message.
5308
5309         * gst/gstbus.h:
5310         * gst/gstelement.h:
5311         More docs.
5312
5313         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5314         (gst_queue_set_property), (gst_queue_get_property):
5315         * gst/gstqueue.h:
5316         Remove old unused properties.
5317
5318 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5319         * docs/gst/gstreamer-sections.txt:
5320         * gst/gstmessage.c:
5321         * gst/gstmessage.h:
5322         * gst/gstminiobject.c:
5323         * gst/gstminiobject.h:
5324         * gst/gstobject.h:
5325         * gst/gstpad.h:
5326         * gst/gstutils.h:
5327           lots of new docs and doc fixes
5328
5329 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5330
5331         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5332         * gst/gstplugin.h:
5333         * gst/gstregistry.c: (gst_registry_lookup_locked),
5334         (gst_registry_scan_path_level):
5335         * gst/gstregistryxml.c: (load_plugin):
5336           Only ever load one plugin for a given plugin basename.
5337           This ensures correct overriding of GST_PLUGIN_PATH over
5338           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5339           system installed plugins.
5340
5341 2005-10-08  Wim Taymans  <wim@fluendo.com>
5342
5343         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5344         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5345         Prepare for doing QOS.
5346
5347 2005-10-08  Wim Taymans  <wim@fluendo.com>
5348
5349         * check/gst/gstbin.c: (GST_START_TEST):
5350         * check/pipelines/cleanup.c: (GST_START_TEST):
5351         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5352         Allow new clock message too.
5353
5354 2005-10-08  Wim Taymans  <wim@fluendo.com>
5355
5356         * gst/gstmessage.c: (gst_message_new_error),
5357         (gst_message_new_warning), (gst_message_new_tag),
5358         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5359         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5360         (gst_message_new_segment_start), (gst_message_new_segment_done),
5361         (gst_message_parse_state_changed),
5362         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5363         (gst_message_parse_new_clock):
5364         * gst/gstmessage.h:
5365         Also carry the clock in question.
5366
5367 2005-10-08  Wim Taymans  <wim@fluendo.com>
5368
5369         * gst/gstmessage.c: (gst_message_new_custom),
5370         (gst_message_new_eos), (gst_message_new_error),
5371         (gst_message_new_warning), (gst_message_new_tag),
5372         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5373         (gst_message_new_new_clock), (gst_message_new_segment_start),
5374         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5375         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5376         * gst/gstmessage.h:
5377         Clean up.
5378         Added clock related messages.
5379
5380         * gst/gstpipeline.c: (gst_pipeline_change_state):
5381         Post message when the clock changed.
5382
5383         * tools/gst-launch.c: (event_loop):
5384         Print new clock.
5385
5386 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5387
5388         * tools/gst-inspect.c: (print_element_properties_info):
5389           Can't pass NULL strings to g_print() on windows.
5390
5391 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5392
5393         * docs/Makefile.am:
5394         * docs/gst/Makefile.am:
5395         * docs/gst/gstreamer-docs.sgml:
5396         * docs/gst/running.xml:
5397         * docs/version.entities.in:
5398           add a chapter on running GStreamer.
5399           document GST_DEBUG and GST_PLUGIN* env vars
5400
5401 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5402
5403         * Makefile.am:
5404           remove include dir
5405         * configure.ac:
5406           remove PLUGINS_BUILDDIR stuff
5407         * gst/gst.c: (init_post):
5408           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5409         * idiottest.mak:
5410           remove, it was condescending and not needed
5411
5412 2005-10-08  Wim Taymans  <wim@fluendo.com>
5413
5414         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5415         (gst_base_sink_handle_object), (gst_base_sink_event),
5416         (gst_base_sink_wait), (gst_base_sink_handle_event),
5417         (gst_base_sink_change_state):
5418         * gst/base/gstbasesink.h:
5419         Repost EOS message while going to PLAYING if still EOS.
5420         Make sure that when receiving a FLUSH_START we don't attempt
5421         to sync on the clock anymore.
5422
5423 2005-10-08  Wim Taymans  <wim@fluendo.com>
5424
5425         * tools/gst-launch.c: (event_loop):
5426         Better message printout.
5427
5428 2005-10-08  Wim Taymans  <wim@fluendo.com>
5429
5430         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5431         (gst_bin_child_proxy_get_children_count):
5432         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5433         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5434         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5435         (gst_child_proxy_set_valist):
5436         * gst/parse/grammar.y:
5437         Make ChildProxy threadsafe and fix mem leaks.
5438
5439 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5440
5441         * gst/gst.c: (init_post):
5442           debug the GST_PLUGIN_ env vars
5443
5444 2005-10-08  Wim Taymans  <wim@fluendo.com>
5445
5446         * check/gst/gstbin.c: (GST_START_TEST):
5447         * check/gst/gstmessage.c: (GST_START_TEST):
5448         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5449         * gst/gstelement.c: (gst_element_commit_state),
5450         (gst_element_lost_state):
5451         * gst/gstmessage.c: (gst_message_new_state_changed),
5452         (gst_message_parse_state_changed):
5453         * gst/gstmessage.h:
5454         * tools/gst-launch.c: (event_loop):
5455         Added extra field to STATE_CHANGE message with the pending
5456         state, which will be different from the new state soon.
5457
5458 2005-10-08  Wim Taymans  <wim@fluendo.com>
5459
5460         * gst/gstbus.c: (gst_bus_pop):
5461         * gst/gstclock.c:
5462         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5463         Small cleanups and doc updates.
5464
5465 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5466
5467         * gst/gst.c: (init_pre):
5468         * gst/gstbin.c: (gst_bin_add_func):
5469           log distributing clocks and base time
5470         * gst/gstregistry.c: (gst_registry_add_plugin),
5471         (gst_registry_scan_path_level), (gst_registry_scan_path):
5472           clean up the debugging output a little
5473         * gst/gstutils.c: (gst_element_state_get_name):
5474           warn about a memleak (I've actually seen this be used, though
5475           it was probably a bug)
5476
5477 2005-10-07  Wim Taymans  <wim@fluendo.com>
5478
5479         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5480         (gst_base_src_init), (gst_base_src_default_newsegment),
5481         (gst_base_src_newsegment), (gst_base_src_do_seek),
5482         (gst_base_src_loop), (gst_base_src_start):
5483         * gst/base/gstbasesrc.h:
5484         Make the newsegment event customizable by subclasses.
5485
5486 2005-10-07  Wim Taymans  <wim@fluendo.com>
5487
5488         * gst/gstevent.c: (gst_event_new_buffersize),
5489         (gst_event_parse_buffersize):
5490         * gst/gstevent.h:
5491         New event for future idea.
5492
5493 2005-10-07  Andy Wingo  <wingo@pobox.com>
5494
5495         * gst/gstelement.c (gst_element_post_message): Doc update.
5496
5497         * docs/gst/gstreamer-sections.txt: Update.
5498
5499         * gst/gstmessage.c (gst_message_new_application): Made into a
5500         function like honest API calls.
5501         (gst_message_new_element): New message type.
5502
5503         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5504
5505         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5506         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5507         times.
5508
5509         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5510         NO_PREROLL from gst_element_change_state to fall through.
5511
5512 2005-10-07  Wim Taymans  <wim@fluendo.com>
5513
5514         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5515         (gst_ghost_pad_do_activate_push):
5516         Activating a ghostpad with no internal pad in push mode
5517         is ok.
5518
5519 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5520
5521         * gst/gstobject.h:
5522           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5523           Fixes compilation on Windows.
5524
5525 2005-10-07  Michael Smith <msmith@fluendo.com>
5526
5527         * tools/gst-inspect.c:
5528           Print out feature and plugin count at the end when printing out
5529           all features.
5530
5531 2005-10-04  Michael Smith <msmith@fluendo.com>
5532
5533         * gst/gsterror.c: (_gst_stream_errors_init):
5534           Add another error string used in a few existing plugins.
5535
5536         * gst/gstplugin.c:
5537         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5538         * tools/gst-inspect.c: (print_element_info):
5539           When a feature disappears from a plugin (and the feature exists in
5540           the cached registry file), things went horribly wrong. This isn't a
5541           complete fix, we should actually be removing the 'missing' features
5542           from the features list when we load the actual plugin. That's not
5543           yet implemented. 
5544
5545 2005-10-04  Johan Dahlin  <johan@gnome.org>
5546
5547         * check/gst/gstiterator.c: (GST_START_TEST):
5548         * gst/gstbin.c: (gst_bin_iterate_elements),
5549         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5550         * gst/gstelement.c: (gst_element_iterate_pads):
5551         * gst/gstformat.c: (gst_format_iterate_definitions):
5552         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5553         (gst_iterator_new_list), (gst_iterator_filter):
5554         * gst/gstiterator.h:
5555         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5556         Add a GType to GstIterator, update callsites and tests.
5557
5558 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5559
5560         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5561           give events a chance to be handled by event probes when the pad
5562           is not linked
5563
5564 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5565
5566         * gst/gstevent.c: (gst_event_type_get_name),
5567         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5568         * gst/gstevent.h:
5569           add string representations for event types
5570
5571 2005-10-06  Wim Taymans  <wim@fluendo.com>
5572
5573         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5574         Don't use NULL pointers.
5575
5576 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5577
5578         * gst/gst_private.h:
5579         * gst/gstbus.c:
5580         * gst/gstelement.c:
5581         * gst/gstinfo.c:
5582         * gst/gstpluginfeature.c:
5583           widen the debug category in output to fit the biggest one we have
5584           add a bus category and use it
5585           play with the colors
5586           fix up some categories
5587
5588 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5589
5590         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5591           add push activation of sink ghost pads.
5592           Andye, please verify
5593
5594 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5595
5596         * gst/gstutils.c: (gst_element_link_pads):
5597           fix a bug in the case where neither element has a pad
5598         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5599           add a test for that case
5600
5601 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5602
5603         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5604           emit have-data before checking for peers.  This allows
5605           for probe handlers to connect elements.  This helps autopluggers.
5606         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5607         (gst_pad_suite):
5608           add six checks, linked/unlinked with no/true/false probe
5609
5610 2005-10-04  Wim Taymans  <wim@fluendo.com>
5611
5612         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5613         (gst_fake_sink_event), (gst_fake_sink_preroll),
5614         (gst_fake_sink_render), (gst_fake_sink_change_state):
5615         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5616         (gst_fake_src_get_property), (gst_fake_src_create),
5617         (gst_fake_src_stop):
5618         * gst/elements/gstidentity.c: (gst_identity_stop):
5619         Protect last_message with lock.
5620
5621 2005-10-04  Edward Hervey  <edward@fluendo.com>
5622
5623         * gst/gstformat.h: 
5624         Added precision in the comments for GST_FORMAT_DEFAULT
5625
5626 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5627
5628         * tools/gst-launch.c: (main):
5629           Don't try to run erroneous pipelines.
5630
5631 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5632
5633         * gst/gstbus.c: We don't need this header.
5634
5635 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5636
5637         * configure.ac:
5638           back to development
5639
5640 === release 0.9.3 ===
5641
5642 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * README:
5645         * configure.ac:
5646           Releasing 0.9.3, "Unregistered"
5647
5648 2005-10-03  Andy Wingo  <wingo@pobox.com>
5649
5650         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5651         whereby calling a pad's activatepush() function can start a thread
5652         that starts to push or pull before the pad gets the FLUSHING flag
5653         unset. Hack around it by holding the stream lock until the flag is
5654         set. Need to replace this with a proper solution. Together with
5655         the ghost pad fixes, this fixes mp3 playing/tagreading.
5656
5657         * docs/design/part-gstghostpad.txt: Add a note about activation of
5658         proxy pads outside of ghost pads.
5659
5660         * gst/gstghostpad.c: Implement the ghost pad activation design.
5661
5662 2005-10-02  Andy Wingo  <wingo@pobox.com>
5663
5664         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5665         It is volatile, after all.
5666
5667         * docs/design/part-gstghostpad.txt: Flesh out activation with
5668         ghost pads.
5669
5670         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5671         GST_DEBUG_FUNCPTR.
5672
5673 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5674
5675         * configure.ac:
5676           Fix (unused) AM_CONDITIONAL tests.
5677
5678 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5679
5680         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5681
5682         * gst/gstutils.c: (gst_pad_query_convert):
5683           Add assertion that makes sure src_val is >=0, just like
5684           gst_query_new_convert() has. (#315895)
5685
5686 2005-09-30  Edward Hervey  <edward@fluendo.com>
5687
5688         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5689         Let's not iterate pads we're not interested in, it avoids getting 
5690         sky-high refcounts on sinkpad.
5691
5692 2005-09-30  Wim Taymans  <wim@fluendo.com>
5693
5694         * gst/gstelement.c: (gst_element_set_state),
5695         (gst_element_change_state):
5696         Small tweak, element in ASYNC remains ASYNC.
5697
5698 2005-09-30  Wim Taymans  <wim@fluendo.com>
5699
5700         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5701         Only error is an error.
5702
5703         * gst/gstbin.c: (gst_bin_change_state):
5704         Better debugging.
5705
5706         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5707         Also call pad_block in pad alloc.
5708
5709         * gst/gstutils.c: (gst_flow_get_name):
5710         Better debugging.
5711
5712 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5713
5714         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5715         (gst_base_src_get_range):
5716           Fix documentation typos. Add some more debug info.
5717
5718 2005-09-29  David Schleef  <ds@schleef.org>
5719
5720         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5721           more end-user friendly.
5722         * tools/gst-inspect.c: (main): Check if command-line argument is
5723           a file and attempt to load that file as a plugin.
5724
5725 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5726
5727         * check/gst/gstbin.c:
5728         * check/states/sinks.c:
5729           fix tests for the new warning
5730         * check/gst/gstpipeline.c:
5731           add a test for pipeline and bus interaction
5732         * gst/gstelement.c:
5733           elements should be NULL if they get disposed; add a warning if not
5734
5735 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5736
5737         * gst/gstobject.c:
5738           for 2.6 refcounting, make debug log more correct by printing
5739           the actual refcounts at the time of swap (Wim)
5740
5741 2005-09-29  Andy Wingo  <wingo@pobox.com>
5742
5743         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5744         removes signal watches previously added via
5745         gst_bus_add_signal_watch.
5746         (gst_bus_add_signal_watch): Don't return the source id, just store
5747         it on the bus if there wasn't an id already.
5748
5749         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5750         add_signal_watch and remove_signal_watch.
5751
5752 2005-09-29  Edward Hervey  <edward@fluendo.com>
5753
5754         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5755         Better if we actually iterate the list :)
5756
5757 2005-09-29  Wim Taymans  <wim@fluendo.com>
5758
5759         * check/gst/gstbin.c: (GST_START_TEST):
5760         Change for new bus API.
5761
5762         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5763         (send_messages), (GST_START_TEST), (gstbus_suite):
5764         Change for new bus signal API.
5765
5766         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5767         (gst_bus_source_prepare), (gst_bus_source_check),
5768         (gst_bus_create_watch), (gst_bus_add_watch_full),
5769         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5770         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5771         * gst/gstbus.h:
5772         Remove support for multiple GSources operating on different
5773         message types as it is too complex and unneeded when using
5774         signals.
5775         Added support for receiving signals from the bus.
5776
5777 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5778
5779         * docs/libs/tmpl/gstdataprotocol.sgml:
5780         * docs/manual/advanced-dataaccess.xml:
5781         * gst/elements/gstcapsfilter.c:
5782         * gst/gstutils.c:
5783           rename filter-caps to caps property
5784
5785 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5786
5787         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5788           More robust fraction string parsing.
5789
5790         * docs/pwg/appendix-porting.xml:
5791           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5792
5793 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5794
5795         * gst/gstcaps.c: (gst_caps_do_simplify):
5796           Thou shalt not free a structure and then continue using it
5797           in the next loop iteration.
5798
5799         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5800         (gst_caps_suite):
5801           Add test case for caps simplification.
5802
5803 2005-09-29  Wim Taymans  <wim@fluendo.com>
5804
5805         * check/gst/gstbin.c: (GST_START_TEST):
5806         Oops.
5807
5808 2005-09-29  Wim Taymans  <wim@fluendo.com>
5809
5810         * check/gst/gstbin.c: (GST_START_TEST):
5811         Add bus to bin.
5812
5813         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5814         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5815         (find_element), (gst_bin_sort_iterator_next),
5816         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5817         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5818         (gst_bin_change_state), (gst_bin_dispose):
5819         A bin does not have a bus, it gets the bus from the parent.
5820
5821         * gst/gstelement.c: (gst_element_requires_clock),
5822         (gst_element_provides_clock), (gst_element_is_indexable),
5823         (gst_element_is_locked_state), (gst_element_change_state),
5824         (gst_element_set_bus_func):
5825         Small cleanups.
5826
5827         * gst/gstpipeline.c: (gst_pipeline_class_init),
5828         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5829         The pipeline provides a bus.
5830
5831 2005-09-28  Johan Dahlin  <johan@gnome.org>
5832
5833         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5834         gst_structure_get_enum instead of gst_structure_get_int
5835
5836         * gst/gststructure.c (gst_structure_get_enum): Impl.
5837
5838         * gst/gststructure.h (gst_structure_get_enum): Add
5839
5840         * docs/gst/gstreamer-sections.txt: Ditto
5841
5842         * gst/gstmessage.c (gst_message_new_state_changed): Use
5843         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5844         which does introspection.
5845         Reviewed by Christian Schaller
5846
5847 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5848
5849         * gst/gstinfo.c: (gst_debug_log_default):
5850           don't do dummy g_strdup()s
5851         * libs/gst/controller/gstcontroller.c:
5852         (on_object_controlled_property_changed),
5853         (gst_controlled_property_new), (gst_controller_new_valist),
5854         (gst_controller_new_list),
5855         (gst_controller_remove_properties_valist), (gst_controller_set),
5856         (gst_controller_get), (gst_controller_sync_values),
5857         (gst_controller_get_value_array), (_gst_controller_class_init),
5858         (gst_controller_get_type):
5859         * libs/gst/controller/gstcontroller.h:
5860         * libs/gst/controller/gstinterpolation.c:
5861         (gst_controlled_property_find_timed_value_node):
5862           convert // to /**/ comments
5863
5864 2005-09-28  Wim Taymans  <wim@fluendo.com>
5865
5866         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5867         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5868         (gst_bus_sync_signal_handler):
5869         * gst/gstbus.h:
5870         Added async-message and sync-message signals to the bus.
5871         Added helper BusFunc to emit signals for all posted messages.
5872
5873         * gst/gstmessage.c: (gst_message_type_get_name),
5874         (gst_message_type_to_quark), (gst_message_get_type):
5875         * gst/gstmessage.h:
5876         Register quarks for message names.
5877
5878 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5879
5880         * docs/libs/gstreamer-libs-sections.txt:
5881         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5882         (gst_controller_new_list):
5883         * libs/gst/controller/gstcontroller.h:
5884           added another constructor for language bindings
5885
5886 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5887
5888         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5889           add another check
5890         * gst/gstbus.c:
5891           add some doc
5892         * gst/gstinfo.c: (_gst_debug_init):
5893           slightly more readable color for refcount debugging
5894
5895 2005-09-28  Wim Taymans  <wim@fluendo.com>
5896
5897         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5898         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5899         (find_element), (gst_bin_sort_iterator_next),
5900         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5901         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5902         (gst_bin_change_state), (gst_bin_dispose):
5903         Small doc fixes. get_clock -> provide_clock.
5904
5905         * gst/gstelement.c: (gst_element_class_init),
5906         (gst_element_provides_clock), (gst_element_provide_clock),
5907         (gst_element_get_clock), (gst_element_commit_state),
5908         (gst_element_lost_state):
5909         * gst/gstelement.h:
5910         Make get/set_clock() symetric. Add provide_clock vmethod since
5911         that is actually what this function does.
5912
5913         * gst/gstpipeline.c: (gst_pipeline_class_init),
5914         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5915         (gst_pipeline_get_clock):
5916         get_clock -> provide_clock.
5917
5918 2005-09-28  Andy Wingo  <wingo@pobox.com>
5919
5920         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5921         lieu of real docs...
5922
5923         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5924
5925 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5926
5927         * gst/elements/gstcapsfilter.c:
5928         * gst/elements/gstfakesink.c:
5929         * gst/elements/gstfakesrc.c:
5930         * gst/elements/gstfdsink.c:
5931         * gst/elements/gstfdsrc.c:
5932         * gst/elements/gstfilesink.c:
5933         * gst/elements/gstfilesrc.c:
5934         * gst/elements/gstidentity.c:
5935         * gst/elements/gsttee.c:
5936         * gst/elements/gsttypefindelement.c:
5937           Make element details static.
5938
5939 2005-09-28  Wim Taymans  <wim@fluendo.com>
5940
5941         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5942         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5943         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5944         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5945         (gst_bin_change_state), (gst_bin_dispose):
5946         Some documentation updates.
5947         Clean up dispose handlers.
5948
5949         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5950         * gst/gstpad.c: (gst_pad_dispose):
5951         Clean up dispose handler.
5952
5953         * gst/gstpipeline.c: (gst_pipeline_change_state):
5954         Removed spurious UNLOCK.
5955
5956 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5957
5958         * docs/gst/gstreamer-sections.txt:
5959         * gst/base/gstbasesrc.h:
5960         * gst/gstelement.h:
5961         * gst/gstevent.h:
5962         * gst/gstobject.h:
5963         * gst/gstpad.h:
5964         * gst/gstpipeline.c:
5965         * gst/gstpipeline.h:
5966         * gst/gstutils.h:
5967         * gst/gstxml.h:
5968           added two new functions to the docs
5969                 documents all undocumented GstXXXFlags
5970                 completed some incomplete docs 
5971
5972 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5973
5974         * gst/gstbin.c: (gst_bin_dispose):
5975         * gst/gstelement.c: (gst_element_dispose):
5976           remove now useless and leaky resurrection code in dispose
5977         * gst/base/gstbasesrc.c: (gst_base_src_init):
5978         * gst/gstelementfactory.c: (gst_element_factory_create):
5979         * gst/gstobject.c: (gst_object_set_parent):
5980           add some debugging
5981
5982 2005-09-27  Wim Taymans  <wim@fluendo.com>
5983
5984         * docs/design/part-TODO.txt:
5985         Update TODO.
5986
5987         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5988         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5989         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5990         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5991         (gst_bin_change_state):
5992         * gst/gstelement.h:
5993         Remove element variable, we keep element info in the iterator now.
5994
5995 2005-09-27  Andy Wingo  <wingo@pobox.com>
5996
5997         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5998         values.
5999
6000 2005-09-27  Wim Taymans  <wim@fluendo.com>
6001
6002         * check/gst/gstbin.c: (GST_START_TEST):
6003         Enable check that works now.
6004
6005         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6006         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6007         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6008         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6009         (gst_bin_change_state):
6010         * gst/gstbin.h:
6011         Redid the state change algorithm using a topological sort algo.
6012         Handles all cases correctly.
6013         Exposed iterator for state change order.
6014
6015         * gst/gstelement.h:
6016         Temp storage for state changes. Need to get rid of this soon.
6017
6018 2005-09-27  Wim Taymans  <wim@fluendo.com>
6019
6020         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6021         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6022         (link_fold_func), (gst_pad_proxy_setcaps):
6023         Leak fixes, the fold functions need to unref the passed object and
6024         _get_parent_*() returns ref to parent.
6025
6026 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6027
6028         * check/gst/gstbuffer.c: (test_make_writable):
6029           Plug leak in test case and fix 'make check-valgrind'
6030
6031 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6032
6033         * gst/gstbuffer.c: (gst_subbuffer_init):
6034           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6035           works correctly in all circumstances (we could have just copied
6036           the parent buffer's readonly flag, but conceptually it seems
6037           cleaner to mark all subbuffers as read-only). (based on patch
6038           by Alessandro Decina, #314710).
6039         
6040         * check/gst/gstbuffer.c: (create_read_only_buffer),
6041         (test_make_writable), (test_subbuffer_make_writable),
6042         (gst_test_suite):
6043           Add some tests for gst_buffer_make_writable().
6044
6045 2005-09-27  Wim Taymans  <wim@fluendo.com>
6046
6047         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6048         use gst_object_has_ancestor().
6049
6050         * gst/gstobject.c: (gst_object_has_ancestor):
6051         * gst/gstobject.h:
6052         gst_object_has_ancestor() copied from gstbin.c as it is a
6053         usefull function.
6054
6055         * tests/instantiate/create.c: (create_all_elements):
6056         * tests/lat.c: (handoff_src), (handoff_sink):
6057         * tests/sched/runxml.c: (main):
6058         * tests/seeking/seeking1.c: (main):
6059         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6060         (main):
6061         Fix compilation of some tests.
6062
6063 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6064
6065         * gst/gsterror.h:
6066           Remove comment. GST_TYPE_G_ERROR is here to stay,
6067           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6068           (#316961, #300610).
6069
6070 2005-09-26  Wim Taymans  <wim@fluendo.com>
6071
6072         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6073         Added check that shows error in state change order.
6074
6075 2005-09-26  Wim Taymans  <wim@fluendo.com>
6076
6077         * gst/gstbin.c: (gst_bin_change_state):
6078         Make state change function use 3 queues again, we were
6079         adding elements in the wrong order.
6080
6081         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6082         Some debug info,
6083
6084         * gst/gstpad.c: (gst_pad_dispose):
6085         Added some debug info first.
6086
6087 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6088
6089         * docs/design/draft-push-pull.txt:
6090         * docs/design/part-events.txt:
6091         * docs/design/part-overview.txt:
6092         * docs/design/part-scheduling.txt:
6093           Replace all _pull_region() with _pull_range()
6094           
6095 2005-09-26  Andy Wingo  <wingo@pobox.com>
6096
6097         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6098
6099         * check/gst-libs/controller.c: Update for controller api change.
6100
6101         * configure.ac: 
6102         * tests/Makefile.am:
6103         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6104         over by GLib bug 118439.
6105         
6106         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6107         routines to a function.
6108
6109         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6110
6111         * libs/gst/controller/gsthelper.c:
6112         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6113         (gst_object_sync_values): Renamed from sink_values. Ugh.
6114
6115         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6116
6117         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6118         Renamed from controller_key, as it is exported.
6119
6120         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6121
6122 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6123
6124         * gst/Makefile.am:
6125         * gst/gst.h:
6126         * gst/gstpad.h:
6127         * gst/gstpadtemplate.h:
6128         * gst/gstquery.c:
6129         * gst/gstquery.h:
6130         * gst/gstqueryutils.c:
6131         * gst/gstqueryutils.h:
6132           remove queryutils headers after moving the two used functions
6133           to gstquery.  also fixes build problem for gstsiddec
6134
6135 2005-09-26  Michael Smith <msmith@fluendo.com>
6136
6137         * tools/gst-launch.1.in:
6138         Correct documentation in manpage of debug syntax
6139
6140 2005-09-26  Wim Taymans  <wim@fluendo.com>
6141
6142         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6143         (gst_base_src_is_seekable), (gst_base_src_change_state):
6144         Some more debugging info.
6145
6146 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6147
6148         * docs/gst/gstreamer-sections.txt:
6149         * gst/base/gstbasetransform.h:
6150         * gst/gstindex.h:
6151           added more docs
6152
6153 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6154
6155         * docs/gst/.cvsignore:
6156         * docs/gst/tmpl/.cvsignore:
6157         * docs/gst/tmpl/gstpipeline.sgml:
6158         * docs/gst/tmpl/gstplugin.sgml:
6159         * gst/gstpipeline.c:
6160         * gst/gstplugin.c:
6161         * gst/gstplugin.h:
6162           inlined the last two docs files
6163           removed the tmpl directory from cvs (no more conflicts here!)
6164
6165 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6166
6167         * docs/gst/gstreamer-sections.txt:
6168         * docs/gst/tmpl/.cvsignore:
6169         * docs/gst/tmpl/gstpad.sgml:
6170         * docs/gst/tmpl/gstpadtemplate.sgml:
6171         * gst/Makefile.am:
6172         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6173         (gst_pad_finalize), (gst_pad_set_pad_template):
6174         * gst/gstpad.h:
6175         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6176         (gst_pad_template_class_init), (gst_pad_template_init),
6177         (gst_pad_template_dispose), (name_is_valid),
6178         (gst_static_pad_template_get), (gst_pad_template_new),
6179         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6180         (gst_pad_template_pad_created):
6181         * gst/gstpadtemplate.h:
6182           inlined two more docs
6183           factored gstpadtemplate out of gstpad
6184
6185 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6186
6187         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6188         (test_children_state_change_order_semi_sink):
6189           Fix test case: we can't rely on a fixed state change order when
6190           going from READY => PAUSED because the sink might commit its 
6191           new state first when the first buffer created by the source 
6192           reaches the sink before the source has finished its change state.
6193           (Test case still fails at times, see #316856, comment 5 onwards)
6194
6195 2005-09-24  Wim Taymans  <wim@fluendo.com>
6196
6197         * docs/design/part-events.txt:
6198         * docs/design/part-gstbus.txt:
6199         * docs/design/part-gstpipeline.txt:
6200         * docs/design/part-messages.txt:
6201         * docs/design/part-overview.txt:
6202         * docs/design/part-segments.txt:
6203         * gst/gstbin.c:
6204         * gst/gstbuffer.c:
6205         * gst/gstclock.c:
6206         * gst/gstelement.c:
6207         * gst/gstevent.c:
6208         * gst/gstfilter.c:
6209         * gst/gstiterator.c:
6210         Various documentation updates.
6211
6212 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6213
6214         * gst/gstclock.h:
6215           Well, that's embarassing.  Luckily we weren't using
6216           GST_CLOCK_DIFF anywhere.
6217
6218 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6219
6220         * common/gtk-doc.mak:
6221           don't fail on building XML, FC4 slave shows a bunch of doc
6222           missing bits that I don't get
6223         * gst/gstpad.c:
6224         * gst/gstpipeline.c:
6225         * gst/gststructure.c:
6226           some doc updates
6227
6228 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6229
6230         * docs/design/part-gstbin.txt:
6231         * docs/design/part-gstbus.txt:
6232         * gst/gstbus.c:
6233           Add blurb about how the bus goes into flushing mode and
6234           drops all messages when its bin goes from READY into NULL 
6235           state.
6236
6237 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6238
6239         * docs/gst/gstreamer-sections.txt:
6240         * gst/gststructure.c: (gst_structure_get_clock_time):
6241         * gst/gststructure.h:
6242           add a method to get a GstClockTime out of a structure
6243
6244 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6245
6246         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6247         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6248           Added test to check state change order in bins (can still be made
6249           to fail here under heavy disk load; bails out with 'Push on pad
6250           fakesink:sink0, but it was not activated in push mode').
6251
6252         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6253           Fix state change order when there is only a semi sink (#316856)
6254
6255         * gst/gstbus.c: (gst_bus_class_init):
6256           Use _class_peek_parent(), not _class_ref(); fix docs to say
6257           'default main context' instead of 'mainloop' where that is
6258           what's meant.
6259
6260         * gst/gstelement.c: (gst_element_commit_state),
6261         (gst_element_set_state):
6262           Fix typos in debug messages
6263
6264 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6265
6266         * docs/README:
6267         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6268         * gst/gstpluginfeature.c:
6269         * gst/gstutils.c:
6270           various doc updates
6271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6272           change an assert into an error until it gets fixed properly
6273
6274 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6275
6276         * docs/gst/gstreamer-sections.txt:
6277         * docs/gst/tmpl/.cvsignore:
6278         * docs/gst/tmpl/gstelement.sgml:
6279         * docs/gst/tmpl/gstinfo.sgml:
6280         * docs/gst/tmpl/gstobject.sgml:
6281         * gst/gstelement.c:
6282         * gst/gstelement.h:
6283         * gst/gstinfo.c:
6284         * gst/gstinfo.h:
6285         * gst/gstobject.c: (gst_object_class_init):
6286         * gst/gstobject.h:
6287           inlined 3 more biiiig doc files and added some missing docs on the fly
6288
6289 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6290
6291         * check/gst/.cvsignore:
6292         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6293         * gst/gstregistryxml.c: (load_plugin),
6294         (gst_registry_xml_save_plugin):
6295           put back source in registry.  add checks for find_plugin.
6296         * testsuite/states/bin.c: (assert_state), (empty_bin),
6297         (test_adding_one_element), (main):
6298         * testsuite/states/locked.c: (main):
6299           some compile/run fixes
6300
6301 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6302
6303         * check/gst/gstvalue.c: (GST_START_TEST):
6304           fix leaks in the test itself
6305
6306 2005-09-22  Wim Taymans  <wim@fluendo.com>
6307
6308         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6309         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6310         (gst_base_sink_query):
6311         Prepare for more accurate position reporting and query
6312         handling.
6313
6314         * gst/gstelement.c: (gst_element_send_event),
6315         (gst_element_set_state):
6316         Add some comment.
6317
6318 2005-09-22  Wim Taymans  <wim@fluendo.com>
6319
6320         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6321         (gst_query_parse_segment):
6322         * gst/gstquery.h:
6323         More documentation.
6324         Add segment query for future use.
6325
6326 2005-09-22  Wim Taymans  <wim@fluendo.com>
6327
6328         * gst/gstbin.c: (gst_bin_add_func):
6329         Some more debug info.
6330
6331         * gst/gstelement.c: (gst_element_send_event):
6332         Simplify send_event
6333
6334         * gst/gstelement.h:
6335         Don't know how flags got broken.
6336
6337         * gst/gstquery.h:
6338         Added new query.
6339
6340 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6341
6342         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6343           Add simplistic test suite for GST_TYPE_DATE serialisation and
6344           deserialisation.
6345
6346 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6347
6348         * docs/gst/gstreamer-sections.txt:
6349         * gst/gststructure.c: (gst_structure_set_valist),
6350         (gst_structure_get_date):
6351         * gst/gststructure.h:
6352         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6353         (gst_date_copy), (gst_value_compare_date),
6354         (gst_value_serialize_date), (gst_value_deserialize_date),
6355         (gst_value_transform_date_string),
6356         (gst_value_transform_string_date), (_gst_value_initialize):
6357         * gst/gstvalue.h:
6358           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6359           bunch of utility functions along with a hack that checks that
6360           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6361           is required. Part of the grand scheme in #170777.
6362
6363 2005-09-22  Andy Wingo  <wingo@pobox.com>
6364
6365         * gst/gstconfig.h.in: Psych out gtk-doc.
6366
6367         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6368
6369         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6370
6371         * tools/gst-inspect.c (print_element_list): Plug some
6372         inconsequential leaks.
6373
6374         * gst/gstregistry.c (gst_registry_get_default): Doc.
6375
6376         * check/gst/gstplugin.c: 
6377         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6378         * gst/gstelementfactory.c (gst_element_factory_create): 
6379         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6380         refcount changes.
6381
6382         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6383         (gst_plugin_feature_load): Doc, don't eat refs.
6384
6385         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6386         (gst_plugin_list_free): Doc.
6387         (gst_plugin_load_file): Doc updates.
6388
6389         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6390         accessors returning refcounted objects, return a ref.
6391
6392         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6393         accessor for caps. IDEMPOTENCE. Oh yes.
6394
6395 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6396
6397         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6398
6399         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6400         (_gst_debug_register_funcptr):
6401           Add mutex to serialise access to the hash table with
6402           the function pointer => function name string mapping;
6403           make that hash table static scope (#316809).
6404
6405         * gst/registries/.cvsignore:
6406           Remove left-over file.
6407
6408 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6409
6410         * docs/pwg/appendix-porting.xml:
6411           And something about newsegment events and caps-on-buffers to
6412           the porting guide (feel free to improve).
6413
6414 2005-09-21  Andy Wingo  <wingo@pobox.com>
6415
6416         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6417         data and event probes on the same pad.
6418         (test_buffer_probe_once): Test that removing probes from within
6419         the probe functions works.
6420
6421 2005-09-21  Andy Wingo  <wingo@pobox.com>
6422
6423         * check/gst/gstutils.c: New file.
6424         (test_buffer_probe_n_times): A simple buffer probe test. More to
6425         come, foolios.
6426
6427         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6428         have-data::buffer, not have-data.
6429         (gst_pad_add_event_probe): Likewise for have-data::event.
6430         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6431         peer' isn't quite right yet though.
6432         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6433         (gst_pad_remove_data_probe): Change to take the guint handler_id
6434         as their arg, not the function+data, which is more glib-like.
6435
6436         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6437         the signal emission to indicate if the data is a buffer or an
6438         event.
6439         (gst_pad_get_type): Initialize buffer and event quarks.
6440         (gst_pad_class_init): have-data is now a detailed signal, yes it
6441         is.
6442
6443 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6444
6445         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6446         * gst/gstutils.c: (gst_util_set_value_from_string),
6447         (gst_util_set_object_arg):
6448           Don't put functional code in g_return_if_fail() or
6449           g_return_val_if_fail() statements, otherwise things will 
6450           break when G_DISABLE_CHECKS is defined during compilation.
6451
6452 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6453
6454         * docs/gst/tmpl/.cvsignore:
6455         * docs/gst/tmpl/gstvalue.sgml:
6456         * gst/gstvalue.c:
6457         * gst/gstvalue.h:
6458           inlied another one and added  some obvious docs
6459
6460 2005-09-21  Wim Taymans  <wim@fluendo.com>
6461
6462         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6463         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6464         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6465         (gst_fdsrc_get_property), (gst_fdsrc_create):
6466         * gst/elements/gstfdsrc.h:
6467         Properly implement fdsrc. Removed signal and timeout,
6468         better implemented somewhere else.
6469
6470 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6471
6472         * docs/gst/tmpl/.cvsignore:
6473         * docs/gst/tmpl/gstimplementsinterface.sgml:
6474         * gst/gstinterface.c:
6475           inlined more docs
6476
6477 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6478
6479         * docs/gst/gstreamer-sections.txt:
6480         * docs/gst/tmpl/.cvsignore:
6481         * docs/gst/tmpl/gstenumtypes.sgml:
6482           remove obsolete doc file
6483
6484 2005-09-21  David Schleef  <ds@schleef.org>
6485
6486         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6487         little beer, fix a little leak.
6488
6489 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6490
6491         * docs/gst/gstreamer-docs.sgml:
6492         * docs/gst/gstreamer-sections.txt:
6493         * docs/gst/tmpl/.cvsignore:
6494         * gst/Makefile.am:
6495         * gst/gst.h:
6496         * gst/gstbin.c:
6497         * gst/gstelement.h:
6498         * gst/gstindex.c: (gst_index_class_init):
6499         * gst/gstindex.h:
6500         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6501         (gst_index_factory_class_init), (gst_index_factory_init),
6502         (gst_index_factory_finalize), (gst_index_factory_new),
6503         (gst_index_factory_destroy), (gst_index_factory_find),
6504         (gst_index_factory_create), (gst_index_factory_make):
6505         * gst/gstindexfactory.h:
6506         * gst/gstpluginfeature.c:
6507         * gst/gstpluginfeature.h:
6508         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6509           more docs inlined, splitted gstindex.{c,h}
6510
6511 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6512
6513         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6514           fix a leak
6515
6516 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6517
6518         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6519           Set sync to FALSE by default.
6520
6521 2005-09-20  Wim Taymans  <wim@fluendo.com>
6522
6523         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6524         (gst_base_sink_init):
6525         Make sync property settable from subclass.
6526
6527         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6528         (gst_fake_sink_change_state):
6529         Set sync to FALSE by default.
6530
6531 2005-09-20  Wim Taymans  <wim@fluendo.com>
6532
6533         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6534         * tools/gst-launch.c: (main):
6535         The timeout handler should have lower priority than the source
6536         so we don't timeout before popping a message with 0 timeout.
6537         Dump error messages after failed state change.
6538
6539 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6540
6541         * tools/gst-inspect.c: (print_element_properties_info):
6542           Fix two typos.
6543
6544 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6545
6546         * check/gst/gstevent.c:
6547         * gst/elements/gstfakesink.c:
6548         * gst/elements/gstfakesink.h:
6549           remove the sync property from fakesink.
6550           has the side effect of setting sync TRUE
6551           for fakesink, which is a change.  Anyone who knows how
6552           to fix this nicely in a GObject-y way, feel free.
6553
6554 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6555
6556         * docs/gst/gstreamer-docs.sgml:
6557           remove probe refsection
6558
6559 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6560
6561         * check/Makefile.am:
6562           disable valgrinding the controller test again
6563         * docs/gst/gstreamer-sections.txt:
6564           update for api-changes
6565
6566 2005-09-20  Wim Taymans  <wim@fluendo.com>
6567
6568         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6569         (gst_base_sink_set_property), (gst_base_sink_get_property),
6570         (gst_base_sink_do_sync):
6571         * gst/base/gstbasesink.h:
6572         Added sync property to basesink to disable clock sync.
6573
6574 2005-09-20  Andy Wingo  <wingo@pobox.com>
6575
6576         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6577         eating the caller's refcount.
6578
6579         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6580         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6581         refcount.
6582
6583         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6584         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6585         of GLib 2.8 public, so we can know which refcount to check in
6586         tests.
6587
6588         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6589         (gst_object_init): Only set the gst refcount if we're going ahead
6590         with the refcount hack.
6591
6592 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6593
6594         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6595         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6596           more leaks plumbed, added more debug-logging
6597         * gst/gstmacros.h:
6598           whitespace fix
6599
6600 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6601
6602         * gst/gstmessage.c:
6603           remove include of gstmemchunk.h
6604
6605 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6606
6607         * gst/gstclock.c: (_gst_clock_id_free):
6608           Commit from the Political Party For More Atomic CVS Commits,
6609           so that people don't waste too much of their day fishing
6610           out obvious leaks out of massive commits.
6611           Oh, and fix a pretty damn obvious leak in the memchunk
6612           removal code.
6613
6614 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6615
6616         * check/Makefile.am:
6617         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6618           plug mem-leak, re-add to valgrindable tests
6619
6620 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6621
6622         * gst/gstplugin.h:
6623           unbreak the build for those who have chronic arthritis
6624           and typing "make check" is just too taxing on the hands
6625
6626 2005-09-20  Andy Wingo  <wingo@pobox.com>
6627
6628         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6629         really want it out, you should fix plugins at the same time.
6630
6631 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6632
6633         * configure.ac:
6634         * docs/gst/gstreamer-sections.txt:
6635         * gst/gstobject.c:
6636           added missing symbols to api docs
6637           disable ref-count hack if we have glib >= 2.8
6638
6639 2005-09-19  David Schleef  <ds@schleef.org>
6640
6641         * docs/gst/Makefile.am: Ignore a few more internal headers
6642         * docs/gst/gstreamer-docs.sgml: Remove old sections
6643         * docs/gst/gstreamer-sections.txt: Remove old sections
6644         * docs/gst/tmpl/gstobject.sgml: update
6645         * docs/gst/tmpl/gstplugin.sgml: update
6646         * docs/gst/tmpl/gstpluginfeature.sgml: update
6647         * docs/random/ds/0.9-suggested-changes: update.
6648         * gst/Makefile.am: remove memchunk and trashstack, since they're
6649           not used.
6650         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6651         * gst/gst.h: don't include some headers
6652         * gst/gstchildproxy.c: add gstmarshal.h
6653         * gst/gstclock.c: Don't use memchunks
6654         * gst/gstminiobject.c: Add some docs
6655         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6656         * gst/gstobject.h: same
6657         * gst/gstplugin.c: include gstmacros.h
6658         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6659         * gst/gstquery.c: don't use memchunks
6660         * gst/gstregistry.c: rename gst_registry_deinit()
6661         * gst/gstregistry.h: same
6662
6663 2005-09-19  David Schleef  <ds@schleef.org>
6664
6665         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6666         * docs/libs/gstreamer-libs-sections.txt:
6667         * docs/libs/tmpl/gstgetbits.sgml:
6668         * docs/libs/tmpl/gstputbits.sgml:
6669
6670 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6671
6672         * win32/gstenumtypes.c:
6673         * win32/gstenumtypes.h:
6674           Update.
6675
6676 2005-09-19  Wim Taymans  <wim@fluendo.com>
6677
6678         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6679         Automatically PAUSE and RESUME a pipeline when a flushing seek
6680         is performed.
6681
6682 2005-09-19  Andy Wingo  <wingo@pobox.com>
6683
6684         * gst/gstregistry.h: Spacing fixen.
6685
6686 2005-09-19  Wim Taymans  <wim@fluendo.com>
6687
6688         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6689         Handle state change failure more correctly.
6690
6691 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6692
6693         * check/Makefile.am:
6694         * check/pipelines/cleanup.c: (run_pipeline):
6695         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6696         (GST_START_TEST):
6697           enable cleanup again after fixing the leak
6698         * docs/README:
6699           some more info on docs
6700
6701 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6702
6703         * check/Makefile.am:
6704           re-enable tests now that leaks are plugged
6705         * check/gst/gst.c:
6706         * check/gst/gstbin.c:
6707         * check/gst/gstpipeline.c:
6708           add some more tests while fixing leaks
6709         * common/check.mak:
6710           make sure binaries are uptodate when valgrinding/gdbing
6711         * gst/gst.c:
6712         * gst/gstelementfactory.c:
6713           remove a ref too many, and add a FIXME for when we get
6714           round to disposing of classes
6715         * gst/gstplugin.c:
6716           fix the refcounting when loading a plugin from a file and
6717           the code pretends that the pointer is the same even though
6718           of course it can change
6719         * gst/gstpluginfeature.c:
6720           unref plugins marked cached (a bit confusing as a name)
6721           as the docs state should be done
6722           various doc additions to explain refcounting
6723         * gst/gstregistry.c:
6724         * gst/gstregistryxml.c:
6725           debugging
6726
6727 2005-09-19  Wim Taymans  <wim@fluendo.com>
6728
6729         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6730         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6731         (send_messages), (GST_START_TEST), (gstbus_suite):
6732         * check/gst/gstpipeline.c: (GST_START_TEST):
6733         * check/pipelines/cleanup.c: (run_pipeline):
6734         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6735         (GST_START_TEST):
6736         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6737         (gst_bus_source_check), (gst_bus_source_dispatch),
6738         (gst_bus_create_watch), (gst_bus_add_watch_full),
6739         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6740         * gst/gstbus.h:
6741         * tools/gst-launch.c: (event_loop):
6742         * tools/gst-md5sum.c: (event_loop):
6743         GstBusHandler -> GstBusFunc, return value has the same meaning as
6744         any other GSource (FALSE == remove source).
6745         _add_watch() and _add_watch_full() now take a MessageType mask to
6746         only handle specific types of messages.
6747         _poll() returns the GstMessage instead of the message type to avoid
6748         race conditions.
6749         _have_pending() takes a MessageType mask now too.
6750         Added testsuite for multiple bus watches.
6751         Fix testsuites and applications for new bus API.
6752
6753 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6754
6755         * check/Makefile.am:
6756           mark a bunch of the tests as to fix until we fix them
6757
6758 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6759
6760         * common/check.mak:
6761           use GST_PLUGIN settings for valgrind tests as well, so we're
6762           valgrinding the correct thing
6763         * gst/gst.c: (init_post):
6764           plug another leak
6765
6766 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6767
6768         * gst/gst.c: (init_post), (gst_deinit):
6769         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6770         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6771         * gst/gstindex.c: (gst_index_factory_class_init),
6772         (gst_index_factory_finalize):
6773         * gst/gstobject.c: (gst_object_dispose):
6774         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6775         (gst_plugin_load_file), (gst_plugin_desc_free):
6776         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6777         (gst_plugin_feature_finalize):
6778         * gst/gstregistry.c: (gst_registry_class_init),
6779         (gst_registry_init), (gst_registry_finalize),
6780         (gst_registry_get_default), (gst_registry_deinit):
6781         * gst/gstregistry.h:
6782         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6783           various cleanups and memleak plugging.  make valgrind is happy now.
6784
6785 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6786
6787         * common/check.mak:
6788           add a check-valgrind target
6789
6790 2005-09-18  David Schleef  <ds@schleef.org>
6791
6792         * tools/gst-inspect.c: Revert the GOption code.
6793
6794 2005-09-17  David Schleef  <ds@schleef.org>
6795
6796         * check/Makefile.am: Fix environment variables.
6797         * check/gst/gstplugin.c: Fix for API changes.
6798         * tools/gst-inspect.c: Fix for API changes.
6799         * tools/gst-xmlinspect.c: Fix for API changes.
6800         * gst/gstelementfactory.c:
6801         * gst/gstplugin.c:
6802         * gst/gstplugin.h:
6803         * gst/gstpluginfeature.c:
6804         * gst/gstpluginfeature.h:
6805         * gst/gstregistry.c:
6806         * gst/gstregistry.h:
6807         * gst/gstregistryxml.c:
6808         * gst/gsttypefind.c:
6809         * gst/gsttypefindfactory.c:
6810         * gst/indexers/gstfileindex.c:
6811         * gst/indexers/gstmemindex.c:
6812         * gst/schedulers/Makefile.am:
6813           Change registry to keep track of both plugins and features,
6814           removing the feature tracking from plugins themselves.
6815
6816 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6817
6818         * check/Makefile.am:
6819         * tools/gst-register.1.in:
6820           remove gst-register
6821
6822 2005-09-15  David Schleef  <ds@schleef.org>
6823
6824         * check/gst/gstplugin.c:
6825         * gst/gstelementfactory.c:
6826         * gst/gstplugin.c:
6827         * gst/gstpluginfeature.c:
6828         * gst/gstregistry.c:
6829           Getting tired of debugging.  Disabled all the unreffing of
6830           plugins and features, which fixes the segfaults, but of
6831           course leaks like crazy.  At least playbin works.
6832
6833 2005-09-15  David Schleef  <ds@schleef.org>
6834
6835         * check/gst/gstplugin.c: (register_check_elements),
6836         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6837         More testing
6838         * gst/elements/gsttypefindelement.c: Fix refcounting.
6839         * gst/gsttypefind.c:
6840         * gst/gsttypefindfactory.c:
6841         * gst/gsttypefindfactory.h:
6842
6843 2005-09-15  David Schleef  <ds@schleef.org>
6844
6845         * gst/gstindex.c: get refcounting correct.
6846         * gst/gstregistry.c: Handle the case where a feature/plugin is
6847           not found.
6848
6849 2005-09-15  David Schleef  <ds@schleef.org>
6850
6851         * check/Makefile.am:
6852         * check/gst/gstplugin.c: Add test
6853         * gst/gstplugin.c: Fix problems noticed by testsuite
6854         * gst/gstplugin.h:
6855         * gst/gstregistry.c: 
6856         * gst/gstregistry.h:
6857
6858 2005-09-15  David Schleef  <ds@schleef.org>
6859
6860         * gst/gstplugin.c: Implement semi-decent recounting and locking
6861           in plugins and plugin features.
6862         * gst/gstplugin.h:
6863         * gst/gstpluginfeature.c:
6864         * gst/gstpluginfeature.h:
6865         * gst/gstregistry.c:
6866
6867 2005-09-15  Michael Smith <msmith@fluendo.com>
6868
6869         * gst/gstregistry.c: (gst_registry_get_feature_list):
6870           Implement this. Makes oggdemux work; decodebin still broken.
6871
6872 2005-09-14  David Schleef  <ds@schleef.org>
6873
6874         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6875           #316076)
6876         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6877         * gst/check/Makefile.am:
6878         * libs/gst/controller/Makefile.am:
6879         * libs/gst/dataprotocol/Makefile.am:
6880
6881 2005-09-14  David Schleef  <ds@schleef.org>
6882
6883         * configure.ac: Remove getbits library.  Nothing uses it, and
6884           it should be in something like liboil if someone did want
6885           to use it.
6886         * libs/gst/Makefile.am:
6887         * libs/gst/getbits/Makefile.am:
6888         * libs/gst/getbits/gbtest.c:
6889         * libs/gst/getbits/getbits.c:
6890         * libs/gst/getbits/getbits.h:
6891         * libs/gst/getbits/gstgetbits_generic.c:
6892         * libs/gst/getbits/gstgetbits_i386.s:
6893         * libs/gst/getbits/gstgetbits_inl.h:
6894
6895 2005-09-14  David Schleef  <ds@schleef.org>
6896
6897         * gst/Makefile.am: Dist glib-compat.h
6898
6899 2005-09-14  David Schleef  <ds@schleef.org>
6900
6901         * configure.ac: Remove gst/registries, since it's no longer used.
6902         * gst/registries/Makefile.am:
6903         * gst/registries/gstlibxmlregistry.c:
6904         * gst/registries/gstlibxmlregistry.h:
6905         * gst/registries/gstxmlregistry.c:
6906         * gst/registries/gstxmlregistry.h:
6907         * gst/registries/registrytest.c:
6908
6909 2005-09-14  David Schleef  <ds@schleef.org>
6910
6911         * gst/glib-compat.h:
6912         * gst/gstregistryxml.c:
6913           Convergence is near.  Seriously.
6914
6915 2005-09-14  David Schleef  <ds@schleef.org>
6916
6917         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6918         * gst/glib-compat.h:
6919           Attempt #4 to appease the buildbots.
6920
6921 2005-09-14  David Schleef  <ds@schleef.org>
6922
6923         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6924           Attempt #3.
6925
6926 2005-09-14  David Schleef  <ds@schleef.org>
6927
6928         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6929         Attempt #2.
6930
6931 2005-09-14  David Schleef  <ds@schleef.org>
6932
6933         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6934           the new functions.
6935
6936 2005-09-14  David Schleef  <ds@schleef.org>
6937
6938         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6939         * gst/glib-compat.h: Add some functions that are in newer versions
6940           of glib than we care to require.
6941         * gst/gstregistryxml.c: Use them.
6942
6943 2005-09-14  David Schleef  <ds@schleef.org>
6944
6945         * po/POTFILES.in: remove gst-register.c
6946
6947 2005-09-14  David Schleef  <ds@schleef.org>
6948
6949         * docs/gst/gstreamer-docs.sgml:
6950         * docs/gst/gstreamer-sections.txt:
6951         * docs/gst/gstreamer.types:
6952         * docs/gst/tmpl/gstelement.sgml:
6953         * docs/gst/tmpl/gstplugin.sgml:
6954         * docs/gst/tmpl/gstpluginfeature.sgml:
6955           Documentation updates for registry changes.
6956
6957 2005-09-14  David Schleef  <ds@schleef.org>
6958
6959         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6960           because we don't require glib-2.8.
6961
6962 2005-09-14  David Schleef  <ds@schleef.org>
6963
6964         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6965           registries directory.
6966
6967 2005-09-14  David Schleef  <ds@schleef.org>
6968
6969         * check/Makefile.am:
6970         * check/generic/states.c:
6971         * gst/Makefile.am:
6972         * gst/gst.c:
6973         * gst/gst.h:
6974         * gst/gst_private.h:
6975         * gst/gstelementfactory.c:
6976         * gst/gstindex.c:
6977         * gst/gstinfo.c:
6978         * gst/gstplugin.c:
6979         * gst/gstplugin.h:
6980         * gst/gstpluginfeature.c:
6981         * gst/gstpluginfeature.h:
6982         * gst/gstregistry.c:
6983         * gst/gstregistry.h:
6984         * gst/gstregistrypool.c: remove
6985         * gst/gstregistrypool.h: remove
6986         * gst/gsttypefind.c:
6987         * gst/gsttypefindfactory.c:
6988         * gst/gsturi.c:
6989         * tools/Makefile.am:
6990         * tools/gst-compprep.c:
6991         * tools/gst-inspect.c:
6992         * tools/gst-register.c: remove
6993         * tools/gst-xmlinspect.c:
6994           Registry rewrite.  Changes registry from being a file created
6995           by a tool into a simple cache file created automatically by 
6996           libgstreamer.  Removed gst-register (because it's no longer
6997           needed).  Remove registry pools, because we only have one
6998           registry implementation (XML).  Fix up other subsystems as
6999           necessary.
7000
7001 2005-09-13  Michael Smith <msmith@fluendo.com>
7002
7003         * gst/gstconfig.h.in:
7004           Don't Use windows linking attributes for MinGW. Fixes #316157
7005
7006 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7007
7008         * gst/gstutils.c: (set_state_async_thread_func),
7009         (gst_element_set_state_async):
7010           Apparently people think it's better if this function doesn't
7011           try to set the state to whatever state was asked for on the first
7012           call to this function for any object.  Seriously.
7013
7014 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7015
7016         * check/gst/gstpipeline.c: (GST_START_TEST):
7017         * docs/gst/gstreamer-sections.txt:
7018         * gst/gstutils.c: (set_state_async_thread_func),
7019         (gst_element_set_state_async):
7020         * gst/gstutils.h:
7021           add a "gst_element_set_state_async" method that
7022           sets the state and starts a thread to make sure the state
7023           change completes as best as it can
7024
7025 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7026
7027         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7028           codify design+behaviour in testsuite after discussion
7029
7030 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7031
7032         * docs/gst/tmpl/gstelement.sgml:
7033         * docs/manual/appendix-quotes.xml:
7034           add a quote
7035         * gst/gstelement.c: (gst_element_set_state):
7036           add some debug
7037
7038 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7039
7040         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7041         (gst_base_transform_prepare_output_buf),
7042         (gst_base_transform_handle_buffer):
7043         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7044         (gst_capsfilter_prepare_buf):
7045           Remove the requirement for sub-classes to call the parent
7046           implementation of prepare_output_buffer with a wrapper function.
7047           
7048         * gst/gsttaglist.h:
7049         * gst/gsttagsetter.h:
7050           Fix #define wrapper
7051
7052 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7053
7054         * docs/gst/gstreamer-sections.txt:
7055           more doc cleanups
7056
7057 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7058
7059         * docs/gst/gstreamer-sections.txt:
7060         * docs/gst/tmpl/gstelement.sgml:
7061         * docs/gst/tmpl/gstplugin.sgml:
7062         * gst/gstminiobject.c:
7063         * gst/gstvalue.h:
7064           docs now stop throwing warnings
7065
7066 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7067
7068         * docs/gst/gstreamer-sections.txt:
7069         * docs/gst/gstreamer.types:
7070         * docs/gst/tmpl/gstpad.sgml:
7071         * docs/gst/tmpl/gsttypes.sgml:
7072         * gst/base/gstadapter.h:
7073         * gst/base/gstbasesink.h:
7074         * gst/base/gstbasesrc.h:
7075         * gst/gstbin.h:
7076         * gst/gstbuffer.h:
7077         * gst/gstbus.h:
7078         * gst/gstcaps.h:
7079         * gst/gstclock.h:
7080         * gst/gstelement.h:
7081         * gst/gstevent.h:
7082         * gst/gstmessage.h:
7083         * gst/gstpad.h:
7084         * gst/gststructure.c:
7085         * gst/registries/gstlibxmlregistry.h:
7086           various documentation fixes
7087
7088 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7089
7090         * docs/gst/gstreamer-sections.txt:
7091         * docs/gst/tmpl/gstvalue.sgml:
7092           rearrange gstvalue section
7093         * gst/gstutils.c: (gst_element_state_get_name):
7094           NONE -> VOID
7095         * gst/gstvalue.c: (_gst_value_initialize):
7096         * gst/gstvalue.h:
7097           doc updates
7098
7099 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7100
7101         * check/gst-libs/controller.c:
7102           Header include fix.
7103         * gst/base/gstbasetransform.c:
7104         (gst_base_transform_default_prepare_buf),
7105         (gst_base_transform_handle_buffer):
7106         * gst/base/gstbasetransform.h:
7107           Some more basetransform changes and fixes to enable sub-classes
7108           that modify buffer metadata only.
7109         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7110         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7111         (gst_capsfilter_prepare_buf):
7112           If the output pad has fixed allowed caps and input buffers 
7113           don't have any, set the fixed caps on outgoing buffers.
7114
7115 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7116         * check/elements/identity.c: (GST_START_TEST):
7117           Make the error a little clearer when the test fails because
7118           identity made a copy of the buffer.
7119         * docs/gst/gstreamer-sections.txt:
7120           New symbols in gstbasetransform.h
7121         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7122         (gst_base_transform_init), (gst_base_transform_transform_size),
7123         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7124         (gst_base_transform_default_prepare_buf),
7125         (gst_base_transform_get_unit_size),
7126         (gst_base_transform_buffer_alloc),
7127         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7128         (gst_base_transform_change_state),
7129         (gst_base_transform_set_passthrough),
7130         (gst_base_transform_set_in_place),
7131         (gst_base_transform_is_in_place):
7132         * gst/base/gstbasetransform.h:
7133           Change BaseTransform to separate in_place operate from same_caps
7134           output. in_place implies that the element can perform the transform
7135           on incoming buffers in-place, even if the caps on the output are
7136           different.
7137           Sub-class elements can now implement special buffer allocation
7138           methods for outgoing buffers if they wish to.
7139           Big documentation addition.
7140         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7141         * gst/elements/gstelements.c:
7142           Changes for basetransform modifications.
7143         * gst/elements/Makefile.am:
7144         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7145           Compile fix. Extra debug output.
7146
7147 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7148
7149         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7150         (gst_pad_suite):
7151           add tests for valid pad naming
7152         * gst/check/gstcheck.c: (gst_check_log_message_func),
7153         (gst_check_log_critical_func):
7154           add ASSERT_WARNING
7155           remove printing of code, it is fragile when the code contains
7156           % and the line number is enough info
7157         * gst/check/gstcheck.h:
7158         * gst/gstpad.c: (gst_pad_template_new):
7159           fix memleaks
7160
7161 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7162
7163         * configure.ac:
7164           say what CHECK flags we use
7165         * docs/libs/gstreamer-libs.types:
7166         * libs/gst/controller/Makefile.am:
7167         * libs/gst/controller/gst-controller.c:
7168         * libs/gst/controller/gst-controller.h:
7169         * libs/gst/controller/gst-helper.c:
7170         * libs/gst/controller/gst-interpolation.c:
7171         * libs/gst/controller/gstcontroller.c:
7172         * libs/gst/controller/gsthelper.c:
7173         * libs/gst/controller/gstinterpolation.c:
7174         * tools/gst-inspect.c: (print_plugin_info):
7175           we don't use dashes in header names
7176
7177 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7178
7179         * check/Makefile.am:
7180         * check/gst/.cvsignore:
7181         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7182         (gst_pipeline_suite), (main):
7183           adding a test for pipelines and state changes
7184         * gst/gstutils.c: (get_state_func):
7185           add some debugging
7186         * gstreamer.spec.in:
7187           fix up spec file
7188
7189 2005-09-08  Michael Smith <msmith@fluendo.com>
7190
7191         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7192         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7193         (gst_file_src_is_seekable), (gst_file_src_get_size),
7194         (gst_file_src_start):
7195         * gst/elements/gstfilesrc.h:
7196           Various fixes for unseekable, unmmapable, and non-normal files, so
7197           that fallback to read() rather than mmap() works.
7198         * gst/gstevent.c: (gst_event_new_newsegment):
7199           Allow newsegment events with segment_start == segment_end, as will
7200           correctly happen if you use filesrc on a zero-size file, for
7201           example.
7202
7203 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7204
7205         * gst/gstplugin.c: (gst_plugin_load_file):
7206           Call g_module_close when we don't load the module
7207
7208         * gst/registries/gstlibxmlregistry.c:
7209         (gst_xml_registry_get_property):
7210           Port leak fix from 0.8
7211
7212 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7213
7214         * docs/gst/gstreamer-docs.sgml:
7215         * docs/gst/tmpl/.cvsignore:
7216         * docs/gst/tmpl/gsttrace.sgml:
7217         * docs/gst/tmpl/gsttrashstack.sgml:
7218         * gst/Makefile.am:
7219         * gst/gst.h:
7220         * gst/gstelement.h:
7221         * gst/gstevent.h:
7222         * gst/gstmessage.c:
7223         * gst/gstmessage.h:
7224         * gst/gsttag.c:
7225         * gst/gsttag.h:
7226         * gst/gsttaginterface.c:
7227         * gst/gsttaginterface.h:
7228         * gst/gsttaglist.c:
7229         * gst/gsttaglist.h:
7230         * gst/gsttagsetter.c:
7231         * gst/gsttagsetter.h:
7232         * gst/gsttrace.c:
7233         * gst/gsttrace.h:
7234         * gst/gsttrashstack.c:
7235           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7236           inlined docs for gsttrace, gsttrashstack
7237
7238 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7239
7240         * gst/Makefile.am:
7241         * gst/elements/gstbufferstore.h:
7242         * gst/elements/gsttypefindelement.c:
7243         * gst/elements/gsttypefindelement.h:
7244         * gst/gst.h:
7245         * gst/gsttypefind.c:
7246         * gst/gsttypefind.h:
7247         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7248         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7249         (gst_type_find_factory_dispose),
7250         (gst_type_find_factory_unload_thyself),
7251         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7252         (gst_type_find_factory_get_caps),
7253         (gst_type_find_factory_get_extensions),
7254         (gst_type_find_factory_call_function):
7255         * gst/gsttypefindfactory.h:
7256         * gst/registries/gstlibxmlregistry.c:
7257         * gst/registries/gstxmlregistry.c:
7258           splitted gsttypefind into gsttypefind, gsttypefindfactory
7259
7260 2005-09-07  Andy Wingo  <wingo@pobox.com>
7261
7262         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7263         condition whereby the pad's task function is entered before the
7264         pad_mode variable was set.
7265
7266 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7267
7268         * gst/gstpad.c: (gst_pad_alloc_buffer):
7269           Catch misbehaving pad_alloc functions that don't
7270           set up caps and do it for them.
7271
7272 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7273
7274         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7275           test for pipe!=NULL
7276         * docs/gst/tmpl/.cvsignore:
7277         * docs/gst/tmpl/gstmemchunk.sgml:
7278         * docs/gst/tmpl/gstparse.sgml:
7279         * docs/gst/tmpl/gsttaglist.sgml:
7280         * docs/gst/tmpl/gsttagsetter.sgml:
7281         * docs/gst/tmpl/gsttypefind.sgml:
7282         * docs/gst/tmpl/gsttypefindfactory.sgml:
7283         * gst/gstmemchunk.c:
7284         * gst/gstparse.c:
7285         * gst/gsttag.c:
7286         * gst/gsttaginterface.c:
7287         * gst/gsttypefind.c:
7288         * gst/gsttypefind.h:
7289           inlined more docs
7290
7291 === release 0.9.2 ===
7292
7293 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7294
7295         * NEWS:
7296         * RELEASE:
7297         * configure.ac:
7298           releasing 0.9.2, "South"
7299
7300 2005-09-05  Andy Wingo  <wingo@pobox.com>
7301
7302         * gst/registries/gstxmlregistry.h:
7303         * gst/registries/gstxmlregistry.c: Um... resurrect...
7304         
7305         * gst/registries/gstxmlregistry.h:
7306         * gst/registries/gstxmlregistry.c: and update to newer API.
7307         Incidentally they should be a bit faster now that they don't have
7308         to parse the caps.
7309         
7310 2005-09-05  Andy Wingo  <wingo@pobox.com>
7311
7312         * gst/registries/gstxmlregistry.h:
7313         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7314         replaced by the libxml registry a while back
7315
7316 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7317
7318         * docs/gst/tmpl/gstplugin.sgml:
7319         * gst/elements/gstelements.c:
7320         * gst/gst.c:
7321         * gst/gstplugin.c: (gst_plugin_register_func),
7322         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7323         (gst_plugin_get_source):
7324         * gst/gstplugin.h:
7325         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7326         (gst_xml_registry_save_plugin):
7327         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7328         (gst_xml_registry_save_plugin):
7329         * tools/gst-inspect.c: (print_plugin_info):
7330           add a "source" plugin description field, to represent the source
7331           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7332           will set it to PACKAGE, which is automake's idea of the name of
7333           the source project.
7334
7335 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7336
7337         * Makefile.am:
7338         * autogen.sh:
7339         * configure.ac:
7340         * docs/Makefile.am:
7341         * docs/faq/Makefile.am:
7342         * docs/gst/tmpl/gstelement.sgml:
7343         * docs/gst/tmpl/gsttypes.sgml:
7344         * docs/htmlinstall.mak:
7345         * docs/manual/Makefile.am:
7346         * docs/pwg/Makefile.am:
7347           reorganize doc build a little
7348           split out docbook and gtk-doc stuff
7349           have two separate --enable's and enable them through autogen
7350           but disable by default in configure (to be similar to other
7351           projects)
7352         * gstreamer.spec.in:
7353           clean up docs install
7354         * po/af.po:
7355         * po/az.po:
7356         * po/ca.po:
7357         * po/cs.po:
7358         * po/de.po:
7359         * po/en_GB.po:
7360         * po/fr.po:
7361         * po/it.po:
7362         * po/nb.po:
7363         * po/nl.po:
7364         * po/ru.po:
7365         * po/sq.po:
7366         * po/sr.po:
7367         * po/sv.po:
7368         * po/tr.po:
7369         * po/uk.po:
7370         * po/vi.po:
7371           translation updates
7372
7373 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7374
7375         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7376           Add comment.
7377           
7378         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7379         (gst_fake_sink_change_state):
7380           Make state change function thread-safe.
7381           
7382         * gst/gstpad.c: (gst_pad_alloc_buffer):
7383           Set offset on generic buffer allocated by fallback.
7384
7385 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7386
7387         * docs/gst/gstreamer-sections.txt:
7388         * docs/gst/tmpl/gstelement.sgml:
7389         * gst/gstpad.c:
7390         * libs/gst/controller/gst-controller.c:
7391         (gst_controlled_property_set_interpolation_mode),
7392         (gst_controlled_property_new),
7393         (gst_controller_find_controlled_property):
7394          run the wingo-magic script against the docs
7395
7396 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7397
7398         * docs/gst/gstreamer-docs.sgml:
7399         * docs/gst/gstreamer-sections.txt:
7400         * docs/gst/tmpl/.cvsignore:
7401         * docs/gst/tmpl/gstelementdetails.sgml:
7402         * docs/gst/tmpl/gstelementfactory.sgml:
7403         * gst/gst.c:
7404         * gst/gstbus.c:
7405         * gst/gstelementfactory.c:
7406         * gst/gstelementfactory.h:
7407           merged elementdetails docs into elementfactory docs
7408           inlined both
7409
7410 2005-09-02  Andy Wingo  <wingo@pobox.com>
7411
7412         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7413         consider this enum an enum and not a flags.
7414
7415 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7416
7417         * docs/gst/gstreamer-docs.sgml:
7418         * docs/gst/tmpl/.cvsignore:
7419         * docs/gst/tmpl/gstghostpad.sgml:
7420         * docs/gst/tmpl/gstiterator.sgml:
7421         * docs/gst/tmpl/gstmacros.sgml:
7422         * docs/gst/tmpl/gstrealpad.sgml:
7423         * docs/gst/tmpl/gstregistry.sgml:
7424         * docs/gst/tmpl/gstregistrypool.sgml:
7425         * docs/gst/tmpl/gststructure.sgml:
7426         * docs/gst/tmpl/gstsystemclock.sgml:
7427         * docs/gst/tmpl/gsttrace.sgml:
7428         * gst/gstghostpad.c:
7429         * gst/gstmacros.h:
7430         * gst/gstmemchunk.c:
7431         * gst/gstmemchunk.h:
7432         * gst/gstqueue.c:
7433         * gst/gstregistry.c:
7434         * gst/gstregistrypool.c:
7435         * gst/gststructure.c:
7436         * gst/gstsystemclock.c:
7437           more docs inlined
7438
7439 2005-09-02  Andy Wingo  <wingo@pobox.com>
7440
7441         * gst/gstelement.h (GstState): Renamed from GstElementState,
7442         changed to be a normal enum instead of flags.
7443         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7444         munged to be GST_STATE_CHANGE_*.
7445         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7446         work with the new state representation.
7447         (GstStateChange): New enumeration of possible state transitions.
7448         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7449         (GstElementClass::change_state): Pass the GstStateChange along as
7450         an argument. Helps language bindings, so they don't have to use
7451         tricky lock-needing macros like GST_STATE_CHANGE ().
7452
7453         * scripts/update-states (file): New script. Run it on a file to
7454         update it for state naming and API changes. Updates files in
7455         place.
7456
7457         * All files updated for the new API.
7458
7459 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7460
7461         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7462         * gst/gstutils.c: (gst_util_set_value_from_string),
7463         (gst_util_set_object_arg):
7464           fix a bunch of unchecked return values
7465         * tools/gst-complete.c: (main):
7466         * gstreamer.spec.in:
7467           clean up a little
7468
7469 2005-09-01  Wim Taymans  <wim@fluendo.com>
7470
7471         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7472         (gst_base_sink_event), (gst_base_sink_do_sync),
7473         (gst_base_sink_handle_event):
7474         * gst/base/gstbasesink.h:
7475         Handle newsegments more correctly.
7476
7477         * gst/gstbus.c:
7478         Fix docs.
7479
7480         * gst/gstevent.c: (gst_event_new_newsegment):
7481         A newsegment cannot have a start_time of -1
7482
7483 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7484
7485         * win32/gstenumtypes.c:
7486         * win32/gstenumtypes.h:
7487           Update
7488
7489 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7490
7491         * libs/gst/controller/gst-controller.c:
7492         (gst_controlled_property_set_interpolation_mode),
7493         (gst_controlled_property_new):
7494          fixed boolean again
7495
7496 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7497
7498         * docs/faq/gst-uninstalled:
7499           add -good
7500         * gst/gstevent.c:
7501         * gst/gstevent.h:
7502           remove wrong docs
7503         * gst/gstutils.c: (gst_element_link_filtered):
7504         * gst/gstutils.h:
7505           add gst_element_link_filtered
7506
7507 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7508
7509         * docs/gst/gstreamer-docs.sgml:
7510         * docs/gst/gstreamer-sections.txt:
7511         * docs/gst/tmpl/.cvsignore:
7512         * docs/gst/tmpl/gsterror.sgml:
7513         * docs/gst/tmpl/gstfilter.sgml:
7514         * docs/gst/tmpl/gsturihandler.sgml:
7515         * docs/gst/tmpl/gsturitype.sgml:
7516         * docs/gst/tmpl/gstutils.sgml:
7517         * docs/gst/tmpl/gstxml.sgml:
7518         * gst/gsterror.c:
7519         * gst/gsterror.h:
7520         * gst/gstfilter.c:
7521         * gst/gsturi.c:
7522         * gst/gsturitype.c:
7523         * gst/gstutils.c:
7524         * gst/gstxml.c:
7525           inlined more docs, fixed double id-ref
7526
7527 2005-08-31  Wim Taymans  <wim@fluendo.com>
7528
7529         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7530         (gst_base_transform_handle_buffer):
7531         Passthrough elements don't need the caps as they don't care.
7532
7533 2005-08-31  Wim Taymans  <wim@fluendo.com>
7534
7535         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7536         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7537         Don't leak refcounts on buffers.
7538
7539 2005-08-31  Wim Taymans  <wim@fluendo.com>
7540
7541         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7542         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7543         (gst_base_transform_chain), (gst_base_transform_change_state):
7544         * gst/base/gstbasetransform.h:
7545         Handle the case where we are not negotiated more gracefully.
7546
7547 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7548
7549         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7550         (gst_file_src_map_region):
7551           Set READONLY flag on mmap'ed buffers, otherwise
7552           gst_buffer_make_writable() won't work properly (#314708).
7553
7554 2005-08-31  Wim Taymans  <wim@fluendo.com>
7555
7556         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7557         passthrough elements can even do inplace on non writable
7558         buffers (as they don't touch them).
7559
7560 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7561
7562         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7563         (gst_test_mono_source_set_property),
7564         (gst_test_mono_source_class_init), (GST_START_TEST),
7565         (gst_controller_suite):
7566           more tests (hehe I have the most)
7567         * gst/gstbus.c:
7568           describe popping messages whenusing mulltiple sources
7569         * libs/gst/controller/gst-controller.c:
7570         (gst_controlled_property_set_interpolation_mode),
7571         (gst_controlled_property_new):
7572         * libs/gst/controller/gst-controller.h:
7573         * libs/gst/controller/gst-interpolation.c:
7574           implement boolean properties
7575
7576 2005-08-31  Wim Taymans  <wim@fluendo.com>
7577
7578         * gst/gstminiobject.c: (gst_mini_object_ref):
7579         Cannot assert that the refcount has to be positive
7580         since a disposed object can be resurrected.
7581
7582 2005-08-31  Wim Taymans  <wim@fluendo.com>
7583
7584         * gst/gstpad.c: (gst_pad_init):
7585         Revert change, need to first fix badly behaving 
7586         apps.
7587
7588 2005-08-30  Wim Taymans  <wim@fluendo.com>
7589
7590         * check/elements/fakesrc.c: (setup_fakesrc):
7591         * check/elements/identity.c: (setup_identity):
7592         Activate pads before using them.
7593
7594 2005-08-30  Wim Taymans  <wim@fluendo.com>
7595
7596         * gst/base/gstadapter.c: (gst_adapter_flush):
7597         Flushing out 0 bytes is ok for this function.
7598
7599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7600         no newsegment gives a warning and sets the start/stop to 
7601         invalid.
7602
7603         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7604         (gst_base_transform_set_passthrough):
7605         Some debug info.
7606
7607         * gst/gstminiobject.c: (gst_mini_object_ref):
7608         Check refcount here too.
7609
7610         * gst/gstpad.c: (gst_pad_init):
7611         Pads are initially flushing and refusing data.
7612
7613         * gst/gstutils.c: (gst_element_link_pads_filtered):
7614         When adding a capsfilter element make sure it has the
7615         same state as the parent bin.
7616
7617 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7618
7619         * docs/gst/tmpl/.cvsignore:
7620         * docs/gst/tmpl/gstformat.sgml:
7621         * docs/gst/tmpl/gstversion.sgml:
7622         * gst/gstbus.h:
7623         * gst/gstformat.c:
7624         * gst/gstformat.h:
7625         * gst/gstversion.h.in:
7626           more docs and two more inlined
7627
7628 2005-08-30  Wim Taymans  <wim@fluendo.com>
7629
7630         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7631         Don't sync to clock.
7632
7633 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7634
7635         * docs/gst/gstreamer-sections.txt:
7636           ultral33t func10ns deserve to appear in the docs actually
7637         * docs/gst/tmpl/.cvsignore:
7638         * docs/gst/tmpl/gstcompat.sgml:
7639         * docs/gst/tmpl/gstconfig.sgml:
7640         * gst/check/gstcheck.c:
7641         * gst/gstcompat.h:
7642         * gst/gstconfig.h.in:
7643           inlined more docs
7644
7645 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7646
7647         * docs/gst/tmpl/.cvsignore:
7648         * docs/gst/tmpl/gstquery.sgml:
7649         * docs/gst/tmpl/gstutils.sgml:
7650         * gst/gstquery.c:
7651         * gst/gstquery.h:
7652           inlined and extended docs
7653
7654 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7655
7656         * check/gst-libs/controller.c: (GST_START_TEST),
7657         (gst_controller_suite):
7658           more tests
7659         * docs/gst/tmpl/gstutils.sgml:
7660         * docs/libs/gstreamer-libs-sections.txt:
7661         * docs/libs/tmpl/gstdataprotocol.sgml:
7662           include path fixes
7663         * examples/controller/audio-example.c: (main):
7664           controller example works now
7665         * gst/gstclock.h:
7666           doc fixes
7667         * tools/gst-inspect.c: (print_element_properties_info):
7668           show param spec flags
7669
7670 2005-08-29  Andy Wingo  <wingo@pobox.com>
7671
7672         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7673
7674 2005-08-28  Andy Wingo  <wingo@pobox.com>
7675
7676         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7677         as having two arguments instead of just one. Allows superclasses
7678         to access information on subclasses -- see the terrible for() loop
7679         in gtype.c:g_type_create_instance for the reason why. All callers
7680         changed.
7681
7682 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7683
7684         * docs/design/part-messages.txt:
7685           update info
7686         * docs/gst/tmpl/.cvsignore:
7687         * docs/gst/tmpl/gstcaps.sgml:
7688         * docs/gst/tmpl/gstclock.sgml:
7689         * gst/gstbus.c:
7690         * gst/gstcaps.c:
7691         * gst/gstcaps.h:
7692         * gst/gstclock.c:
7693         * gst/gstclock.h:
7694         * gst/gstmessage.c:
7695           added descriptions for bus and message
7696           inline caps and clock docs
7697
7698 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7699
7700         * gst/gstmessage.c:
7701         * gst/gstmessage.h:
7702           doc fixes
7703
7704 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7705
7706         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7707           fix div-by-zero
7708
7709 2005-08-26  Andy Wingo  <wingo@pobox.com>
7710
7711         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7712         element_set_state's return val.
7713         (test_2_elements): Add test that's been disabled for months.
7714
7715         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7716         can-activate-pull properties.
7717
7718         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7719         can-activate-pull properties. Implement is_seekable so fakesrc can
7720         operate in pull mode.
7721
7722         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7723         properties.
7724         (gst_base_sink_activate, gst_base_sink_activate_pull)
7725         (gst_base_sink_activate_push): Make activation mode choosing work.
7726         Cleanups.
7727         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7728         is right. Make pull mode work. Post an eos before pausing in pull
7729         mode.
7730         (gst_base_sink_change_state): Pay attention to the core's
7731         change_state() return val.
7732         
7733         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7734         has-getrange properties. Cleanups.
7735         
7736         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7737         has_getrange and replace with can_activate_pull and
7738         can_activate_push.
7739
7740         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7741         locking comments. Remove has_loop, has_chain and replace with
7742         can_activate_pull and can_activate_push.
7743
7744 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7745
7746         * configure.ac:
7747         * examples/Makefile.am:
7748         * examples/metadata/Makefile.am:
7749         * examples/metadata/read-metadata.c: (message_loop),
7750         (have_pad_handler), (make_pipeline), (print_tag), (main):
7751           Add metadata reading example that loops over a list of filenames,
7752           dumping any tags found.
7753
7754         * gst/gstbus.c: (gst_bus_dispose):
7755         * gst/gstelement.c: (gst_element_dispose):
7756           Release a few potentially-held references in dispose.
7757
7758 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7759
7760         * docs/gst/tmpl/gstminiobject.sgml:
7761           do *not* add tmpl/*.sgml files to CVS!
7762
7763 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7764
7765         * libs/gst/bytestream/.cvsignore:
7766         * libs/gst/bytestream/Makefile.am:
7767         * libs/gst/bytestream/adapter.c:
7768         * libs/gst/bytestream/adapter.h:
7769         * libs/gst/bytestream/bytestream.c:
7770         * libs/gst/bytestream/bytestream.h:
7771         * libs/gst/bytestream/filepad.c:
7772         * libs/gst/bytestream/filepad.h:
7773           removing obsolete files
7774
7775 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7776
7777         * docs/gst/gstreamer-docs.sgml:
7778         * docs/libs/gstreamer-libs-docs.sgml:
7779           disabed additional index entries again, as this makes docs-gen just
7780           slow and they aren't useful yet
7781         * docs/libs/gstreamer-libs-sections.txt:
7782           little -section.txt cleanup for libs
7783
7784 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7785
7786         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7787         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7788           fix up some debugging
7789         (gst_base_transform_get_unit_size),
7790         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7791         (gst_base_transform_handle_buffer):
7792         * gst/base/gstbasetransform.h:
7793           handle and store timed NEWSEGMENT events so that subclasses that
7794           calculate time by counting samples have a segment_start time they
7795           need to add to their timestamps - see audioresample
7796
7797 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7798
7799         * gst/gstbin.h:
7800           removed ';' from the end of macro defs
7801         * docs/gst/gstreamer-docs.sgml:
7802         * docs/gst/gstreamer-sections.txt:
7803         * docs/gst/tmpl/.cvsignore:
7804         * gst/gstbus.h:
7805         * gst/gstelement.c: (gst_element_class_init),
7806         (gst_element_set_state), (activate_pads),
7807         (gst_element_save_thyself):
7808         * gst/gstevent.c: (gst_event_new_newsegment):
7809         * gst/gstevent.h:
7810         * gst/gstiterator.c:
7811         * gst/gstiterator.h:
7812         * gst/gstpad.c:
7813         * gst/gstprobe.h:
7814         * gst/gstutils.c: (gst_pad_query_convert):
7815         * gst/gstutils.h:
7816           fixed parameter name mismatches between source, header and docs
7817           added some more docs, resolved the last batch of unused elements in
7818           docs (now someone needs to doc them)
7819
7820 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7821
7822         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7823         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7824           don't walk through the plugins backwards.  Where is all this
7825           reversed logic coming from ?
7826
7827 2005-08-25  Wim Taymans  <wim@fluendo.com>
7828
7829         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7830         (gst_base_transform_transform_size),
7831         (gst_base_transform_configure_caps),
7832         (gst_base_transform_get_unit_size),
7833         (gst_base_transform_buffer_alloc),
7834         (gst_base_transform_change_state):
7835         * gst/base/gstbasetransform.h:
7836         Cache caps unit_size.
7837         Make sure we cannot negotiate up and downstream at the
7838         same time.
7839
7840 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7841
7842         * gst/gst.c: (init_pre), (init_post):
7843           register the installed plugin path after the env var
7844         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7845         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7846           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7847           directories, so the tests can prefer uninstalled over installed
7848
7849 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7850
7851         * gst/base/gstbasetransform.h:
7852           comment
7853         * gst/gstpad.c:
7854           add to docs
7855
7856 2005-08-25  Wim Taymans  <wim@fluendo.com>
7857
7858         * gst/gstbin.c: (bin_bus_handler):
7859         Be a bit more conservative about the posted message.
7860         
7861         * gst/gstbus.c: (gst_bus_post):
7862         Some cleanups, warn wrong return values.
7863
7864 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7865
7866         * check/gst/gstbin.c: (GST_START_TEST):
7867         * gst/gstbin.c: (bin_bus_handler):
7868         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7869         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7870         (gst_message_new_warning), (gst_message_new_tag),
7871         (gst_message_new_state_changed), (gst_message_new_segment_start),
7872         (gst_message_new_segment_done), (gst_message_new_custom):
7873         * gst/gstmessage.h:
7874         * tools/gst-launch.c: (event_loop):
7875         * tools/gst-md5sum.c: (event_loop):
7876           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7877
7878 2005-08-25  Wim Taymans  <wim@fluendo.com>
7879
7880         * check/generic/states.c: (GST_START_TEST):
7881         Cleanup can be done at the end.
7882
7883         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7884         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7885         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7886         Oh boy.. Thanks for finding this, Thomas. 
7887
7888 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7889
7890         * docs/gst/gstreamer.types:
7891           added missing types
7892
7893 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7894
7895         * docs/gst/gstreamer-docs.sgml:
7896         * docs/gst/gstreamer-sections.txt:
7897         * docs/gst/tmpl/.cvsignore:
7898         * gst/gstbin.c:
7899         * gst/gstiterator.c:
7900         * gst/gstutils.c:
7901         * gst/registries/gstxmlregistry.h:
7902           added missing classes and symbols (123 more to go)
7903           removed removed symbols from section file
7904           fixed many doc-comments
7905
7906 2005-08-24  Wim Taymans  <wim@fluendo.com>
7907
7908         * check/generic/states.c: (GST_START_TEST):
7909         Make sure all tasks are stopped.
7910
7911         * check/gst/gstbin.c: (GST_START_TEST):
7912         Unref after usage for proper valgrinding.
7913
7914         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7915         Really wait for the task to stop before destroying the
7916         mutex.
7917
7918         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7919         (gst_queue_src_activate_push):
7920         Small cleanups. Don't stop the task when we did not start
7921         it.
7922
7923         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7924         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7925         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7926         (gst_task_join):
7927         * gst/gsttask.h:
7928         Protect the stream lock with the object lock.
7929         Disallow setting the stream lock when running.
7930         Add cleanup_all to wait for the threadpool to finish.
7931         Remove code to autoallocate a mutex if none was provided.
7932         Add _join() to wait for a task to stop.
7933         Protect the thread pool with a global lock.
7934
7935 2005-08-24  Wim Taymans  <wim@fluendo.com>
7936
7937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7938         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7939         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7940         * gst/base/gstbasesink.h:
7941         Handle newsegment events correctly.
7942         Drop buffers out of the segment range.
7943
7944 2005-08-22  Andy Wingo  <wingo@pobox.com>
7945
7946         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7947         macro, implements an interface and gstimplementsinterface for a
7948         new type.
7949
7950 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7951
7952         * check/Makefile.am:
7953         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7954           add a test that does a bunch of state changes on elements
7955           needs some fixing for valgrind
7956         * check/states/sinks.c: (gst_object_suite):
7957           whitespace
7958         * gst/gstcaps.h:
7959           add prototype for gst_caps_is_equal_fixed
7960         * gst/gstplugin.c:
7961         * gst/gstregistrypool.c:
7962           doc fixes
7963
7964 2005-08-24  Andy Wingo  <wingo@pobox.com>
7965
7966         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7967         convert a negative value. Doesn't make much sense. Mostly this is
7968         here to force callers to ensure -1 maps to -1.
7969
7970 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7971
7972         * docs/pwg/advanced-types.xml:
7973           Well done to Michael for catching my deliberate introduction
7974           of this spelling mistake. 
7975         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7976         * gst/gstelement.h:
7977           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7978           unlink pads before removing the element from the bin.
7979
7980 2005-08-24  Andy Wingo  <wingo@pobox.com>
7981
7982         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7983         the same thing as GST_DEBUG=*:4.
7984         (parse_debug_level, parse_debug_category): New helper parsers.
7985
7986 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7987
7988         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7989         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7990         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7991         (gst_base_transform_buffer_alloc),
7992         (gst_base_transform_handle_buffer):
7993           use gboolean return values and pointers to size so we can use the
7994           full GST_BUFFER_SIZE range (guint) for buffer sizes
7995           use GstPadDirection for transform_caps
7996         * gst/base/gstbasetransform.h:
7997           rename get_size to get_unit_size since that's what it is
7998         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7999           use GstPadDirection for transform_caps
8000         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8001         * gst/gstutils.h:
8002           cleanup and debugging
8003
8004 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8005
8006         * gst/gstelement.c: (gst_element_class_init),
8007         (gst_element_set_state), (activate_pads),
8008         (gst_element_save_thyself):
8009         * tools/gst-compprep.c: (main):
8010         * tools/gst-inspect.c: (print_element_properties_info):
8011         * tools/gst-xmlinspect.c: (print_element_properties):
8012           Fixed long standing mem-leak
8013
8014 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8015
8016         * check/gst/gstbin.c: (GST_START_TEST):
8017         * gst/gstbin.c: (bin_bus_handler):
8018         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8019         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8020         (gst_message_new_warning), (gst_message_new_tag),
8021         (gst_message_new_state_changed), (gst_message_new_segment_start),
8022         (gst_message_new_segment_done), (gst_message_new_custom):
8023         * gst/gstmessage.h:
8024         * tools/gst-launch.c: (event_loop):
8025         * tools/gst-md5sum.c: (event_loop):
8026           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8027           that applications can sensibly post custom messages with references
8028           to their own objects.
8029
8030 2005-08-24  Andy Wingo  <wingo@pobox.com>
8031
8032         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8033         already.
8034
8035 2005-08-24  Wim Taymans  <wim@fluendo.com>
8036
8037         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8038         (gst_base_transform_transform_caps),
8039         (gst_base_transform_transform_size),
8040         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8041         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8042         (gst_base_transform_handle_buffer):
8043         * gst/base/gstbasetransform.h:
8044         Many fixes and new features added by Thomas. Can now also do
8045         transforms with variable sizes and a custom fixate_caps function.
8046
8047 2005-08-24  Wim Taymans  <wim@fluendo.com>
8048
8049         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8050         Some debugging.
8051
8052         * gst/gstclock.h:
8053         Cast to ClockTime before formatting to time.
8054
8055         * gst/gstutils.h:
8056         Cleanups.
8057
8058 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8059
8060         * check/gst-libs/controller.c: (GST_START_TEST),
8061         (gst_controller_suite):
8062         * docs/gst/tmpl/gstcaps.sgml:
8063         * docs/gst/tmpl/gstghostpad.sgml:
8064         * docs/gst/tmpl/gstquery.sgml:
8065         * docs/gst/tmpl/gstutils.sgml:
8066         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8067         (gst_object_sink_values), (gst_object_get_value_arrays),
8068         (gst_object_get_value_array):
8069           gracefully handle helper method calls to objects that are not beeing
8070           controlled, added test case for that          
8071
8072 2005-08-23  Wim Taymans  <wim@fluendo.com>
8073
8074         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8075         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8076         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8077         (gst_event_parse_qos), (gst_event_new_seek),
8078         (gst_event_parse_seek):
8079         * gst/gstevent.h:
8080         Some more debugging output and doc cleanups.
8081
8082         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8083         Fix possible deadlock.
8084
8085 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8086
8087         * docs/gst/gstreamer-docs.sgml:
8088         * docs/gst/gstreamer-sections.txt:
8089         * docs/gst/gstreamer.types:
8090         * docs/gst/tmpl/.cvsignore:
8091         * gst/gstbin.h:
8092         * gst/gstbus.c:
8093         * gst/gstelement.c:
8094         * gst/gstevent.h:
8095           added 100 symbols from gstreamer-unused.txt to the right sections
8096           fixed more broken comments
8097           added GstBus to docs
8098
8099 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8100
8101         * docs/gst/gstreamer-sections.txt:
8102         * docs/gst/tmpl/.cvsignore:
8103         * docs/gst/tmpl/gstbin.sgml:
8104         * docs/gst/tmpl/gstbuffer.sgml:
8105         * gst/base/gstbasesrc.c:
8106         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8107         * gst/gstbuffer.c:
8108         * gst/gstbuffer.h:
8109         * tools/gst-launch.1.in:
8110           inlined more doc comments, added missing comments and fixed comments
8111           fixed typos
8112
8113 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8114
8115         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8116           some debugging
8117         * gst/gstcaps.h:
8118           whitespace fixes
8119         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8120           more debugging
8121         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8122         * gst/gststructure.h:
8123           add a fixate function for booleans; add a FIXME that these func
8124           names should probably be gst_structure_fixate_*
8125
8126 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8127
8128         * docs/gst/gstreamer-docs.sgml:
8129         * docs/gst/gstreamer-sections.txt:
8130         * gst/Makefile.am:
8131         * gst/gstbin.c: (gst_bin_get_type),
8132         (gst_bin_child_proxy_get_child_by_index),
8133         (gst_bin_child_proxy_get_children_count),
8134         (gst_bin_child_proxy_init):
8135         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8136         (gst_child_proxy_get_child_by_index),
8137         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8138         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8139         (gst_child_proxy_get), (gst_child_proxy_set_property),
8140         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8141         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8142         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8143         * gst/gstchildproxy.h:
8144         * gst/parse/grammar.y:
8145         * tools/gst-inspect.c: (print_interfaces),
8146         (print_element_properties_info), (print_element_info):
8147           ported gstchildproxy over from 0.8
8148           ported gst-inspect fixes and enhancements over from 0.8
8149
8150 2005-08-22  Wim Taymans  <wim@fluendo.com>
8151
8152         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8153         (gst_base_transform_handle_buffer):
8154         Also call the transform function if we have ANY caps.
8155
8156         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8157         Fix debug info.
8158
8159 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8160
8161         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8162           Don't pretend to handle seek events if the source is not seekable
8163
8164 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8165
8166         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8167           Remove extra parameter to debug output
8168
8169         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8170         (gst_base_src_do_seek), (gst_base_src_activate_push):
8171           Fix seek event handling.
8172
8173         * gst/gstpipeline.c: (gst_pipeline_change_state):
8174         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8175         (gst_queue_src_activate_push):
8176           Don't start the src pad task on FLUSH_STOP if the pad
8177           isn't linked.
8178           Debug changes.
8179
8180 2005-08-22  Wim Taymans  <wim@fluendo.com>
8181
8182         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8183         Added check for gst_static_caps_get() refcounting.
8184
8185 2005-08-22  Wim Taymans  <wim@fluendo.com>
8186
8187         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8188         Make _static_caps_get() refcounting sane.
8189         
8190         * gst/gstelement.c: (gst_element_set_state):
8191         Add g_return_val_if_fail() to protect against segfaults.
8192
8193 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8194
8195         * docs/gst/tmpl/gstevent.sgml:
8196         * gst/gstevent.c:
8197         * gst/gstevent.h:
8198           inlined remaining docs, added missing doc comments
8199
8200 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8201
8202         * check/gst/gstbin.c: (GST_START_TEST):
8203           since we don't know when preroll is done, use refcount range
8204           check for the sink
8205         * gst/check/gstcheck.h:
8206           add macro for checking refcount range
8207
8208 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8209
8210         * check/Makefile.am:
8211           clean up environment for when registry gets built versus
8212           when actual tests are run; valgrind seems to not report
8213           leaks if GST_PLUGIN_PATH is set to some specific values
8214         * check/gst/gstbin.c: (GST_START_TEST):
8215           add more refcounting checks; maybe this exposes a
8216           preroll lock bug ?
8217         * common/check.mak:
8218         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8219         * gst/check/gstcheck.h:
8220         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8221         (gst_bin_change_state):
8222         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8223           add/fix debugging/whitespace
8224
8225 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8226
8227         * check/gst/gstevent.c: (event_probe), (test_event),
8228         (GST_START_TEST):
8229          Er, don't call gst_bin_watch_for_state_change you idiot.
8230
8231 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8232
8233         * check/Makefile.am:
8234           Use CHECK_CFLAGS and CHECK_LIBS
8235         * check/gst/gstevent.c: (event_probe), (test_event),
8236         (GST_START_TEST):
8237           Don't leak events.
8238         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8239         (gst_base_src_start), (gst_base_src_stop),
8240         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8241         (gst_base_src_change_state):
8242           Sprinkle gst_base_src_stop liberally around error paths to fix
8243           problems reusing a source after failed state changes.
8244         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8245         (helper_find_suggest), (gst_type_find_helper):
8246           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8247         * gst/gstevent.h:
8248         * docs/gst/tmpl/gstevent.sgml:
8249           Migrate part of the docs from the SGML file. Wait for ensonic to
8250           tell me how I did it wrong ;)
8251         * tools/gst-typefind.c: (main):
8252           Extra robustness to state changes between files.
8253
8254 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         * check/Makefile.am:
8257           don't valgrind the controller test - it's leaking - Stefan, HELP
8258         * gst/check/gstcheck.c: (gst_check_message_error),
8259         (gst_check_chain_func), (gst_check_setup_element),
8260         (gst_check_teardown_element), (gst_check_setup_src_pad),
8261         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8262         (gst_check_teardown_sink_pad):
8263         * gst/check/gstcheck.h:
8264           add a bunch of methods to set up elements, and src and sink pads
8265         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8266         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8267         (GST_START_TEST):
8268           use them
8269         * gst/gstmessage.c:
8270         * gst/gsttag.h:
8271           whitespace/doc fixes
8272
8273 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8274
8275         * gst/gstelement.h:
8276           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8277           be handled by the application and not always printed as well
8278
8279 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8280
8281         * check/Makefile.am:
8282           set GST_TOOLS_DIR
8283         * gst/check/gstcheck.c: (gst_check_message_error):
8284         * gst/check/gstcheck.h:
8285           add a fail_unless_equals_int
8286           add fail_unless for error messages
8287
8288 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8289
8290         * check/Makefile.am:
8291         * check/gst.supp:
8292         * common/Makefile.am:
8293         * common/check.mak:
8294         * common/gst.supp:
8295           factor out some of the common stuff so we can use it
8296
8297 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8298
8299         * check/Makefile.am:
8300         * check/gst/gstiterator.c: (GST_START_TEST):
8301         * check/gst/gstsystemclock.c: (GST_START_TEST),
8302         (gst_systemclock_suite):
8303         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8304         * gst/gstclock.c:
8305           valgrind more tests
8306
8307 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8308
8309         * check/elements/.cvsignore:
8310         * check/elements/gstfakesrc.c:
8311           rename to name of element
8312         * check/elements/identity.c: (chain_func), (event_func),
8313         (setup_identity), (cleanup_identity), (GST_START_TEST),
8314         (identity_suite), (main):
8315           add a test for identity
8316         * check/Makefile.am:
8317         * pkgconfig/Makefile.am:
8318         * pkgconfig/gstreamer-check.pc.in:
8319         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8320         * gst/check:
8321         * gst/Makefile.am:
8322         * configure.ac:
8323           move the check stuff to a library that gets installed
8324         * check/gst-libs/controller.c: (GST_START_TEST):
8325         * check/gst-libs/gdp.c:
8326         * check/gst/gst.c: (GST_START_TEST):
8327         * check/gst/gstbin.c:
8328         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8329         * check/gst/gstbus.c:
8330         * check/gst/gstcaps.c: (GST_START_TEST):
8331         * check/gst/gstelement.c:
8332         * check/gst/gstghostpad.c:
8333         * check/gst/gstiterator.c:
8334         * check/gst/gstmessage.c:
8335         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8336         * check/gst/gstobject.c:
8337         * check/gst/gstpad.c: (GST_START_TEST):
8338         * check/gst/gststructure.c: (GST_START_TEST):
8339         * check/gst/gstsystemclock.c: (GST_START_TEST),
8340         (gst_systemclock_suite):
8341         * check/gst/gsttag.c: (gst_tag_suite):
8342         * check/gst/gstvalue.c:
8343         * check/pipelines/cleanup.c:
8344         * check/pipelines/simple_launch_lines.c:
8345         * check/states/sinks.c:
8346           change include statement
8347
8348         * docs/gst/gstreamer-sections.txt:
8349         * docs/gst/tmpl/gstpad.sgml:
8350           document more pad stuff
8351         * gst/gstminiobject.c: (gst_mini_object_ref),
8352         (gst_mini_object_unref):
8353           debug refcounting
8354
8355 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8356
8357         * docs/gst/tmpl/gst.sgml:
8358         * gst/gst.c:
8359           eliminate another tmpl file, fix spelling in the long-description
8360
8361 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8362
8363         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8364         (test_event), (timediff), (gstevents_suite):
8365           Should fix build on 64-bit arch's
8366
8367 2005-08-18  Andy Wingo  <wingo@pobox.com>
8368
8369         Make sure that when a pipeline goes to PLAYING, that data has
8370         actually hit the sink.
8371
8372         * check/states/sinks.c (test_sink): A sink that doesn't get any
8373         data shouldn't return SUCCESS for going to either PLAYING or
8374         PAUSED. Test also the return values on the way back down.
8375
8376         * gst/gstelement.c (gst_element_set_state): When changing the
8377         state of an element currently changing state asynchronously, go to
8378         lost-state after commiting the pending state. Makes future calls
8379         to get_state continue to return ASYNC.
8380
8381         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8382         ASYNC when going to PLAYING if we still don't have preroll, as can
8383         happen with live sources.
8384
8385 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8386
8387         * docs/pwg/advanced-types.xml:
8388           Hack long paragraph into 2 chunks as a workaround for buggy
8389           jadetex version in sid and breezy that loops infinitely and
8390           eats all RAM.
8391
8392 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8393
8394         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8395         (test_event), (timediff), (gstevents_suite):
8396           Provide more error margin in clock measurements to allow for 
8397           g_get_current_time inaccuracies.
8398
8399 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8400
8401         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8402         (test_event), (timediff), (gstevents_suite):
8403            Fix error message output so I might be able to tell why the
8404            test works here but fails on the build farm.
8405
8406 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8407
8408         * check/Makefile.am:
8409         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8410         (test_event), (timediff), (gstevents_suite), (main):
8411           I wrote a test!
8412
8413         * docs/design/part-seeking.txt:
8414           Spelling correction
8415
8416         * docs/gst/tmpl/gstevent.sgml:
8417         * docs/gst/tmpl/gstfakesrc.sgml:
8418           Docs updates.
8419
8420         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8421           Treat a buffer-without-newsegment the same as a receiving 
8422           a newsegment not in time format, and disable syncing to the clock
8423           with a warning.
8424
8425         * gst/gstbus.c: (gst_bus_set_sync_handler):
8426           Assert if anyone tries to replace the existing sync_handler for bus, 
8427           as only the owner should be setting it.
8428
8429         * gst/gstevent.h:
8430           Have a fixed set of custom event enums with events identified by
8431           their structure name (as in 0.8), rather than a free-for-all
8432           allowing collisions between enum values from different plugins.
8433
8434         * gst/gstpad.c: (gst_pad_class_init):
8435           Docs change.
8436           
8437         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8438           Handle out-of-band downstream events from the sending thread.
8439
8440 2005-08-17  Andy Wingo  <wingo@pobox.com>
8441
8442         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8443         play-timeout==0 to mean no timeout at all. In that case, don't
8444         bother with a get_state or a warning, just return directly, even
8445         if it's ASYNC.
8446
8447         * gst/base/gstbasetransform.c: Debug changes.
8448
8449         * gst/gstutils.h:
8450         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8451         ensure bins post state change messages. A bit of a hack but I can't
8452         think of a way to avoid it.
8453
8454         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8455
8456 2005-08-16  Andy Wingo  <wingo@pobox.com>
8457
8458         * gst/base/gstadapter.h:
8459         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8460         peek() but you own the data. Not terribly efficient atm.
8461
8462 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8463
8464         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8465         (gst_element_found_tags):
8466         * gst/gstutils.h:
8467           Add two utility functions for tag handling.
8468
8469 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8470
8471         * docs/manual/advanced-dataaccess.xml:
8472         * docs/manual/basics-helloworld.xml:
8473           Fix docs to use _bin_add() before _link(), which fixes the examples
8474           with recent core versions (reported by Madhan Raj M
8475           <raj_madan@rediffmail.com>, #313199).
8476
8477 2005-08-16  Wim Taymans  <wim@fluendo.com>
8478
8479         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8480         Added subtract checks.
8481
8482         * docs/design/part-events.txt:
8483         Some more docs about newsegment
8484
8485         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8486         Fix FIXME
8487
8488         * gst/gstcaps.c: (gst_caps_to_string):
8489         Add comments, cleanups.
8490         
8491         * gst/gstelement.c: (gst_element_save_thyself):
8492         cleanups
8493         
8494         * gst/gstvalue.c: (gst_value_collect_int_range),
8495         (gst_string_unwrap), (gst_value_union_int_int_range),
8496         (gst_value_union_int_range_int_range),
8497         (gst_value_intersect_int_int_range),
8498         (gst_value_intersect_int_range_int_range),
8499         (gst_value_intersect_double_double_range),
8500         (gst_value_intersect_double_range_double_range),
8501         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8502         (gst_value_subtract_int_range_int),
8503         (gst_value_subtract_double_range_double),
8504         (gst_value_subtract_double_range_double_range),
8505         (gst_value_subtract_from_list), (gst_value_subtract_list),
8506         (gst_value_can_compare), (gst_value_compare_fraction):
8507         Cleanups, add comments, remove unneeded asserts.
8508
8509 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8510
8511         * tools/gst-launch.c: (event_loop):
8512           don't convert NULL structures to strings
8513
8514 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8515
8516         * docs/gst/gstreamer-sections.txt:
8517           made some defines private
8518         * docs/gst/tmpl/gstconfig.sgml:
8519         * docs/gst/tmpl/gstqueue.sgml:
8520         * docs/gst/tmpl/gsttaglist.sgml:
8521         * docs/gst/tmpl/gsttypes.sgml:
8522         * docs/gst/tmpl/gstutils.sgml:
8523         * docs/pwg/appendix-porting.xml:
8524         * gst/base/gstbasesink.h:
8525         * gst/base/gstbasesrc.c:
8526         * gst/base/gstbasesrc.h:
8527         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8528         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8529         * gst/gstelement.c: (gst_element_class_init):
8530         * gst/gstpad.c: (gst_pad_class_init):
8531         * gst/gstqueue.c: (gst_queue_class_init):
8532         * gst/gstxml.c: (gst_xml_class_init):
8533           documented all undocumented signal inline
8534         * libs/gst/controller/gst-controller.h:
8535           added padding
8536
8537 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8538
8539         * docs/pwg/appendix-porting.xml:
8540           Document _set_link_function -> _set_setcaps_function.
8541
8542 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8543
8544         * check/Makefile.am:
8545           add a .check target for running the check
8546         * check/gst-libs/controller.c: (GST_START_TEST):
8547           cosmetic fixups
8548         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8549           complete checks for gstbuffer; would be nice if I could get the
8550           gcov stuff to work so I can see if I actually completed gstbuffer.c
8551         * check/gstcheck.h:
8552           add ASSERT_BUFFER_REFCOUNT
8553
8554 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8555
8556         * docs/gst/gstreamer-sections.txt:
8557         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8558         * gst/gsttag.h:
8559           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8560           spew out a warning if a tag that is already registered
8561           is re-registered, unless it is re-registered with a 
8562           different type (#308438).
8563
8564 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8565
8566         * docs/pwg/appendix-porting.xml:
8567         * docs/pwg/building-state.xml:
8568           Add some paragraphs about state changes in 0.9 to the PWG
8569           and the porting guide, in particular about the new meaning
8570           of GST_STATE_PAUSED and how to write state change functions
8571           with concurrent access by multiple threads in mind.
8572
8573 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8574
8575         * docs/gst/gstreamer-docs.sgml:
8576         * docs/libs/gstreamer-libs-docs.sgml:
8577           added deprecation and since indexes
8578         * libs/gst/controller/gst-controller.c:
8579         * libs/gst/controller/gst-helper.c:
8580           added since tags
8581
8582
8583 2005-08-11  Wim Taymans  <wim@fluendo.com>
8584
8585         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8586         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8587         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8588         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8589         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8590         (gst_ghost_pad_set_target):
8591         Actually implement (re)setting the target on a ghostpad
8592         as described in the docs.
8593
8594 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8595
8596         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8597           Check whether GST_DEBUG_NO_COLOR environment variable is
8598           set and disable coloured debug output if that is the case.
8599
8600 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8601
8602         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8603         (gst_type_find_helper):
8604           The memory returned by gst_type_find_peek() needs to
8605           stay valid until the end of a typefind function, and
8606           typefind functions may keep results from different 
8607           offsets around, so we can't just unref the buffer from
8608           the previous _peek(), but have to save all buffers 
8609           returned by _peek() until typefinding is done and only
8610           free them then.
8611
8612 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8613
8614         * docs/gst/gstreamer-sections.txt:
8615         * gst/gstutils.h:
8616           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8617
8618 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8619
8620         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8621           Fix a pretty good memleak.
8622
8623 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8624
8625         * gst/gstiterator.h:
8626           Fix wrong include and 'make distcheck'.
8627
8628 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8629
8630         * gst/gstbin.c: (bin_bus_handler):
8631           Use gst_element_post_message() instead.
8632
8633 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8634
8635         * gst/base/gstadapter.h:
8636         * gst/base/gstbasesink.h:
8637         * gst/base/gstbasesrc.h:
8638         * gst/base/gstbasetransform.h:
8639         * gst/base/gstcollectpads.h:
8640         * gst/base/gstpushsrc.h:
8641         * gst/gstiterator.h:
8642           Add padding to our base elements' class and instance structs and
8643           to GstIterator (you will need to rebuild all plugins and apps!)
8644
8645 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8646
8647         * gst/gstbin.c: (bin_bus_handler):
8648           Make default message forwarding from child->bus to bin->bus
8649           threadsafe and make it not emit warnings if the parent has no bus.
8650
8651 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8652
8653         * gst/gstelement.c: (activate_pads):
8654           On paused->ready, set pad->caps to NULL, as is the documented
8655           behaviour in this state change. Fixes playback of series of
8656           media files when visualization is enabled in Totem.
8657
8658 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8659
8660         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8661           Allow NULL as filter-caps (which means "any").
8662
8663 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8664
8665         * docs/libs/gstreamer-libs-sections.txt:
8666         * libs/gst/controller/gst-controller.c:
8667         * libs/gst/controller/gst-controller.h:
8668         * libs/gst/controller/gst-helper.c:
8669           adding more entries to the docs and fix small doc-bugs
8670
8671 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8672
8673         * docs/gst/gstreamer-docs.sgml:
8674         * docs/gst/gstreamer-sections.txt:
8675         * docs/gst/gstreamer.types:
8676         * docs/gst/tmpl/gstbasesink.sgml:
8677         * docs/gst/tmpl/gstbasesrc.sgml:
8678         * docs/gst/tmpl/gstbasetransform.sgml:
8679         * docs/gst/tmpl/gstfakesrc.sgml:
8680         * gst/base/gstcollectpads.c:
8681         * gst/base/gstcollectpads.h:
8682         * libs/gst/controller/gst-controller.c:
8683         * libs/gst/controller/gst-controller.h:
8684         * libs/gst/controller/gst-helper.c:
8685         * libs/gst/controller/gst-interpolation.c:
8686         * libs/gst/controller/lib.c:
8687           added long/short desc for controller docs
8688           added collectpads base class docs
8689           added correct includes to base-class docs
8690
8691 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8692
8693         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8694         (gst_test_mono_source_set_property),
8695         (gst_test_mono_source_class_init), (GST_START_TEST),
8696         (gst_controller_suite):
8697         * docs/gst/gstreamer-docs.sgml:
8698         * docs/gst/gstreamer-sections.txt:
8699         * docs/gst/gstreamer.types:
8700         * docs/libs/gstreamer-libs-docs.sgml:
8701         * docs/libs/gstreamer-libs-sections.txt:
8702         * gst/base/gstadapter.c:
8703         * libs/gst/controller/gst-controller.c:
8704         (gst_controlled_property_new), (gst_controlled_property_free),
8705         (gst_controller_new_valist),
8706         (gst_controller_remove_properties_valist),
8707         (gst_controller_sink_values), (_gst_controller_finalize):
8708         * libs/gst/controller/gst-controller.h:
8709         * libs/gst/controller/gst-helper.c:
8710         (gst_object_control_properties), (gst_object_uncontrol_properties),
8711         (gst_object_get_controller), (gst_object_set_controller),
8712         (gst_object_sink_values), (gst_object_get_value_arrays),
8713         (gst_object_get_value_array):
8714           more tests (and fixes) for the controller
8715           more docs for the controller
8716           integrated companies docs for the adapter 
8717
8718 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8719
8720         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8721         (GST_START_TEST), (fakesrc_suite):
8722           add tests for sizetype
8723
8724 2005-08-04  Andy Wingo  <wingo@pobox.com>
8725
8726         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8727         fixes buffer_alloc proxying among other things.
8728
8729         * gst/base/gstbasetransform.c:
8730         * gst/base/gstbasetransform.h:
8731         Revert patch to gstbasetransform from 7-28 removing
8732         delay_configure.
8733
8734         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8735         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8736         Semantics changed, should return not the size of the output buffer
8737         but the byte size of a buffer with a given caps.
8738
8739         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8740         debug object.
8741         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8742         out) are not the pad caps until setcaps finishes.
8743         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8744         not-in-place case as well. Deal with changing from in-place to
8745         not-in-place within calling pad_alloc_buffer. Still a bit
8746         concerned about the overhead here...
8747
8748 2005-08-03  Andy Wingo  <wingo@pobox.com>
8749
8750         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8751         fixating is an error.
8752
8753 2005-08-04  Edward Hervey  <edward@fluendo.com>
8754
8755         * gst/base/gstadapter.h: 
8756         Added gst_adapter_get_type() to the header
8757
8758 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8759
8760         * check/Makefile.am:
8761         * check/gst-libs/controller.c:
8762         * libs/gst/controller/gst-controller.c:
8763         (gst_controller_new_valist):
8764           added check test suite for the controller
8765         * gst/base/gstpushsrc.c:
8766           fixed a doc typo
8767
8768 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8769
8770         * docs/gst/Makefile.am:
8771         * docs/gst/gstreamer-docs.sgml:
8772         * docs/gst/gstreamer-sections.txt:
8773         * docs/gst/gstreamer.types:
8774         * docs/gst/tmpl/gstfakesrc.sgml:
8775         * gst/base/README:
8776         * gst/base/gstbasesink.c:
8777         * gst/base/gstbasesink.h:
8778         * gst/base/gstbasesrc.c:
8779         * gst/base/gstbasesrc.h:
8780         * gst/base/gstbasetransform.c:
8781         * gst/base/gstpushsrc.c:
8782         * gst/base/gstpushsrc.h:
8783           add short/long description docs to base classes
8784           add pushsrc to the docs
8785           remove consolidated doc fragments
8786
8787 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8788
8789         * configure.ac:
8790         * docs/libs/Makefile.am:
8791         * docs/libs/gstreamer-libs-docs.sgml:
8792         * docs/libs/gstreamer-libs-sections.txt:
8793         * docs/libs/gstreamer-libs.types:
8794         * examples/Makefile.am:
8795         * examples/controller/.cvsignore:
8796         * examples/controller/Makefile.am:
8797         * examples/controller/audio-example.c: (main):
8798         * libs/gst/Makefile.am:
8799         * libs/gst/controller/.cvsignore:
8800         * libs/gst/controller/Makefile.am:
8801         * libs/gst/controller/gst-controller.c:
8802         (on_object_controlled_property_changed), (gst_timed_value_compare),
8803         (gst_timed_value_find),
8804         (gst_controlled_property_set_interpolation_mode),
8805         (gst_controlled_property_new), (gst_controlled_property_free),
8806         (gst_controller_find_controlled_property),
8807         (gst_controller_new_valist), (gst_controller_new),
8808         (gst_controller_remove_properties_valist),
8809         (gst_controller_remove_properties), (gst_controller_set),
8810         (gst_controller_set_from_list), (gst_controller_unset),
8811         (gst_controller_get), (gst_controller_get_all),
8812         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8813         (gst_controller_get_value_array),
8814         (gst_controller_set_interpolation_mode),
8815         (_gst_controller_finalize), (_gst_controller_init),
8816         (_gst_controller_class_init), (gst_controller_get_type):
8817         * libs/gst/controller/gst-controller.h:
8818         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8819         (g_object_uncontrol_properties), (g_object_get_controller),
8820         (g_object_set_controller), (g_object_sink_values),
8821         (g_object_get_value_arrays), (g_object_get_value_array):
8822         * libs/gst/controller/gst-interpolation.c:
8823         (gst_controlled_property_find_timed_value_node),
8824         (interpolate_none_get), (interpolate_trigger_get),
8825         (interpolate_trigger_get_value_array):
8826         * libs/gst/controller/lib.c: (gst_controller_init):
8827         * pkgconfig/Makefile.am:
8828         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8829         * pkgconfig/gstreamer-control.pc.in:
8830         * testsuite/Makefile.am:
8831         * testsuite/controller/.cvsignore:
8832         * testsuite/controller/Makefile.am:
8833         * testsuite/controller/interpolator.c: (main):
8834           added controller code
8835           removed dparam pc files
8836
8837 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8838         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8839         (gst_collectpads_stop):
8840           Broadcast the condition when shutting down, to make sure we wake all
8841           threads up. Shut down pads on finalize, for safety.
8842
8843 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8844         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8845         (gst_base_transform_handle_buffer),
8846         (gst_base_transform_change_state):
8847           Handle PAUSED->READY->PAUSED transition after negotiation
8848           occurred already.
8849         * gst/gstmessage.c: (gst_message_init):
8850           Extra piece of debug for new messages.
8851
8852 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8853
8854         * configure.ac:
8855         * docs/gst/tmpl/gstbasesrc.sgml:
8856         * docs/gst/tmpl/gstelement.sgml:
8857         * docs/gst/tmpl/gstevent.sgml:
8858         * docs/gst/tmpl/gstfakesrc.sgml:
8859         * docs/gst/tmpl/gstformat.sgml:
8860         * docs/gst/tmpl/gstghostpad.sgml:
8861         * docs/gst/tmpl/gstpad.sgml:
8862         * docs/gst/tmpl/gstquery.sgml:
8863         * docs/gst/tmpl/gststructure.sgml:
8864         * docs/gst/tmpl/gsttaglist.sgml:
8865         * docs/gst/tmpl/gstvalue.sgml:
8866         * docs/libs/gstreamer-libs-docs.sgml:
8867         * docs/libs/gstreamer-libs-sections.txt:
8868         * docs/libs/gstreamer-libs.types:
8869         * libs/gst/Makefile.am:
8870         * libs/gst/control/.cvsignore:
8871         * libs/gst/control/Makefile.am:
8872         * libs/gst/control/control.c:
8873         * libs/gst/control/control.h:
8874         * libs/gst/control/dparam.c:
8875         * libs/gst/control/dparam.h:
8876         * libs/gst/control/dparam_smooth.c:
8877         * libs/gst/control/dparam_smooth.h:
8878         * libs/gst/control/dparamcommon.h:
8879         * libs/gst/control/dparammanager.c:
8880         * libs/gst/control/dparammanager.h:
8881         * libs/gst/control/dplinearinterp.c:
8882         * libs/gst/control/dplinearinterp.h:
8883         * libs/gst/control/unitconvert.c:
8884         * libs/gst/control/unitconvert.h:
8885         * testsuite/Makefile.am:
8886         * testsuite/dynparams/.cvsignore:
8887         * testsuite/dynparams/Makefile.am:
8888         * testsuite/dynparams/dparamstest.c:
8889         * tools/Makefile.am:
8890         * tools/gst-inspect.c: (print_element_info), (main):
8891         * tools/gst-xmlinspect.c: (print_element_info), (main):
8892           deactivate and remove dparams (libgstcontrol)
8893
8894 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8895
8896         * gst/elements/gsttypefindelement.c:
8897         (gst_type_find_element_have_type), (gst_type_find_element_init),
8898         (stop_typefinding), (gst_type_find_element_handle_event),
8899         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8900         * gst/elements/gsttypefindelement.h:
8901           Set caps on all outgoing buffers, not just the first one.
8902
8903 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8904
8905         * gst/elements/gsttypefindelement.c:
8906         (gst_type_find_element_have_type),
8907         (gst_type_find_element_check_set_buffer_caps),
8908         (gst_type_find_element_init), (stop_typefinding),
8909         (gst_type_find_element_handle_event),
8910         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8911         * gst/elements/gsttypefindelement.h:
8912           Set caps on first outgoing buffer when we've found the type.
8913
8914 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8915
8916         * docs/gst/gstreamer-docs.sgml:
8917         * docs/gst/gstreamer-sections.txt:
8918         * docs/gst/tmpl/gstscheduler.sgml:
8919         * docs/gst/tmpl/gstschedulerfactory.sgml:
8920           Remove some old cruft from docs.
8921
8922 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8923
8924         * gst/gstpad.h:
8925           Fix inline docs for GstPadLinkReturn.
8926           
8927         * gst/gststructure.c: (gst_structure_has_name):
8928         * gst/gststructure.h:
8929         * docs/gst/gstreamer-sections.txt:
8930           New API: gst_structure_has_name().
8931
8932 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8933
8934         * configure.ac:
8935           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8936           and _LARGEFILE_SOURCE in config.h as required. Do not 
8937           export those flags in our .pc files any longer (#142209).
8938
8939           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8940
8941         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8942         (gst_file_sink_do_seek), (gst_file_sink_event),
8943         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8944           Redo seek/tell calls with large file support in mind; add some
8945           debugging messages; add log message that tells us when large
8946           file support is unavailable or not enabled for some reason.
8947
8948         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8949           Add log message that tells us when large file support 
8950           is unavailable or not enabled for some reason.
8951
8952 2005-07-29  Wim Taymans  <wim@fluendo.com>
8953
8954         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8955         Added test for removing an element with ghostpad from a bin.
8956         Fixed test as current implementation does the right thing.
8957
8958         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8959         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8960         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8961         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8962         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8963         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8964         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8965         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8966         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8967         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8968         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8969         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8970         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8971         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8972         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8973         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8974         * gst/gstghostpad.h:
8975         Clean up ghostpads, remove properties for internal stuff.
8976         Make threadsafe.
8977         Fix refcounting.
8978         Prepare for switching targets, not all use cases work yet.
8979
8980 2005-07-29  Wim Taymans  <wim@fluendo.com>
8981
8982         * docs/design/part-gstghostpad.txt:
8983         Small update.
8984
8985         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8986         (gst_bin_remove_func):
8987         Unlinking pads while holding the bin LOCK is not a good
8988         idea.
8989
8990         * gst/gstpad.c: (gst_pad_class_init),
8991         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8992         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8993         No prob setting template after creating the pad.
8994
8995 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8996
8997         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8998         (gst_bus_peek), (gst_bus_source_dispatch),
8999         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
9000         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
9001           gst_bus_poll may be called from other threads. Handle
9002           this nicely by not making poll_data disappear off the
9003           stack once gst_bus_poll returns.
9004           gst_bus_peek now increments the refcount on the returned
9005           message.
9006
9007 2005-07-29  Wim Taymans  <wim@fluendo.com>
9008
9009         * docs/design/part-gstghostpad.txt:
9010         Overview of current GhostPad datastructures and use
9011         cases for changing the target.
9012
9013 2005-07-28  Wim Taymans  <wim@fluendo.com>
9014
9015         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9016         Added checks for hierarchy consistency whan adding linked
9017         elements to bins.
9018
9019         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9020         Added check to test element scheduling without bin/pipeline.
9021
9022         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9023         First add elements to bin, then link.
9024         
9025         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9026         (gst_bin_remove_func):
9027         Unlink pads from elements added/removed from bin to maintain
9028         hierarchy consistency.
9029
9030 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9031
9032         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9033         (gst_base_transform_handle_buffer):
9034         * gst/base/gstbasetransform.h:
9035           Remove broken delay_configure (fixes renegotiation of software
9036           scaling pipelines); remove some leftover printf()s.
9037
9038 2005-07-28  Wim Taymans  <wim@fluendo.com>
9039
9040         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9041         Added some more tests for wrong hierarchy
9042
9043         * docs/design/part-overview.txt:
9044         Some updates.
9045
9046         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9047         Cleanups.
9048
9049         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9050         (gst_element_dispose):
9051         Some more cleanups.
9052
9053         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9054         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9055         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9056         (gst_pad_set_caps), (gst_pad_send_event):
9057         Check for correct hierarchy when linking pads. Moving to
9058         strict requirement for ghostpads when linking elements in
9059         different bins.
9060
9061         * gst/gstpad.h:
9062         Clean ups. Added WRONG_HIERARCHY return value.
9063
9064 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9065
9066         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9067           Better debug if no transform is possible.
9068
9069 2005-07-27  Wim Taymans  <wim@fluendo.com>
9070
9071         * docs/random/wtay/network-transp:
9072         Some old doc I had.
9073
9074 2005-07-27  Wim Taymans  <wim@fluendo.com>
9075
9076         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9077         (gst_dp_event_from_packet):
9078         Fix serialization of seek events.
9079
9080 2005-07-27  Wim Taymans  <wim@fluendo.com>
9081
9082         * check/gst-libs/gdp.c: (GST_START_TEST):
9083         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9084         Fix compilation and fix event serialization.
9085
9086 2005-07-27  Wim Taymans  <wim@fluendo.com>
9087
9088         * CHANGES-0.9:
9089         * docs/design/part-TODO.txt:
9090         * docs/design/part-events.txt:
9091         Some docs updates
9092
9093         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9094         (gst_base_sink_event), (gst_base_sink_do_sync),
9095         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9096         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9097         (gst_base_src_do_seek), (gst_base_src_event_handler),
9098         (gst_base_src_loop):
9099         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9100         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9101         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9102         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9103         (gst_base_transform_set_passthrough),
9104         (gst_base_transform_is_passthrough):
9105         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9106         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9107         Event updates.
9108
9109         * gst/gstbuffer.h:
9110         Use faster casts.
9111
9112         * gst/gstelement.c: (gst_element_seek):
9113         * gst/gstelement.h:
9114         Update gst_element_seek.
9115
9116         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9117         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9118         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9119         (gst_event_new_eos), (gst_event_new_newsegment),
9120         (gst_event_parse_newsegment), (gst_event_new_tag),
9121         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9122         (gst_event_parse_qos), (gst_event_new_seek),
9123         (gst_event_parse_seek), (gst_event_new_navigation):
9124         * gst/gstevent.h:
9125         Make GstEvent use GstStructure. Add parsing code, make sure the
9126         API is sufficiently generic.
9127         Mark possible directions of events and serialization.
9128
9129         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9130         (_gst_message_copy), (gst_message_new_segment_start),
9131         (gst_message_new_segment_done), (gst_message_new_custom),
9132         (gst_message_parse_segment_start),
9133         (gst_message_parse_segment_done):
9134         Small cleanups.
9135
9136         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9137         (gst_pad_set_caps), (gst_pad_send_event):
9138         Update for new events. 
9139         Catch events sent in wrong directions.
9140
9141         * gst/gstqueue.c: (gst_queue_link_src),
9142         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9143         (gst_queue_handle_src_query):
9144         Event updates.
9145
9146         * gst/gsttag.c:
9147         * gst/gsttag.h:
9148         Remove event code from this file.
9149
9150         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9151         (gst_dp_event_from_packet):
9152         Event updates.
9153
9154 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9155
9156         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9157         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9158         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9159           Make debugging actually useful.
9160
9161 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9162
9163         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9164         (gst_pad_fixate_caps):
9165           Implement default fixation once again, so that gst_pad_fixate()
9166           actually does anything at all. This probably needs to be some
9167           sort of a last resort, and use profile-based fixation first, but
9168           since that doesn't exist yet, this is the best we have. Fixes
9169           visualization in Totem.
9170
9171 2005-07-22  Wim Taymans  <wim@fluendo.com>
9172
9173         * docs/design/part-events.txt:
9174         Small update.
9175
9176         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9177         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9178         (gst_base_sink_activate_pull):
9179         Some more comments.
9180
9181         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9182         (gst_fake_src_create):
9183         Fix handoff marshall.
9184
9185         * gst/elements/gstidentity.c: (gst_identity_class_init),
9186         (gst_identity_transform_ip):
9187         We're a real inplace element.
9188
9189         * gst/gstbus.c: (gst_bus_post):
9190         Added some comments.
9191
9192         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9193         * tests/muxing/case1.c: (main):
9194         * tests/sched/dynamic-pipeline.c: (main):
9195         * tests/sched/interrupt1.c: (main):
9196         * tests/sched/interrupt2.c: (main):
9197         * tests/sched/interrupt3.c: (main):
9198         * tests/sched/runxml.c: (main):
9199         * tests/sched/sched-stress.c: (main):
9200         * tests/seeking/seeking1.c: (event_received), (main):
9201         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9202         (main):
9203         * tests/threadstate/threadstate3.c: (main):
9204         * tests/threadstate/threadstate4.c: (main):
9205         * tests/threadstate/threadstate5.c: (main):
9206         Fix the tests.
9207
9208 2005-07-21  Wim Taymans  <wim@fluendo.com>
9209
9210         * docs/design/part-seeking.txt:
9211         Some small additions.
9212
9213         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9214         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9215         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9216         * gst/base/gstbasesink.h:
9217         discont values are gint64, handle the math correctly.
9218
9219         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9220         Make the basesrc report error if the source pad is not linked.
9221
9222         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9223         (gst_queue_loop), (gst_queue_handle_src_query),
9224         (gst_queue_src_activate_push):
9225         Make queue collect data even if the srcpad is not linked.
9226         Start pushing out data as soon as it is linked.
9227
9228         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9229         * gst/gstutils.h:
9230         Added gst_flow_get_name() to ease error reporting.
9231
9232 2005-07-20  Wim Taymans  <wim@fluendo.com>
9233
9234         * gst/gstmessage.c: (gst_message_new_segment_start),
9235         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9236         (gst_message_parse_segment_done):
9237         * gst/gstmessage.h:
9238         Added a bunch of messages for advanced seeking.
9239
9240         * gst/parse/grammar.y:
9241         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9242         (gst_dpman_state_changed):
9243         Fix some new-pad -> pad-added signals
9244
9245 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9246
9247         * docs/manual/appendix-porting.xml:
9248         * docs/pwg/appendix-porting.xml:
9249           Document new-pad/state-change signal renames and the FixedList
9250           type rename.
9251
9252 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9253
9254         * docs/manual/advanced-autoplugging.xml:
9255         * docs/manual/basics-helloworld.xml:
9256         * docs/manual/basics-pads.xml:
9257         * docs/random/ds/0.9-suggested-changes:
9258         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9259         * gst/gstelement.h:
9260         * gst/gstevent.h:
9261         * gst/gstformat.h:
9262         * gst/gstquery.h:
9263         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9264         (gst_structure_parse_array), (gst_structure_parse_value):
9265         * gst/gstvalue.c: (gst_type_is_fixed),
9266         (gst_value_list_prepend_value), (gst_value_list_append_value),
9267         (gst_value_list_get_size), (gst_value_list_get_value),
9268         (gst_value_transform_array_string), (gst_value_serialize_array),
9269         (gst_value_deserialize_array), (gst_value_intersect_array),
9270         (gst_value_is_fixed), (_gst_value_initialize):
9271         * gst/gstvalue.h:
9272           GstElement::new-pad -> pad-added, GstElement::state-change ->
9273           state-changed, GstValueFixedList -> GstValueArray, add format and
9274           flags as their own arguments in gst_element_seek() (should improve
9275           "bindeability"), remove function generators since they don't work
9276           under a whole bunch of compilers (they were deprecated already
9277           anyway).
9278
9279 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9280
9281         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9282         (_gst_debug_register_funcptr):
9283         * gst/gstinfo.h:
9284           Fix illegal cast on some platforms (#309253).
9285
9286 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9287
9288         * gst/gstmessage.c: (gst_message_new_custom):
9289         * gst/gstmessage.h:
9290           Add _new_custom, make _new_application a macro to _new_custom.
9291
9292 2005-07-20  Wim Taymans  <wim@fluendo.com>
9293
9294         * gst/base/gstbasesrc.c: (gst_base_src_init),
9295         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9296         * gst/base/gstbasesrc.h:
9297         Add a gboolean to decide when to push out a discont.
9298
9299         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9300         (gst_queue_loop), (gst_queue_handle_src_query),
9301         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9302         (gst_queue_set_property), (gst_queue_get_property):
9303         Some cleanups.
9304
9305         * tests/threadstate/threadstate1.c: (main):
9306         Make a thread test compile and run... very silly..
9307
9308
9309 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9310
9311         * docs/manual/appendix-porting.xml:
9312           Mention removal of libgstgconf-0.9.la and existence of gconf
9313           elements.
9314
9315 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9316
9317         * docs/pwg/advanced-clock.xml:
9318         * docs/pwg/appendix-porting.xml:
9319         * docs/pwg/intro-preface.xml:
9320         * docs/pwg/other-base.xml:
9321         * docs/pwg/other-manager.xml:
9322         * docs/pwg/other-nton.xml:
9323         * docs/pwg/other-ntoone.xml:
9324         * docs/pwg/other-oneton.xml:
9325         * docs/pwg/pwg.xml:
9326           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9327           demuxer), remove n-to-n (was never written), fix some code examples
9328           and links and update the porting section to include all this.
9329
9330 2005-07-19  Wim Taymans  <wim@fluendo.com>
9331
9332         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9333         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9334         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9335         (gst_queue_src_activate_push), (gst_queue_change_state),
9336         (gst_queue_get_property):
9337         * gst/gstqueue.h:
9338         Propagate GstFlowReturn more intelligently upstream and output
9339         an ERROR/EOS when streaming stopped due to fatal error.
9340
9341 2005-07-19  Wim Taymans  <wim@fluendo.com>
9342
9343         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9344         Don't block forever for the state change to complete, the
9345         pipeline already did with a sensible timeout.
9346
9347 2005-07-19  Wim Taymans  <wim@fluendo.com>
9348
9349         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9350         Make sure we never call the create function is we
9351         got deactivated.
9352
9353 2005-07-19  Andy Wingo  <wingo@pobox.com>
9354
9355         * gst/parse/parse.l: Attempt to solve bug #172815.
9356
9357 2005-07-19  Wim Taymans  <wim@fluendo.com>
9358
9359         * docs/design/part-clocks.txt:
9360         * docs/design/part-events.txt:
9361         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9362         Small docs updates.
9363         Only update the seeking values when we are not
9364         busy streaming.
9365
9366 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9367
9368         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9369           Oops, ignore the result of gst_pad_push_event here.
9370
9371 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9372
9373         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9374         (gst_base_src_activate_push):
9375           Send discont event from the loop function, as pads
9376           aren't activated yet in the activate_push handler.
9377
9378         * gst/gstbin.c: (bin_bus_handler):
9379           Don't leak element name.
9380
9381 2005-07-18  Andy Wingo  <wingo@pobox.com>
9382
9383         * configure.ac: Use AS_LIBTOOL_TAGS.
9384
9385 2005-07-18  Wim Taymans  <wim@fluendo.com>
9386
9387         * docs/gst/gstreamer.types:
9388         Remove deleted types.
9389
9390 2005-07-18  Wim Taymans  <wim@fluendo.com>
9391
9392         * check/elements/gstfakesrc.c: (GST_START_TEST):
9393         * configure.ac:
9394         * gst/Makefile.am:
9395         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9396         (init_popt_callback):
9397         * gst/gst.h:
9398         * gst/gst_private.h:
9399         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9400         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9401         * gst/gstbin.h:
9402         * gst/gstbus.h:
9403         * gst/gstconfig.h.in:
9404         * gst/gstelement.c: (gst_element_class_init),
9405         (gst_element_set_base_time), (gst_element_get_base_time),
9406         (iterator_fold_with_resync), (gst_element_change_state),
9407         (gst_element_dispose), (gst_element_get_bus):
9408         * gst/gstelement.h:
9409         * gst/gstelementfactory.h:
9410         * gst/gsterror.c: (_gst_core_errors_init):
9411         * gst/gsterror.h:
9412         * gst/gstevent.h:
9413         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9414         * gst/gstindex.c:
9415         * gst/gstinfo.c: (_gst_debug_init):
9416         * gst/gstmessage.c: (_gst_message_copy):
9417         * gst/gstmessage.h:
9418         * gst/gstminiobject.h:
9419         * gst/gstobject.c:
9420         * gst/gstobject.h:
9421         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9422         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9423         * gst/gstpad.h:
9424         * gst/gstparse.h:
9425         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9426         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9427         (gst_pipeline_get_last_stream_time):
9428         * gst/gstpipeline.h:
9429         * gst/gstpluginfeature.h:
9430         * gst/gstquery.h:
9431         * gst/gstscheduler.c:
9432         * gst/gstscheduler.h:
9433         * gst/gststructure.h:
9434         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9435         (gst_task_finalize), (gst_task_func), (gst_task_create),
9436         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9437         (gst_task_stop), (gst_task_pause):
9438         * gst/gsttask.h:
9439         * gst/gsttypefind.h:
9440         * gst/gsttypes.h:
9441         * gst/registries/gstlibxmlregistry.c: (load_feature),
9442         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9443         * gst/registries/gstxmlregistry.c:
9444         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9445         * gst/schedulers/threadscheduler.c:
9446         * libs/gst/control/dparammanager.h:
9447         * tools/gst-inspect.c: (print_element_list),
9448         (print_plugin_features), (print_element_features):
9449         * tools/gst-xmlinspect.c: (print_element_list),
9450         (print_plugin_info), (main):
9451         Removed plugable schedulers.
9452         Removed Scheduler/Manager from elements.
9453         Removed gsttypes.h, rearranged includes.
9454         Removed dependency pad<->element, element<>pipeline, and
9455         various others,  fix includes.
9456         implement gst_pad_get_parent() with gst_object_get_parent()
9457         Make GstTask sefcontained.
9458         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9459         timeout.
9460         Fix endless loop in iterator_fold_with_resync.
9461
9462
9463 2005-07-18  Wim Taymans  <wim@fluendo.com>
9464
9465         * gst/Makefile.am:
9466         * gst/gstarch.h:
9467         Remove old file.
9468
9469 2005-07-18  Wim Taymans  <wim@fluendo.com>
9470
9471         * gst/Makefile.am:
9472         No more cothreads.h
9473
9474 2005-07-18  Wim Taymans  <wim@fluendo.com>
9475
9476         * gst/cothreads.c:
9477         * gst/cothreads.h:
9478         Let's remove these.
9479
9480 2005-07-18  Wim Taymans  <wim@fluendo.com>
9481
9482         * docs/design/part-dynamic.txt:
9483         * docs/design/part-events.txt:
9484         * docs/design/part-seeking.txt:
9485         Some more docs in the works.
9486
9487         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9488         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9489         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9490         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9491         (gst_base_transform_handle_buffer),
9492         (gst_base_transform_sink_activate_push),
9493         (gst_base_transform_src_activate_pull),
9494         (gst_base_transform_set_passthrough),
9495         (gst_base_transform_is_passthrough):
9496         Refcounting fixes.
9497
9498         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9499         Cleanups.
9500
9501         * gst/gstevent.c: (gst_event_finalize):
9502         Set SRC to NULL.
9503
9504         * gst/gstutils.c: (gst_element_unlink),
9505         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9506         (gst_pad_proxy_setcaps):
9507         * gst/gstutils.h:
9508         Add _get_parent_element() to get a pads parent as an element.
9509
9510 2005-07-18  Wim Taymans  <wim@fluendo.com>
9511
9512         * check/gst/gstbin.c: (GST_START_TEST):
9513         Remove bogus test.
9514
9515 2005-07-18  Wim Taymans  <wim@fluendo.com>
9516
9517         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9518         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9519         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9520         (gst_base_sink_event), (gst_base_sink_do_sync),
9521         (gst_base_sink_chain), (gst_base_sink_loop),
9522         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9523         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9524         Refcounting fixes.
9525         Fix logic for returning ASYNC when not prerolled.
9526
9527 2005-07-18  Wim Taymans  <wim@fluendo.com>
9528
9529         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9530         Fix nasty refcount bug.
9531
9532 2005-07-16 Philippe Khalaf <burger@speedy.org>
9533
9534         * gst/elements/gstfdsrc.c:
9535         * gst/elements/gstfdsrc.h:
9536         * gst/elements/gstelements.c:
9537         * gst/elements/Makefile.am:
9538         Ported fdsrc to 0.9.
9539
9540 2005-07-16  Wim Taymans  <wim@fluendo.com>
9541
9542         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9543         (gst_base_sink_do_sync):
9544         Fix compile error.
9545
9546 2005-07-16  Wim Taymans  <wim@fluendo.com>
9547
9548         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9549         (gst_base_sink_event), (gst_base_sink_get_times),
9550         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9551         * gst/base/gstbasesink.h:
9552         Store and use discont values when syncing buffers as described
9553         in design docs.
9554         
9555         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9556         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9557         (gst_base_src_activate_push):
9558         Push discont event when starting.
9559
9560         * gst/elements/gstidentity.c: (gst_identity_transform):
9561         Small cleanups.
9562
9563         * gst/gstbin.c: (gst_bin_change_state):
9564         Small cleanups in base_time  distribution.
9565
9566         * gst/gstelement.c: (gst_element_set_base_time),
9567         (gst_element_get_base_time), (gst_element_change_state):
9568         * gst/gstelement.h:
9569         Added methods for the base_time of the element.
9570         Some MT fixes.
9571
9572         * gst/gstpipeline.c: (gst_pipeline_send_event),
9573         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9574         (gst_pipeline_get_last_stream_time):
9575         * gst/gstpipeline.h:
9576         MT fixes.
9577         Handle seeking as described in design doc, remove stream_time
9578         hack.
9579         Cleanups clock and stream_time selection code. Added accessors
9580         for the stream_time.
9581         
9582
9583 2005-07-16  Andy Wingo  <wingo@pobox.com>
9584
9585         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9586         (#305291).
9587
9588 2005-07-16  Wim Taymans  <wim@fluendo.com>
9589
9590         * check/gst/gstbin.c: (GST_START_TEST):
9591         Make elements silent as the deep_notify refs the
9592         parent, which might make the test fail.
9593
9594         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9595         Don't hold the lock for too long.
9596
9597 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9598
9599         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9600           Don't unref the caps we passed to gst_caps_make_writable() after
9601           passing them. gst_caps_make_writable() will do that for us.
9602
9603 2005-07-15  Andy Wingo  <wingo@pobox.com>
9604
9605         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9606         (#157311).
9607
9608         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9609         own marshalling function for the handoff signal. Properly type the
9610         buffer as a buffer. Fixes some warnings. Should do a more general
9611         solution.
9612         (gst_identity_class_init): Plug into the right marshaller.
9613
9614 2005-07-15  Wim Taymans  <wim@fluendo.com>
9615
9616         * docs/design/part-TODO.txt:
9617         * docs/design/part-clocks.txt:
9618         * docs/design/part-element-sink.txt:
9619         * docs/design/part-events.txt:
9620         * docs/design/part-gstpipeline.txt:
9621         Updated docs, mostly DISCONT related.
9622
9623 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9624
9625         * docs/pwg/building-pads.xml:
9626           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9627
9628 2005-07-15  Andy Wingo  <wingo@pobox.com>
9629
9630         * tools/gst-typefind.c: Update, add copyright block.
9631
9632         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9633         Normalize and truncate caps before fixation.
9634
9635         * gst/gstcaps.h:
9636         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9637         discards all but the first structure from its argument.
9638
9639 2005-07-15  Wim Taymans  <wim@fluendo.com>
9640
9641         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9642         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9643         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9644         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9645         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9646         (gst_base_transform_chain), (gst_base_transform_change_state),
9647         (gst_base_transform_set_passthrough),
9648         (gst_base_transform_is_passthrough):
9649         * gst/base/gstbasetransform.h:
9650         Make passthrough work using the bufferpools.
9651         Changed API a bit, subclasses have to write into a buffer
9652         provided by the base class.
9653         More debug info in nego functions.
9654         
9655         * gst/elements/gstidentity.c: (gst_identity_init),
9656         (gst_identity_transform):
9657         Port to new base class.
9658
9659 2005-07-15  Wim Taymans  <wim@fluendo.com>
9660
9661         * gst/gstmessage.c: (gst_message_new_state_changed):
9662         * tools/gst-launch.c: (event_loop), (main):
9663         Totally dump messages in -launch with the -m option.
9664         Fix message name for State messages,
9665
9666 2005-07-14  Wim Taymans  <wim@fluendo.com>
9667
9668         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9669         Post error messages on errors.
9670
9671 2005-07-14  Wim Taymans  <wim@fluendo.com>
9672
9673         * gst/gstcaps.c: (gst_caps_do_simplify):
9674         Remove debug info.
9675
9676         * gst/gsterror.h:
9677         Define error for stream stopped.
9678
9679         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9680         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9681         Do proper return values.
9682
9683         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9684         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9685         (gst_pad_get_range):
9686         Better return values.
9687
9688         * gst/gstpad.h:
9689         Reorganise return values, add macro to check for fatal errors.
9690
9691         * gst/gstqueue.c: (gst_queue_chain):
9692         Return proper GstFlowReturn values,
9693
9694 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9695
9696         * docs/gst/gstreamer-sections.txt:
9697         * docs/gst/gstreamer.types:
9698         * docs/gst/tmpl/gst.sgml:
9699         * docs/gst/tmpl/gstbasesink.sgml:
9700         * docs/gst/tmpl/gstbasesrc.sgml:
9701         * docs/gst/tmpl/gstbasetransform.sgml:
9702         * docs/gst/tmpl/gstbin.sgml:
9703         * docs/gst/tmpl/gstbuffer.sgml:
9704         * docs/gst/tmpl/gstcaps.sgml:
9705         * docs/gst/tmpl/gstclock.sgml:
9706         * docs/gst/tmpl/gstcompat.sgml:
9707         * docs/gst/tmpl/gstconfig.sgml:
9708         * docs/gst/tmpl/gstelement.sgml:
9709         * docs/gst/tmpl/gstelementdetails.sgml:
9710         * docs/gst/tmpl/gstelementfactory.sgml:
9711         * docs/gst/tmpl/gstenumtypes.sgml:
9712         * docs/gst/tmpl/gsterror.sgml:
9713         * docs/gst/tmpl/gstevent.sgml:
9714         * docs/gst/tmpl/gstfakesink.sgml:
9715         * docs/gst/tmpl/gstfakesrc.sgml:
9716         * docs/gst/tmpl/gstfilesink.sgml:
9717         * docs/gst/tmpl/gstfilesrc.sgml:
9718         * docs/gst/tmpl/gstfilter.sgml:
9719         * docs/gst/tmpl/gstformat.sgml:
9720         * docs/gst/tmpl/gstghostpad.sgml:
9721         * docs/gst/tmpl/gstimplementsinterface.sgml:
9722         * docs/gst/tmpl/gstindex.sgml:
9723         * docs/gst/tmpl/gstindexfactory.sgml:
9724         * docs/gst/tmpl/gstinfo.sgml:
9725         * docs/gst/tmpl/gstiterator.sgml:
9726         * docs/gst/tmpl/gstmacros.sgml:
9727         * docs/gst/tmpl/gstmemchunk.sgml:
9728         * docs/gst/tmpl/gstminiobject.sgml:
9729         * docs/gst/tmpl/gstobject.sgml:
9730         * docs/gst/tmpl/gstpad.sgml:
9731         * docs/gst/tmpl/gstpadtemplate.sgml:
9732         * docs/gst/tmpl/gstparse.sgml:
9733         * docs/gst/tmpl/gstpipeline.sgml:
9734         * docs/gst/tmpl/gstplugin.sgml:
9735         * docs/gst/tmpl/gstpluginfeature.sgml:
9736         * docs/gst/tmpl/gstquery.sgml:
9737         * docs/gst/tmpl/gstqueue.sgml:
9738         * docs/gst/tmpl/gstregistry.sgml:
9739         * docs/gst/tmpl/gstregistrypool.sgml:
9740         * docs/gst/tmpl/gstscheduler.sgml:
9741         * docs/gst/tmpl/gstschedulerfactory.sgml:
9742         * docs/gst/tmpl/gststructure.sgml:
9743         * docs/gst/tmpl/gstsystemclock.sgml:
9744         * docs/gst/tmpl/gsttaglist.sgml:
9745         * docs/gst/tmpl/gsttagsetter.sgml:
9746         * docs/gst/tmpl/gsttrace.sgml:
9747         * docs/gst/tmpl/gsttrashstack.sgml:
9748         * docs/gst/tmpl/gsttypefind.sgml:
9749         * docs/gst/tmpl/gsttypefindfactory.sgml:
9750         * docs/gst/tmpl/gsttypes.sgml:
9751         * docs/gst/tmpl/gsturihandler.sgml:
9752         * docs/gst/tmpl/gsturitype.sgml:
9753         * docs/gst/tmpl/gstutils.sgml:
9754         * docs/gst/tmpl/gstvalue.sgml:
9755         * docs/gst/tmpl/gstversion.sgml:
9756         * docs/gst/tmpl/gstxml.sgml:
9757         * docs/libs/tmpl/gstcontrol.sgml:
9758         * docs/libs/tmpl/gstdataprotocol.sgml:
9759         * docs/libs/tmpl/gstdparam.sgml:
9760         * docs/libs/tmpl/gstdplinint.sgml:
9761         * docs/libs/tmpl/gstdpman.sgml:
9762         * docs/libs/tmpl/gstdpsmooth.sgml:
9763         * docs/libs/tmpl/gstgetbits.sgml:
9764         * docs/libs/tmpl/gstunitconvert.sgml:
9765         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9766         (gst_push_src_base_init), (gst_push_src_class_init),
9767         (gst_push_src_init), (gst_push_src_create):
9768         * gst/base/gstpushsrc.h:
9769         * gst/elements/gstelements.c:
9770         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9771         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9772         (gst_fake_sink_init), (gst_fake_sink_set_property),
9773         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9774         (gst_fake_sink_event), (gst_fake_sink_preroll),
9775         (gst_fake_sink_render), (gst_fake_sink_change_state):
9776         * gst/elements/gstfakesink.h:
9777         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9778         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9779         (gst_fake_src_base_init), (gst_fake_src_class_init),
9780         (gst_fake_src_init), (gst_fake_src_event_handler),
9781         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9782         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9783         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9784         (gst_fake_src_create_buffer), (gst_fake_src_create),
9785         (gst_fake_src_start), (gst_fake_src_stop):
9786         * gst/elements/gstfakesrc.h:
9787         * gst/elements/gstfilesink.c: (_do_init),
9788         (gst_file_sink_base_init), (gst_file_sink_class_init),
9789         (gst_file_sink_init), (gst_file_sink_dispose),
9790         (gst_file_sink_set_location), (gst_file_sink_set_property),
9791         (gst_file_sink_get_property), (gst_file_sink_open_file),
9792         (gst_file_sink_close_file), (gst_file_sink_query),
9793         (gst_file_sink_event), (gst_file_sink_render),
9794         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9795         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9796         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9797         * gst/elements/gstfilesink.h:
9798         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9799         (gst_file_src_class_init), (gst_file_src_init),
9800         (gst_file_src_finalize), (gst_file_src_set_location),
9801         (gst_file_src_set_property), (gst_file_src_get_property),
9802         (gst_file_src_map_region), (gst_file_src_map_small_region),
9803         (gst_file_src_create_mmap), (gst_file_src_create_read),
9804         (gst_file_src_create), (gst_file_src_is_seekable),
9805         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9806         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9807         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9808         (gst_file_src_uri_handler_init):
9809         * gst/elements/gstfilesrc.h:
9810           more autistic cleanliness in functions/names/defines
9811
9812 2005-07-13  Andy Wingo  <wingo@pobox.com>
9813
9814         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9815         source couldn't negotiate.
9816
9817         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9818         connections again.
9819
9820         * gst/gstutils.h:
9821         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9822         function. I am channeling Hades. Put your boots on suckers!!!
9823
9824 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9825
9826         * testsuite/caps/Makefile.am:
9827         * testsuite/caps/value_compare.c:
9828         * testsuite/caps/value_intersect.c:
9829         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9830           move two testsuite apps over to the check dir
9831
9832 2005-07-12  Wim Taymans  <wim@fluendo.com>
9833
9834         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9835         Added more debug info in the negotiate process.
9836
9837         * gst/gstmessage.h:
9838         Prepare for segment playback.
9839
9840         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9841         Better debugging.
9842
9843         * gst/gstutils.c:
9844         Some more docs.
9845
9846         * tools/gst-launch.c: (main):
9847         NULL pipeline on errors.
9848
9849 2005-07-12  Andy Wingo  <wingo@pobox.com>
9850
9851         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9852         not it comes from a malloc region. Make sure our copy gets freed.
9853
9854 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9855
9856         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9857         * check/gst/gstmessage.c: (GST_START_TEST):
9858         * check/gst/gststructure.c: (GST_START_TEST),
9859         (gst_structure_suite), (main):
9860           more testing
9861         * gst/gstelement.c: (gst_element_message_full):
9862           clean up GError and debug string now that they get copied
9863         * gst/gstmessage.c: (gst_message_new_error),
9864         (gst_message_new_warning), (gst_message_parse_error),
9865         (gst_message_parse_warning):
9866           use GST_TYPE_G_ERROR for structure_new, and take copies of
9867           arguments, so that we don't mess up refcounting
9868
9869 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9870
9871         * check/Makefile.am:
9872           add per-test valgrind targets
9873         * check/gst-libs/gdp.c: (GST_START_TEST),
9874         (gst_data_protocol_suite), (main):
9875           clean up
9876
9877 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9878
9879         * check/Makefile.am:
9880           instate more valgrindable tests
9881         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9882         (GST_START_TEST), (fakesrc_suite):
9883         * check/gst/gstpad.c: (GST_START_TEST):
9884         * check/gst/gststructure.c: (GST_START_TEST):
9885           fix test leaks
9886         * docs/gst/tmpl/gstminiobject.sgml:
9887         * gst/gstpad.c: (gst_pad_finalize):
9888           fix the static mutex leak
9889
9890 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9891
9892         * check/Makefile.am:
9893           add two more tests for valgrinding
9894         * check/gst/gstvalue.c: (GST_START_TEST):
9895           test refcount of deserialized buffer, found a leak
9896         * docs/gst/gstreamer-docs.sgml:
9897         * docs/gst/gstreamer-sections.txt:
9898         * docs/gst/gstreamer.types:
9899         * docs/gst/tmpl/gstminiobject.sgml:
9900           add miniobject to docs
9901         * gst/gstminiobject.c:
9902           add some docs
9903         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9904         (gst_string_unwrap):
9905           fix a hard-to-find invalid write for one of the tests
9906           fix a leak for deserialized buffers
9907
9908 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9909
9910         * docs/pwg/advanced-events.xml:
9911         * docs/pwg/advanced-request.xml:
9912         * docs/pwg/advanced-scheduling.xml:
9913         * docs/pwg/appendix-porting.xml:
9914         * docs/pwg/building-boiler.xml:
9915         * docs/pwg/intro-preface.xml:
9916         * docs/pwg/other-ntoone.xml:
9917           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9918           of example code and explanation for pad activation, loop() and
9919           getrange() functions and a bit more. Remove old comments pointing
9920           to loop-functions.
9921         * examples/pwg/Makefile.am:
9922           Add loop/getrange examples.
9923
9924 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9925
9926         * configure.ac:
9927           check for valgrind binary + some fixes
9928         * check/gst.supp:
9929           valgrind suppressions for the tests
9930         * check/Makefile.am:
9931           add a valgrind: target that valgrinds the unit tests
9932         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9933         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9934         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9935         * check/gst/gstghostpad.c:
9936           added some cleanup
9937         * check/gst/gstdata.c:
9938           removed
9939         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9940         (thread_unref), (gst_mini_object_suite), (main):
9941           added
9942         * gst/gst.c: (gst_deinit):
9943         * gst/gst.h:
9944           add a method to clean up.
9945         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9946         (gst_system_clock_obtain):
9947           allow for disposing the system clock.
9948         * tools/gst-launch.c: (main):
9949           deinit
9950
9951 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9952
9953         * docs/gst/tmpl/gstbasesrc.sgml:
9954         * docs/gst/tmpl/gstfakesrc.sgml:
9955         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9956         (gst_base_src_init), (gst_base_src_set_property),
9957         (gst_base_src_get_property), (gst_base_src_get_range),
9958         (gst_base_src_start):
9959         * gst/base/gstbasesrc.h:
9960           add num-buffers property
9961         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9962         (gst_fakesrc_init), (gst_fakesrc_set_property),
9963         (gst_fakesrc_get_property), (gst_fakesrc_create),
9964         (gst_fakesrc_start):
9965           remove num-buffers property
9966
9967 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9968
9969         * docs/gst/gstreamer-sections.txt:
9970         * docs/gst/tmpl/gstbasesink.sgml:
9971         * docs/gst/tmpl/gstbasesrc.sgml:
9972         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9973         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9974         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9975         (gst_base_sink_set_property), (gst_base_sink_get_property),
9976         (gst_base_sink_handle_object), (gst_base_sink_event),
9977         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9978         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9979         (gst_base_sink_loop), (gst_base_sink_deactivate),
9980         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9981         (gst_base_sink_change_state):
9982         * gst/base/gstbasesink.h:
9983         * gst/base/gstbasesrc.h:
9984         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9985         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9986         (gst_filesink_init):
9987           more macro splitting
9988
9989 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * gst/gstelement.c: (gst_element_get_bus):
9992           add debug
9993         * tools/gst-launch.c: (check_intr), (event_loop):
9994           fix bus leaks
9995
9996 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9997
9998         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9999           fix a caps leak
10000
10001 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10002
10003         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10004         (gst_base_src_finalize):
10005           add finalize method and clean up properly
10006         * gst/gstpipeline.c: (gst_pipeline_dispose):
10007           add debug
10008
10009 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10010
10011         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10012         (gst_bin_suite):
10013           add more things to check
10014         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10015         * gst/gstelement.c:
10016           more debug
10017
10018 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10019
10020         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10021         (GST_START_TEST), (fakesrc_suite):
10022         * check/gst-libs/gdp.c: (GST_START_TEST):
10023         * check/gst/gst.c: (GST_START_TEST):
10024         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10025         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10026         * check/gst/gstbus.c: (GST_START_TEST):
10027         * check/gst/gstcaps.c: (GST_START_TEST):
10028         * check/gst/gstdata.c: (GST_START_TEST):
10029         * check/gst/gstelement.c: (GST_START_TEST):
10030         * check/gst/gstghostpad.c: (GST_START_TEST):
10031         * check/gst/gstiterator.c: (GST_START_TEST):
10032         * check/gst/gstmessage.c: (GST_START_TEST):
10033         * check/gst/gstobject.c: (GST_START_TEST):
10034         * check/gst/gstpad.c: (GST_START_TEST):
10035         * check/gst/gststructure.c: (GST_START_TEST):
10036         * check/gst/gstsystemclock.c: (GST_START_TEST),
10037         (gst_systemclock_suite):
10038         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10039         * check/gst/gstvalue.c: (GST_START_TEST):
10040         * check/pipelines/cleanup.c: (GST_START_TEST):
10041         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10042         * check/states/sinks.c: (GST_START_TEST):
10043         * check/gstcheck.c: (gst_check_init):
10044         * check/gstcheck.h:
10045           add debugging category
10046           use GST_START_TEST now, so we add a debug line
10047
10048 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10049
10050         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10051           add test for state change message on a bin
10052         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10053           add another test
10054         * gst/gstbin.c: (gst_bin_init):
10055         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10056         * gst/gstelement.c: (gst_element_post_message),
10057         (gst_element_set_state):
10058         * gst/gstelementfactory.c: (gst_element_factory_create):
10059         * gst/gstmessage.c: (gst_message_new):
10060         * gst/gstscheduler.c:
10061           various debugging additions and cleanups
10062
10063 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10064
10065         * check/Makefile.am:
10066         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10067         (main):
10068           adding tests for elements
10069         * gst/gstelement.c: (gst_element_dispose):
10070
10071 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10072
10073         * gst/registries/gstlibxmlregistry.c: (load_feature):
10074           plug more leaks.  A simple gst_init() now is leakfree, yay.
10075
10076 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10077
10078         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10079         (gst_xml_registry_load):
10080           plug another memleak
10081
10082 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10083
10084         * configure.ac:
10085           use GST_SET_ERROR_CFLAGS
10086         * docs/faq/cvs.xml:
10087           change to ERROR_CFLAGS
10088
10089 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10090
10091         * configure.ac:
10092           make GST_ERROR_CFLAGS overridable and re-enable Werror
10093         * docs/faq/cvs.xml:
10094           add a note about error CFLAGS
10095         * docs/gst/tmpl/gstfakesrc.sgml:
10096         * gst/elements/gstfakesrc.c:
10097           comment out some unused code
10098         * gst/gst.c: (split_and_iterate):
10099         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10100         (load_feature):
10101           plug some memleaks
10102
10103 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10104
10105         * common/Makefile.am:
10106         * common/gtk-doc.mak:
10107         * docs/gst/Makefile.am:
10108           factor out gtk-doc.mak
10109
10110 2005-07-07  Wim Taymans  <wim@fluendo.com>
10111
10112         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10113         (gst_thread_scheduler_dispose):
10114         Unlock the STREAM_LOCK completely.
10115
10116 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10117
10118         * check/Makefile.am:
10119         * check/elements/.cvsignore:
10120         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10121         (START_TEST), (fakesrc_suite), (main):
10122         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10123         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10124         (gst_fakesrc_create), (gst_fakesrc_start):
10125         * gst/elements/gstfakesrc.h:
10126           adding a first element test
10127
10128 2005-07-07  Andy Wingo  <wingo@pobox.com>
10129
10130         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10131         debug message.
10132
10133 2005-07-07  Wim Taymans  <wim@fluendo.com>
10134
10135         * gst/gstquery.c:
10136         * gst/gstquery.h:
10137         Remove old types
10138
10139 2005-07-07  Wim Taymans  <wim@fluendo.com>
10140
10141         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10142         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10143         Allow subclasses to implement their own negotiation.
10144
10145 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10146
10147         * docs/design/part-gstbin.txt:
10148         * docs/design/part-gstpipeline.txt:
10149           Update design notes to reflect the movement of
10150           responsibility for bus handling from GstPipeline to
10151           GstBin
10152
10153 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10154
10155         * configure.ac:
10156           Remove unnecessary queue2/3/4 examples.
10157
10158 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10159
10160         * examples/Makefile.am:
10161         * examples/helloworld/helloworld.c: (event_loop), (main):
10162         * examples/queue/queue.c: (event_loop), (main):
10163         * examples/queue2/queue2.c: (main):
10164           Update a couple of the examples to work again.
10165
10166         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10167         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10168          Spelling corrections and extra debug.
10169         
10170         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10171         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10172         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10173         * gst/gstbin.h:
10174         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10175         (gst_pipeline_change_state):
10176         * gst/gstpipeline.h:
10177           Move the bus handler for children to the GstBin, and create a
10178           separate bus for receiving messages from children to the one the
10179           bus sends 'upwards' on.
10180
10181 2005-07-06  Wim Taymans  <wim@fluendo.com>
10182
10183         * gst/base/README:
10184         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10185         (gst_base_sink_handle_object), (gst_base_sink_loop),
10186         (gst_base_sink_change_state):
10187         * gst/base/gstbasesink.h:
10188         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10189         (gst_base_src_init), (gst_base_src_setcaps),
10190         (gst_base_src_getcaps), (gst_base_src_loop),
10191         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10192         (gst_base_src_start), (gst_base_src_change_state):
10193         * gst/base/gstbasesrc.h:
10194         Make basesrc negotiate.
10195         Handle the case where preroll fails in basesink.
10196         Update README.
10197
10198 2005-07-06  Wim Taymans  <wim@fluendo.com>
10199
10200         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10201         Implement the fixate function.
10202         Clean up acceptcaps.
10203
10204 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10205
10206         * docs/pwg/building-filterfactory.xml:
10207         * docs/pwg/pwg.xml:
10208           Remove never-written filter-factory chapter; I'll add the various
10209           base classes to part 4 ("other element types") later on.
10210
10211 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10212
10213         * docs/pwg/advanced-negotiation.xml:
10214         * docs/pwg/building-boiler.xml:
10215         * docs/pwg/building-pads.xml:
10216         * docs/pwg/pwg.xml:
10217         * examples/pwg/Makefile.am:
10218           Add a chapter on caps negotiation, simplify the original code
10219           samples a bit w.r.t. caps negotiation, add link to the advanced
10220           section. Add a bunch of examples showing different use cases of
10221           different types of caps negotiation. Upstream renegotiation isn't
10222           fully documented yet since nobody knows how that works.
10223
10224 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10225
10226         * check/gst/gstpad.c:
10227         * check/gstcheck.c:
10228         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10229           if pad has no parent, return NULL as list of internal links
10230
10231 2005-07-05  Andy Wingo  <wingo@pobox.com>
10232
10233         * gst/elements/gstfilesrc.c:
10234         * gst/elements/gstfakesrc.c: 
10235         * gst/base/gstpushsrc.c:
10236         * gst/base/gstbasesrc.h: 
10237         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10238         
10239 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10240
10241         * Makefile.am:
10242           better report generation target (lcov needs a patch)
10243
10244 2005-07-05  Andy Wingo  <wingo@pobox.com>
10245
10246         * gst/elements, testsuite: Null if we got it...
10247
10248 2005-07-05  Wim Taymans  <wim@fluendo.com>
10249
10250         * configure.ac:
10251         * libs/gst/dataprotocol/Makefile.am:
10252         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10253         * libs/gst/dataprotocol/dataprotocol.h:
10254         * pkgconfig/Makefile.am:
10255         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10256         * pkgconfig/gstreamer-dataprotocol.pc.in:
10257         Ported dataprotol to 0.9. 
10258         Added pkgconfig files.
10259
10260 2005-07-05  Andy Wingo  <wingo@pobox.com>
10261
10262         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10263         Default to returning TRUE for the case when tranform_caps returns
10264         a fixed caps, like for identity or volume.
10265
10266         * check/gst/gstbus.c (pound_bus_with_messages): 
10267         * check/gst/gstmessage.c (START_TEST): 
10268         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10269         message API change.
10270
10271         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10272         logic weaks here: always run transform_caps, trying passthrough
10273         operation only if the original caps intersects with the transform.
10274
10275         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10276         source and sink caps.
10277
10278         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10279         Intersect the peer caps with the pad template before going into
10280         transform_caps.
10281         (gst_base_transform_transform_caps): More debugging.
10282
10283         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10284         src argument.
10285
10286 2005-07-04  Edward Hervey  <edward@fluendo.com>
10287
10288         * gst/gstutils.c:
10289         * gst/gstutils.h:
10290         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10291         in bindings.
10292
10293 2005-07-04  Andy Wingo  <wingo@pobox.com>
10294
10295         * check/gst/gstpad.c: Only set explicit caps on pads.
10296
10297 2005-07-01  Andy Wingo  <wingo@pobox.com>
10298
10299         * tests/network-clock.scm: Commentary update.
10300
10301         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10302         Didn't really make sense, not implementable with basetransform,
10303         etc.
10304         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10305         attempt at implementing the sync property, needs an unlock method.
10306
10307         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10308         New func, by default returns the same caps (the identity
10309         transformation).
10310         (gst_base_transform_getcaps): Uses transform_caps to return
10311         something sensible.
10312         (gst_base_transform_setcaps): Complicated logic to get caps on
10313         both pads, even if they are different, and to call set_caps once
10314         for every time both pads get their caps set.
10315         (gst_base_transform_handle_buffer): Give the ref to the transform
10316         function. Allows in-place modification of the buffer.
10317
10318         * gst/base/gstbasetransform.h (transform_caps): New class method.
10319         Given caps on one side, what can I do on the other.
10320         (set_caps): Take two caps, one for each side of the element.
10321
10322         * gst/gstpad.h:
10323         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10324         caps in place. This is safe because we can check the mutability of
10325         the caps, and a good idea because fixate functions are just called
10326         as a matter of last resort. (Not actually implemented.)
10327         (gst_pad_set_caps): If the caps we're setting is actually the same
10328         as the existing pad caps, just update the pointer without calling
10329         setcaps. Assert that caps is either NULL or fixed, as per the
10330         docs.
10331
10332         * gst/gstghostpad.c: Update for fixate changes.
10333
10334 2005-07-02  Andy Wingo  <wingo@pobox.com>
10335
10336         * gst/gstcaps.c:
10337         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10338         two refcounts makes it immutable, which is enough. Doc more.
10339
10340 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10341
10342         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10343           Put the mini_object into GValue as a mini_object,
10344           not a gpointer, since that's how we declared
10345           the signal.
10346
10347 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10348
10349         * examples/pwg/Makefile.am:
10350           Fix buildbot again.
10351
10352 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10353
10354         * docs/pwg/building-testapp.xml:
10355           Add extra check.
10356         * examples/pwg/Makefile.am:
10357           Fix buildbot.
10358
10359 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10360
10361         * configure.ac:
10362         * examples/Makefile.am:
10363         * examples/pwg/Makefile.am:
10364         * examples/pwg/extract.pl:
10365           Enable building the PWG examples.
10366         * docs/pwg/advanced-interfaces.xml:
10367           Add URI interface stub.
10368         * docs/pwg/advanced-types.xml:
10369         * docs/pwg/other-autoplugger.xml:
10370         * docs/pwg/appendix-porting.xml:
10371         * docs/pwg/pwg.xml:
10372           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10373         * docs/pwg/building-boiler.xml:
10374         * docs/pwg/building-chainfn.xml:
10375         * docs/pwg/building-pads.xml:
10376         * docs/pwg/building-props.xml:
10377         * docs/pwg/building-state.xml:
10378         * docs/pwg/building-testapp.xml:
10379           Update the building-*.xml parts for 0.9 changes. All examples
10380           code blocks compile in examples/pwg/*.
10381
10382 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10383
10384         * docs/manual/advanced-autoplugging.xml:
10385         * docs/manual/appendix-checklist.xml:
10386         * docs/manual/appendix-integration.xml:
10387         * docs/manual/highlevel-components.xml:
10388           Fix playbin/decodebin examples, update docs a bit, mention bus
10389           instead of signals in various places, mention kmplayer and
10390           kaffeine since they have a working GStreamer backend in the KDE
10391           section.
10392
10393 2005-06-30  Wim Taymans  <wim@fluendo.com>
10394
10395         * CHANGES-0.9:
10396         * docs/design/draft-ghostpads.txt:
10397         * docs/design/draft-push-pull.txt:
10398         * docs/design/draft-query.txt:
10399         * docs/design/part-TODO.txt:
10400         * docs/design/part-query.txt:
10401         Added CHANGES-0.9 doc, updated status of other docs.
10402         
10403         * gst/gstquery.h:
10404         Remove "hmm" macro
10405
10406 2005-06-30  Wim Taymans  <wim@fluendo.com>
10407
10408         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10409         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10410         (gst_base_sink_change_state):
10411         * gst/base/gstbasesink.h:
10412         Some tweaks, only EOS and a buffer complete a preroll.
10413
10414 2005-06-30  Andy Wingo  <wingo@pobox.com>
10415
10416         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10417         activate_push down to the internal pad as well.
10418
10419 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10420
10421         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10422
10423         * gst/gsttaginterface.c:
10424           Some documentation fixes (#307394 and #307397).
10425
10426 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10427
10428         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10429
10430         * gst/gstvalue.c: (gst_value_intersect_list):
10431           Fix memleak (#309125).
10432
10433 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10434
10435         * docs/manual/advanced-dataaccess.xml:
10436           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10437         * docs/manual/basics-pads.xml:
10438           Add reference for filtered caps to above chapter.
10439
10440 2005-06-30  Wim Taymans  <wim@fluendo.com>
10441
10442         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10443         (gst_bin_change_state):
10444         Probes are gone.
10445         Lame attempt at making the state change function a bit
10446         more readable.
10447
10448 2005-06-30  Wim Taymans  <wim@fluendo.com>
10449
10450         * docs/design/part-clocks.txt:
10451         * docs/design/part-element-sink.txt:
10452         * docs/design/part-events.txt:
10453         * docs/design/part-preroll.txt:
10454         * docs/design/part-states.txt:
10455         Some more tweeks and additions to the docs.
10456
10457 2005-06-30  Wim Taymans  <wim@fluendo.com>
10458
10459         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10460         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10461         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10462         (gst_pad_check_pull_range), (gst_pad_get_range),
10463         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10464         * gst/gstpad.h:
10465         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10466         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10467         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10468         (gst_pad_remove_buffer_probe):
10469         Removed atomic operations, use existing LOCK.
10470         Move exception handling out of main code path.
10471
10472 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10473
10474         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10475         (silly_return_true_function), (gst_pad_class_init),
10476         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10477         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10478         (gst_pad_send_event):
10479           Fix accumulator, add default value by using _emitv() instead
10480           of _emit() for signal emission.
10481
10482 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10483
10484         * docs/manual/advanced-dataaccess.xml:
10485         * examples/manual/Makefile.am:
10486           Add probe example.
10487         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10488           Make work (??).
10489
10490 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10491
10492         * gst/elements/gstfilesink.c: (gst_filesink_render):
10493           Simplify code so that we don't have to handle short
10494           writes and return GST_FLOW_ERROR if an error occured.
10495
10496 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10497
10498         * docs/gst/gstreamer-docs.sgml:
10499           Remove probes more.
10500
10501 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10502
10503         * docs/gst/gstreamer-sections.txt:
10504         * docs/gst/tmpl/gstpad.sgml:
10505         * docs/gst/tmpl/gstprobe.sgml:
10506         * gst/Makefile.am:
10507         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10508         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10509         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10510         (gst_pad_push_event), (gst_pad_send_event):
10511         * gst/gstpad.h:
10512         * gst/gstutils.c: (gst_pad_add_data_probe),
10513         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10514         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10515         (gst_pad_remove_buffer_probe):
10516         * gst/gstutils.h:
10517           Remove old probes, add new g-signal-based probes and some utility
10518           functions.
10519
10520 2005-06-29  Edward Hervey  <edward@fluendo.com>
10521
10522         * gst/gstelementfactory.c:
10523         * gst/gstutils.h:
10524         * gst/gstutils.c:
10525         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10526         the definition to the header file.
10527
10528 2005-06-29  Andy Wingo  <wingo@pobox.com>
10529
10530         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10531         plugins from the source directory.
10532
10533 2005-06-29  Wim Taymans  <wim@fluendo.com>
10534
10535         * docs/gst/tmpl/gstbuffer.sgml:
10536         * docs/gst/tmpl/gstclock.sgml:
10537         Some fixings for blantently wrong text.
10538
10539 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10540
10541         * check/Makefile.am:
10542         * gst/gst.c: (add_path_func), (init_pre):
10543         * gst/gstregistry.c: (gst_registry_add_path):
10544           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10545           only scan the GST_PLUGIN_PATH locations, and not add
10546           system locations
10547
10548 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10549
10550         * docs/gst/gstreamer-sections.txt:
10551         * docs/gst/tmpl/gstbasesrc.sgml:
10552         * gst/gstelement.c:
10553         * gst/gstelement.h:
10554         * gst/gstevent.c:
10555         * gst/gstutils.c:
10556           doc fixes
10557
10558 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10559
10560         * docs/manual/advanced-autoplugging.xml:
10561           Fix autoplugging example.
10562
10563 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10564
10565         * docs/manual/advanced-autoplugging.xml:
10566         * docs/manual/mime-world.fig:
10567           Try to get autoplugging working, fix type detection. Fix text
10568           in hello-world image.
10569
10570 2005-06-29  Wim Taymans  <wim@fluendo.com>
10571
10572         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10573         (gst_base_sink_change_state):
10574         Small debug line.
10575
10576         * gst/gstclock.h:
10577         map SIGNAL and BROADCAST to the right function.
10578
10579         * gst/gstobject.h:
10580         Remove redundant braces.
10581
10582         * gst/gstpad.c: (gst_pad_set_caps):
10583         Don't call setcaps function when reseting caps to NULL.
10584
10585         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10586         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10587         (gst_system_clock_id_unschedule):
10588         Use BROADCAST as this is what we do.
10589
10590 2005-06-29  Wim Taymans  <wim@fluendo.com>
10591
10592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10593         We are actually prerolling before commiting the state
10594         change. 
10595
10596 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10597
10598         * docs/manual/advanced-clocks.xml:
10599         * docs/manual/advanced-interfaces.xml:
10600         * docs/manual/advanced-metadata.xml:
10601         * docs/manual/advanced-position.xml:
10602         * docs/manual/advanced-schedulers.xml:
10603         * docs/manual/advanced-threads.xml:
10604         * docs/manual/appendix-porting.xml:
10605         * docs/manual/basics-bins.xml:
10606         * docs/manual/basics-bus.xml:
10607         * docs/manual/basics-elements.xml:
10608         * docs/manual/basics-helloworld.xml:
10609         * docs/manual/basics-pads.xml:
10610         * docs/manual/highlevel-components.xml:
10611         * docs/manual/manual.xml:
10612         * docs/manual/thread.fig:
10613           Update (until threads/scheduling) Application Development Manual;
10614           remove GstThread, add GstBus, add simple porting checklist, add
10615           documentation for tag writing, clocks, make all examples until this
10616           part compile and run.
10617         * examples/manual/Makefile.am:
10618           Update from changes to Application Development Manual; add bus
10619           example, remove thread example.
10620
10621 2005-06-28  Wim Taymans  <wim@fluendo.com>
10622
10623         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10624         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10625         (gst_bus_source_dispatch):
10626         Add debugging messages.
10627         Make internal methods static.
10628         Handle the case where the bus is flushed in the handler.
10629         
10630         * gst/gstelement.c: (gst_element_get_bus):
10631         Fix refcount in _get_bus();
10632
10633         * gst/gstpipeline.c: (gst_pipeline_change_state),
10634         (gst_pipeline_get_clock_func):
10635         Clock refcounting fixes.
10636         Handle the case where preroll timed out more gracefully.
10637         
10638         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10639         Clean up the internal thread in dispose. This is needed
10640         for subclasses that actually get disposed.
10641         
10642         * gst/schedulers/threadscheduler.c:
10643         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10644         (gst_thread_scheduler_dispose):
10645         Free thread pool in dispose.
10646
10647 2005-06-28  Andy Wingo  <wingo@pobox.com>
10648
10649         * tests/network-clock-utils.scm (debug, print-event): New utils.
10650
10651         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10652         (*packet-loss*): Unified loss probability.
10653         (network-time): Report out-of-band events.
10654
10655         * tests/plot-data: Add support for out-of-band events. Hack it
10656         into this script instead of passing it down the pipe; should fix
10657         this later.
10658
10659 2005-06-28  Wim Taymans  <wim@fluendo.com>
10660
10661         * docs/gst/gstreamer.types:
10662         * docs/gst/tmpl/gstbasesrc.sgml:
10663         * docs/gst/tmpl/gstpad.sgml:
10664         Docs fixes.
10665
10666 2005-06-28  Wim Taymans  <wim@fluendo.com>
10667
10668         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10669         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10670         (gst_proxy_pad_do_fixatecaps):
10671         Correctly proxy the check_pull_range function.
10672
10673 2005-06-28  Andy Wingo  <wingo@pobox.com>
10674
10675         * tests/network-clock.scm: Removed need for slib.
10676         
10677 2005-06-28  Wim Taymans  <wim@fluendo.com>
10678
10679         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10680         (gst_basesink_preroll_queue_flush):
10681         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10682         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10683         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10684         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10685         (gst_proxy_pad_set_property):
10686         * gst/gstpad.c:
10687         * gst/gstpad.h:
10688         * gst/gstqueue.c: (gst_queue_init):
10689         The deprecated pad loop function is removed now.
10690
10691 2005-06-28  Andy Wingo  <wingo@pobox.com>
10692
10693         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10694         New parameters, simulate network packet loss.
10695
10696         * tests/network-clock-utils.scm: Initialize the RNG.
10697
10698 2005-06-28  Wim Taymans  <wim@fluendo.com>
10699
10700         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10701         (gst_basesink_event), (gst_basesink_deactivate):
10702         Flushing the preroll queue always needs to unlock the waiters.
10703
10704 2005-06-28  Edward Hervey  <edward@fluendo.com>
10705
10706         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10707         Wheen a seek was successful on a pipeline, set the stream_time to the
10708         seek offset in order to have a synchronized stream_time.
10709
10710 2005-06-28  Wim Taymans  <wim@fluendo.com>
10711
10712         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10713         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10714         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10715         (gst_proxy_pad_do_fixatecaps):
10716         Call wrapper function instead of just calling the function
10717         pointers. This takes care of any locking and whatmore.
10718
10719 2005-06-28  Wim Taymans  <wim@fluendo.com>
10720
10721         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10722         (gst_pad_pull_range):
10723         * gst/gstpad.h:
10724         CONNECTED -> LINKED.
10725
10726 2005-06-28  Andy Wingo  <wingo@pobox.com>
10727
10728         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10729         source-munging commit!!!
10730
10731         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10732         (gst_object_sink): Take gpointer arguments, not GstObject --
10733         avoids casts. Like GLib.
10734
10735         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10736         activate.
10737
10738 2005-06-27  Andy Wingo  <wingo@pobox.com>
10739
10740         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10741         remaining buffer.
10742
10743         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10744         returns a sorted copy of the trace list.
10745         (gst_alloc_trace_print_live): New API, only prints traces with
10746         live objects. Sort the list.
10747         (gst_alloc_trace_print_all): Sort the list.
10748         (gst_alloc_trace_print): Align columns.
10749
10750         * gst/elements/gstttypefindelement.c:
10751         * gst/elements/gsttee.c:
10752         * gst/base/gstbasesrc.c:
10753         * gst/base/gstbasesink.c:
10754         * gst/base/gstbasetransform.c:
10755         * gst/gstqueue.c: Adapt for pad activation changes.
10756
10757         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10758         sched.
10759         (gst_pipeline_dispose): Drop ref on sched.
10760
10761         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10762         (gst_pad_activate_default): Push mode by default.
10763         (pre_activate_switch, post_activate_switch): New stubs, things to
10764         do before and after switching activation modes on pads.
10765         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10766         the pad's activate function to choose which mode to activate.
10767         Shortcut on deactivation and call the right function directly.
10768         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10769         mode.
10770         (gst_pad_activate_push): New API, same for push mode.
10771         (gst_pad_set_activate_function) 
10772         (gst_pad_set_activatepull_function) 
10773         (gst_pad_set_activatepush_function): Setters for new API.
10774
10775         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10776         Trace all miniobjects.
10777         (gst_mini_object_make_writable): Unref the arg if we copy, like
10778         gst_caps_make_writable.
10779
10780         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10781
10782         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10783         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10784         Adapt for new pad API.
10785
10786         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10787
10788         * gst/gstelement.h:
10789         * gst/gstelement.c (gst_element_iterate_src_pads) 
10790         (gst_element_iterate_sink_pads): New API functions.
10791         
10792         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10793         should fold into gstiterator.c in some form.
10794         (gst_element_pads_activate): Simplified via use of fold and
10795         delegation of decisions to gstpad->activate.
10796
10797         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10798         help in debugging.
10799
10800         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10801         class once in init, like gstmessage. Didn't run into this issue
10802         but it seems correct. Don't initialize a trace, gstminiobject does
10803         that.
10804
10805         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10806         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10807         to the bus.
10808         (assert_live_count): New util function, uses alloc traces to check
10809         cleanup.
10810
10811         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10812         To be modified when unlink drops the internal pad.
10813
10814 2005-06-27  Wim Taymans  <wim@fluendo.com>
10815
10816         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10817         (gst_bin_change_state):
10818         Cleanup the get_state() function a little, make sure it
10819         iterates the same set of elements.
10820         Added stub iterate_state_order().
10821
10822 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         * docs/gst/gstreamer-docs.sgml:
10825         * docs/gst/gstreamer-sections.txt:
10826         * docs/gst/gstreamer.types:
10827         * docs/gst/tmpl/gstbasesink.sgml:
10828         * docs/gst/tmpl/gstbasesrc.sgml:
10829         * docs/gst/tmpl/gstbasetransform.sgml:
10830         * docs/gst/tmpl/gstelement.sgml:
10831         * docs/gst/tmpl/gstiterator.sgml:
10832         * gst/base/gstbasesrc.c:
10833         * gst/base/gstbasesrc.h:
10834         * gst/base/gstbasetransform.h:
10835         * gst/gstelement.c:
10836         * gst/gstiterator.h:
10837           adding basetransform and iterator docs
10838
10839 2005-06-27  Andy Wingo  <wingo@pobox.com>
10840
10841         * docs/design/part-activation.txt: Notes on how activation should
10842         work -- not quite implemented yet.
10843
10844 2005-06-25  Wim Taymans  <wim@fluendo.com>
10845
10846         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10847         At least get the chain function correct, needs more
10848         fixing.
10849
10850 2005-06-25  Wim Taymans  <wim@fluendo.com>
10851
10852         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10853         (gst_basesink_handle_object), (gst_basesink_event),
10854         (gst_basesink_do_sync), (gst_basesink_handle_event),
10855         (gst_basesink_change_state):
10856         * gst/gsttask.h:
10857         Right, two problems here: ghostpads don't take locks and
10858         glib _rec_mutex_lock_full() with depth==0 still locks.
10859         Catch illegal locking and g_warn them.
10860
10861 2005-06-25  Wim Taymans  <wim@fluendo.com>
10862
10863         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10864         Have to check for completion now...
10865
10866 2005-06-25  Wim Taymans  <wim@fluendo.com>
10867
10868         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10869         (gst_basesink_handle_object), (gst_basesink_event),
10870         (gst_basesink_do_sync), (gst_basesink_handle_event),
10871         (gst_basesink_change_state):
10872         * gst/gstpad.h:
10873         Unlock STREAM_LOCK whatever the recursion was.
10874
10875 2005-06-25  Wim Taymans  <wim@fluendo.com>
10876
10877         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10878         (gst_basesink_preroll_queue_empty),
10879         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10880         (gst_basesink_event), (gst_basesink_do_sync),
10881         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10882         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10883         (gst_basesink_change_state):
10884         Reworked the base sink, handle event and buffer serialisation
10885         correctly and removed possible deadlock.
10886         Handle EOS correctly.
10887
10888 2005-06-25  Wim Taymans  <wim@fluendo.com>
10889
10890         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10891         (gst_pipeline_change_state):
10892         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10893         Allow elements to post EOS in the state change function.
10894         Fix up -launch, make it exit the poll loop when the
10895         pipeline actually changed state.
10896         Fix up warning parsing in -launch.
10897
10898 2005-06-25  Wim Taymans  <wim@fluendo.com>
10899
10900         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10901         (gst_tee_sink_activate):
10902         Core takes STREAM_LOCK for us now.
10903
10904 2005-06-25  Wim Taymans  <wim@fluendo.com>
10905
10906         * gst/gstelement.c: (gst_element_get_state_func),
10907         (gst_element_set_state):
10908         * gst/gstelement.h:
10909         * gst/gstmessage.c: (gst_message_parse_error),
10910         (gst_message_parse_warning):
10911         Keep track of current target state while performing a state
10912         change so that subclasses can do something interesting.
10913         Fix parsing of warning/error messages when GError is NULL.
10914
10915 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10916
10917         * docs/gst/Makefile.am:
10918         * docs/gst/gstreamer-docs.sgml:
10919         * docs/gst/gstreamer-sections.txt:
10920         * docs/gst/gstreamer.types:
10921         * docs/gst/tmpl/gstbasesink.sgml:
10922         * docs/gst/tmpl/gstbasesrc.sgml:
10923         * docs/gst/tmpl/gstbin.sgml:
10924         * docs/gst/tmpl/gstcompat.sgml:
10925         * docs/gst/tmpl/gstfakesink.sgml:
10926         * docs/gst/tmpl/gstfakesrc.sgml:
10927         * docs/gst/tmpl/gstfilesink.sgml:
10928         * docs/gst/tmpl/gstfilesrc.sgml:
10929         * docs/gst/tmpl/gstindex.sgml:
10930         * docs/manual/appendix-quotes.xml:
10931         * gst/base/gstbasesrc.h:
10932         * gst/elements/gstfakesrc.h:
10933         * gst/gstmessage.h:
10934           start pulling in base classes and elements in our docs
10935
10936 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10937
10938         * docs/gst/Makefile.am:
10939         * docs/libs/Makefile.am:
10940           fixed make distcheck with gtk-doc 1.3
10941
10942 2005-06-23  Wim Taymans  <wim@fluendo.com>
10943
10944         * gst/gstelement.c: (gst_element_get_state_func),
10945         (gst_element_set_state), (gst_element_change_state):
10946         When the state did not change, also report NO_PREROLL
10947         when it matters.
10948
10949 2005-06-23  Wim Taymans  <wim@fluendo.com>
10950
10951         * gst/gstpad.c: (gst_pad_event_default):
10952         * gst/gstqueue.c: (gst_queue_loop):
10953         No unsafe task pausing please.
10954
10955 2005-06-23  Wim Taymans  <wim@fluendo.com>
10956
10957         * gst/schedulers/threadscheduler.c:
10958         (gst_thread_scheduler_task_start),
10959         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10960         Ref the task before pushing it on the threadpool. This
10961         makes sure that we have a ref when the threadfunction is
10962         actually called.
10963
10964 2005-06-23  Andy Wingo  <wingo@pobox.com>
10965
10966         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10967         offset is greater than the file's size.
10968
10969         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10970         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10971         * gst/gstobject.c (gst_object_class_init): Make the class lock
10972         recursive. Wim won't let me drop deep_notify. Decodebin works
10973         again, whoopdy doo.
10974
10975         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10976         internal pad, and hacks accordingly. Doesn't do it on the target
10977         pad because we change its caps. Probably catches all cases of
10978         interest tho.
10979         (gst_ghost_pad_set_property): Connect to notify::caps as
10980         appropritate.
10981
10982         * tests/network-clock.scm (plot-simulation): Pipe data to the
10983         elite python skript.
10984
10985         * tests/network-clock-utils.scm (define-parameter): New macro,
10986         defines a parameter that can be set via the command line.
10987         (set-parameter!, parse-parameter-arguments): Command line args
10988         parser.
10989
10990         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10991         stdin.
10992
10993 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10994
10995         * gst/elements/gsttypefindelement.c:
10996         (gst_type_find_element_handle_event):
10997           Don't restart typefinding on a discont.
10998         * gst/gstelement.c: (gst_element_set_state):
10999           Debug spelling fix.
11000         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
11001           Allow changing mode of an active pad.
11002           Debug output fixes.
11003         * gst/registries/gstlibxmlregistry.c: (load_feature):
11004           Don't cast a static pad template to a normal pad template.
11005
11006 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11007
11008         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11009         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11010           remove gst_strtoll completely, since it didn't actually do
11011           anything more than what g_ascii_strtoull already does.
11012           check for range errors when deserializing
11013           do a cast for the unsigned cases; but further fixing needs
11014           a decision on what the interpretation of "(int)" and
11015           deserialization should be for values that fall outside the
11016           type's boundaries (ie, refuse, or interpret as casting)
11017
11018 2005-06-23  Wim Taymans  <wim@fluendo.com>
11019
11020         * check/Makefile.am:
11021         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11022         * docs/design/part-live-source.txt:
11023         * docs/design/part-states.txt:
11024         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11025         (gst_basesrc_set_live), (gst_basesrc_is_live),
11026         (gst_basesrc_get_range), (gst_basesrc_activate),
11027         (gst_basesrc_change_state):
11028         * gst/base/gstbasesrc.h:
11029         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11030         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11031         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11032         * gst/gstelement.c: (gst_element_get_state_func),
11033         (gst_element_set_state):
11034         * gst/gstelement.h:
11035         * gst/gsttypes.h:
11036         * tools/gst-launch.c: (event_loop), (main):
11037         Added support for live sources and other elements that
11038         cannot do preroll.
11039         Updated design docs, added live-source design doc.
11040         Implemented live source functionality in basesrc
11041         Fix error condition in _bin_get_state()
11042         Implement live source handling in -launch.
11043         Added check for live sources.
11044         Fixed case in GstBin where elements were changed state
11045         multiple times.
11046
11047
11048 2005-06-23  Andy Wingo  <wingo@pobox.com>
11049
11050         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11051         borken refcounting.
11052
11053         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11054         gst_caps_replace takes care of this for us.
11055
11056         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11057         gst_pad_set_caps on the target, not just its setcaps() function.
11058
11059         * tests/network-clock.scm: 
11060         * tests/network-clock-utils.scm: A network clock simulator.
11061         Something of an algorithmic testbed before doing something in C.
11062
11063 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11064
11065         * check/Makefile.am:
11066         * check/gst/capslist.h:
11067           copy over from 0.8, and add two with bitmasks specified with
11068           (int) 0xFF...
11069         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11070           add test to parse everything from capslist.h
11071         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11072         (main):
11073           add test for structure deserialization
11074         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11075           add tests for deserialization of strings to int types
11076         * gst/gststructure.c: (gst_structure_nth_field_name):
11077         * gst/gststructure.h:
11078           add a way to get the name of a field referenced by index
11079         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11080           instead of checking if the resulting long long lies between
11081           min and max, we check if the long long would fit into
11082           a number of bytes for the final type.
11083           This fixes cases where a string represents 2^32 - 1, which
11084           when cast to int would be the (valid) -1, but is bigger than
11085           G_MAXINT
11086
11087 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11088
11089         * gst/parse/grammar.y:
11090           add a log line for type deserialization
11091
11092 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11093
11094         * check/gst/gstvalue.c: (START_TEST):
11095         * gst/gstvalue.c: (gst_value_deserialize):
11096           return long long, not int, so gint64 deserialization actually
11097           works.  Is there any flag that makes the compiler check this ?
11098           Fixes #308559
11099
11100 2005-06-22  Wim Taymans  <wim@fluendo.com>
11101
11102         * gst/gstbuffer.h:
11103         Added convenience macros for setting buffers in GValue.
11104
11105 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11106
11107         * check/gst/.cvsignore:
11108         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11109           add a test deserializing int64, and comment part out because
11110           it fails, yay !
11111
11112 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11113
11114         * check/Makefile.am:
11115         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11116         * testsuite/Makefile.am:
11117         * testsuite/caps/Makefile.am:
11118         * testsuite/caps/value_serialize.c:
11119         * testsuite/test_gst_init.c:
11120           move a value_serialize test over
11121
11122 2005-06-20  Wim Taymans  <wim@fluendo.com>
11123
11124         * gst/gstpad.c:
11125         Small doc updates.
11126         
11127         * gst/gstvalue.c: (gst_value_compare_buffer),
11128         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11129         (gst_value_compare_flags), (gst_value_serialize_flags),
11130         (gst_value_deserialize_flags), (_gst_value_initialize):
11131         Fix serialisation of buffers, they are not boxed types anymore
11132
11133 2005-06-20  Wim Taymans  <wim@fluendo.com>
11134
11135         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11136         Testcase to show error in buffer-on-caps serialisation.
11137
11138 2005-06-20  Andy Wingo  <wingo@pobox.com>
11139
11140         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11141         will be adding to later.
11142
11143         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11144         if its socks fill with rocks.
11145         (gst_system_clock_obtain): Set the name on object construction.
11146         Avoid double-checked locking.
11147
11148 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11149
11150         * gst/gsturi.c: (gst_element_make_from_uri):
11151           Fix potential endless loop.
11152
11153 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11154
11155         * check/Makefile.am:
11156           add gsttag
11157         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11158         (main):
11159           move over from testsuite dir and clean up
11160         * configure.ac:
11161         * gst/gsttag.c:
11162         * testsuite/Makefile.am:
11163         * testsuite/tags/.cvsignore:
11164         * testsuite/tags/Makefile.am:
11165         * testsuite/tags/merge.c:
11166           remove testsuite/tags
11167
11168 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11169
11170         * docs/gst/gstreamer-sections.txt:
11171         * docs/gst/tmpl/gstenumtypes.sgml:
11172         * win32/gstenumtypes.c:
11173           clean up documentation build a little
11174
11175 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11176
11177         * check/gstcheck.h:
11178           add macros for checking refcounts on objects and caps
11179         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11180           add some more unit tests
11181         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11182         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11183           fix leaked refcounts (I hope :)) so unittest works
11184         * gst/gstpad.h:
11185           whitespace removal
11186
11187 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11188
11189         * configure.ac: back to HEAD
11190
11191 === release 0.9.1 ===
11192
11193 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11194
11195         * NEWS:
11196         * RELEASE:
11197           updated
11198
11199 2005-06-17  Andy Wingo  <wingo@pobox.com>
11200
11201         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11202         assert; it's always possible that the pad gets deactivated in
11203         between the checks in gstpad.c and the implementation. Rely on
11204         finish_preroll() to return a FLUSHING or similar instead of on the
11205         assert.
11206         
11207         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11208         clock and post an EOS message if we come out of finish_preroll in
11209         the playing state.
11210
11211 2005-06-16  David Schleef  <ds@schleef.org>
11212
11213         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11214         (gst_capsfilter_set_property): Allow NULL as possible value
11215         for filter_caps property, indicating GST_CAPS_ANY.
11216
11217 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11218
11219         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11220           fix debug output
11221         * gst/schedulers/Makefile.am:
11222           use libgst prefix
11223         * gstreamer.spec.in:
11224           fix spec for it
11225
11226 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11227
11228         * gstreamer.spec.in:
11229           clean up
11230
11231 2005-06-08  Andy Wingo  <wingo@pobox.com>
11232
11233         * gst/gstutils.c: RPAD fixes all around.
11234         (gst_element_link_pads): Refcounting fixes.
11235
11236         * tools/gst-inspect.c:
11237         * tools/gst-xmlinspect.c:
11238         * parse/grammar.y:
11239         * gst/base/gsttypefindhelper.c:
11240         * gst/base/gstbasesink.c:
11241         * gst/gstqueue.c: RPAD fixes.
11242
11243         * gst/gstghostpad.h:
11244         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11245         pads. The tricky thing is they provide both source and sink
11246         interfaces, since they proxy the internal pad for the external
11247         pad, and vice versa. Implement with lower-level ProxyPad objects,
11248         with the interior proxy pad as a child of the exterior ghost pad.
11249         Should write a doc on this.
11250         
11251         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11252         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11253         gst_object API.
11254         
11255         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11256         pads are real pads. No ghost pads in this file. Not documenting
11257         the myriad s/RPAD/PAD/ and REALIZE fixes.
11258         (gst_pad_class_init): Add properties for "direction" and
11259         "template". Both are construct-only, so they can't change during
11260         the life of the pad. Fixes properly deriving from GstPad.
11261         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11262         derived objects, just set properties when creating the objects via
11263         g_object_new.
11264         (gst_pad_get_parent): Implement as a function, return NULL if the
11265         parent is not an element.
11266         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11267         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11268         
11269         * gst/gstobject.c (gst_object_class_init): Make name a construct
11270         property. Don't set it in the object init.
11271
11272         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11273         with UNKNOWN direction.
11274         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11275         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11276         (gst_element_remove_pad): Remove ghost-pad special cases.
11277         (gst_element_pads_activate): Remove rpad cruft.
11278
11279         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11280         catch the pad's-parent-not-an-element case.
11281
11282         * gst/gst.h: Include gstghostpad.h.
11283
11284         * gst/gst.c (init_post): No more real, ghost pads.
11285
11286         * gst/Makefile.am: Add gstghostpad.[ch].
11287
11288         * check/Makefile.am:
11289         * check/gst/gstbin.c:
11290         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11291         into a bin creates ghost pads, and that the refcounts are right.
11292         Partly moved from gstbin.c.
11293
11294 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11295
11296         * check/gst-libs/.cvsignore:
11297         * check/gst/.cvsignore:
11298         * check/pipelines/.cvsignore:
11299           ignore more
11300         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11301         (START_TEST), (cleanup_suite), (main):
11302           add some tests related to cleanup after running pipelines
11303
11304 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11305
11306         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11307           add a testsuite for GstBuffer
11308
11309 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11310
11311         * gst/gstminiobject.h:
11312           add defines for accessing the refcount
11313
11314 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11315
11316         * Makefile.am: added support for html unit test coverage reports
11317
11318 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11319
11320         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11321           Free existing caps if the capsfilter changes. Add a FIXME about
11322           setting those caps on the pads.
11323
11324         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11325           Before adding a ghost pad to a parent bin, check that there isn't
11326           already one for the element on the bin. Prevents infinite recursion
11327           when using decodebin in parse pipelines. Andy says he'll rewrite the
11328           way this works anyway, so ignore the hack.
11329
11330 2005-06-02  Andy Wingo  <wingo@pobox.com>
11331
11332         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11333         file size, pass it on to the type find helper.
11334
11335         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11336         segment_start and segment_end properly according to the seek
11337         method. Segment_end is still a bit flaky because offset can be
11338         negative for CUR and END cases, but it takes -1 as an "unset"
11339         value.
11340
11341 2005-06-02  Wim Taymans  <wim@fluendo.com>
11342
11343         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11344         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11345         (gst_basesink_activate):
11346         * gst/base/gstbasesink.h:
11347         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11348         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11349         (gst_pad_query), (gst_pad_start_task):
11350         * gst/gstpad.h:
11351         * gst/gstqueue.c: (gst_queue_bufferalloc),
11352         (gst_queue_handle_sink_event), (gst_queue_chain):
11353         Bufferalloc: return GstFlowReturn to more accuratly report
11354         why allocation failed.
11355
11356 2005-06-02  Wim Taymans  <wim@fluendo.com>
11357
11358         * gst/gstpipeline.c: (gst_pipeline_send_event):
11359         Take snapshot of state without blocking.
11360
11361 2005-06-02  Wim Taymans  <wim@fluendo.com>
11362
11363         * docs/design/part-TODO.txt:
11364         * docs/design/part-caps.txt:
11365         * docs/design/part-clocks.txt:
11366         * docs/design/part-negotiation.txt:
11367         * docs/design/part-preroll.txt:
11368         Small doc updates 
11369
11370 2005-05-30  Wim Taymans  <wim@fluendo.com>
11371
11372         * gst/elements/gstidentity.c: (gst_identity_event),
11373         (gst_identity_transform), (gst_identity_get_property):
11374         Protect last_message property as it is accessed from
11375         multiple threads.
11376
11377 2005-05-30  Wim Taymans  <wim@fluendo.com>
11378
11379         * gst/gstelement.c: (gst_element_init),
11380         (gst_element_pads_activate), (gst_element_change_state):
11381         Slicker pad activation code.
11382
11383 2005-05-30  Wim Taymans  <wim@fluendo.com>
11384
11385         * gst/Makefile.am:
11386         * gst/gstelement.h:
11387         * gst/gstelementfactory.h:
11388         * gst/gsttypes.h:
11389         Move elementfactory methods to separate .h file.
11390
11391 2005-05-30  Wim Taymans  <wim@fluendo.com>
11392
11393         * docs/design/part-overview.txt:
11394         * gst/gstsystemclock.h:
11395         Small typo fixes, doc updates.
11396
11397 2005-05-30  Wim Taymans  <wim@fluendo.com>
11398
11399         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11400         (init_popt_callback):
11401         Remove cpu-opt flag.
11402
11403 2005-05-30  Wim Taymans  <wim@fluendo.com>
11404
11405         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11406         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11407         * gst/gstbuffer.h:
11408         Avoid typechecking in places where not needed.
11409         Added accessor for malloc_data.
11410
11411 2005-05-30  Wim Taymans  <wim@fluendo.com>
11412
11413         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11414         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11415         (gst_pad_configure_sink), (gst_pad_configure_src),
11416         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11417         (gst_pad_start_task):
11418         Propagate errors from _set_caps() in configure_src/sink
11419         functions instead of returning TRUE.
11420         FLUSH events can travel up and downstream
11421
11422
11423 2005-05-30  Wim Taymans  <wim@fluendo.com>
11424
11425         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11426         (gst_basesink_activate):
11427         Handle EOS in preroll.
11428
11429 2005-05-30  Wim Taymans  <wim@fluendo.com>
11430
11431         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11432         (gst_queue_loop), (gst_queue_handle_src_event):
11433         Remove old pieces of code
11434         Flushing the queue in an upstream event is a very bad idea.
11435
11436 2005-05-26  Andy Wingo  <wingo@pobox.com>
11437
11438         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11439         gst_value_set_mini_object so as to add a ref on the object (which
11440         will be removed when the value is unset).
11441
11442         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11443         arg type in ::handoff.
11444
11445         * gst/gstelement.c (gst_element_change_state): Also deactivate
11446         pads in READY->NULL, just in case the element didn't make it to
11447         PAUSED. Wingo tested, Wim approved.
11448
11449 2005-05-26  Wim Taymans  <wim@fluendo.com>
11450
11451         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11452         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11453         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11454         A flushing pad cannot be used to alloc_buffer from.
11455
11456 2005-05-26  Wim Taymans  <wim@fluendo.com>
11457
11458         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11459         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11460         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11461         (gst_bus_create_watch), (gst_bus_add_watch_full):
11462         * gst/gstbus.h:
11463         Implement a real GSource and use g_main_context_wakeup() to
11464         signal new messages instead of the socketpair.
11465
11466 2005-05-25  Wim Taymans  <wim@fluendo.com>
11467
11468         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11469         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11470         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11471         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11472         (gst_pad_send_event), (gst_pad_start_task):
11473         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11474         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11475         (gst_queue_sink_activate), (gst_queue_src_activate),
11476         (gst_queue_change_state):
11477         * gst/gstqueue.h:
11478         Fix state changes for non sinks. We now change sinks, then elements
11479         with unconnected srcpads, then the rest.
11480         More efficient queue unlocking in flush and state changes.
11481         Set the pad activate mode even if it does not have an activate
11482         function.
11483
11484 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11485
11486         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11487           Don't go in pull mode for non-seekable sources.
11488         * gst/elements/gsttypefindelement.h:
11489         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11490         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11491         (free_entry), (stop_typefinding),
11492         (gst_type_find_element_handle_event), (find_peek),
11493         (gst_type_find_element_chain), (do_pull_typefind),
11494         (gst_type_find_element_change_state):
11495           Allow typefinding (w/o seeking) in push-mode, simplified version
11496           of what was in 0.8.
11497         * gst/gstutils.c: (gst_buffer_join):
11498         * gst/gstutils.h:
11499           gst_buffer_join() from 0.8.
11500
11501 2005-05-25  Wim Taymans  <wim@fluendo.com>
11502
11503         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11504         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11505         (gst_pad_send_event), (gst_pad_start_task):
11506         Disable attempt at mode switching until it is figured out.
11507
11508 2005-05-25  Wim Taymans  <wim@fluendo.com>
11509
11510         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11511         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11512         (gst_basesink_finish_preroll), (gst_basesink_chain),
11513         (gst_basesink_loop), (gst_basesink_activate),
11514         (gst_basesink_change_state):
11515         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11516         (gst_basesrc_get_range), (gst_basesrc_loop),
11517         (gst_basesrc_activate):
11518         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11519         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11520         (gst_real_pad_init), (gst_real_pad_set_property),
11521         (gst_real_pad_get_property), (gst_pad_set_active),
11522         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11523         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11524         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11525         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11526         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11527         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11528         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11529         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11530         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11531         (gst_pad_stop_task):
11532         * gst/gstpad.h:
11533         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11534         (gst_queue_loop), (gst_queue_src_activate):
11535         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11536         (gst_task_get_state):
11537         * gst/gsttask.h:
11538         * gst/schedulers/threadscheduler.c:
11539         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11540         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11541         in task function.
11542         Remove ACTIVE pad flag, use FLUSHING everywhere
11543         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11544         functions.
11545         Add locks around IS_FLUSHING when reading.
11546         Take STREAM lock in chain(), get_range() functions so plugins
11547         don't need to take it anymore.
11548         
11549
11550
11551 2005-05-25  Wim Taymans  <wim@fluendo.com>
11552
11553         * tools/gst-launch.c: (event_loop):
11554         Unref message after using its contents instead of
11555         before.
11556
11557 2005-05-24  Wim Taymans  <wim@fluendo.com>
11558
11559         * docs/design/draft-ghostpads.txt:
11560         * docs/design/draft-push-pull.txt:
11561         * docs/design/draft-query.txt:
11562         * docs/design/part-overview.txt:
11563         Docs updates, added general overview doc.
11564
11565 2005-05-21  David Schleef  <ds@schleef.org>
11566
11567         * docs/gst/tmpl/old/GstBin.sgml:
11568         * docs/gst/tmpl/old/GstBuffer.sgml:
11569         * docs/gst/tmpl/old/GstCaps.sgml:
11570         * docs/gst/tmpl/old/GstClock.sgml:
11571         * docs/gst/tmpl/old/GstCompat.sgml:
11572         * docs/gst/tmpl/old/GstData.sgml:
11573         * docs/gst/tmpl/old/GstElement.sgml:
11574         * docs/gst/tmpl/old/GstEvent.sgml:
11575         * docs/gst/tmpl/old/GstIndex.sgml:
11576         * docs/gst/tmpl/old/GstStructure.sgml:
11577         * docs/gst/tmpl/old/GstTag.sgml:
11578         * docs/gst/tmpl/old/cothreads.sgml:
11579         * docs/gst/tmpl/old/cothreads_compat.sgml:
11580         * docs/gst/tmpl/old/gettext.sgml:
11581         * docs/gst/tmpl/old/gobject2gtk.sgml:
11582         * docs/gst/tmpl/old/grammar.tab.sgml:
11583         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11584         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11585         * docs/gst/tmpl/old/gst_private.sgml:
11586         * docs/gst/tmpl/old/gstaggregator.sgml:
11587         * docs/gst/tmpl/old/gstarch.sgml:
11588         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11589         * docs/gst/tmpl/old/gstbufferstore.sgml:
11590         * docs/gst/tmpl/old/gstdata_private.sgml:
11591         * docs/gst/tmpl/old/gstdisksink.sgml:
11592         * docs/gst/tmpl/old/gstdisksrc.sgml:
11593         * docs/gst/tmpl/old/gstelementfactory.sgml:
11594         * docs/gst/tmpl/old/gstextratypes.sgml:
11595         * docs/gst/tmpl/old/gstfakesink.sgml:
11596         * docs/gst/tmpl/old/gstfakesrc.sgml:
11597         * docs/gst/tmpl/old/gstfdsink.sgml:
11598         * docs/gst/tmpl/old/gstfdsrc.sgml:
11599         * docs/gst/tmpl/old/gstfilesink.sgml:
11600         * docs/gst/tmpl/old/gstfilesrc.sgml:
11601         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11602         * docs/gst/tmpl/old/gstidentity.sgml:
11603         * docs/gst/tmpl/old/gstindexfactory.sgml:
11604         * docs/gst/tmpl/old/gstmarshal.sgml:
11605         * docs/gst/tmpl/old/gstmd5sink.sgml:
11606         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11607         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11608         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11609         * docs/gst/tmpl/old/gstpipefilter.sgml:
11610         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11611         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11612         * docs/gst/tmpl/old/gstshaper.sgml:
11613         * docs/gst/tmpl/old/gstspider.sgml:
11614         * docs/gst/tmpl/old/gstspideridentity.sgml:
11615         * docs/gst/tmpl/old/gststatistics.sgml:
11616         * docs/gst/tmpl/old/gsttee.sgml:
11617         * docs/gst/tmpl/old/gsttimecache.sgml:
11618         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11619         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11620         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11621         * docs/gst/tmpl/old/types.sgml:
11622           I didn't intend to add these or check them in.
11623
11624 2005-05-19  David Schleef  <ds@schleef.org>
11625
11626         * configure.ac: Use -no-common everywhere.  In a sane world, it
11627           would be the default in libtool, because without it, you can't
11628           build DLLs on Windows.
11629         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11630         * docs/gst/gstreamer-sections.txt:
11631         * docs/gst/tmpl/gstcpu.sgml:
11632         * docs/gst/tmpl/gstdata.sgml:
11633         * docs/gst/tmpl/gstthread.sgml:
11634
11635 2005-05-19  David Schleef  <ds@schleef.org>
11636
11637         * gst/gstminiobject.c: (gst_value_set_mini_object),
11638         (gst_value_take_mini_object), (gst_value_get_mini_object):
11639         * gst/gstminiobject.h: Add GValue set/get functions.
11640
11641 2005-05-19  Wim Taymans  <wim@fluendo.com>
11642
11643         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11644         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11645         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11646         * gst/gstbuffer.h:
11647         * gst/gstbus.c: (gst_bus_post):
11648         * gst/gstelement.c: (gst_element_get_random_pad):
11649         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11650         Make subbufer unref the parent in finalize.
11651         some more debugging info.
11652
11653
11654 2005-05-19  Wim Taymans  <wim@fluendo.com>
11655
11656         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11657         (gst_basesink_init), (gst_basesink_finalize),
11658         (gst_basesink_activate), (gst_basesink_change_state):
11659         Don't free preroll queue too early.
11660
11661 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11662
11663         * gst/Makefile.am:
11664         * gst/ROADMAP:
11665           Hi, I'm outdated. Please shoot me.
11666
11667 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11668
11669         * gst/gstpipeline.c: (gst_pipeline_send_event):
11670           Do not access variables after they have been deleted.
11671
11672 2005-05-19  Wim Taymans  <wim@fluendo.com>
11673
11674         * tools/gst-inspect.c: (print_plugin_features):
11675         A plugin feature does unfortunatly not use the
11676         object name yet...
11677
11678 2005-05-18  Wim Taymans  <wim@fluendo.com>
11679
11680         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11681         Port _span() functions to new subbuffers.
11682
11683 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11684
11685         * gst/gstbin.c: (gst_bin_add_func):
11686           Fix clock settery in bins when adding kids after the clock has
11687           been selected.
11688
11689 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11690
11691         * gst/elements/gstidentity.c: (gst_identity_class_init):
11692           Workaround until signals support GstMiniObject.
11693
11694 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11695
11696         * gst/gstbuffer.c:
11697         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11698
11699 2005-05-18  Wim Taymans  <wim@fluendo.com>
11700
11701         * gst/base/Makefile.am:
11702         * gst/base/gstadapter.c: (gst_adapter_base_init),
11703         (gst_adapter_class_init), (gst_adapter_init),
11704         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11705         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11706         (gst_adapter_flush), (gst_adapter_available),
11707         (gst_adapter_available_fast):
11708         * gst/base/gstadapter.h:
11709         Ported and added adapter to the base classes.
11710
11711 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11712
11713         * gst/gst.c:
11714         * gst/gstmessage.c:
11715           Make sure the class is reffed/unreffed once before threads can be
11716           used.  Fixes #304551.
11717
11718 2005-05-17  Wim Taymans  <wim@fluendo.com>
11719
11720         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11721         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11722         * gst/gstminiobject.c: (gst_mini_object_get_type),
11723         (gst_mini_object_free):
11724         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11725         (gst_pad_push), (gst_pad_push_event):
11726         * gst/gstqueue.c: (gst_queue_change_state):
11727         Don't queue buffers in basesink when we are flushing.
11728         Unref buffer when flushing in basesink.
11729         Flush queue when going to READY
11730         Unref buffer when _push() returns an error.
11731         Don't free MiniObject instance when refcount is incremented
11732         in _finalize() so that we can recover objects.
11733
11734 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11735
11736         * docs/manual/advanced-schedulers.xml:
11737         * docs/manual/appendix-checklist.xml:
11738         * docs/pwg/advanced-clock.xml:
11739         * docs/pwg/advanced-interfaces.xml:
11740         * docs/pwg/advanced-request.xml:
11741         * docs/pwg/advanced-types.xml:
11742         * docs/pwg/intro-preface.xml:
11743         * examples/plugins/example.c: (gst_example_get_type),
11744         (gst_example_class_init), (gst_example_chain),
11745         (gst_example_set_property), (gst_example_get_property),
11746         (gst_example_change_state), (plugin_init):
11747         * examples/plugins/example.h:
11748           small doc fixes
11749
11750 2005-05-17  Wim Taymans  <wim@fluendo.com>
11751
11752         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11753         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11754         * gst/gstqueue.c: (gst_queue_change_state):
11755         Clear queue when going to READY.
11756         Remove IN_SETCAPS flag too.
11757
11758 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11759
11760         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11761           Remove implicit cast from gboolean to GstElementStateReturn;
11762           make sure we still return failure in paused => ready case if
11763           the parent class fails to change state and our own stop 
11764           vfunc succeeds.
11765
11766 2005-05-17  Wim Taymans  <wim@fluendo.com>
11767
11768         * tools/gst-launch.c: (event_loop):
11769         Message was unreffed too soon.
11770
11771 2005-05-16  Andy Wingo  <wingo@pobox.com>
11772
11773         * gst/gstbin.c (sink_iterator_filter): Err... um...
11774
11775         * check/gst/gstbin.c (test_ghost_pads): New test for the
11776         ghosting-if-elements-not-in-same-bin behavior.
11777
11778 2005-05-16  David Schleef  <ds@schleef.org>
11779
11780         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11781         accessing refcount directly.
11782
11783 2005-05-15  David Schleef  <ds@schleef.org>
11784
11785         * check/Makefile.am: remove GstData checks
11786         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11787         * gst/Makefile.am: add miniobject, remove data
11788         * gst/gst.h: add miniobject, remove data
11789         * gst/gstdata.c: remove
11790         * gst/gstdata.h: remove
11791         * gst/gstdata_private.h: remove
11792         * gst/gsttypes.h: remove GstEvent and GstMessage
11793         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11794         * gst/gstmarshal.list: change BOXED -> OBJECT
11795
11796         Implement GstMiniObject.
11797         * gst/gstminiobject.c:
11798         * gst/gstminiobject.h:
11799
11800         Modify to be subclasses of GstMiniObject.
11801         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11802         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11803         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11804         (gst_subbuffer_get_type), (gst_subbuffer_init),
11805         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11806         (gst_buffer_span):
11807         * gst/gstbuffer.h:
11808         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11809         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11810         (_gst_event_copy), (gst_event_new):
11811         * gst/gstevent.h:
11812         * gst/gstmessage.c: (_gst_message_initialize),
11813         (gst_message_get_type), (gst_message_class_init),
11814         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11815         (gst_message_new), (gst_message_new_error),
11816         (gst_message_new_warning), (gst_message_new_tag),
11817         (gst_message_new_state_changed), (gst_message_new_application):
11818         * gst/gstmessage.h:
11819         * gst/gstprobe.c: (gst_probe_perform),
11820         (gst_probe_dispatcher_dispatch):
11821         * gst/gstprobe.h:
11822         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11823         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11824         (_gst_query_copy), (gst_query_new):
11825
11826         Update elements for GstData -> GstMiniObject changes
11827         * gst/gstquery.h:
11828         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11829         (gst_queue_chain), (gst_queue_loop):
11830         * gst/elements/gstbufferstore.c:
11831         (gst_buffer_store_add_buffer_func),
11832         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11833         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11834         (gst_fakesink_render):
11835         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11836         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11837         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11838         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11839         (gst_filesrc_create_read):
11840         * gst/elements/gstidentity.c: (gst_identity_class_init):
11841         * gst/elements/gsttypefindelement.c:
11842         (gst_type_find_element_src_event), (free_entry_buffers),
11843         (gst_type_find_element_handle_event):
11844         * libs/gst/dataprotocol/dataprotocol.c:
11845         (gst_dp_header_from_buffer):
11846         * libs/gst/dataprotocol/dataprotocol.h:
11847         * libs/gst/dataprotocol/dp-private.h:
11848
11849 2005-05-15  David Schleef  <ds@schleef.org>
11850
11851         * gst/elements/gstelements.c: Don't include headers that were
11852         just removed.
11853
11854 2005-05-15  David Schleef  <ds@schleef.org>
11855
11856         * gst/elements/Makefile.am: Remove some elements that don't
11857         need to be in the core (or even exist at all).
11858         * gst/elements/gstaggregator.c:
11859         * gst/elements/gstaggregator.h:
11860         * gst/elements/gstmd5sink.c:
11861         * gst/elements/gstmd5sink.h:
11862         * gst/elements/gstmultifilesrc.c:
11863         * gst/elements/gstmultifilesrc.h:
11864         * gst/elements/gstpipefilter.c:
11865         * gst/elements/gstpipefilter.h:
11866         * gst/elements/gstshaper.c:
11867         * gst/elements/gstshaper.h:
11868         * gst/elements/gststatistics.c:
11869         * gst/elements/gststatistics.h:
11870         * po/POTFILES.in: Remove above files.
11871
11872 2005-05-14  Andy Wingo  <wingo@pobox.com>
11873
11874         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11875         so as to get the refs right.
11876         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11877         unreffing objects that don't pass the filter.
11878
11879         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11880         gst_element_set_bus.
11881         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11882         normal cases, this will destroy the bus.
11883
11884         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11885         object.
11886
11887         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11888         has no sinks.
11889
11890 2005-05-13  Andy Wingo  <wingo@pobox.com>
11891
11892         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11893         gst_pad_link, call pad_link_maybe_ghosting,
11894         (pad_link_maybe_ghosting): Links pads, making sure that the
11895         elements being linked are in the same bin.
11896         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11897         Helpers for pad_link_maybe_ghosting.
11898
11899 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11900
11901         * configure.ac:
11902           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11903
11904 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11905
11906         * docs/design/part-element-source.txt:
11907           Mention GstPushSrc
11908
11909 2005-05-12  Wim Taymans  <wim@fluendo.com>
11910
11911         * gst/base/gstbasesink.c: (gst_basesink_init),
11912         (gst_basesink_activate):
11913         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11914         (gst_basesrc_is_seekable):
11915         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11916         (bin_element_is_sink), (gst_bin_change_state):
11917         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11918         * gst/gstelement.h:
11919         Identify sinks by their flag to avoid overly complicated
11920         checks (fow now).
11921         Do state changes even for elements not reachable from the
11922         sinks.
11923         BaseSink is a sink now :)
11924         Some more debugging info in the basesrc.
11925
11926
11927 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11928
11929         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11930           Implement _query on a bin, similar to _send_event.
11931
11932 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11933
11934         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11935           Discont event offset format should be GST_FORMAT_BYTES,
11936           not GST_FORMAT_TIME.
11937
11938 2005-05-12  Wim Taymans  <wim@fluendo.com>
11939
11940         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11941         Same fix as Ronald's but without the signal. 
11942
11943 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11944
11945         * gst/gstutils.c: (gst_element_query_position):
11946           No, an element is not a pad.
11947
11948 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11949
11950         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11951         (gst_bin_get_state):
11952           If a child is removed from a bin while we remove the child from
11953           the bin and while we're retrieving its state, signal this to the
11954           get_state function so we abort the wait (instead of waiting for
11955           a timeout) and can immediately re-iterate over all other elements.
11956
11957 2005-05-12  Wim Taymans  <wim@fluendo.com>
11958
11959         * gst/base/Makefile.am:
11960         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11961         (gst_basesrc_start):
11962         * gst/base/gstbasesrc.h:
11963         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11964         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11965         (gst_pushsrc_init), (gst_pushsrc_create):
11966         * gst/base/gstpushsrc.h:
11967         Added is_seekable to BaseSrc
11968         Added simple PushSrc.
11969
11970 2005-05-11  Wim Taymans  <wim@fluendo.com>
11971
11972         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11973         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11974         (gst_element_link_pads), (gst_element_query_position),
11975         (gst_element_query_convert), (intersect_caps_func),
11976         (gst_pad_query_position), (gst_pad_query_convert):
11977         Fix refcounting in utils function.
11978         No point in trying to activate a pad when it's added, it could
11979         be added from the state change function and then we deadlock, the
11980         element has to decide what to do.
11981
11982 2005-05-10  Andy Wingo  <wingo@pobox.com>
11983
11984         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11985         *all* the arguments.
11986
11987         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11988         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11989         lock (according to the docs -- if this is wrong change the docs).
11990
11991         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11992         flush messages in the NULL state.
11993
11994         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11995         message immediately and return.
11996         (gst_bus_set_flushing): New function. If a bus is flushing, it
11997         flushes out any queued messages and immediately unrefs new
11998         messages. This is so when an element goes to NULL, all of the
11999         unhandled messages coming from it can be freed, and their
12000         references to the element dropped. In other words: message source
12001         ref considered harmful :P
12002
12003         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
12004         we're finished with it.
12005
12006         * gst/gstmessage.c (gst_message_new_state_changed): 
12007
12008 2005-05-10  Wim Taymans  <wim@fluendo.com>
12009
12010         * gst/gstvalue.c: (gst_value_compare_flags),
12011         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12012         (_gst_value_initialize):
12013         Added flags serialize/deserialize/compare code.
12014
12015 2005-05-09  Andy Wingo  <wingo@pobox.com>
12016
12017         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12018         Intersect the peer's caps with our caps.
12019
12020 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12021
12022         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12023         * gst/elements/gsttypefindelement.c: (find_peek):
12024           Handle negative offsets better. Fixes decodebin.
12025
12026 2005-05-09  Wim Taymans  <wim@fluendo.com>
12027
12028         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12029         (gst_base_transform_event):
12030         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12031         Implement accept_caps.
12032         Fix silly lock/unlock mismatch in base class.
12033
12034 2005-05-09  Wim Taymans  <wim@fluendo.com>
12035
12036         * docs/design/draft-push-pull.txt:
12037         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12038         * gst/elements/gstfilesink.c: (gst_filesink_init),
12039         (gst_filesink_query):
12040         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12041         (gst_type_find_handle_src_query), (find_element_get_length):
12042         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12043         * gst/gstelement.h:
12044         * gst/gstmessage.c:
12045         * gst/gstmessage.h:
12046         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12047         (gst_real_pad_get_caps_unlocked),
12048         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12049         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12050         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12051         (gst_real_pad_dispose), (gst_real_pad_finalize),
12052         (gst_pad_load_and_link), (gst_pad_save_thyself),
12053         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12054         (gst_pad_check_pull_range), (gst_pad_pull_range),
12055         (gst_pad_template_get_type), (gst_pad_template_class_init),
12056         (gst_pad_template_init), (gst_pad_template_dispose),
12057         (name_is_valid), (gst_static_pad_template_get),
12058         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12059         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12060         (gst_pad_get_element_private), (gst_pad_start_task),
12061         (gst_pad_pause_task), (gst_pad_stop_task),
12062         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12063         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12064         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12065         (gst_ghost_pad_new):
12066         * gst/gstpad.h:
12067         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12068         (gst_query_new_position), (gst_query_set_position),
12069         (gst_query_parse_position), (gst_query_new_convert),
12070         (gst_query_set_convert), (gst_query_parse_convert):
12071         * gst/gstquery.h:
12072         * gst/gstqueryutils.c:
12073         * gst/gstqueryutils.h:
12074         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12075         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12076         (gst_queue_handle_src_query):
12077         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12078         (gst_element_query_position), (gst_element_query_convert),
12079         (intersect_caps_func), (gst_pad_query_position),
12080         (gst_pad_query_convert):
12081         * gst/gstutils.h:
12082         * tools/gst-inspect.c: (print_pad_info):
12083         * tools/gst-xmlinspect.c: (print_element_info):
12084         Remove old query functions. Ported old code.
12085         Added position/convert helper functions to gstutils.
12086         Reordered gstpad.c code, grouping relevant things.
12087         Remove gst_message_new(), always need to speficy a specific
12088         message.
12089
12090
12091 2005-05-09  Andy Wingo  <wingo@pobox.com>
12092
12093         * gst/gstiterator.h: Add some includes.
12094
12095         * gst/gstqueryutils.h: Include more headers.
12096
12097         * gst/gstpad.h:
12098         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12099         some uses of gst_pad_query.
12100
12101         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12102         NULL out parameters.
12103         (gst_query_new_position): New proc, allocates a new position
12104         query.
12105
12106         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12107         gstqueryutils.c to the build.
12108
12109         * gst/gststructure.c (gst_structure_set_valist): Implement with
12110         the generic G_VALUE_COLLECT.
12111         
12112 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12113
12114         * gst/Makefile.am: (gst_headers):
12115         Added gstqueryutils.h to the list of headers to install, that was
12116         a 'nachty' move wingo :)
12117
12118 2005-05-06  Andy Wingo  <wingo@pobox.com>
12119
12120         * gst/gstquery.h
12121         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12122         GstData, init a memchunk.
12123         (standard_definitions): Add a few query types, deprecate a few.
12124         (gst_query_get_type): New proc.
12125         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12126         implementation.
12127         (gst_query_new_application, gst_query_get_structure): New public
12128         procs.
12129
12130         * docs/design/draft-query.txt: Removed LINKS from the query types,
12131         because all the rest can be dispatched to other pads -- seemed
12132         ugly to have a query that couldn't be dispatched. internal_links
12133         is fine as a pad method.
12134
12135         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12136         in gstpad.c, but maintain binary compatibility for the moment.
12137         Will fix before 0.9 is out.
12138
12139         * gst/gstqueryutils.c: 
12140         * gst/gstqueryutils.h: New files, implement 3 methods for each
12141         query type: parse_query, parse_response, and set. Probably need an
12142         allocator as well.
12143
12144         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12145
12146         * gst/elements/gstfilesink.c (gst_filesink_query2):
12147         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12148         query_types, and formats methods.
12149
12150         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12151         (gst_pad_set_query2_function): New functions.
12152         (gst_real_pad_init): Set query2_default as the default query2
12153         function. Basically just dispatches to internally linked pads.
12154
12155         Needs review!
12156         
12157         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12158         without using the atomic operations. Only one thread can possibly
12159         be accessing the data at this point. Changed so as to avoid
12160         gst_atomic operations.
12161
12162 2005-05-06  Wim Taymans  <wim@fluendo.com>
12163
12164         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12165         Also set caps if we use the fallback buffer alloc.
12166
12167 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12168
12169         * docs/gst/Makefile.am:
12170         * docs/gst/gstreamer-docs.sgml:
12171         * docs/gst/gstreamer-sections.txt:
12172         * docs/gst/tmpl/gstatomic.sgml:
12173         * docs/gst/tmpl/gstmemchunk.sgml:
12174         * testsuite/elements/struct_i386.h:
12175         * win32/GStreamer.vcproj:
12176         * win32/Makefile:
12177           Purge GstAtomic stuff from docs and win32 makefiles as well
12178
12179 2005-05-06  Wim Taymans  <wim@fluendo.com>
12180
12181         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12182         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12183         * gst/gstpad.c: (gst_pad_peer_get_caps):
12184         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12185         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12186         (gst_queue_src_activate), (gst_queue_change_state):
12187         * gst/gstqueue.h:
12188         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12189         (intersect_caps_func):
12190         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12191         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12192         Some fixes for the peer_get_caps() change.
12193
12194 2005-05-06  Wim Taymans  <wim@fluendo.com>
12195
12196         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12197         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12198         (gst_basesink_activate):
12199         Actually do something with error codes returned from the push
12200         functions.
12201
12202 2005-05-06  Wim Taymans  <wim@fluendo.com>
12203
12204         * docs/design/part-element-sink.txt:
12205         * docs/design/part-element-source.txt:
12206         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12207         (gst_basesink_event), (gst_basesink_activate):
12208         * gst/base/gstbasesink.h:
12209         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12210         (gst_basesrc_activate):
12211         * gst/base/gstbasesrc.h:
12212         * gst/gstelement.c: (gst_element_pads_activate):
12213         Some more documentation.
12214         Fixed scheduling decision in _pads_activate().
12215
12216 2005-05-05  Andy Wingo  <wingo@pobox.com>
12217
12218         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12219         the test suite.
12220
12221 2005-05-05  Wim Taymans  <wim@fluendo.com>
12222
12223         * gst/base/Makefile.am:
12224         * gst/base/gstbasesink.h:
12225         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12226         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12227         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12228         (gst_collectpads_class_init), (gst_collectpads_init),
12229         (gst_collectpads_finalize), (gst_collectpads_new),
12230         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12231         (find_pad), (gst_collectpads_remove_pad),
12232         (gst_collectpads_is_active), (gst_collectpads_collect),
12233         (gst_collectpads_collect_range), (gst_collectpads_start),
12234         (gst_collectpads_stop), (gst_collectpads_peek),
12235         (gst_collectpads_pop), (gst_collectpads_available),
12236         (gst_collectpads_read), (gst_collectpads_flush),
12237         (gst_collectpads_chain):
12238         * gst/base/gstcollectpads.h:
12239         * gst/elements/Makefile.am:
12240         * gst/elements/gstelements.c:
12241         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12242         (gst_fakesink_get_times), (gst_fakesink_event),
12243         (gst_fakesink_preroll), (gst_fakesink_render):
12244         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12245         (gst_filesink_init), (gst_filesink_set_location),
12246         (gst_filesink_open_file), (gst_filesink_close_file),
12247         (gst_filesink_pad_query), (gst_filesink_event),
12248         (gst_filesink_render), (gst_filesink_change_state):
12249         * gst/elements/gstfilesink.h:
12250         Added object to help in making collect pad based elements.
12251         Ported filesink.
12252         Make event function in sink baseclass return gboolean.
12253
12254 2005-05-05  Wim Taymans  <wim@fluendo.com>
12255
12256         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12257         (gst_bin_get_by_name):
12258         * gst/gstbuffer.h:
12259         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12260         (gst_clock_finalize):
12261         * gst/gstdata.c: (gst_data_replace):
12262         * gst/gstdata.h:
12263         * gst/gstelement.c: (gst_element_request_pad),
12264         (gst_element_pads_activate):
12265         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12266         (gst_object_unref):
12267         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12268         (gst_pad_set_checkgetrange_function),
12269         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12270         (gst_pad_check_pull_range), (gst_pad_pull_range),
12271         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12272         (gst_pad_pause_task), (gst_pad_stop_task):
12273         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12274         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12275         Fix name lookup in GstBin.
12276         Added _data_replace() function and _buffer_replace()
12277         Use finalize method to clean up clock.
12278         Fix refcounting on request pads.
12279         Fix pad schedule mode error.
12280         Some more object refcounting debug info,
12281
12282
12283 2005-05-04  Andy Wingo <wingo@pobox.com>
12284
12285         * check/Makefile.am:
12286         * docs/gst/tmpl/gstatomic.sgml:
12287         * docs/gst/tmpl/gstplugin.sgml:
12288         * gst/base/gstbasesink.c: (gst_basesink_activate):
12289         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12290         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12291         (gst_basesrc_query), (gst_basesrc_set_property),
12292         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12293         (gst_basesrc_activate):
12294         * gst/base/gstbasesrc.h:
12295         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12296         (gst_base_transform_src_activate):
12297         * gst/elements/gstelements.c:
12298         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12299         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12300         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12301         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12302         (gst_type_find_element_checkgetrange),
12303         (gst_type_find_element_activate):
12304         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12305         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12306         (gst_caps_load_thyself):
12307         * gst/gstelement.c: (gst_element_pads_activate),
12308         (gst_element_save_thyself), (gst_element_restore_thyself):
12309         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12310         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12311         * gst/gstpad.h:
12312         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12313         (gst_xml_parse_file), (gst_xml_parse_memory),
12314         (gst_xml_get_element), (gst_xml_make_element):
12315         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12316         (_file_index_id_save_xml), (gst_file_index_commit):
12317         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12318         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12319         (load_paths):
12320         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12321         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12322         * tools/gst-complete.c: (main):
12323         * tools/gst-compprep.c: (main):
12324         * tools/gst-inspect.c: (print_element_properties_info):
12325         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12326         * tools/gst-xmlinspect.c: (print_element_properties):
12327         GCC 4 fixen.
12328         
12329 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12330
12331         * gst/gstplugin.c: (gst_plugin_check_module),
12332         (gst_plugin_check_file), (gst_plugin_load_file):
12333             apply patch from #172526 to make register work on MacOSX
12334
12335 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12336
12337         * docs/gst/tmpl/gstconfig.sgml:
12338         * gst/gstconfig.h.in:
12339           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12340         * testsuite/debug/printf_extension.c: (main):
12341           Do not use GST_PTR_FORMAT on pointers to types with
12342           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12343         * testsuite/elements/property.h:
12344           use correct printf format
12345
12346 2005-05-02  Wim Taymans  <wim@fluendo.com>
12347
12348         * docs/design/draft-push-pull.txt:
12349         * docs/design/draft-query.txt:
12350         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12351         (gst_basesrc_start):
12352         Added draft for new query API.
12353         Added draft for better selecting scheduling methods.
12354         Make basesrc ignore length if the subclass does not support
12355         it.
12356
12357 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12358
12359         * gst/Makefile.am:
12360           possible fixes for automake-1.5 - _LIBADD is reserved
12361
12362 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12363
12364         * docs/faq/Makefile.am:
12365         * docs/manual/Makefile.am:
12366         * docs/manuals.mak:
12367         * docs/pwg/Makefile.am:
12368         * gst/Makefile.am:
12369           possible fixes for automake-1.5
12370
12371 2005-04-28  Wim Taymans  <wim@fluendo.com>
12372
12373         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12374         (gst_basesink_pad_getcaps), (gst_basesink_init),
12375         (gst_basesink_do_sync):
12376         * gst/gstclock.c: (gst_clock_entry_new):
12377         * gst/gstevent.c: (gst_event_discont_get_value):
12378         * gst/gstpipeline.c: (pipeline_bus_handler),
12379         (gst_pipeline_change_state):
12380         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12381         Better debugging of clocking info.
12382         Allow NULL values when getting discont values.
12383
12384 2005-04-27  Wim Taymans  <wim@fluendo.com>
12385
12386         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12387         * check/gst/gstpad.c: (gst_pad_suite):
12388         Increase timeout for checks.
12389
12390 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12391
12392         * check/Makefile.am:
12393           fix the broken rule for cleanup.  Apparently this rule is
12394           only needed on FC2, so maybe this warrants further autotool
12395           inspection.
12396
12397 2005-04-26  Wim Taymans  <wim@fluendo.com>
12398
12399         * gst/gsttrashstack.h:
12400         Ooohh. a nasty one! After having a failed pop() from the stack,
12401         it's possible that the stack is empty. In that case, don't
12402         follow the NULL pointer.
12403
12404 2005-04-25  Wim Taymans  <wim@fluendo.com>
12405
12406         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12407         (gst_pad_set_checkgetrange_function),
12408         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12409         (gst_pad_check_pull_range), (gst_pad_pull_range),
12410         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12411         (gst_pad_pause_task), (gst_pad_stop_task):
12412         * gst/gstplugin.c: (gst_plugin_load):
12413         * gst/gstplugin.h:
12414         Remove gst_library_load as it does more harm than good with
12415         the new g_module flags.
12416         Revert bogus caps template check in pad linking, pad caps
12417         are important when linking not the template, which is more
12418         general than the current caps.
12419
12420 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12421
12422         * gst/autoplug/.cvsignore:
12423         * gst/autoplug/Makefile.am:
12424         * gst/autoplug/gstsearchfuncs.c:
12425         * gst/autoplug/gstsearchfuncs.h:
12426         * gst/autoplug/gstspider.c:
12427         * gst/autoplug/gstspider.h:
12428         * gst/autoplug/gstspideridentity.c:
12429         * gst/autoplug/gstspideridentity.h:
12430         * gst/autoplug/spidertest.c:
12431           Die, spider, die.
12432
12433 2005-04-25  Wim Taymans  <wim@fluendo.com>
12434
12435         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12436         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12437         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12438         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12439         * gst/gstpad.h:
12440         Added stubs for unimplemented functions. 
12441
12442 2005-04-24  David Schleef  <ds@schleef.org>
12443
12444         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12445         please fix.
12446
12447 2005-04-24  David Schleef  <ds@schleef.org>
12448
12449         Convert everything from GstAtomicInt to g_atomic_int_*, and
12450         remove gstatomic.
12451         * gst/Makefile.am:
12452         * gst/gstatomic.c:
12453         * gst/gstatomic.h:
12454         * gst/gstatomic_impl.h:
12455         * gst/gstbuffer.c:
12456         * gst/gstcaps.c:
12457         * gst/gstcaps.h:
12458         * gst/gstclock.c:
12459         * gst/gstclock.h:
12460         * gst/gstdata.c:
12461         * gst/gstdata.h:
12462         * gst/gstdata_private.h:
12463         * gst/gstevent.c:
12464         * gst/gstinfo.c:
12465         * gst/gstinfo.h:
12466         * gst/gstmessage.c:
12467         * gst/gstobject.c:
12468         * gst/gstobject.h:
12469         * gst/gststructure.c:
12470         * gst/gststructure.h:
12471         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12472         * gst/gstutils.h:
12473
12474 2005-04-24  David Schleef  <ds@schleef.org>
12475
12476         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12477         make the regressions tests work.  Remove some code that is no
12478         longer true.
12479         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12480         Disable warning for pads without templates.
12481
12482 2005-04-24  David Schleef  <ds@schleef.org>
12483
12484         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12485         functions that handle filtered links.
12486         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12487         removed functions.
12488         * gst/gstutils.c: Fix/remove utility functions that handle
12489         filtered caps.
12490         * gst/gstutils.h:
12491         * gst/gstvalue.c: Add serialization/deserialization of caps
12492         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12493         requires fixing so that the filter caps notation creates
12494         a capsfilter element and sets the filter_caps property.  I
12495         think everyone probably wants to keep the shorthand notation.
12496         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12497         * docs/gst/tmpl/gstpad.sgml:
12498
12499         * gst/elements/gstelements.c: Register capsfilter element.
12500         * gst/Makefile.am: fix spacing
12501         * docs/random/ds/0.9-suggested-changes: random
12502
12503 2005-04-23  David Schleef  <ds@schleef.org>
12504
12505         * gst/elements/Makefile.am:
12506         * gst/elements/gstcapsfilter.c: New element that acts like an
12507         identity, but filters caps.  Will eventually replace filtered
12508         caps in pad linking.
12509         * gst/gstutils.c: (gst_element_create_all_pads): New function
12510         to create all the ALWAYS pads that are registered with an
12511         element class.  This functionality should eventually be
12512         merged in with GstElement initialization.
12513         * gst/gstutils.h:
12514         * testsuite/trigger/README: part of trigger test code that should
12515         have been checked in a long time ago.
12516
12517 2005-04-23  David Schleef  <ds@schleef.org>
12518
12519         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12520         needed with new versions of libtool (nobody will confirm this),
12521         and hard to carry around.
12522         * gst/autoplug/Makefile.am:
12523         * gst/base/Makefile.am:
12524         * gst/elements/Makefile.am:
12525         * gst/indexers/Makefile.am:
12526         * gst/schedulers/Makefile.am:
12527         * libs/gst/bytestream/Makefile.am:
12528         * libs/gst/control/Makefile.am:
12529         * libs/gst/dataprotocol/Makefile.am:
12530         * libs/gst/getbits/Makefile.am:
12531
12532 2005-04-21  Wim Taymans  <wim@fluendo.com>
12533
12534         * docs/design/draft-push-pull.txt:
12535         * docs/design/part-MT-refcounting.txt:
12536         * docs/design/part-TODO.txt:
12537         * docs/design/part-caps.txt:
12538         * docs/design/part-events.txt:
12539         * docs/design/part-gstbus.txt:
12540         * docs/design/part-gstpipeline.txt:
12541         * docs/design/part-messages.txt:
12542         * docs/design/part-push-pull.txt:
12543         * docs/design/part-query.txt:
12544         Some more docs.
12545
12546 2005-04-21  Wim Taymans  <wim@fluendo.com>
12547
12548         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12549         (gst_message_new), (gst_message_new_error),
12550         (gst_message_new_warning), (gst_message_new_tag),
12551         (gst_message_new_state_changed), (gst_message_new_application),
12552         (gst_message_get_structure):
12553         * gst/gstmessage.h:
12554         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12555         (gst_structure_copy_conditional):
12556         Use parent refcount in GstMessage to ensure GstStructure
12557         consistency.
12558         Cleaned up headers a bit.
12559         
12560
12561 2005-04-20  Wim Taymans  <wim@fluendo.com>
12562
12563         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12564         (gst_basesink_pad_getcaps), (gst_basesink_init),
12565         (gst_basesink_chain_unlocked):
12566         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12567         (gst_type_find_helper):
12568         * gst/elements/gsttypefindelement.c:
12569         (gst_type_find_element_have_type), (gst_type_find_element_init),
12570         (stop_typefinding), (gst_type_find_element_handle_event),
12571         (find_suggest), (gst_type_find_element_chain),
12572         (gst_type_find_element_checkgetrange),
12573         (gst_type_find_element_getrange), (do_typefind),
12574         (gst_type_find_element_activate):
12575         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12576         (gst_buffer_default_free), (gst_buffer_default_copy),
12577         (gst_buffer_set_caps):
12578         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12579         (gst_caps_replace):
12580         * gst/gstmessage.c: (gst_message_new),
12581         (gst_message_new_state_changed):
12582         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12583         (gst_pad_set_checkgetrange_function),
12584         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12585         (gst_pad_set_caps), (gst_pad_check_pull_range),
12586         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12587         * gst/gstpad.h:
12588         * gst/gsttypefind.c: (gst_type_find_register):
12589         Make gst_caps_replace() work like other _replace() functions.
12590         Use _caps_replace() where possible.
12591         Make sure _message_new() initialises its field.
12592         Add gst_static_pad_template_get_caps()
12593
12594
12595 2005-04-18  Andy Wingo  <wingo@pobox.com>
12596
12597         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12598         on the peer, not the pad. I think that was a typo. Pass an extra
12599         arg to see if random access is possible. Activate the pads as
12600         PULL_RANGE if possible.
12601
12602         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12603
12604         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12605         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12606         to PROP_....
12607
12608 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12609
12610         * docs/faq/using.xml:
12611           Add note on gstreamer-properties (#154996).
12612
12613 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12614
12615         * docs/random/bbb/optional-properties:
12616           Some analysis on optional properties.
12617
12618 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12619
12620         * docs/gst/tmpl/gstelementfactory.sgml:
12621         * gst/gstelement.h:
12622         * gst/gstelementfactory.c: (gst_element_factory_init),
12623         (gst_element_factory_cleanup), (gst_element_register),
12624         (__gst_element_factory_add_static_pad_template),
12625         (gst_element_factory_get_static_pad_templates),
12626         (gst_element_factory_can_src_caps),
12627         (gst_element_factory_can_sink_caps):
12628         * gst/registries/Makefile.am:
12629         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12630         (gst_xml_registry_class_init), (gst_xml_registry_init),
12631         (gst_xml_registry_new), (gst_xml_registry_set_property),
12632         (gst_xml_registry_get_property), (get_time), (make_dir),
12633         (gst_xml_registry_get_perms_func),
12634         (plugin_times_older_than_recurse), (plugin_times_older_than),
12635         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12636         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12637         (add_to_char_array), (read_string), (read_uint), (read_enum),
12638         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12639         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12640         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12641         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12642         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12643         (gst_xml_registry_rebuild):
12644         * gst/registries/gstlibxmlregistry.h:
12645         * tools/gst-compprep.c: (main):
12646         * tools/gst-inspect.c: (print_pad_templates_info):
12647         * tools/gst-xmlinspect.c: (print_element_info):
12648           Use libxml2 for registry parsing, use staticpadtemplates in
12649           elementfactories. Makes gst_init() +/- 10x faster.
12650
12651 2005-04-12  Wim Taymans  <wim@fluendo.com>
12652
12653         * gst/base/Makefile.am:
12654         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12655         (gst_basesink_pad_getcaps), (gst_basesink_init),
12656         (gst_basesink_event), (gst_basesink_change_state):
12657         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12658         (gst_basesrc_init), (gst_basesrc_query),
12659         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12660         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12661         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12662         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12663         (gst_basesrc_stop), (gst_basesrc_activate),
12664         (gst_basesrc_change_state):
12665         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12666         (helper_find_suggest), (gst_type_find_helper):
12667         * gst/base/gsttypefindhelper.h:
12668         * gst/elements/Makefile.am:
12669         * gst/elements/gstelements.c:
12670         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12671         (gst_fakesink_get_times), (gst_fakesink_event),
12672         (gst_fakesink_preroll), (gst_fakesink_render):
12673         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12674         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12675         (gst_fakesrc_get_property), (gst_fakesrc_create),
12676         (gst_fakesrc_start), (gst_fakesrc_stop):
12677         * gst/elements/gstfakesrc.h:
12678         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12679         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12680         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12681         (gst_filesrc_create_read), (gst_filesrc_create),
12682         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12683         (gst_filesrc_start):
12684         * gst/elements/gsttypefindelement.c:
12685         (gst_type_find_element_have_type), (gst_type_find_element_init),
12686         (start_typefinding), (stop_typefinding), (push_buffer_store),
12687         (gst_type_find_element_handle_event),
12688         (gst_type_find_element_chain),
12689         (gst_type_find_element_checkgetrange),
12690         (gst_type_find_element_getrange), (do_typefind),
12691         (gst_type_find_element_activate),
12692         (gst_type_find_element_change_state):
12693         * gst/elements/gsttypefindelement.h:
12694         * gst/gstpipeline.c: (pipeline_bus_handler):
12695         Added typefind helper.
12696         Small preroll fix in the base sink.
12697         Disable typefind code in basesrc.
12698         Crude port of typefindelement.
12699         Fakesrc cleanups.
12700
12701
12702 2005-04-11  Wim Taymans  <wim@fluendo.com>
12703
12704         * check/gst/gstbus.c: (gstbus_suite):
12705         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12706         * check/gstcheck.h:
12707           Fix up the timeout so that the test does not fail.
12708
12709 2005-04-06  Wim Taymans  <wim@fluendo.com>
12710
12711         * gst/base/README:
12712         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12713         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12714         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12715         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12716         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12717         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12718         (gst_basesrc_stop), (gst_basesrc_activate),
12719         (gst_basesrc_change_state), (basesrc_find_peek),
12720         (basesrc_find_suggest), (gst_basesrc_type_find):
12721         * gst/base/gstbasesrc.h:
12722         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12723         (gst_filesrc_class_init), (gst_filesrc_init),
12724         (gst_filesrc_finalize), (gst_filesrc_set_location),
12725         (gst_filesrc_set_property), (gst_filesrc_get_property),
12726         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12727         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12728         (gst_filesrc_create_read), (gst_filesrc_create),
12729         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12730         * gst/elements/gstfilesrc.h:
12731         * gst/gstelement.c: (gst_element_get_state_func),
12732         (gst_element_lost_state), (gst_element_pads_activate):
12733         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12734         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12735         (gst_pad_pull_range):
12736         * gst/gstpad.h:
12737         More work on the generic source base class, implement seeking,
12738         query.
12739         Make filesrc extend the base source class.
12740         Added gst_pad_set_checkgetrange_function to GstPad.
12741
12742 2005-04-06  Andy Wingo  <wingo@pobox.com>
12743
12744         * pkgconfig/gstreamer-base.pc.in:
12745         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12746
12747         * pkgconfig/Makefile.am:
12748         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12749
12750 2005-04-04  Wim Taymans  <wim@fluendo.com>
12751
12752         * gst/base/Makefile.am:
12753         * gst/base/README:
12754         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12755         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12756         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12757         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12758         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12759         (gst_basesrc_base_init), (gst_basesrc_class_init),
12760         (gst_basesrc_init), (gst_basesrc_get_formats),
12761         (gst_basesrc_get_query_types), (gst_basesrc_query),
12762         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12763         (gst_basesrc_set_property), (gst_basesrc_get_property),
12764         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12765         (gst_basesrc_loop), (gst_basesrc_activate),
12766         (gst_basesrc_change_state):
12767         * gst/base/gstbasesrc.h:
12768         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12769         (gst_fakesrc_class_init), (gst_fakesrc_init),
12770         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12771         (gst_fakesrc_get_property), (gst_fakesrc_create):
12772         * gst/elements/gstfakesrc.h:
12773         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12774         (gst_filesrc_open_file), (gst_filesrc_loop),
12775         (gst_filesrc_activate), (filesrc_find_peek),
12776         (gst_filesrc_type_find):
12777         Made base source class, make fakesrc extend it.
12778         Add comments to basesink class.
12779         Some filesrc cleanup.
12780
12781 2005-03-31  David Schleef  <ds@schleef.org>
12782
12783         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12784         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12785         expected to link against libgstreamer.
12786         * gst/base/Makefile.am: link against libgstreamer
12787         * gst/elements/Makefile.am: same
12788
12789 2005-03-31  Andy Wingo  <wingo@pobox.com>
12790
12791         * tests/instantiate/Makefile.am:
12792         * tests/instantiate/caps.c: Add test to test speed of caps copy
12793         and free.
12794
12795         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12796         GMemChunk to be fair.
12797
12798         * gst/gsttrashstack.h: Remove warning about using the fallback
12799         trash stack implementation, it's still faster than malloc.
12800
12801 2005-03-30  Andy Wingo  <wingo@pobox.com>
12802
12803         * tests/complexity.c: Add a copyright.
12804
12805 2005-03-31  Wim Taymans  <wim@fluendo.com>
12806
12807         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12808         (gst_base_transform_class_init), (gst_base_transform_init),
12809         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12810         (gst_base_transform_get_property),
12811         (gst_base_transform_sink_activate),
12812         (gst_base_transform_src_activate),
12813         (gst_base_transform_change_state):
12814         * gst/base/gstbasetransform.h:
12815         * gst/elements/gstidentity.c: (gst_identity_class_init),
12816         (gst_identity_event), (gst_identity_check_perfect),
12817         (gst_identity_transform), (gst_identity_start),
12818         (gst_identity_stop):
12819         Added start/stop methods to transform base class so subclasses 
12820         don't need to deal with state changes even.
12821
12822 2005-03-31  Wim Taymans  <wim@fluendo.com>
12823
12824         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12825         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12826         * gst/gstevent.h:
12827         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12828         (gst_pad_pull_range):
12829         Added rate to the discont event to prepare for variable speed
12830         and reverse playback.
12831
12832 2005-03-29  David Schleef  <ds@schleef.org>
12833
12834         * configure.ac:
12835         * testsuite/trigger/Makefile.am:
12836         * testsuite/trigger/trigger.c: A little example program to show
12837         how trigger-based elements can work.
12838
12839 2005-03-29  Wim Taymans  <wim@fluendo.com>
12840
12841         * gst/base/Makefile.am:
12842         * gst/base/README:
12843         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12844         (gst_basesink_base_init), (gst_basesink_class_init),
12845         (gst_basesink_pad_getcaps), (gst_basesink_init),
12846         (gst_basesink_activate), (gst_basesink_change_state):
12847         * gst/base/gstbasesink.h:
12848         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12849         (gst_base_transform_base_init), (gst_base_transform_finalize),
12850         (gst_base_transform_class_init), (gst_base_transform_init),
12851         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12852         (gst_base_transform_event), (gst_base_transform_getrange),
12853         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12854         (gst_base_transform_set_property),
12855         (gst_base_transform_get_property),
12856         (gst_base_transform_sink_activate),
12857         (gst_base_transform_src_activate),
12858         (gst_base_transform_change_state):
12859         * gst/base/gstbasetransform.h:
12860         * gst/elements/gstidentity.c: (gst_identity_finalize),
12861         (gst_identity_class_init), (gst_identity_init),
12862         (gst_identity_event), (gst_identity_check_perfect),
12863         (gst_identity_transform), (gst_identity_set_property),
12864         (gst_identity_get_property), (gst_identity_change_state):
12865         * gst/elements/gstidentity.h:
12866         * gst/gstelement.c: (gst_element_get_state_func),
12867         (gst_element_lost_state), (gst_element_pads_activate):
12868         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12869         (gst_pad_check_pull_range), (gst_pad_pull_range):
12870         * gst/gstpad.h:
12871         Simplify pad activation.
12872         Added function to check if pull_range can be performed.
12873         Error out when pulling inactive or flushing pads.
12874         Removed const from refcounted types as it does not make sense.
12875         Simplify pad templates in basesink
12876         Added base class for simple 1-to-1 transforms.
12877         Make identity subclass the base transform.
12878
12879 2005-03-29  Andy Wingo  <wingo@pobox.com>
12880
12881         * docs/libs/gstreamer-libs-overrides.txt: 
12882         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12883         really don't understand what's going on, but like whatever. I want
12884         green buildbot!
12885
12886         * docs/gst/Makefile.am:
12887         * docs/libs/Makefile.am: Dist the overrides files.
12888
12889         * check/Makefile.am (clean-local): Remove .libs directories.
12890
12891         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12892         elements to EXTRA_DIST, so po/ files are happy.
12893
12894         * po/POTFILES.in: Er, remove it here.
12895
12896         * po/POTFILES: Remove gstspider.c.
12897
12898         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12899
12900         * docs/libs/gstreamer-libs-docs.sgml: 
12901         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12902         bytestream.
12903
12904         * tests/complexity.c (main): Set the length of the preroll queue
12905         on the sinks to prevent a lockup.
12906
12907         * libs/gst/dataprotocol/Makefile.am: 
12908         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12909         the same as the one in check/gst-libs/gdp.c.
12910
12911         * po/, docs/gst/: Commit automatic changes to docs and po files.
12912
12913         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12914         the versioned libgstbase.
12915
12916         * check/Makefile.am: Depend on an unversioned gst-register, seems
12917         to make autoconf happier.
12918
12919         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12920
12921 2005-03-28  Wim Taymans  <wim@fluendo.com>
12922
12923         * configure.ac:
12924         * docs/design/part-gstelement.txt:
12925         * docs/design/part-negotiation.txt:
12926         * docs/design/part-preroll.txt:
12927         * docs/design/part-scheduling.txt:
12928         * docs/design/part-states.txt:
12929         * gst/Makefile.am:
12930         * gst/base/Makefile.am:
12931         * gst/base/README:
12932         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12933         (gst_basesink_base_init), (gst_basesink_class_init),
12934         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12935         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12936         (gst_basesink_set_pad_functions),
12937         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12938         (gst_basesink_set_property), (gst_basesink_get_property),
12939         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12940         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12941         (gst_basesink_preroll_queue_push),
12942         (gst_basesink_preroll_queue_empty),
12943         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12944         (gst_basesink_event), (gst_basesink_get_times),
12945         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12946         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12947         (gst_basesink_loop), (gst_basesink_activate),
12948         (gst_basesink_change_state):
12949         * gst/base/gstbasesink.h:
12950         * gst/elements/Makefile.am:
12951         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12952         (gst_fakesink_class_init), (gst_fakesink_init),
12953         (gst_fakesink_set_property), (gst_fakesink_get_property),
12954         (gst_fakesink_get_times), (gst_fakesink_event),
12955         (gst_fakesink_preroll), (gst_fakesink_render),
12956         (gst_fakesink_change_state):
12957         * gst/elements/gstfakesink.h:
12958         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12959         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12960         * gst/gstelement.c: (gst_element_add_pad),
12961         (gst_element_get_state_func), (gst_element_abort_state),
12962         (gst_element_commit_state), (gst_element_lost_state),
12963         (gst_element_set_state), (gst_element_pads_activate):
12964         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12965         * gst/gstpipeline.c: (gst_pipeline_send_event),
12966         (gst_pipeline_change_state):
12967         Added state change code.
12968         Added/updated docs.
12969         Added sink base class, make fakesink extend the base class.
12970         Small cleanups in GstPipeline.
12971
12972 2005-03-26  David Schleef  <ds@schleef.org>
12973
12974         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12975         is broken and should be implemented in a different library.
12976         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12977         * gst/gst.h: remove gstcpu.h
12978         * gst/gstcpu.c: remove
12979         * gst/gstcpu.h: remove
12980         * gst/Makefile.am.future: Remove this file.  It's ancient.
12981
12982 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12983
12984         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12985         (gst_bin_send_event):
12986           Add default event/set_manager handlers. The set_manager handler
12987           takes care that the manager is distributed over kids that were
12988           already in the bin before the manager was set. The event handler
12989           is a utility virtual function that sends the event over all sinks,
12990           so that gst_element_send_event (bin, event); has the expected
12991           behaviour.
12992         * gst/gstpad.c: (gst_pad_event_default):
12993           Re-install default event handling for discontinuities, so that
12994           seeking works without requiring hacks in applications or extra
12995           code in sinks.
12996         * gst/gstpipeline.c: (gst_pipeline_class_init),
12997         (gst_pipeline_send_event):
12998           Half hack, half utility: set a pipeline to PAUSED for seek events,
12999           since that is the only way we can guarantee a/v sync. Means that
13000           you can do gst_element_seek (pipeline, method, pos); on a pipeline
13001           and it "just works".
13002
13003 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13004
13005         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13006           Lock/unlock mismatch.
13007
13008 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13009
13010         * docs/faq/gst-uninstalled:
13011           add gst-plugins-base
13012         * docs/gst/Makefile.am:
13013           don't error out until docs are fixed
13014         * docs/gst/gstreamer.types:
13015           remove thread
13016
13017 2005-03-22  Wim Taymans  <wim@fluendo.com>
13018
13019         * check/Makefile.am:
13020         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13021         * gst/gststructure.c: (gst_structure_set_valist),
13022         (gst_structure_copy_conditional):
13023         Activated more tests.
13024         Added message test.
13025         Added G_TYPE_POINTER to GstStructure.
13026         
13027
13028 2005-03-22  Wim Taymans  <wim@fluendo.com>
13029
13030         * docs/design/part-TODO.txt:
13031         * docs/design/part-events.txt:
13032         * docs/design/part-gstbin.txt:
13033         * docs/design/part-gstbus.txt:
13034         * docs/design/part-gstpipeline.txt:
13035         * docs/design/part-messages.txt:
13036         * gst/gstbus.c:
13037         * gst/gstmessage.c:
13038         Docs updates
13039
13040 2005-03-21  Wim Taymans  <wim@fluendo.com>
13041
13042         * gst/gstbus.c: (gst_bus_post):
13043         Fix copy-and-paste error.
13044
13045 2005-03-21  Wim Taymans  <wim@fluendo.com>
13046
13047         * check/Makefile.am:
13048         * gst/Makefile.am:
13049         * gst/elements/Makefile.am:
13050         * gst/elements/gstelements.c:
13051         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13052         (gst_fakesink_event), (gst_fakesink_chain):
13053         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13054         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13055         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13056         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13057         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13058         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13059         (gst_fakesrc_loop), (gst_fakesrc_activate),
13060         (gst_fakesrc_change_state):
13061         * gst/elements/gstfakesrc.h:
13062         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13063         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13064         (gst_filesrc_open_file), (gst_filesrc_loop),
13065         (gst_filesrc_activate), (gst_filesrc_change_state),
13066         (filesrc_find_peek), (filesrc_find_suggest),
13067         (gst_filesrc_type_find):
13068         * gst/elements/gstidentity.c: (gst_identity_finalize),
13069         (gst_identity_class_init), (gst_identity_init),
13070         (gst_identity_proxy_getcaps), (identity_queue_push),
13071         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13072         (gst_identity_getrange), (gst_identity_chain),
13073         (gst_identity_sink_loop), (gst_identity_src_loop),
13074         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13075         (gst_identity_set_property), (gst_identity_get_property),
13076         (gst_identity_change_state):
13077         * gst/elements/gstidentity.h:
13078         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13079         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13080         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13081         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13082         (gst_tee_sink_activate):
13083         * gst/elements/gsttee.h:
13084         * gst/gst.c: (gst_register_core_elements), (init_post):
13085         * gst/gst.h:
13086         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13087         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13088         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13089         (gst_bin_change_state):
13090         * gst/gstbin.h:
13091         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13092         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13093         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13094         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13095         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13096         (bus_watch_callback), (bus_watch_destroy),
13097         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13098         (poll_timeout), (gst_bus_poll):
13099         * gst/gstbus.h:
13100         * gst/gstcaps.h:
13101         * gst/gstdata.h:
13102         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13103         (gst_element_post_message), (gst_element_message_full),
13104         (gst_element_get_state_func), (gst_element_get_state),
13105         (gst_element_abort_state), (gst_element_commit_state),
13106         (gst_element_lost_state), (gst_element_set_state),
13107         (gst_element_pads_activate), (gst_element_change_state),
13108         (gst_element_dispose), (gst_element_set_manager_func),
13109         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13110         (gst_element_set_manager), (gst_element_get_manager),
13111         (gst_element_set_bus), (gst_element_get_bus),
13112         (gst_element_set_scheduler), (gst_element_get_scheduler):
13113         * gst/gstelement.h:
13114         * gst/gstevent.c: (gst_event_new_segment_seek),
13115         (gst_event_new_flush):
13116         * gst/gstevent.h:
13117         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13118         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13119         (gst_message_new_eos), (gst_message_new_error),
13120         (gst_message_new_warning), (gst_message_new_tag),
13121         (gst_message_new_state_changed), (gst_message_new_application),
13122         (gst_message_get_structure), (gst_message_parse_tag),
13123         (gst_message_parse_state_changed), (gst_message_parse_error),
13124         (gst_message_parse_warning):
13125         * gst/gstmessage.h:
13126         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13127         (gst_real_pad_set_property), (gst_pad_set_active),
13128         (gst_pad_is_active), (gst_pad_set_blocked_async),
13129         (gst_pad_set_blocked), (gst_pad_is_blocked),
13130         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13131         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13132         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13133         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13134         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13135         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13136         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13137         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13138         (gst_pad_set_caps), (gst_pad_configure_sink),
13139         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13140         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13141         (gst_real_pad_dispose), (gst_real_pad_finalize),
13142         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13143         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13144         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13145         * gst/gstpad.h:
13146         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13147         (pipeline_bus_handler), (gst_pipeline_change_state),
13148         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13149         * gst/gstpipeline.h:
13150         * gst/gstprobe.h:
13151         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13152         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13153         (gst_queue_link_src), (gst_queue_bufferalloc),
13154         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13155         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13156         (gst_queue_loop), (gst_queue_handle_src_event),
13157         (gst_queue_handle_src_query), (gst_queue_src_activate),
13158         (gst_queue_change_state):
13159         * gst/gstqueue.h:
13160         * gst/gstscheduler.c: (gst_scheduler_init),
13161         (gst_scheduler_dispose), (gst_scheduler_create_task),
13162         (gst_scheduler_factory_create):
13163         * gst/gstscheduler.h:
13164         * gst/gststructure.c: (gst_structure_get_type),
13165         (gst_structure_copy_conditional):
13166         * gst/gststructure.h:
13167         * gst/gsttaginterface.h:
13168         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13169         (gst_task_init), (gst_task_dispose), (gst_task_create),
13170         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13171         (gst_task_pause):
13172         * gst/gsttask.h:
13173         * gst/gstthread.c:
13174         * gst/gstthread.h:
13175         * gst/gsttypes.h:
13176         * gst/schedulers/Makefile.am:
13177         * gst/schedulers/cothreads_compat.h:
13178         * gst/schedulers/entryscheduler.c:
13179         * gst/schedulers/faircothreads.c:
13180         * gst/schedulers/faircothreads.h:
13181         * gst/schedulers/fairscheduler.c:
13182         * gst/schedulers/gstbasicscheduler.c:
13183         * gst/schedulers/gstoptimalscheduler.c:
13184         * gst/schedulers/gthread-cothreads.h:
13185         * gst/schedulers/threadscheduler.c:
13186         (gst_thread_scheduler_task_get_type),
13187         (gst_thread_scheduler_task_class_init),
13188         (gst_thread_scheduler_task_init),
13189         (gst_thread_scheduler_task_start),
13190         (gst_thread_scheduler_task_stop),
13191         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13192         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13193         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13194         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13195         (plugin_init):
13196         * libs/gst/Makefile.am:
13197         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13198         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13199         (gst_file_pad_parent_set):
13200         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13201         (gst_dp_event_from_packet):
13202         * tests/complexity.c: (main):
13203         * tests/mass_elements.c: (main):
13204         * testsuite/states/locked.c: (message_received), (main):
13205         * testsuite/states/parent.c: (main):
13206         * tools/gst-inspect.c: (print_element_flag_info),
13207         (print_implementation_info), (print_pad_info):
13208         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13209         (main):
13210         * tools/gst-md5sum.c: (event_loop), (main):
13211         * tools/gst-typefind.c: (main):
13212         * tools/gst-xmlinspect.c: (print_element_info):
13213         Next big merge.
13214         Added GstBus for mainloop integration.
13215         Added GstMessage for sending notifications on the bus.
13216         Added GstTask as an abstraction for pipeline entry points.
13217         Removed GstThread.
13218         Removed Schedulers.
13219         Simplified GstQueue for multithreaded core.
13220         Made _link threadsafe, removed old capsnego.
13221         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13222         Added pad blocking functions.
13223         Reworked scheduling functions in GstPad to prepare for
13224         scheduling updates soon.
13225         Moved events out of data stream.
13226         Simplified GstEvent types.
13227         Added return values to push/pull.
13228         Removed clocking from GstElement.
13229         Added prototypes for state change function for next merge.
13230         Removed iterate from bins and state change management.
13231         Fixed some elements, disabled others for now.
13232         Fixed -inspect and -launch.
13233         Added check for GstBus.
13234
13235 2005-03-10  Wim Taymans  <wim@fluendo.com>
13236
13237         * docs/design/part-MT-refcounting.txt:
13238         * docs/design/part-clocks.txt:
13239         * docs/design/part-gstelement.txt:
13240         * docs/design/part-gstobject.txt:
13241         * docs/design/part-standards.txt:
13242         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13243         (gst_bin_remove_func), (gst_bin_remove):
13244         * gst/gstbin.h:
13245         * gst/gstbuffer.c:
13246         * gst/gstcaps.h:
13247         * testsuite/clock/clock1.c: (main):
13248         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13249         (main):
13250         * testsuite/dlopen/loadgst.c: (do_test):
13251         * testsuite/refcounting/bin.c: (add_remove_test1),
13252         (add_remove_test2), (main):
13253         * testsuite/refcounting/element.c: (main):
13254         * testsuite/refcounting/element_pad.c: (main):
13255         * testsuite/refcounting/pad.c: (main):
13256         * tools/gst-launch.c: (sigint_handler_sighandler):
13257         * tools/gst-typefind.c: (main):
13258         Doc updates.
13259         Added doc about clock.
13260         removed gst_bin_iterate_recurse_up(), marked methods
13261         for removal.
13262         Fix more testsuites.
13263
13264 2005-03-09  Wim Taymans  <wim@fluendo.com>
13265
13266         * gst/gstpad.c: (gst_pad_get_direction),
13267         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13268         (gst_pad_collect_valist):
13269         * testsuite/bins/interface.c: (main):
13270         * testsuite/caps/audioscale.c: (test_caps):
13271         * testsuite/caps/caps.c: (test1), (test2), (test3):
13272         * testsuite/caps/deserialize.c: (main):
13273         * testsuite/caps/enumcaps.c: (main):
13274         * testsuite/caps/filtercaps.c: (main):
13275         * testsuite/caps/intersect2.c: (main):
13276         * testsuite/caps/random.c: (main):
13277         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13278         * testsuite/caps/sets.c: (check_caps):
13279         * testsuite/caps/simplify.c: (check_caps), (main):
13280         * testsuite/caps/subtract.c: (check_caps):
13281         Fix _pad_get_direction wrt ghostpads.
13282         Fix caps testsuite.
13283
13284 2005-03-09  Wim Taymans  <wim@fluendo.com>
13285
13286         * check/Makefile.am:
13287         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13288         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13289         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13290         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13291         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13292         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13293         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13294         (bin_element_is_sink), (gst_bin_iterate_sinks),
13295         (gst_bin_iterate_all_by_interface):
13296         * gst/gstbin.h:
13297         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13298         (gst_element_change_state), (gst_element_dispose),
13299         (gst_element_finalize), (gst_element_set_loop_function):
13300         * gst/gstelement.h:
13301         * gst/gstiterator.c: (find_custom_fold_func):
13302         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13303         (gst_pad_collectv), (gst_pad_collect_valist),
13304         (gst_pad_template_new):
13305         * gst/gstpipeline.c: (gst_pipeline_class_init),
13306         (gst_pipeline_dispose), (gst_pipeline_set_property),
13307         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13308         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13309         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13310         * gst/gstutils.h:
13311         * gst/schedulers/entryscheduler.c:
13312         * gst/schedulers/gstbasicscheduler.c:
13313         (gst_basic_scheduler_cothreaded_chain),
13314         (gst_basic_scheduler_chain_add_element):
13315         * testsuite/bins/interface.c: (main):
13316         Added GstBin test.
13317         Added GstSystemClock test.
13318         Implemented clock distribution code in GstBin.
13319         Implemented iterate sinks method for future use.
13320         Rearranged gstelement.h
13321         Fix GstIterator comparison bug.
13322         Moved some code to GstPipeline, mostly clocking related.
13323
13324 2005-03-09  Wim Taymans  <wim@fluendo.com>
13325
13326         * configure.ac:
13327         * gst/gst_private.h:
13328         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13329         (gst_bin_remove_func), (gst_bin_remove),
13330         (gst_bin_get_by_name_recurse_up):
13331         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13332         (gst_clock_id_compare_func), (gst_clock_id_wait),
13333         (gst_clock_id_wait_async), (gst_clock_init),
13334         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13335         * gst/gstelement.h:
13336         * gst/gstinfo.c: (_gst_debug_init):
13337         * gst/gstobject.h:
13338         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13339         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13340         * gst/gstpad.h:
13341         Bump version number, we're now 0.9.0
13342         Add future debugging category.
13343         Fix NULL _unref() in _get_by_name_recurse_up
13344         Rearrange gstpad.h.
13345         Update some docs.
13346
13347 2005-03-08  Wim Taymans  <wim@fluendo.com>
13348
13349         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13350         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13351         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13352         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13353         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13354         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13355         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13356         * gst/elements/gstidentity.c: (gst_identity_class_init):
13357         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13358         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13359         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13360         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13361         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13362         (gst_tee_link):
13363         * gst/gstelement.c: (gst_element_class_init),
13364         (gst_element_base_class_init), (gst_element_init),
13365         (gst_element_get_random_pad), (gst_element_wait_state_change),
13366         (gst_element_change_state), (gst_element_dispose),
13367         (gst_element_finalize), (gst_element_set_loop_function):
13368         * gst/gstelement.h:
13369         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13370         * gst/gstthread.c: (gst_thread_class_init),
13371         (gst_thread_release_children_locks), (gst_thread_change_state):
13372         * gst/schedulers/gstbasicscheduler.c:
13373         (gst_basic_scheduler_loopfunc_wrapper),
13374         (gst_basic_scheduler_chain_wrapper),
13375         (gst_basic_scheduler_src_wrapper),
13376         (gst_basic_scheduler_remove_element):
13377         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13378         Remove threadsafe properties. Fix elements because GObject
13379         complains when installing a property before declaring a
13380         set/get_property handler.
13381         Rearrange gstelement.h file, use STATE macros for state locks.
13382         Free mutexes in the finalize method instead of dispose.
13383
13384 2005-03-08  Wim Taymans  <wim@fluendo.com>
13385
13386         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13387         * gst/gstthread.c: (gst_thread_release_children_locks):
13388         Added parentage check.
13389         Fix build og GstThread again.
13390
13391 2005-03-08  Wim Taymans  <wim@fluendo.com>
13392
13393         * docs/design/part-MT-refcounting.txt:
13394         * docs/design/part-conventions.txt:
13395         * docs/design/part-gstobject.txt:
13396         * docs/design/part-relations.txt:
13397         * docs/design/part-standards.txt:
13398         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13399         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13400         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13401         (gst_bin_iterate_all_by_interface):
13402         * gst/gstbuffer.h:
13403         * gst/gstclock.h:
13404         * gst/gstelement.c: (gst_element_class_init),
13405         (gst_element_change_state), (gst_element_set_loop_function):
13406         * gst/gstelement.h:
13407         * gst/gstiterator.c:
13408         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13409         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13410         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13411         (gst_object_set_parent), (gst_object_unparent),
13412         (gst_object_check_uniqueness):
13413         * gst/gstobject.h:
13414         Docs updates, clean up some headers.
13415
13416 2005-03-07  Wim Taymans  <wim@fluendo.com>
13417
13418         * check/.cvsignore:
13419         * check/Makefile.am:
13420         * check/gst-libs/.cvsignore:
13421         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13422         * check/gst/.cvsignore:
13423         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13424         (START_TEST), (gstbus_suite), (main):
13425         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13426         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13427         (gst_data_suite), (main):
13428         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13429         (add_fold_func), (gstiterator_suite), (main):
13430         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13431         (thread_name_object), (thread_name_object_default),
13432         (gst_object_name_compare), (gst_object_suite), (main):
13433         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13434         (gst_pad_suite), (main):
13435         * check/gstcheck.c: (gst_check_log_message_func),
13436         (gst_check_log_critical_func), (gst_check_init):
13437         * check/gstcheck.h:
13438         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13439         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13440         Added checks.
13441
13442 2005-03-07  Wim Taymans  <wim@fluendo.com>
13443
13444         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13445         (gst_list_iterator_next), (gst_list_iterator_resync),
13446         (gst_list_iterator_free), (gst_iterator_new_list),
13447         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13448         (gst_iterator_free), (gst_iterator_push), (filter_next),
13449         (filter_resync), (filter_uninit), (filter_free),
13450         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13451         (gst_iterator_foreach), (find_custom_fold_func),
13452         (gst_iterator_find_custom):
13453         * gst/gstiterator.h:
13454         Added missing files.
13455
13456 2005-03-07  Wim Taymans  <wim@fluendo.com>
13457
13458         * Makefile.am:
13459         * configure.ac:
13460         * docs/design/part-MT-refcounting.txt:
13461         * docs/design/part-conventions.txt:
13462         * docs/design/part-gstobject.txt:
13463         * docs/design/part-relations.txt:
13464         * examples/mixer/mixer.c: (main):
13465         * examples/thread/thread.c: (eos), (main):
13466         * gst/Makefile.am:
13467         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13468         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13469         (gst_spider_plug_from_srcpad):
13470         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13471         (gst_spider_identity_change_state),
13472         (gst_spider_identity_sink_loop_type_finding):
13473         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13474         * gst/elements/gstidentity.c: (gst_identity_init):
13475         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13476         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13477         * gst/elements/gsttypefindelement.c: (free_entry):
13478         * gst/gst.c:
13479         * gst/gst.h:
13480         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13481         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13482         (gst_bin_set_index), (gst_bin_set_element_sched),
13483         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13484         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13485         (gst_bin_iterate_elements), (iterate_child_recurse),
13486         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13487         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13488         (compare_interface), (gst_bin_get_by_interface),
13489         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13490         * gst/gstbin.h:
13491         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13492         (gst_buffer_default_free), (gst_buffer_default_copy),
13493         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13494         (gst_buffer_create_sub):
13495         * gst/gstbuffer.h:
13496         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13497         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13498         (gst_caps_unref), (gst_static_caps_get),
13499         (gst_caps_remove_and_get_structure), (gst_caps_append),
13500         (gst_caps_append_structure), (gst_caps_remove_structure),
13501         (gst_caps_copy_nth), (gst_caps_set_simple),
13502         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13503         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13504         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13505         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13506         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13507         (gst_caps_structure_figure_out_union),
13508         (gst_caps_switch_structures), (gst_caps_do_simplify),
13509         (gst_caps_replace), (gst_caps_from_string),
13510         (gst_caps_copy_conditional):
13511         * gst/gstcaps.h:
13512         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13513         (_gst_clock_id_free), (gst_clock_id_unref),
13514         (gst_clock_id_compare_func), (gst_clock_id_wait),
13515         (gst_clock_id_wait_async), (gst_clock_class_init),
13516         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13517         (gst_clock_get_time), (gst_clock_set_time_adjust),
13518         (gst_clock_set_property), (gst_clock_get_property):
13519         * gst/gstclock.h:
13520         * gst/gstcompat.h:
13521         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13522         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13523         * gst/gstdata.h:
13524         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13525         (gst_element_requires_clock), (gst_element_provides_clock),
13526         (gst_element_set_clock), (gst_element_clock_wait),
13527         (gst_element_wait), (gst_element_set_time_delay),
13528         (gst_element_is_indexable), (gst_element_add_pad),
13529         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13530         (pad_compare_name), (gst_element_get_static_pad),
13531         (gst_element_request_pad), (gst_element_get_request_pad),
13532         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13533         (gst_element_class_get_pad_template_list),
13534         (gst_element_class_get_pad_template), (gst_element_error_func),
13535         (gst_element_get_random_pad), (gst_element_get_event_masks),
13536         (gst_element_send_event), (gst_element_seek),
13537         (gst_element_get_query_types), (gst_element_query),
13538         (gst_element_get_formats), (gst_element_convert),
13539         (gst_element_is_locked_state), (gst_element_set_locked_state),
13540         (gst_element_sync_state_with_parent), (gst_element_change_state),
13541         (gst_element_finalize), (gst_element_yield),
13542         (gst_element_interrupt), (gst_element_set_scheduler),
13543         (gst_element_get_scheduler), (gst_element_set_loop_function):
13544         * gst/gstelement.h:
13545         * gst/gstevent.h:
13546         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13547         (gst_format_get_by_nick), (gst_format_get_details),
13548         (gst_format_iterate_definitions):
13549         * gst/gstformat.h:
13550         * gst/gstindex.c: (gst_index_gtype_resolver):
13551         * gst/gstinfo.c:
13552         * gst/gstinfo.h:
13553         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13554         (gst_mem_chunk_free):
13555         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13556         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13557         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13558         (gst_object_dispatch_properties_changed),
13559         (gst_object_set_name_default), (gst_object_set_name),
13560         (gst_object_get_name), (gst_object_set_name_prefix),
13561         (gst_object_get_name_prefix), (gst_object_set_parent),
13562         (gst_object_get_parent), (gst_object_unparent),
13563         (gst_object_check_uniqueness), (gst_object_save_thyself),
13564         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13565         (gst_object_set_property), (gst_object_get_property),
13566         (gst_object_get_path_string):
13567         * gst/gstobject.h:
13568         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13569         (gst_real_pad_init), (gst_real_pad_get_property),
13570         (gst_pad_custom_new), (gst_pad_get_direction),
13571         (gst_pad_set_active), (gst_pad_is_active),
13572         (gst_pad_set_event_function), (gst_pad_is_linked),
13573         (gst_pad_link_free), (gst_pad_link_intersect),
13574         (gst_pad_link_fixate), (gst_pad_set_caps),
13575         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13576         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13577         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13578         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13579         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13580         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13581         (gst_pad_realize), (gst_pad_get_allowed_caps),
13582         (gst_real_pad_dispose), (gst_real_pad_finalize),
13583         (gst_pad_collectv), (gst_pad_collect_valist),
13584         (gst_pad_template_dispose), (gst_pad_template_new),
13585         (gst_pad_get_internal_links):
13586         * gst/gstpad.h:
13587         * gst/gstpipeline.c: (gst_pipeline_dispose),
13588         (gst_pipeline_change_state):
13589         * gst/gstpipeline.h:
13590         * gst/gstplugin.c:
13591         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13592         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13593         * gst/gstpluginfeature.h:
13594         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13595         * gst/gstquery.c: (_gst_query_type_initialize),
13596         (gst_query_type_register), (gst_query_type_get_by_nick),
13597         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13598         * gst/gstquery.h:
13599         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13600         * gst/gstscheduler.c: (gst_scheduler_add_element),
13601         (gst_scheduler_factory_create):
13602         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13603         (gst_structure_free), (gst_structure_set_name),
13604         (gst_structure_id_set_value), (gst_structure_set_value),
13605         (gst_structure_set_valist), (gst_structure_remove_field),
13606         (gst_structure_remove_fields),
13607         (gst_structure_remove_fields_valist),
13608         (gst_structure_remove_all_fields), (gst_structure_foreach),
13609         (gst_structure_map_in_place),
13610         (gst_caps_structure_fixate_field_nearest_int),
13611         (gst_caps_structure_fixate_field_nearest_double):
13612         * gst/gststructure.h:
13613         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13614         (gst_system_clock_init), (gst_system_clock_dispose),
13615         (gst_system_clock_async_thread),
13616         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13617         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13618         * gst/gstsystemclock.h:
13619         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13620         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13621         * gst/gsttaginterface.c:
13622         * gst/gstthread.c: (gst_thread_dispose),
13623         (gst_thread_release_children_locks), (gst_thread_change_state),
13624         (gst_thread_main_loop):
13625         * gst/gsttrashstack.h:
13626         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13627         * gst/gsttypes.h:
13628         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13629         (gst_element_request_pad), (gst_element_get_pad_from_template),
13630         (gst_element_request_compatible_pad),
13631         (gst_element_get_compatible_pad_filtered),
13632         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13633         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13634         (gst_element_link_many), (gst_element_link),
13635         (gst_element_link_pads), (gst_element_unlink_pads),
13636         (gst_element_unlink_many), (gst_element_unlink),
13637         (gst_pad_can_link_filtered), (gst_pad_can_link),
13638         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13639         (gst_object_default_error), (gst_bin_add_many),
13640         (gst_bin_remove_many), (gst_element_populate_std_props),
13641         (gst_element_class_install_std_props), (gst_buffer_merge),
13642         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13643         (link_fold_func), (gst_pad_proxy_setcaps):
13644         * gst/gstutils.h:
13645         * gst/gstvalue.c: (gst_value_deserialize_string):
13646         * gst/parse/grammar.y:
13647         * gst/schedulers/gstbasicscheduler.c:
13648         (gst_basic_scheduler_cothreaded_chain),
13649         (gst_basic_scheduler_chain_recursive_add),
13650         (gst_basic_scheduler_pad_link):
13651         * gst/schedulers/gstoptimalscheduler.c:
13652         (get_group_schedule_function),
13653         (gst_opt_scheduler_state_transition),
13654         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13655         * libs/gst/bytestream/bytestream.c:
13656         * libs/gst/dataprotocol/dataprotocol.c:
13657         (gst_dp_header_from_buffer):
13658         * po/nb.po:
13659         * po/ru.po:
13660         * tests/threadstate/threadstate2.c: (eos):
13661         * tools/gst-compprep.c: (main):
13662         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13663         (print_pad_info), (print_children_info):
13664         * tools/gst-launch.c: (idle_func), (main):
13665         * tools/gst-md5sum.c: (idle_func), (main):
13666         * tools/gst-xmlinspect.c: (print_element_info):
13667         First THREADED backport attempt, focusing on adding locks and
13668         making sure the API is threadsafe. Needs more work. More docs
13669         follow this week.
13670
13671 2005-02-24  Andy Wingo  <wingo@pobox.com>
13672
13673         * tests/bench-complexity.scm:
13674         * tests/complexity.gnuplot: New files, good for running complexity
13675         benchmarks.
13676
13677         * tests/Makefile.am:
13678         * tests/complexity.c: New test, sets up N elements, at each level
13679         teeing into M streams per element. Eeeenteresting.
13680
13681         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13682         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13683         running bench-mass_elements.scm.
13684
13685         * tests/bench-mass_elements.scm: New script, runs mass_elements
13686         for various numbers of identities, outputting the results to a
13687         file. Requires guile 1.6. Just for testing.
13688
13689 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13690
13691         * gst/schedulers/fairscheduler.c:
13692           compile with debug disabled
13693
13694 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13695
13696         * configure.ac:
13697           hunting season on 0.9 is now OPEN