gst/gst.c: make the registry cache file HOST_CPU-dependent
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * gst/gst.c: (init_post):
4           make the registry cache file HOST_CPU-dependent
5
6 2005-12-16  Andy Wingo  <wingo@pobox.com>
7
8         * plugins/elements/gstbufferstore.c
9         (gst_buffer_store_cleared_func): Pay attention to g_list_append
10         return value.
11
12         * tests/check/gst/gstobject.c
13         (test_fake_object_name_threaded_unique): Pay attention to
14         g_list_sort return value.
15
16 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
17
18         * tools/gst-feedback-m.m:
19           Update for 0.9/0.10 (fixes #323870).
20
21 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
22
23         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
24           Fix lcopy for mini objects, the mini object needs to be ref'ed.
25           
26         * tests/check/gst/gstminiobject.c: (my_foo_init),
27         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
28         (test_value_collection), (gst_mini_object_suite):
29           Add test to ensure refcounts end up as expected when passing
30           GstMiniObjects through g_object_get() and g_object_set().
31
32 2005-12-14  Julien MOUTTE  <julien@moutte.net>
33
34         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
35         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
36         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
37         of collectpads. This version removes a lot of races without
38         touching API/ABI. Yay !
39
40 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
41
42         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
43           Don't allow activation of a srcpad in pull_range if it has no
44           getrange function.
45           Change some debug statements to be a little clearer
46
47         * plugins/elements/gsttypefindelement.c:
48         (gst_type_find_handle_src_query):
49           Check that we have a peer before executing queries thereupon.
50
51         * tests/examples/metadata/read-metadata.c: (message_loop):
52           Use gst_bus_pop instead of gst_bus_poll when we just want it to
53           immediately return us any available message with 0 timeout.
54
55 2005-12-12  Michael Smith  <msmith@fluendo.com>
56
57         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
58           Don't unref factories after calling them.
59         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
60         * plugins/elements/gsttypefindelement.c:
61         (gst_type_find_element_chain):
62           Free lists of factories after using them. Fixing typefinding memory
63           leaks.
64
65 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
66
67         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
68         (gst_plugin_feature_load):
69           more meaningful debug output
70         * configure.ac:
71         * tests/Makefile.am:
72         * tests/old/examples/Makefile.am:
73           make make distcheck happy again
74
75 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
76
77         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
78           Catch the special case where we are operating chain-based,
79           but the downstream peer pad has no chain function. Emit a
80           custom error message in this case instead of letting the
81           core generate one implying that this is some sort of core
82           bug. It's not, it just means that whatever got plugged
83           into the pipeline downstream when we announced the type
84           can only operate pull-based, while our source can only
85           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
86           Error string has not been marked for translation yet, as
87           it probably needs some more work first.
88
89         (gst_type_find_element_get_best_possibility):
90           Add helper function to find the best of all available
91           found possibilities that qualify given the min. threshold.
92
93         (gst_type_find_element_handle_event):
94           Fix the case where we get an EOS while still in TYPEFIND
95           mode (we want to chose the best of all possible types,
96           not just the first type that happens to be in our unsorted
97           list of possible types).
98
99         (gst_type_find_element_chain):
100           Make sure we return GST_FLOW_ERROR when we errored out
101           in stop_typefinding(); also, don't just find the best of
102           all found type entries and then use the last examined
103           type entry, but actually use the best entry.
104
105 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
106
107         * tests/examples/typefind/typefind.c: (type_found):
108         * tests/examples/xml/runxml.c: (xml_loaded):
109           More gcc4 fixes and a mem leak fix.
110
111 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
112
113         * tests/examples/xml/createxml.c: (object_saved):
114           gcc 4 fixes
115
116 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
117
118         * tests/Makefile.am:
119           enable the examples even more
120
121 2005-12-12  Andy Wingo  <wingo@pobox.com>
122
123         * libs/gst/net/gstnettimeprovider.c
124         (gst_net_time_provider_class_init, gst_net_time_provider_init)
125         (gst_net_time_provider_set_property)
126         (gst_net_time_provider_get_property): Export "active" as a GObject
127         property.
128         (gst_net_time_provider_thread): Only respond to time queries if
129         the time provider is active.
130
131         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
132         NetTimeProvider, preserving binary compat.
133
134 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
135
136         * tests/examples/controller/audio-example.c: (main):
137         * tests/examples/launch/Makefile.am:
138           convert comments again
139
140 2005-12-12  Wim Taymans  <wim@fluendo.com>
141
142         * libs/gst/base/gstpushsrc.c:
143         Fix typo.
144
145 2005-12-12  Wim Taymans  <wim@fluendo.com>
146
147         * docs/libs/gstreamer-libs-sections.txt:
148         Added new symbol to docs.
149
150         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
151         (gst_base_src_init), (gst_base_src_set_format),
152         (gst_base_src_default_query), (gst_base_src_query),
153         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
154         (gst_base_src_perform_seek), (gst_base_src_send_event),
155         (gst_base_src_default_event), (gst_base_src_event_handler),
156         (gst_base_src_set_property), (gst_base_src_get_property),
157         (gst_base_src_wait), (gst_base_src_do_sync),
158         (gst_base_src_update_length), (gst_base_src_get_range),
159         (gst_base_src_check_get_range), (gst_base_src_loop),
160         (gst_base_src_default_negotiate), (gst_base_src_start),
161         (gst_base_src_activate_push), (gst_base_src_activate_pull),
162         (gst_base_src_change_state):
163         * libs/gst/base/gstbasesrc.h:
164         Implement seeking to other formats than _BYTES.
165         Implement more seeking methods correctly.
166         Doc updates.
167         Added query vmethod.
168         Added do_seek vmethod to make life easier for subclasses
169         when seeking.
170         API addition: gst_base_src_set_format()
171
172 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
173
174         * tests/examples/Makefile.am:
175           added that too
176
177 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
178
179         * configure.ac:
180         * docs/random/ensonic/media-device-daemon.txt:
181         * tests/examples/controller/.cvsignore:
182         * tests/examples/controller/Makefile.am:
183         * tests/examples/controller/audio-example.c: (main):
184         * tests/examples/helloworld/.cvsignore:
185         * tests/examples/helloworld/Makefile.am:
186         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
187         * tests/examples/launch/.cvsignore:
188         * tests/examples/launch/Makefile.am:
189         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
190         * tests/examples/metadata/.cvsignore:
191         * tests/examples/metadata/Makefile.am:
192         * tests/examples/metadata/read-metadata.c: (message_loop),
193         (make_pipeline), (print_tag), (main):
194         * tests/examples/queue/.cvsignore:
195         * tests/examples/queue/Makefile.am:
196         * tests/examples/queue/queue.c: (event_loop), (main):
197         * tests/examples/typefind/.cvsignore:
198         * tests/examples/typefind/Makefile.am:
199         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
200         (main):
201         * tests/examples/xml/.cvsignore:
202         * tests/examples/xml/Makefile.am:
203         * tests/examples/xml/createxml.c: (object_saved), (main):
204         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
205         * tests/old/examples/Makefile.am:
206         * tests/old/examples/TODO:
207         * tests/old/examples/controller/.cvsignore:
208         * tests/old/examples/controller/Makefile.am:
209         * tests/old/examples/controller/audio-example.c:
210         * tests/old/examples/helloworld/.cvsignore:
211         * tests/old/examples/helloworld/Makefile.am:
212         * tests/old/examples/helloworld/helloworld.c:
213         * tests/old/examples/launch/.cvsignore:
214         * tests/old/examples/launch/Makefile.am:
215         * tests/old/examples/launch/mp3parselaunch.c:
216         * tests/old/examples/launch/mp3play:
217         * tests/old/examples/manual/Makefile.am:
218         * tests/old/examples/metadata/Makefile.am:
219         * tests/old/examples/metadata/read-metadata.c:
220         * tests/old/examples/queue/.cvsignore:
221         * tests/old/examples/queue/Makefile.am:
222         * tests/old/examples/queue/queue.c:
223         * tests/old/examples/typefind/.cvsignore:
224         * tests/old/examples/typefind/Makefile.am:
225         * tests/old/examples/typefind/typefind.c:
226         * tests/old/examples/xml/.cvsignore:
227         * tests/old/examples/xml/Makefile.am:
228         * tests/old/examples/xml/createxml.c:
229         * tests/old/examples/xml/runxml.c:
230           applied some simple fixing to some examples
231           re-enabled the working examples
232
233 2005-12-12  Wim Taymans  <wim@fluendo.com>
234
235         * gst/gstsegment.c: (gst_segment_init),
236         (gst_segment_set_last_stop), (gst_segment_set_seek),
237         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
238         (gst_segment_to_running_time):
239         Added more documentation.
240         Make sure the last_pos value is updated properly.
241         Make sure to_stream_time and to_running_time don't
242         operate on wrong values.
243
244         * tests/check/gst/gstsegment.c: (GST_START_TEST):
245         Update check.
246
247 2005-12-12  Michael Smith  <msmith@fluendo.com>
248
249         * plugins/elements/gsttypefindelement.c: (free_entry),
250         (gst_type_find_element_chain):
251           Now that we're not leaking factories, make sure we keep references
252           to them while we need them.
253
254 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
255
256         * tests/check/gst/struct_i386.h:
257           ifdef out the XML structs
258
259 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
260
261         * gst/gstvalue.c: (gst_value_transform_double_fraction):
262           floor is not needed, F is always positive; this obviates the
263           need for adding -lm when building without libxml
264
265 2005-12-12  Wim Taymans  <wim@fluendo.com>
266
267         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
268         Take current playback rate into account when reporting
269         the position.
270
271 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
272
273         * docs/manual/mime-world.fig:
274           Let's try this again, this time with a file that is
275           actually in XFig format.
276
277 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
278
279         * docs/manual/mime-world.fig:
280           Add audioconvert element to diagram so that it
281           matches the text and the code (fixes #319526).
282
283 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
284
285         * docs/pwg/building-chainfn.xml:
286         * docs/pwg/building-pads.xml:
287         * docs/pwg/building-state.xml:
288         * docs/pwg/other-source.xml:
289           Update state change stuff for 0.10 (fixes #322969).
290
291 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
292
293         * docs/manual/advanced-dataaccess.xml:
294         * docs/manual/appendix-checklist.xml:
295         * docs/manual/appendix-programs.xml:
296         * docs/manual/basics-pads.xml:
297         * docs/manual/highlevel-components.xml:
298         * docs/manual/manual.xml:
299           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
300           add converters in front of pipelines; remove curly
301           brackets for threads stuff, they no longer exist; use
302           GST_TYPE_FRACTION for framerates; update some pieces of
303           code to 0.10, but there's plenty more to do.
304
305         * docs/manual/appendix-porting.xml:
306           Expand on asynchroneous state changes; s/0.9/0.10/;
307           mention disappearance of gst_init_get_popt_table()
308           (fixes #322916).
309
310 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
311
312         * docs/faq/using.xml:
313           Spider no longer exists, and neither does gst-launch-ext.
314           Update examples to use decodebin and playbin and put
315           converters in front of sinks (fixes #323726).
316
317 2005-12-09  Michael Smith  <msmith@fluendo.com>
318
319         * plugins/elements/gsttypefindelement.c: (find_peek),
320         (gst_type_find_element_chain):
321           Fix leaking element factories in typefinding.
322           Fix problem where we forgot about a probable type on non-seekable
323           files, and thus later mis-typefound it.
324
325 2005-12-09  Michael Smith  <msmith@fluendo.com>
326
327         * common/m4/gst-makecontext.m4:
328         * common/m4/gst-mcsc.m4:
329         * configure.ac:
330         * win32/common/config.h:
331         * win32/common/config.h.in:
332           Remove makecontext stuff; not used in 0.10 and causes problems on
333           HPUX according to bug #322441
334
335 2005-12-07  Wim Taymans  <wim@fluendo.com>
336
337         * tests/check/Makefile.am:
338         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
339         (main):
340         * tests/check/libs/struct_i386.h:
341         Added ABI check for libs
342
343 2005-12-07  Wim Taymans  <wim@fluendo.com>
344
345         * tests/check/Makefile.am:
346         And add the struct_i386.h to dist.
347
348 2005-12-07  Wim Taymans  <wim@fluendo.com>
349
350         * tests/check/Makefile.am:
351         * tests/check/gst/.cvsignore:
352         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
353         (main):
354         * tests/check/gst/struct_i386.h:
355         Added check for ABI compatibility.
356
357 2005-12-07  Wim Taymans  <wim@fluendo.com>
358
359         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
360         (gst_fake_src_get_times), (gst_fake_src_create):
361         Fix broken sync option, fixes #323259
362
363 2005-12-07  Wim Taymans  <wim@fluendo.com>
364
365         * gst/gstbuffer.c:
366         Small docs update.
367
368         * gst/gstcaps.c: (gst_caps_is_equal):
369         Don't assert on NULL <--> X. Fixes #323260
370
371         * gst/gstminiobject.c: (gst_mini_object_replace):
372         If we're doing atomic operations, we might just as well use
373         the proper way to get an atomic pointer.
374
375         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
376         Clean up debugging.
377
378 2005-12-07  Michael Smith  <msmith@fluendo.com>
379
380         * gst/parse/grammar.y:
381           Remove handling of { } for threads.
382
383 2005-12-06  David Schleef  <ds@schleef.org>
384
385         * libs/gst/base/gstbasetransform.c: speling fix.
386
387 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
388
389         * docs/libs/tmpl/gstdataprotocol.sgml:
390         * docs/random/omega/testing/gstobject.c:
391         * gst/gst.c:
392         * gst/gstclock.c:
393         * gst/gstelement.c:
394         * gst/gstelementfactory.c:
395         * gst/gsterror.c:
396         * gst/gstevent.c:
397         * gst/gstghostpad.c:
398         * gst/gstinfo.c:
399         * gst/gstpadtemplate.c:
400         * gst/gstregistryxml.c:
401         * gst/gsttaglist.c:
402         * gst/gsttagsetter.c:
403         * gst/gsttypefind.c:
404         * gst/gstvalue.c:
405         * libs/gst/base/gstbasesrc.c:
406         * libs/gst/net/gstnetclientclock.c:
407         * libs/gst/net/gstnettimeprovider.c:
408         * plugins/elements/gstfakesrc.c:
409         * plugins/elements/gstfdsrc.c:
410         * plugins/elements/gstfilesrc.c:
411         * plugins/elements/gstidentity.c:
412         * plugins/elements/gstqueue.c:
413         * plugins/elements/gsttypefindelement.c:
414         * plugins/indexers/gstfileindex.c:
415         * plugins/indexers/gstmemindex.c:
416         * tests/check/gst/gsttag.c:
417         * tests/old/examples/cutter/cutter.c:
418         * tests/old/examples/mixer/mixer.c:
419         * tests/old/examples/xml/runxml.c: (main):
420         * tests/old/testsuite/caps/normalisation.c:
421         * tests/old/testsuite/debug/global.c:
422         * tests/old/testsuite/parse/parse1.c:
423         * tools/gst-xmlinspect.c:
424         * win32/common/dirent.c:
425           expand tabs
426
427 === release 0.10.0 ===
428
429 2005-12-05   <thomas (at) apestaart (dot) org>
430
431         * configure.ac:
432           releasing 0.10.0, "Maroilles"
433
434 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
435
436         submitted by: Funda Wang <fundawang@linux.net.cn>
437
438         * po/LINGUAS:
439         * po/zh_CN.po:
440           added Chinese (Traditional) translation
441
442 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
443
444         * docs/gst/gstreamer-sections.txt:
445         * docs/libs/tmpl/gstdataprotocol.sgml:
446         * docs/random/thomasvs/TODO:
447         * gst/gstutils.c:
448         * gst/gstutils.h:
449           fix docs
450
451 2005-12-05  Andy Wingo  <wingo@pobox.com>
452
453         patch by: Wim Taymans <wim@fluendo.com>
454
455         * libs/gst/base/gstbasetransform.c
456         (gst_base_transform_prepare_output_buf)
457         (gst_base_transform_buffer_alloc):
458         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
459         alloc_buffer_and_set_caps.
460
461         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
462         set_caps on the source pad.
463         (gst_pad_alloc_buffer_and_set_caps): New function, does what
464         alloc_buffer used to do. Fixes #322874.
465
466         * docs/gst/gstreamer-sections.txt: 
467         * docs/design/part-negotiation.txt: 
468         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
469         changes.
470
471 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
472
473         patch by: Sebastien Moutte
474
475         * win32/MANIFEST:
476         * win32/common/config.h.in:
477         * win32/vs6/libgstcontroller.dsp:
478           win32 build fixes
479
480 2005-12-05  Wim Taymans  <wim@fluendo.com>
481
482         * gst/gstcaps.c: (gst_caps_is_equal):
483         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
484         (gst_fake_src_create):
485         Back out previous code changes, leave doc updates, file bugs 
486         instead. 
487
488 2005-12-05  Wim Taymans  <wim@fluendo.com>
489
490         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
491         (gst_fake_src_get_times), (gst_fake_src_create):
492         * plugins/elements/gstfakesrc.h:
493         Fix broken sync code.
494
495 2005-12-05  Wim Taymans  <wim@fluendo.com>
496
497         * gst/gstcaps.c: (gst_caps_is_equal):
498         Comparing NULL against !NULL yields different caps, not a
499         failure.
500
501 2005-12-05  Wim Taymans  <wim@fluendo.com>
502
503         * gst/gstpipeline.c:
504         Fix small typo in docs.
505
506 2005-12-05  Andy Wingo  <wingo@pobox.com>
507
508         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
509
510         * gst/gst.c (init_post): remove hard-coded 0.9 location for
511         registries/plugins with a MAJORMINOR one.
512         (plugin_desc): Rename library from gstcoreleements to
513         staticelements. Fixes #323222.
514
515 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
516
517         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
518           Change debug category to 'collectpads' from 'collect_pads'
519           (fixes #323250).
520
521 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
522
523         patch by: Sebastien Moutte
524
525         * libs/gst/controller/gstinterpolation.c:
526           use convert function for uint64/double
527         * win32/vs6/libgstcontroller.dsp:
528           link to GLib
529
530 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
531
532         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
533         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
534         * gst/gstutils.h:
535         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
536           add tests that seem to show that the guint64/gdouble conversions
537           are correct.
538
539 2005-12-02  Wim Taymans  <wim@fluendo.com>
540
541         * gst/gstregistry.c: (gst_registry_add_path):
542         * gst/gstregistry.h:
543         * gst/gstregistryxml.c:
544         Fix docs again.
545
546 2005-12-02  Wim Taymans  <wim@fluendo.com>
547
548         * gst/gstutils.c: (gst_util_uint64_scale_int64),
549         (gst_util_uint64_scale_int):
550         Small cleanup.
551
552         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
553         Add debug log line.
554
555         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
556         Add FIXME.
557
558 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
559
560         * win32/MANIFEST:
561         * win32/common/config.h:
562         * win32/vs6/gstreamer.dsw:
563         * win32/vs6/libgstcoreelements.dsp:
564         * win32/vs6/libgstelements.dsp:
565           renamed core elements plugin
566
567 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
568
569         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
570         (get_candidates):
571           do piece-wise major/minor comparison so 0.9 < 0.10
572           also allow .exe extensions for tools
573
574 2005-12-02  Michael Smith  <msmith@fluendo.com>
575
576         * gst/gst.c:
577           Escape a % to make gtkdoc happier; bug 322958.
578
579 === release 0.9.7 ===
580
581 2005-12-01   <thomas (at) apestaart (dot) org>
582
583         * configure.ac:
584           releasing 0.9.7, "My Dog Has No Nose"
585
586 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
587
588         * common/gst-xmlinspect.py:
589         * configure.ac:
590         * docs/libs/tmpl/gstdataprotocol.sgml:
591         * docs/random/release:
592         * po/af.po:
593         * po/az.po:
594         * po/bg.po:
595         * po/ca.po:
596         * po/cs.po:
597         * po/de.po:
598         * po/en_GB.po:
599         * po/fr.po:
600         * po/it.po:
601         * po/nb.po:
602         * po/nl.po:
603         * po/ru.po:
604         * po/sq.po:
605         * po/sr.po:
606         * po/sv.po:
607         * po/tr.po:
608         * po/uk.po:
609         * po/vi.po:
610         * win32/common/config.h:
611         * win32/common/config.h.in:
612         * win32/vs6/gst_inspect.dsp:
613         * win32/vs6/gst_launch.dsp:
614         * win32/vs6/libgstbase.dsp:
615         * win32/vs6/libgstelements.dsp:
616         * win32/vs6/libgstreamer.dsp:
617         * win32/vs7/GStreamer.vcproj:
618         * win32/vs7/gst-inspect.vcproj:
619         * win32/vs7/gst-launch.vcproj:
620         * win32/vs7/libgstbase.vcproj:
621           bump GST_MAJORMINOR to 0.10
622           reset libtool version
623
624 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
625
626         * po/LINGUAS:
627         * po/bg.po:
628           Added Bulgarian translation by (Alexander Shopov)
629
630 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
631
632         * tests/check/gst/gstplugin.c:
633           fix test
634
635 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
636
637         * common/gst-xmlinspect.py:
638         * common/gtk-doc-plugins.mak:
639         * configure.ac:
640         * docs/Makefile.am:
641         * docs/gst/Makefile.am:
642         * docs/gst/gstreamer-docs.sgml:
643         * docs/gst/gstreamer-sections.txt:
644         * docs/gst/gstreamer.types:
645         * docs/gst/gstreamer.types.in:
646         * docs/plugins/Makefile.am:
647         * docs/plugins/gstreamer-plugins-docs.sgml:
648         * docs/plugins/gstreamer-plugins-sections.txt:
649         * docs/plugins/gstreamer-plugins.types:
650         * docs/plugins/inspect.stamp:
651         * docs/plugins/inspect/plugin-coreelements.xml:
652         * docs/plugins/inspect/plugin-coreindexers.xml:
653         * docs/plugins/scanobj-build.stamp:
654         * gstreamer.spec.in:
655         * plugins/elements/Makefile.am:
656         * plugins/elements/gstelements.c:
657         * plugins/elements/gstfakesink.c:
658         * plugins/elements/gstfakesrc.c:
659         * plugins/elements/gstfilesink.c:
660         * plugins/elements/gstfilesrc.c:
661         * plugins/elements/gstqueue.c:
662         * plugins/indexers/Makefile.am:
663         * plugins/indexers/gstindexers.c:
664           document core plugins in a separate document just like all the
665           others
666           rename these plugins to something starting with core
667
668 2005-12-01  Andy Wingo  <wingo@pobox.com>
669
670         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
671         padding here before, but it missed the commit.
672
673 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
674
675         * libs/gst/controller/gstinterpolation.c:
676           whitespace prices have crashed, we should feel free to use some now
677           use gst_guint64_to_gdouble
678
679 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
680
681         * libs/gst/controller/gstcontroller.c:
682         * libs/gst/controller/gsthelper.c:
683         * libs/gst/controller/gstinterpolation.c:
684         * libs/gst/controller/lib.c:
685           wrap config.h include
686
687 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
688
689         * docs/gst/gstreamer-sections.txt:
690           update docs
691
692 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
693
694         * plugins/elements/gstelements.c:
695         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
696         (gst_fd_sink__class_init), (gst_fd_sink__init),
697         (gst_fd_sink__chain), (gst_fd_sink__set_property),
698         (gst_fd_sink__get_property):
699         * plugins/elements/gstfdsink.h:
700         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
701         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
702         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
703         (gst_fd_src_unlock), (gst_fd_src_set_property),
704         (gst_fd_src_get_property), (gst_fd_src_create),
705         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
706         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
707         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
708         (gst_fd_src_uri_handler_init):
709         * plugins/elements/gstfdsrc.h:
710         * plugins/elements/gstqueue.c: (gst_queue_get_type):
711           more anal cleanup
712
713 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
714
715         * docs/gst/Makefile.am:
716         * docs/gst/gstreamer.types.in:
717         * gst/Makefile.am:
718           fix the docs build
719
720 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
721
722         * configure.ac:
723         * gst/Makefile.am:
724         * gst/gst.c:
725         * gst/gstplugin.h:
726         * gst/gstregistry.h:
727         * tests/benchmarks/complexity.c:
728         * tests/benchmarks/mass-elements.c:
729         * tests/check/Makefile.am:
730         * tools/Makefile.am:
731         * tools/gst-inspect.c:
732         * tools/gst-xmlinspect.c:
733           various fixes to make
734           --disable-nls --disable-registry --disable-loadsave
735           --disable-parse --disable-gst-debug
736           work and get the core .so down to 360444 bytes after stripping
737
738 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
739
740         * Makefile.am:
741         * configure.ac:
742           descend into tests
743         * docs/random/thomasvs/TODO:
744         * tests/Makefile.am:
745         * tests/README:
746           add a README
747
748 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
749
750         * win32/GStreamer.vcproj:
751         * win32/MANIFEST:
752         * win32/Makefile:
753         * win32/Makefile.inspect:
754         * win32/Makefile.launch:
755         * win32/Makefile.register:
756         * win32/README.txt:
757         * win32/gst-inspect.vcproj:
758         * win32/gst-launch.vcproj:
759         * win32/gst-register.vcproj:
760         * win32/gstelements.vcproj:
761         * win32/gstgetbits.def:
762         * win32/gstgetbits.vcproj:
763         * win32/gstreamer-dbg.def:
764         * win32/gstreamer.def:
765         * win32/libgstbase.def:
766         * win32/libgstbase.vcproj:
767         * win32/link_oldruntime.c:
768         * win32/mman.c:
769         * win32/mman.h:
770         * win32/mman.inl:
771         * win32/msvc71.sln:
772           move even more stuff, win32/ is nice and clean now
773
774 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
775
776         * libs/gst/control/.cvsignore:
777         * win32/MANIFEST:
778         * win32/config.h:
779         * win32/dirent.c:
780         * win32/dirent.h:
781         * win32/gstbytestream.def:
782         * win32/gstbytestream.vcproj:
783         * win32/gstconfig.h:
784         * win32/gstenumtypes.c:
785         * win32/gstenumtypes.h:
786         * win32/gstoptimalscheduler.vcproj:
787         * win32/gstversion.h:
788         * win32/gtchar.h:
789         * win32/testsuite/bins.vcproj:
790         * win32/testsuite/bytestream.vcproj:
791         * win32/testsuite/caps.vcproj:
792         * win32/testsuite/cleanup.vcproj:
793         * win32/testsuite/clock.vcproj:
794         * win32/testsuite/debug.vcproj:
795         * win32/testsuite/dlopen.vcproj:
796         * win32/testsuite/dynparams.vcproj:
797         * win32/testsuite/elements.vcproj:
798         * win32/testsuite/ghostpads.vcproj:
799         * win32/testsuite/indexers.vcproj:
800         * win32/testsuite/negotiation.vcproj:
801         * win32/testsuite/parse.vcproj:
802         * win32/testsuite/plugin.vcproj:
803         * win32/testsuite/refcounting.vcproj:
804         * win32/testsuite/schedulers.vcproj:
805         * win32/testsuite/states.vcproj:
806         * win32/testsuite/tags.vcproj:
807         * win32/testsuite/threads.vcproj:
808           remove old win32 stuff that isn't maintained and should be
809           reorganized
810
811 2005-11-30  Andy Wingo  <wingo@pobox.com>
812
813         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
814         loading the gst.interfaces python module bork.
815
816         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
817         available since GLib 2.2. Fixes #318031.
818
819 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
820
821         * Makefile.am:
822         * check/.cvsignore:
823         * check/Makefile.am:
824         * check/elements/.cvsignore:
825         * check/elements/fakesrc.c:
826         * check/elements/fdsrc.c:
827         * check/elements/identity.c:
828         * check/generic/.cvsignore:
829         * check/generic/states.c:
830         * check/gst-libs/.cvsignore:
831         * check/gst-libs/controller.c:
832         * check/gst-libs/gdp.c:
833         * check/gst/.cvsignore:
834         * check/gst/capslist.h:
835         * check/gst/gst.c:
836         * check/gst/gstbin.c:
837         * check/gst/gstbuffer.c:
838         * check/gst/gstbus.c:
839         * check/gst/gstcaps.c:
840         * check/gst/gstelement.c:
841         * check/gst/gstevent.c:
842         * check/gst/gstghostpad.c:
843         * check/gst/gstiterator.c:
844         * check/gst/gstmessage.c:
845         * check/gst/gstminiobject.c:
846         * check/gst/gstobject.c:
847         * check/gst/gstpad.c:
848         * check/gst/gstpipeline.c:
849         * check/gst/gstplugin.c:
850         * check/gst/gstsegment.c:
851         * check/gst/gststructure.c:
852         * check/gst/gstsystemclock.c:
853         * check/gst/gsttag.c:
854         * check/gst/gstutils.c:
855         * check/gst/gstvalue.c:
856         * check/net/.cvsignore:
857         * check/net/gstnetclientclock.c:
858         * check/net/gstnettimeprovider.c:
859         * check/pipelines/.cvsignore:
860         * check/pipelines/cleanup.c:
861         * check/pipelines/simple_launch_lines.c:
862         * check/pipelines/stress.c:
863         * check/states/.cvsignore:
864         * check/states/sinks.c:
865         * configure.ac:
866         * examples/Makefile.am:
867         * examples/appreader/.cvsignore:
868         * examples/appreader/Makefile.am:
869         * examples/appreader/appreader.c:
870         * examples/controller/.cvsignore:
871         * examples/controller/Makefile.am:
872         * examples/controller/audio-example.c:
873         * examples/cutter/.cvsignore:
874         * examples/cutter/Makefile.am:
875         * examples/cutter/cutter.c:
876         * examples/cutter/cutter.h:
877         * examples/events/Makefile.am:
878         * examples/events/seek.c:
879         * examples/helloworld/.cvsignore:
880         * examples/helloworld/Makefile.am:
881         * examples/helloworld/helloworld.c:
882         * examples/helloworld2/.cvsignore:
883         * examples/helloworld2/Makefile.am:
884         * examples/helloworld2/helloworld2.c:
885         * examples/launch/.cvsignore:
886         * examples/launch/Makefile.am:
887         * examples/launch/mp3parselaunch.c:
888         * examples/launch/mp3play:
889         * examples/manual/.cvsignore:
890         * examples/manual/Makefile.am:
891         * examples/manual/extract.pl:
892         * examples/metadata/Makefile.am:
893         * examples/metadata/read-metadata.c:
894         * examples/mixer/.cvsignore:
895         * examples/mixer/Makefile.am:
896         * examples/mixer/mixer.c:
897         * examples/mixer/mixer.h:
898         * examples/pingpong/.cvsignore:
899         * examples/pingpong/Makefile.am:
900         * examples/pingpong/pingpong.c:
901         * examples/plugins/.cvsignore:
902         * examples/plugins/Makefile.am:
903         * examples/plugins/example.c:
904         * examples/plugins/example.h:
905         * examples/pwg/.cvsignore:
906         * examples/pwg/Makefile.am:
907         * examples/pwg/extract.pl:
908         * examples/queue/.cvsignore:
909         * examples/queue/Makefile.am:
910         * examples/queue/queue.c:
911         * examples/queue2/.cvsignore:
912         * examples/queue2/Makefile.am:
913         * examples/queue2/queue2.c:
914         * examples/queue3/.cvsignore:
915         * examples/queue3/Makefile.am:
916         * examples/queue3/queue3.c:
917         * examples/queue4/.cvsignore:
918         * examples/queue4/Makefile.am:
919         * examples/queue4/queue4.c:
920         * examples/retag/.cvsignore:
921         * examples/retag/Makefile.am:
922         * examples/retag/retag.c:
923         * examples/retag/transcode.c:
924         * examples/thread/.cvsignore:
925         * examples/thread/Makefile.am:
926         * examples/thread/thread.c:
927         * examples/typefind/.cvsignore:
928         * examples/typefind/Makefile.am:
929         * examples/typefind/typefind.c:
930         * examples/xml/.cvsignore:
931         * examples/xml/Makefile.am:
932         * examples/xml/createxml.c:
933         * examples/xml/runxml.c:
934         * tests/Makefile.am:
935         * tests/check/Makefile.am:
936         * testsuite/.cvsignore:
937         * testsuite/Makefile.am:
938         * testsuite/Rules:
939         * testsuite/caps/.cvsignore:
940         * testsuite/caps/Makefile.am:
941         * testsuite/caps/app_fixate.c:
942         * testsuite/caps/audioscale.c:
943         * testsuite/caps/caps.c:
944         * testsuite/caps/caps.h:
945         * testsuite/caps/caps_strings:
946         * testsuite/caps/compatibility.c:
947         * testsuite/caps/deserialize.c:
948         * testsuite/caps/enumcaps.c:
949         * testsuite/caps/eratosthenes.c:
950         * testsuite/caps/filtercaps.c:
951         * testsuite/caps/fixed.c:
952         * testsuite/caps/fraction-convert.c:
953         * testsuite/caps/fraction-multiply-and-zero.c:
954         * testsuite/caps/intersect2.c:
955         * testsuite/caps/intersection.c:
956         * testsuite/caps/normalisation.c:
957         * testsuite/caps/random.c:
958         * testsuite/caps/renegotiate.c:
959         * testsuite/caps/sets.c:
960         * testsuite/caps/simplify.c:
961         * testsuite/caps/string-conversions.c:
962         * testsuite/caps/structure.c:
963         * testsuite/caps/subtract.c:
964         * testsuite/caps/union.c:
965         * testsuite/debug/.cvsignore:
966         * testsuite/debug/Makefile.am:
967         * testsuite/debug/category.c:
968         * testsuite/debug/commandline.c:
969         * testsuite/debug/global.c:
970         * testsuite/debug/output.c:
971         * testsuite/debug/printf_extension.c:
972         * testsuite/dlopen/.cvsignore:
973         * testsuite/dlopen/Makefile.am:
974         * testsuite/dlopen/dlopen_gst.c:
975         * testsuite/dlopen/loadgst.c:
976         * testsuite/elements/.cvsignore:
977         * testsuite/elements/Makefile.am:
978         * testsuite/elements/gst-inspect-check.in:
979         * testsuite/elements/struct_i386.h:
980         * testsuite/elements/struct_size.c:
981         * testsuite/indexers/.cvsignore:
982         * testsuite/indexers/Makefile.am:
983         * testsuite/indexers/cache1.c:
984         * testsuite/indexers/indexdump.c:
985         * testsuite/parse/.cvsignore:
986         * testsuite/parse/Makefile.am:
987         * testsuite/parse/parse1.c:
988         * testsuite/parse/parse2.c:
989         * testsuite/plugin/.cvsignore:
990         * testsuite/plugin/Makefile.am:
991         * testsuite/plugin/README:
992         * testsuite/plugin/dynamic.c:
993         * testsuite/plugin/linked.c:
994         * testsuite/plugin/loading.c:
995         * testsuite/plugin/registry.c:
996         * testsuite/plugin/static.c:
997         * testsuite/plugin/static2.c:
998         * testsuite/plugin/testplugin.c:
999         * testsuite/plugin/testplugin2.c:
1000         * testsuite/plugin/testplugin2_s.c:
1001         * testsuite/plugin/testplugin_s.c:
1002         * testsuite/refcounting/.cvsignore:
1003         * testsuite/refcounting/Makefile.am:
1004         * testsuite/refcounting/bin.c:
1005         * testsuite/refcounting/element.c:
1006         * testsuite/refcounting/element_pad.c:
1007         * testsuite/refcounting/mainloop.c:
1008         * testsuite/refcounting/mem.c:
1009         * testsuite/refcounting/mem.h:
1010         * testsuite/refcounting/object.c:
1011         * testsuite/refcounting/pad.c:
1012         * testsuite/refcounting/sched.c:
1013         * testsuite/refcounting/thread.c:
1014         * testsuite/states/.cvsignore:
1015         * testsuite/states/Makefile.am:
1016         * testsuite/states/bin.c:
1017         * testsuite/states/locked.c:
1018         * testsuite/states/parent.c:
1019         * testsuite/threads/.cvsignore:
1020         * testsuite/threads/159566.c:
1021         * testsuite/threads/159852.c:
1022         * testsuite/threads/Makefile.am:
1023         * testsuite/threads/queue.c:
1024         * testsuite/threads/signals.c:
1025         * testsuite/threads/staticrec.c:
1026         * testsuite/threads/thread.c:
1027         * testsuite/threads/threadb.c:
1028         * testsuite/threads/threadc.c:
1029         * testsuite/threads/threadd.c:
1030         * testsuite/threads/threade.c:
1031         * testsuite/threads/threadf.c:
1032         * testsuite/threads/threadg.c:
1033         * testsuite/threads/threadh.c:
1034         * testsuite/threads/threadi.c:
1035           move all of these under tests
1036
1037 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1038
1039         * configure.ac:
1040         * tests/Makefile.am:
1041           fix distcheck
1042
1043 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1044
1045         * docs/gst/gstreamer-sections.txt:
1046         * tests/sched/.cvsignore:
1047         * tests/sched/Makefile.am:
1048         * tests/sched/cases/(fs-fs).xml:
1049         * tests/sched/cases/(fs-i-fs).xml:
1050         * tests/sched/cases/(fs-i-i-fs).xml:
1051         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1052         * tests/sched/dynamic-pipeline.c:
1053         * tests/sched/interrupt1.c:
1054         * tests/sched/interrupt2.c:
1055         * tests/sched/interrupt3.c:
1056         * tests/sched/runtestcases:
1057         * tests/sched/runxml.c:
1058         * tests/sched/sched-stress.c:
1059         * tests/sched/sort.c:
1060         * tests/sched/testcases:
1061         * tests/sched/testcases1.tc:
1062         * tests/seeking/.cvsignore:
1063         * tests/seeking/Makefile.am:
1064         * tests/seeking/seeking1.c:
1065         * tests/threadstate/.cvsignore:
1066         * tests/threadstate/Makefile.am:
1067         * tests/threadstate/test1.c:
1068         * tests/threadstate/test2.c:
1069         * tests/threadstate/threadstate1.c:
1070         * tests/threadstate/threadstate2.c:
1071         * tests/threadstate/threadstate3.c:
1072         * tests/threadstate/threadstate4.c:
1073         * tests/threadstate/threadstate5.c:
1074           remove obsolete tests
1075         * configure.ac:
1076         * tests/bench-complexity.scm:
1077         * tests/bench-mass_elements.scm:
1078         * tests/complexity.c:
1079         * tests/complexity.gnuplot:
1080         * tests/instantiate/.cvsignore:
1081         * tests/instantiate/Makefile.am:
1082         * tests/instantiate/caps.c:
1083         * tests/mass_elements.c:
1084         * tests/network-clock-utils.scm:
1085         * tests/network-clock.scm:
1086         * tests/plot-data:
1087         First pass at cleaning up tests/ dir before moving the rest
1088         Combined with CVS surgery
1089
1090 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1091
1092         * po/POTFILES.in:
1093           queue has moved, update
1094
1095 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1096
1097         * docs/gst/gstreamer-sections.txt:
1098           remove double entries from the docs
1099         * gst/gst_private.h:
1100         * gst/gstinfo.c: (_gst_debug_init):
1101           remove the THREAD debug category
1102         * gst/Makefile.am:
1103         * gst/gstqueue.c:
1104         * gst/gstqueue.h:
1105         * docs/gst/gstreamer.types:
1106         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1107         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1108           completely move queue and fix up debugging categories
1109
1110 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1111
1112         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1113           make initialization portable, using LL is not
1114
1115 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1116
1117         * win32/common/gstconfig.h:
1118           add large padding
1119
1120 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1121
1122         * win32/common/libgstreamer.def:
1123           rename symbols; sort base section
1124
1125 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1126
1127         * gst/gstclock.c: (do_linear_regression):
1128           remove crack non-portable handrolled DEBUG macro
1129
1130 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1131
1132         * docs/random/release:
1133           update notes
1134         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1135         (gst_object_flags_get_type), (register_gst_bin_flags),
1136         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1137         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1138         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1139         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1140         (gst_caps_flags_get_type), (register_gst_clock_return),
1141         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1142         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1143         (gst_clock_flags_get_type), (register_gst_state),
1144         (gst_state_get_type), (register_gst_state_change_return),
1145         (gst_state_change_return_get_type), (register_gst_state_change),
1146         (gst_state_change_get_type), (register_gst_element_flags),
1147         (gst_element_flags_get_type), (register_gst_core_error),
1148         (gst_core_error_get_type), (register_gst_library_error),
1149         (gst_library_error_get_type), (register_gst_resource_error),
1150         (gst_resource_error_get_type), (register_gst_stream_error),
1151         (gst_stream_error_get_type), (register_gst_event_type_flags),
1152         (gst_event_type_flags_get_type), (register_gst_event_type),
1153         (gst_event_type_get_type), (register_gst_seek_type),
1154         (gst_seek_type_get_type), (register_gst_seek_flags),
1155         (gst_seek_flags_get_type), (register_gst_format),
1156         (gst_format_get_type), (register_gst_index_certainty),
1157         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1158         (gst_index_entry_type_get_type),
1159         (register_gst_index_lookup_method),
1160         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1161         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1162         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1163         (gst_index_flags_get_type), (register_gst_debug_level),
1164         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1165         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1166         (gst_iterator_result_get_type), (register_gst_iterator_item),
1167         (gst_iterator_item_get_type), (register_gst_message_type),
1168         (gst_message_type_get_type), (register_gst_mini_object_flags),
1169         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1170         (gst_pad_link_return_get_type), (register_gst_flow_return),
1171         (gst_flow_return_get_type), (register_gst_activate_mode),
1172         (gst_activate_mode_get_type), (register_gst_pad_direction),
1173         (gst_pad_direction_get_type), (register_gst_pad_flags),
1174         (gst_pad_flags_get_type), (register_gst_pad_presence),
1175         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1176         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1177         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1178         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1179         (gst_plugin_flags_get_type), (register_gst_rank),
1180         (gst_rank_get_type), (register_gst_query_type),
1181         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1182         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1183         (gst_tag_flag_get_type), (register_gst_task_state),
1184         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1185         (gst_alloc_trace_flags_get_type),
1186         (register_gst_type_find_probability),
1187         (gst_type_find_probability_get_type), (register_gst_uri_type),
1188         (gst_uri_type_get_type), (register_gst_parse_error),
1189         (gst_parse_error_get_type):
1190         * win32/common/gstenumtypes.h:
1191         * win32/common/gstversion.h:
1192           update visual studio generated files
1193
1194 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1195
1196         * win32/vs6/libgstbase.dsp:
1197         * win32/vs6/libgstelements.dsp:
1198           update project files for new locations
1199
1200 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1201
1202         * Makefile.am:
1203           remove some files
1204         * README:
1205           reinstate and update
1206         * DEVEL:
1207         * REQUIREMENTS:
1208           removed
1209         * LICENSE:
1210         * docs/random/LICENSE:
1211           moved to random
1212
1213 2005-11-30  Edward Hervey  <edward@fluendo.com>
1214
1215         * gst/gsttypefind.c: (gst_type_find_register):
1216         * gst/gsttypefind.h:
1217         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1218         (gst_type_find_factory_dispose):
1219         * gst/gsttypefindfactory.h:
1220         Fix memory leak in GstTypeFindFactory.
1221
1222 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1223
1224         * gst/gst.c:
1225         * plugins/elements/Makefile.am:
1226         * plugins/elements/gstelements.c:
1227         * plugins/elements/gstqueue.c:
1228           move queue from core to the elements plugin
1229
1230 2005-11-29  Andy Wingo  <wingo@pobox.com>
1231
1232         * libs/gst/base/gstbasetransform.h: 
1233         * libs/gst/base/gstbasesrc.h: 
1234         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1235
1236         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1237         of pointers by which to pad very extensible base classes (like the
1238         ones in libs/gst/base).
1239
1240 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1241
1242         * docs/gst/gstreamer-docs.sgml:
1243         * docs/gst/gstreamer-sections.txt:
1244         * docs/libs/gstreamer-libs-docs.sgml:
1245         * docs/libs/gstreamer-libs-sections.txt:
1246           moving documentation from core to lib
1247
1248 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1249
1250         * check/Makefile.am:
1251         * configure.ac:
1252         * docs/gst/Makefile.am:
1253         * gst/Makefile.am:
1254         * gst/base/.cvsignore:
1255         * gst/base/Makefile.am:
1256         * gst/base/README:
1257         * gst/base/gstadapter.c:
1258         * gst/base/gstadapter.h:
1259         * gst/base/gstbasesink.c:
1260         * gst/base/gstbasesink.h:
1261         * gst/base/gstbasesrc.c:
1262         * gst/base/gstbasesrc.h:
1263         * gst/base/gstbasetransform.c:
1264         * gst/base/gstbasetransform.h:
1265         * gst/base/gstcollectpads.c:
1266         * gst/base/gstcollectpads.h:
1267         * gst/base/gstpushsrc.c:
1268         * gst/base/gstpushsrc.h:
1269         * gst/base/gsttypefindhelper.c:
1270         * gst/base/gsttypefindhelper.h:
1271         * gst/check/Makefile.am:
1272         * gst/check/gstcheck.c:
1273         * gst/check/gstcheck.h:
1274         * gst/net/Makefile.am:
1275         * gst/net/gstnet.h:
1276         * gst/net/gstnetclientclock.c:
1277         * gst/net/gstnetclientclock.h:
1278         * gst/net/gstnettimepacket.c:
1279         * gst/net/gstnettimepacket.h:
1280         * gst/net/gstnettimeprovider.c:
1281         * gst/net/gstnettimeprovider.h:
1282         * libs/gst/Makefile.am:
1283         * libs/gst/base/Makefile.am:
1284         * libs/gst/base/gstbasetransform.c:
1285         * libs/gst/check/Makefile.am:
1286         * plugins/elements/Makefile.am:
1287         * po/POTFILES.in:
1288           CVS surgery + support to move base, check, and net out of gst
1289           and into libs/gst
1290
1291 2005-11-29  Andy Wingo  <wingo@pobox.com>
1292
1293         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1294
1295         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1296         padding.
1297
1298         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1299
1300         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1301
1302         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1303
1304         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1305         padding; reduces object size by about 30%. We don't expect
1306         anything else to go into gstobject.
1307
1308         * gst/gstminiobject.h (struct _GstMiniObject)
1309         (struct _GstMiniObjectClass): Only one pointer of padding; the
1310         payload is only a pointer and two ints anyway. For the class there
1311         are only two methods as well.
1312         
1313         * gst/gstelement.h (struct _GstElementClass): Removed
1314         the state_changed signal callback, it is not used.
1315
1316 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1317
1318         * docs/gst/gstreamer.types:
1319           fix includes, though they are a little dinky
1320
1321 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1322
1323         * check/Makefile.am:
1324           look in the right place for elements, a lot more chance of
1325           success
1326         * gst/Makefile.am:
1327           remove indexers and elements subdirs
1328         * plugins/Makefile.am:
1329           make indexers conditional
1330
1331 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1332
1333         * Makefile.am:
1334         * configure.ac:
1335         * plugins/elements/Makefile.am:
1336         * plugins/elements/gstcapsfilter.c:
1337         * plugins/elements/gstfilesink.c:
1338         * plugins/elements/gstfilesrc.c:
1339         * plugins/elements/gstidentity.c:
1340         * plugins/indexers/Makefile.am:
1341           do CVS surgery and related build fixery to move elements
1342           and indexers in a new gstreamer/plugins directory, out of the
1343           gst/ directory
1344
1345 2005-11-29  Andy Wingo  <wingo@pobox.com>
1346
1347         * check/Makefile.am:
1348         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1349         * pkgconfig/gstreamer-net.pc.in:
1350         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1351         #322257.
1352
1353 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1354
1355         * tools/Makefile.am:
1356         * tools/gst-complete.1.in:
1357         * tools/gst-complete.c:
1358         * tools/gst-compprep.1.in:
1359         * tools/gst-compprep.c:
1360           removing -compprep and -complete
1361
1362 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1363
1364         * gst/gstevent.c: (gst_event_new_new_segment),
1365         (gst_event_parse_new_segment):
1366         * gst/gstevent.h:
1367           fix #320529 - clean up new_segment API and structure.
1368           Let's hope everyone was using the methods, and not the structure.
1369
1370 2005-11-29  Edward Hervey  <edward@fluendo.com>
1371
1372         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1373         (gst_base_sink_event), (gst_base_sink_do_sync),
1374         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1375         Properly handle non GST_FORMAT_TIME segment
1376         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1377         Properly handle non GST_FORMAT_TIME segment
1378         * gst/gstsegment.c:
1379         This function is valid if the accumulator is 0 and the format
1380         is different from the requested format.
1381         
1382 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1383
1384         * docs/gst/gstreamer-sections.txt:
1385         Add gst_query_new_seeking and gst_query_parse_seeking to the
1386         docs.
1387
1388 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1389
1390         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1391           Treat a pad alloc with new caps the same as if we were not
1392           negotiated, in order to allow a changing upstream output
1393           to produce a new format of data.
1394
1395 2005-11-29  Edward Hervey  <edward@fluendo.com>
1396
1397         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1398         (gst_base_transform_event), (gst_base_transform_eventfunc):
1399         The event virtual method is now properly implemented, with a default
1400         handler
1401         Sub classes should call the parent_class event method. They should
1402         return FALSE if they had a problem handling the given event, or don't
1403         want GstBaseTransform to send that even downstream
1404         * gst/elements/gstidentity.c: (gst_identity_class_init),
1405         (gst_identity_init), (gst_identity_event),
1406         (gst_identity_transform_ip), (gst_identity_set_property),
1407         (gst_identity_get_property):
1408         * gst/elements/gstidentity.h:
1409         Added the single-segment boolean property.
1410         If set to TRUE, it will output a single segment of data, starting from
1411         0, will eat up all incoming newsegment, and modify the timestamp of the
1412         buffers accordingly
1413
1414 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1415
1416         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1417           Don't ref NULL target pad (#322751). Improve docs.
1418
1419 2005-11-29  Michael Smith  <msmith@fluendo.com>
1420
1421         * gst/gstregistryxml.c: (load_plugin):
1422           Don't crash if we failed to load a feature from a plugin. 
1423
1424 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1425
1426         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1427         (GST_START_TEST):
1428           use more check API and less GLib API
1429
1430 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1431
1432         * Makefile.am:
1433           don't run checks if we don't have check
1434         * common/check.mak:
1435           remove the registry when running make torture
1436         * docs/gst/gstreamer-sections.txt:
1437           remove second multiply
1438         * gst/gstqueue.c: (gst_queue_loop):
1439           fix a compile warning when disabling debug
1440
1441 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1442
1443         * gst/gstinfo.h:
1444         Hey! Let's print the pad name if the pointer != NULL instead
1445         of when it == NULL :-)
1446
1447 2005-11-28  Wim Taymans  <wim@fluendo.com>
1448
1449         * check/gst/gstutils.c: (GST_START_TEST):
1450         Updated check, add some scaling accuracy checking code.
1451
1452         * gst/gstutils.c: (gst_util_div128_64),
1453         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1454         (gst_util_uint64_scale_int):
1455         Fix 6 times faster division code. Optimize for common 
1456         1/1 and less common X/1 cases.
1457
1458 2005-11-28  Wim Taymans  <wim@fluendo.com>
1459
1460         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1461         More checks.
1462
1463         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1464         (do_linear_regression), (gst_clock_add_observation):
1465         Cleanups.
1466         Release lock when the clock cannot be slaved.
1467         Catch the case where the regression returned an invalid denominator.
1468
1469         * gst/gstutils.c: (gst_util_div128_64_iterate),
1470         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1471         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1472         Add protentially more performant non-iterative 128/64 divide function
1473         that unfortunatly does not work yet.
1474         Shortcut the trivial 0/X = 0 case.
1475         Remove the warnings on overflow.
1476
1477 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1478
1479         * gst/gstplugin.c: (gst_plugin_register_func):
1480           everything causing a plugin not to load should be at least a WARNING
1481
1482 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1483
1484         * docs/random/ensonic/dparams.txt:
1485           some TODOs for the next dev cycle
1486         * libs/gst/controller/gstcontroller.c:
1487         (gst_controlled_property_set_interpolation_mode),
1488         (gst_controlled_property_new):
1489         * libs/gst/controller/gstcontroller.h:
1490           use base type to assign acccessor functions
1491
1492 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1493
1494         * check/Makefile.am:
1495         Oops, that should have been top_srcdir
1496
1497 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1498
1499         * check/Makefile.am:
1500         * check/elements/fdsrc.c: (GST_START_TEST):
1501         Use a cmdline define to specify the location of a file to use for
1502         testing, to avoid breaking distcheck.
1503
1504 2005-11-28  Andy Wingo  <wingo@pobox.com>
1505
1506         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1507
1508 2005-11-28  Edward Hervey  <edward@fluendo.com>
1509
1510         * tools/gst-launch.c: (main):
1511         Clarify the output strings, makes it easier to translate.
1512         Fixes #322626
1513
1514 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1515
1516         * gst/Makefile.am:
1517           don't try and build net if we don't even have <sys/socket.h>
1518
1519 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1520
1521         * check/Makefile.am:
1522         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1523         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1524           Add tests for fdsrc seekability
1525
1526         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1527         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1528         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1529         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1530         * gst/elements/gstfdsrc.h:
1531           fdsrc should not be a 'live' source.
1532           Implement seeking on seekable fd's.
1533
1534         * gst/gstquery.c: (gst_query_new_seeking),
1535         (gst_query_parse_seeking):
1536         * gst/gstquery.h:
1537           Implement SEEKING query functions: 
1538             *_new_seeking and *_parse_seeking
1539
1540 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1541
1542         * gst/gstelement.c: (gst_element_dispose):
1543           don't loop forever
1544
1545         * gst/gstiterator.c:
1546         * gst/gststructure.c:
1547           doc fixes
1548
1549         * libs/gst/controller/gstcontroller.c:
1550         (gst_controlled_property_set_interpolation_mode):
1551         * libs/gst/controller/gstcontroller.h:
1552         * libs/gst/controller/gstinterpolation.c:
1553         (interpolate_none_get_enum_value_array):
1554           support controlling enums
1555
1556 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1557
1558         * gst/gstvalue.c:
1559           Improve documentation for gst_value_union().
1560
1561         * gst/gstvalue.h:
1562           Change return value for union, intersect and subtract functions
1563           from gint to gboolean.
1564
1565 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1566
1567         * gst/gstvalue.c: (gst_value_serialize_any_list),
1568         (gst_value_transform_any_list_string),
1569         (gst_value_deserialize_list), (gst_value_deserialize_array),
1570         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1571         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1572         (gst_value_set_fraction_range_full),
1573         (gst_value_deserialize_fraction_range),
1574         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1575         (gst_value_deserialize_boolean),
1576         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1577         (gst_value_serialize_float), (gst_value_deserialize_float),
1578         (gst_string_wrap), (gst_value_deserialize_string),
1579         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1580         (gst_value_union_int_range_int_range),
1581         (gst_value_intersect_int_range_int_range),
1582         (gst_value_intersect_double_range_double_range),
1583         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1584         (gst_value_subtract_int_range_int_range),
1585         (gst_value_subtract_double_double_range),
1586         (gst_value_subtract_double_range_double_range),
1587         (gst_value_deserialize_fraction):
1588         * gst/gstvalue.h:
1589           Use gint, gdouble and gchar in our API instead of int, double and
1590           char (and make usage in gstvalue.c more consistent).
1591
1592 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1593
1594         * check/Makefile.am:
1595         * libs/gst/controller/Makefile.am:
1596         * libs/gst/dataprotocol/Makefile.am:
1597           fix up Makefile.am and remove GST_ENABLE_NEW
1598
1599 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1600
1601         * configure.ac:
1602         * gst/Makefile.am:
1603         * gst/base/Makefile.am:
1604         * gst/check/Makefile.am:
1605         * gst/elements/Makefile.am:
1606         * gst/net/Makefile.am:
1607           update LDFLAGS use some more
1608
1609 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1610
1611         * common/m4/gst-doc.m4:
1612           Fixes #312589
1613
1614 2005-11-26  Edward Hervey  <edward@fluendo.com>
1615
1616         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1617         This shouldn't issue a g_warning since it returns NULL if it
1618         couldn't find the plugin, and all functions using this behave
1619         properly on a NULL return. Switching to a GST_WARNING.
1620
1621 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1622
1623         * gst/gstbin.c: (gst_bin_handle_message_func):
1624         Don't leak clock messages.
1625
1626 2005-11-25  Wim Taymans  <wim@fluendo.com>
1627
1628         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1629         (gst_util_uint64_scale_int):
1630         Optimisations, remove unneeded vars.
1631
1632 2005-11-25  Wim Taymans  <wim@fluendo.com>
1633
1634         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1635         Added more checks for the high precision uint64 cases.
1636
1637         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1638         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1639         Implement high precision (guint64 * guint64) / guint64.
1640
1641 2005-11-24  Wim Taymans  <wim@fluendo.com>
1642
1643         * gst/base/gstbasesrc.c: (gst_base_src_query):
1644         Fix wrong percentage query.
1645
1646         * gst/gstutils.c: (gst_util_uint64_scale),
1647         (gst_util_uint64_scale_int):
1648         Add some more common cases that can be handled 
1649         efficiently to _scale.
1650
1651 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1652
1653         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1654         (gst_mini_object_suite):
1655           don't use check calls from threads; check probably isn't
1656           threadsafe and using a lock to make it threadsafe would
1657           defeat the purpose of this check
1658         * gst/check/gstcheck.c:
1659         * gst/check/gstcheck.h:
1660           use GST_DEBUG some more
1661
1662 2005-11-24  Wim Taymans  <wim@fluendo.com>
1663
1664         * gst/gstutils.c: (gst_util_uint64_scale),
1665         (gst_util_uint64_scale_int):
1666         Chain trivial case to _scale_int.
1667
1668 2005-11-24  Wim Taymans  <wim@fluendo.com>
1669
1670         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1671         Added test for scaling.
1672
1673         * gst/gstclock.h:
1674         Small doc fix.
1675
1676         * gst/gstutils.c: (gst_util_uint64_scale_int):
1677         Implemented high precision scaling code.
1678
1679 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1680
1681         * gst/gstinfo.h:
1682           do not crash on pad==NULL
1683
1684 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1685
1686         Patch by: Stefan Kost
1687
1688         * common/gtk-doc.mak:
1689         * docs/gst/Makefile.am:
1690         * docs/libs/Makefile.am:
1691           Fix distcheck issues for the libraries docs build
1692           Closes #319599.
1693
1694 2005-11-24  Michael Smith <msmith@fluendo.com>
1695
1696         * docs/manual/basics-helloworld.xml:
1697           Fix bug #315027: memory leak in example code in docs.
1698
1699 2005-11-24  Michael Smith <msmith@fluendo.com>
1700
1701         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1702           Unlock the PREROLL_LOCK in a failure case.
1703
1704 2005-11-24  Wim Taymans  <wim@fluendo.com>
1705
1706         * docs/gst/gstreamer-sections.txt:
1707         * gst/base/gstadapter.h:
1708         * gst/base/gstbasesink.h:
1709         * gst/base/gstbasesrc.h:
1710         * gst/base/gstbasetransform.h:
1711         * gst/base/gstpushsrc.h:
1712         * gst/elements/gstfakesink.h:
1713         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1714         * gst/elements/gstfakesrc.h:
1715         * gst/elements/gstfilesink.h:
1716         * gst/elements/gstfilesrc.h:
1717         * gst/gst.c:
1718         * gst/gstbin.c:
1719         * gst/gstbuffer.c: (_gst_buffer_copy):
1720         * gst/gstbus.h:
1721         * gst/gstcaps.c:
1722         * gst/gstchildproxy.c:
1723         * gst/gstclock.c:
1724         * gst/gstelement.c:
1725         * gst/gstelementfactory.c:
1726         * gst/gstelementfactory.h:
1727         * gst/gstevent.c:
1728         * gst/gstghostpad.h:
1729         * gst/gstindex.h:
1730         * gst/gstinterface.h:
1731         * gst/gstminiobject.c:
1732         * gst/gstminiobject.h:
1733         * gst/gstpad.c:
1734         * gst/gstpad.h:
1735         * gst/gstpadtemplate.h:
1736         * gst/gstpipeline.h:
1737         * gst/gstpluginfeature.h:
1738         * gst/gstquery.h:
1739         * gst/gstqueue.h:
1740         * gst/gsttaglist.c:
1741         * gst/gsttaglist.h:
1742         * gst/gsttagsetter.c:
1743         * gst/gsttagsetter.h:
1744         * gst/gsttrace.c:
1745         * gst/gsttrace.h:
1746         * gst/gsttypefind.h:
1747         * gst/gsturi.h:
1748         * gst/gstvalue.c:
1749         * gst/net/gstnetclientclock.c:
1750         * gst/net/gstnetclientclock.h:
1751         * gst/net/gstnettimepacket.c:
1752         * gst/net/gstnettimeprovider.c:
1753         * gst/net/gstnettimeprovider.h:
1754         Doc fixes.
1755
1756 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1757
1758         * configure.ac: back to HEAD
1759
1760 === release 0.9.6 ===
1761
1762 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1763
1764         * configure.ac:
1765           releasing 0.9.6, "Always On Time"
1766
1767 2005-11-23  Wim Taymans  <wim@fluendo.com>
1768
1769         * docs/gst/gstreamer-sections.txt:
1770         * gst/glib-compat.c:
1771         * gst/gsttagsetter.c:
1772         * gst/gstvalue.c:
1773         * gst/net/gstnetclientclock.c:
1774         * gst/net/gstnettimepacket.h:
1775         Doc updates.
1776
1777 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1778
1779         * docs/faq/using.xml:
1780         * docs/libs/tmpl/gstcontrol.sgml:
1781         * docs/manual/advanced-dparams.xml:
1782         * docs/manual/appendix-checklist.xml:
1783         * docs/manual/basics-elements.xml:
1784         * docs/pwg/other-source.xml:
1785         * docs/random/moving-plugins:
1786         * gst/gstpad.c:
1787         * tools/gst-launch.1.in:
1788           remove mentions of sinesrc
1789
1790 2005-11-23  Michael Smith <msmith@fluendo.com>
1791
1792         * docs/gst/gstreamer-sections.txt:
1793           Update for new API and API changes.
1794         * gst/gstobject.h:
1795           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1796         * gst/gstvalue.c:
1797           Documentation typo fix.
1798         * gst/net/gstnettimepacket.c:
1799           Documentation fixes for arguments.
1800
1801 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1802
1803         * gst/gststructure.c: (gst_structure_get_fraction),
1804         (gst_structure_parse_value),
1805         (gst_structure_fixate_field_nearest_fraction):
1806         * gst/gststructure.h:
1807         * gst/gstutils.c: (gst_util_uint64_scale_int):
1808         * gst/gstutils.h:
1809         * scripts/update-funcnames:
1810         API Changes. 
1811         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1812         Make gst_structure_fixate_field_nearest_fraction take a numerator
1813         and denominator argument instead of a GValue
1814         add gst_structure_get_fraction helper function.
1815
1816 2005-11-23  Wim Taymans  <wim@fluendo.com>
1817
1818         * docs/design/part-TODO.txt:
1819         Update TODO.
1820
1821         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1822         * gst/net/gstnetclientclock.h:
1823         Use parent fields for timeout and window_size.
1824
1825 2005-11-23  Andy Wingo  <wingo@pobox.com>
1826
1827         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1828         rate_num/rate_denom change.
1829
1830         * gst/net/gstnetclientclock.c
1831         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1832         OBJECT_LOCK. Don't call add_observation with the lock.
1833
1834         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1835         fraction.
1836         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1837         rate fraction.
1838         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1839         deal with rate as a fraction whose numerator and denominator are
1840         GstClockTime values.
1841         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1842         master; the other fields are protected by the SLAVE_LOCK.
1843         (do_linear_regression): Note that this must be called with the
1844         SLAVE_LOCK.
1845         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1846         OBJECT_LOCK. Call set_calibration instead of touching the
1847         variables directly.
1848         (gst_clock_set_property, gst_clock_get_property): Protect
1849         master/slave parameters with the SLAVE_LOCK.
1850
1851         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1852         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1853         note that all of the instance variables that add_observation and
1854         the set_master functions use are protected by that lock and not
1855         the OBJECT_LOCK.
1856         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1857
1858         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1859         the caller to take the object lock.
1860
1861 2005-11-23  Wim Taymans  <wim@fluendo.com>
1862
1863         * gst/gsterror.c: (_gst_core_errors_init):
1864         * gst/gsterror.h:
1865         Add error for clock stuff.
1866
1867         * gst/gstpipeline.c: (gst_pipeline_change_state),
1868         (gst_pipeline_set_clock):
1869         Post clock error when clock cannot be used in a pipeline.
1870
1871 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1872
1873         * docs/gst/gstreamer-sections.txt:
1874           make two symbols from gstinfo private for the docs
1875         * gst/base/gstcollectpads.h:
1876         * gst/gstutils.c:
1877           fix doc typos, update docs
1878
1879 2005-11-22  Wim Taymans  <wim@fluendo.com>
1880
1881         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1882         (gst_base_sink_wait), (gst_base_sink_do_sync),
1883         (gst_base_sink_handle_event):
1884         * gst/base/gstbasesink.h:
1885         No need to store the clock, the parent element class already
1886         has it.
1887
1888         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1889         Updates for clock_set returning a gboolean
1890
1891         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1892         (gst_clock_id_wait_async), (gst_clock_class_init),
1893         (gst_clock_init), (gst_clock_finalize),
1894         (gst_clock_get_internal_time), (gst_clock_get_time),
1895         (gst_clock_slave_callback), (gst_clock_set_master),
1896         (gst_clock_get_master), (do_linear_regression),
1897         (gst_clock_add_observation), (gst_clock_set_property),
1898         (gst_clock_get_property):
1899         * gst/gstclock.h:
1900         Implement master/slave. When setting a clock as a slave, a
1901         periodic timeout is scheduled to sample master and slave times.
1902         Then the slave clock is recalibrated to match offset and rate
1903         of the master clock.
1904         Update logging a bit.
1905         Add flag so that a clock can state that is cannot be slaved to
1906         another clock.
1907
1908         * gst/gstelement.c: (gst_element_set_clock):
1909         * gst/gstelement.h:
1910         The set clock returns a gboolean for when an element cannot
1911         deal with the selected clock in the pipeline. 
1912
1913         * gst/gstpipeline.c: (gst_pipeline_change_state),
1914         (gst_pipeline_set_clock):
1915         * gst/gstpipeline.h:
1916         Handle the case where the selected clock cannot be set on
1917         the pipeline.
1918
1919         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1920         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1921         (gst_net_client_clock_set_property),
1922         (gst_net_client_clock_get_property),
1923         (gst_net_client_clock_observe_times):
1924         * gst/net/gstnetclientclock.h:
1925         Use regression code in GstClock parent, remove duplicated
1926         functionality.
1927
1928 2005-11-22  Michael Smith <msmith@fluendo.com>
1929
1930         * gst/gstutils.c: (gst_util_clock_time_scale):
1931         * gst/gstutils.h:
1932         * docs/gst/gstreamer-sections.txt:
1933           Rename method to have extra underscore.
1934
1935 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1936
1937         * gst/elements/Makefile.am:
1938         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1939         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1940         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1941         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1942         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1943         * gst/elements/gstfakesrc.h:
1944         * gst/gstqueue.c: (queue_leaky_get_type):
1945           correctly fix GEnumValues so that nick is the short lowercase
1946           dashed tag
1947         * tools/gst-inspect.c: (print_element_properties_info):
1948           also show the nick, since it's useful to use from parse_launch
1949           syntax
1950           Fixes #322139
1951
1952 2005-11-22  Michael Smith <msmith@fluendo.com>
1953
1954         * gst/gstutils.c: (gst_util_clocktime_scale):
1955         * gst/gstutils.h:
1956         * docs/gst/gstreamer-sections.txt:
1957           Add util method for scaling a clocktime by a fraction. Useful 
1958           implementation is left as an exercise for the reader.
1959
1960 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1961
1962         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1963         If needed, allocate storage in the destination value during
1964         collection.
1965
1966 2005-11-22  Edward Hervey  <edward@fluendo.com>
1967
1968         * docs/gst/gstreamer-sections.txt:
1969         * gst/Makefile.am:
1970         * gst/gst.h:
1971         * gst/gsturitype.c:
1972         * gst/gsturitype.h:
1973         * gst/gstutils.c: (gst_util_set_object_arg):
1974         * tools/gst-compprep.c: (main):
1975         * tools/gst-inspect.c: (print_element_properties_info):
1976         Removed GstURI, closes bug #321061
1977
1978 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1979
1980         * check/gst/gststructure.c: (GST_START_TEST):
1981         * gst/gststructure.c: (gst_structure_parse_value):
1982           Oops, broke automatic string type parsing.
1983           Add a test to catch it in future.
1984
1985 2005-11-22  Andy Wingo  <wingo@pobox.com>
1986
1987         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1988         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1989         Actually rename the function implementations. Grr.
1990
1991 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1992
1993         * check/gst/capslist.h:
1994           Comment test cases
1995         * check/gst/gststructure.c: (GST_START_TEST),
1996         (gst_structure_suite):
1997           Test automatic value type detection in gst_structure_from_string.
1998         * gst/gststructure.c: (gst_structure_parse_value):
1999           Add fraction as a type we try and guess automatically in
2000           caps/structure strings.
2001
2002 2005-11-22  Andy Wingo  <wingo@pobox.com>
2003
2004         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2005
2006         * gst/gsttagsetter.h:
2007         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2008         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2009         (gst_tag_setter_add_tag_valist)
2010         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2011         _add_values, _add_valist, and _add_valist_values. Since this is an
2012         interface the function suffixes should be more explicit so
2013         language binding don't end up with element.add_valist ->
2014         gst_tag_setter_add_valist, for example. Fixes #322069.
2015
2016 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2017
2018         * check/gst/gstcaps.c: (GST_START_TEST):
2019           Extend caps string tests to check that a caps to string
2020           conversion is reversible and produces the same caps.
2021
2022         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2023           Output "fraction" as the generic type fraction range, so caps
2024           serialisation and deserialisation works.
2025         * check/gst/capslist.h:
2026         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2027           Support 'MIN' and 'MAX' for deserialising fractions.
2028
2029 2005-11-22  Andy Wingo  <wingo@pobox.com>
2030
2031         * gst/gstevent.h (gst_event_new_new_segment)
2032         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2033         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2034         Renamed from *_newsegment, *_buffersize, *_notarget.
2035
2036         * scripts/update-funcnames: New script, performs the changes
2037         listed above.
2038
2039 2005-11-22  Wim Taymans  <wim@fluendo.com>
2040
2041         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2042         Make sure the GstFlowReturn is returned.
2043
2044         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2045         (gst_bus_add_signal_watch):
2046         * gst/gstbus.h:
2047         add gst_bus_add_signal_watch_full.
2048
2049         * gst/gstplugin.c: (gst_plugin_load_file):
2050         Small style cleanup.
2051
2052 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2053
2054         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2055           Block the fakesrc srcpad when we send an event, to avoid
2056           contention on the stream_lock causing random test failures.
2057
2058 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2059
2060         * check/gst/gstvalue.c: (GST_START_TEST):
2061         * gst/gstvalue.c: (gst_value_fraction_subtract):
2062           Fix subtraction.
2063
2064 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2065
2066         * gst/gst.h:
2067           include "gstchildproxy.h"
2068         * gst/gstchildproxy.h:
2069         * libs/gst/controller/gstcontroller.h:
2070           use G_GNUC_NULL_TERMINATED
2071
2072 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2073
2074         * check/gst/capslist.h:
2075         * check/gst/gstcaps.c: (GST_START_TEST):
2076         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2077         * gst/gststructure.c: (gst_structure_parse_range),
2078         (gst_structure_fixate_field_nearest_fraction):
2079         * gst/gststructure.h:
2080         * gst/gstvalue.c: (gst_value_init_fraction_range),
2081         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2082         (gst_value_collect_fraction_range),
2083         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2084         (gst_value_set_fraction_range_full),
2085         (gst_value_get_fraction_range_min),
2086         (gst_value_get_fraction_range_max),
2087         (gst_value_serialize_fraction_range),
2088         (gst_value_transform_fraction_range_string),
2089         (gst_value_compare_fraction_range),
2090         (gst_value_deserialize_fraction_range),
2091         (gst_value_intersect_fraction_fraction_range),
2092         (gst_value_intersect_fraction_range_fraction_range),
2093         (gst_value_subtract_fraction_fraction_range),
2094         (gst_value_subtract_fraction_range_fraction),
2095         (gst_value_subtract_fraction_range_fraction_range),
2096         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2097         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2098         (gst_value_transform_string_fraction), (_gst_value_initialize):
2099         * gst/gstvalue.h:
2100           Implement fraction ranges and extend GstFraction to support
2101           arithmetic subtraction, as well as deserialization from integer
2102           strings such as "100"
2103           Add a testsuite as for int and double range set operations
2104
2105 2005-11-21  Andy Wingo  <wingo@pobox.com>
2106
2107         * gst/gsttaglist.h: 
2108         * gst/gstcaps.h: 
2109         * gst/gststructure.h: Add glib-compat.h.
2110
2111 2005-11-21  Wim Taymans  <wim@fluendo.com>
2112
2113         * gst/gstbin.c: (gst_bin_change_state_func):
2114         Fix for #321595
2115
2116 2005-11-21  Wim Taymans  <wim@fluendo.com>
2117
2118         * gst/gstsegment.h:
2119         And add a nice define too.
2120
2121 2005-11-21  Wim Taymans  <wim@fluendo.com>
2122
2123         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2124         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2125         (gst_segment_set_duration), (gst_segment_set_last_stop),
2126         (gst_segment_set_seek), (gst_segment_set_newsegment),
2127         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2128         (gst_segment_clip):
2129         * gst/gstsegment.h:
2130         Make binding friendly.
2131
2132 2005-11-21  Andy Wingo  <wingo@pobox.com>
2133
2134         * gst/gsttagsetter.h: 
2135         * gst/gsttaglist.h: 
2136         * gst/gststructure.h: 
2137         * gst/gstcaps.h: 
2138         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2139         #319940.
2140
2141         * gst/gsterror.c (_gst_core_errors_init):
2142         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2143         category.
2144
2145         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2146         (noinst_HEADERS): noinst the -private.
2147
2148 2005-11-21  Michael Smith <msmith@fluendo.com>
2149
2150         * gst/gstplugin.h:
2151         * gst/gstregistry.h:
2152           Remove unimplemented declarations for which we can see no sensible
2153           use.
2154
2155 2005-11-21  Andy Wingo  <wingo@pobox.com>
2156
2157         * gst/gst.h: Include glib-compat.h.
2158
2159         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2160
2161         * gst/glib-compat.c: Include the public and the private header.
2162
2163         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2164
2165         * gst/gstvalue.c: 
2166         * gst/gstpad.c: 
2167         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2168
2169         * check/gst/gstevent.c (create_custom_events): Check that
2170         FLUSH_STOP is serialized.
2171
2172         * check/elements/identity.c (event_func): 
2173         * check/elements/fakesrc.c (event_func): No stream lock, the core
2174         takes it.
2175
2176         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2177         stream lock taking, yay.
2178
2179         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2180         ensure that core takes the stream lock.
2181
2182         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2183         lock name change.
2184
2185         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2186         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2187         it already. For the flush start we do take it though so we get the
2188         right preroll state change messages.
2189
2190         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2191         the stream lock here, the core does it for us.
2192
2193         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2194         GST_STREAM_GET_LOCK.
2195         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2196         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2197         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2198         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2199         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2200         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2201
2202         * gst/gstpad.c: Update for stream lock name change.
2203
2204         * gst/base/gstbasesink.c: Update for preroll lock name change.
2205
2206 2005-11-21  Wim Taymans  <wim@fluendo.com>
2207
2208         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2209         (gst_clock_get_master):
2210         * gst/gstclock.h:
2211         * gst/gstsystemclock.c: (gst_system_clock_init):
2212         Convert Clock flags to object flags.
2213         Added methods to manage master/slave clocks.
2214
2215 2005-11-21  Wim Taymans  <wim@fluendo.com>
2216
2217         * check/gst/gstsegment.c: (GST_START_TEST):
2218         * docs/design/part-TODO.txt:
2219         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2220         (gst_base_sink_event), (gst_base_sink_do_sync),
2221         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2222         (gst_base_sink_query), (gst_base_sink_change_state):
2223         * gst/base/gstbasesink.h:
2224         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2225         (gst_base_src_default_newsegment),
2226         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2227         (gst_base_src_get_range), (gst_base_src_loop),
2228         (gst_base_src_change_state):
2229         * gst/base/gstbasesrc.h:
2230         * gst/base/gstbasetransform.c:
2231         (gst_base_transform_prepare_output_buf),
2232         (gst_base_transform_event), (gst_base_transform_change_state):
2233         * gst/base/gstbasetransform.h:
2234         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2235         (gst_collect_pads_event):
2236         * gst/base/gstcollectpads.h:
2237         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2238         (gst_fake_src_create):
2239         * gst/elements/gstfakesrc.h:
2240         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2241         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2242         (gst_segment_set_last_stop), (gst_segment_set_seek),
2243         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2244         (gst_segment_to_running_time), (gst_segment_clip):
2245         * gst/gstsegment.h:
2246         More segment updates, replace code in plugins with segment
2247         helper functions.
2248
2249 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2250
2251         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2252         Don't ignore sscanf results
2253
2254 2005-11-21  Andy Wingo  <wingo@pobox.com>
2255
2256         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2257
2258         * *.h:
2259         * *.c: Ran scripts/update-macros. Oh yes.
2260
2261         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2262         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2263         GST_GET_LOCK, etc.
2264
2265         * scripts/update-macros: New script. Run it on your files to
2266         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2267         well.
2268
2269 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2270
2271         * docs/gst/Makefile.am:
2272         * docs/gst/gstreamer-docs.sgml:
2273         * docs/gst/gstreamer-sections.txt:
2274         * docs/gst/gstreamer.types:
2275         * gst/gstinfo.h:
2276           more docs fixes, add new api to the docs
2277
2278 2005-11-21  Andy Wingo  <wingo@pobox.com>
2279
2280         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2281         state_broadcast call.
2282
2283         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2284
2285 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2286
2287         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2288         function calls for arrays.
2289
2290 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2291
2292         * docs/random/ensonic/media-device-daemon.txt:
2293           wild idea, can this be done?
2294         * docs/gst/gstreamer-sections.txt:
2295         * gst/gsterror.h:
2296         * gst/gstfilter.c:
2297         * gst/gstfilter.h:
2298         * gst/gstplugin.h:
2299         * gst/gstpluginfeature.c:
2300         * gst/gsttrace.c:
2301         * gst/gstvalue.c:
2302         * gst/gstvalue.h:
2303           doc fixes and additions
2304
2305 2005-11-21  Andy Wingo  <wingo@pobox.com>
2306
2307         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2308         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2309         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2310         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2311         private to the basesrc implementation.
2312
2313         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2314         behalf of event function if necessary. It should no longer be
2315         necessary to take the stream lock in pad's event functions. Fixes
2316         #320299.
2317
2318 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2319         * docs/gst/gstreamer-sections.txt:
2320         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2321         (gst_structure_fixate_field_nearest_double),
2322         (gst_structure_fixate_field_boolean):
2323         * gst/gststructure.h:
2324         * win32/common/libgstreamer.def:
2325         * win32/gstreamer.def:
2326
2327         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2328         (#322027)
2329
2330 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2331
2332         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2333         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2334         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2335         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2336         (gst_fdsrc_uri_handler_init):
2337         * gst/elements/gstfdsrc.h:
2338           Port fd:// URI handler from 0.8 to fdsrc
2339
2340 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2341
2342         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2343         (gst_value_serialize_fourcc):
2344         * gst/gstvalue.h:
2345           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2346           consistent with our other format defines (#320324).
2347
2348 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2349
2350         * gst/gstvalue.c: (gst_value_is_fixed):
2351           Revert previous commit. Value lists are by definition
2352           not fixed, as they are a list of possible values.
2353
2354 2005-11-21  Andy Wingo  <wingo@pobox.com>
2355
2356         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2357         during the stable series if we need it. Fixes #319178.
2358
2359         * gst/gstevent.c (gst_event_new_filler): Removed.
2360
2361         * check/gst/gstevent.c: Update comment about filler events.
2362
2363 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2364
2365         * gst/gstvalue.c: (gst_value_is_fixed):
2366           Should handle both value arrays and value lists.
2367
2368 2005-11-21  Andy Wingo  <wingo@pobox.com>
2369
2370         patch by: Alessandro Dessina <alessandro nnva org>
2371
2372         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2373         functions to access arrays. Fixes #321962.
2374
2375 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2376
2377         * docs/gst/gstreamer.types:
2378           gst_collectpads_get_type => gst_collect_pads_get_type.
2379           
2380         * gst/base/gstbasetransform.c:
2381           Remove unused SIGNAL_HANDOFF enum.
2382
2383 2005-11-21  Andy Wingo  <wingo@pobox.com>
2384
2385         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2386         the event type (upstream, downstream, serialized). Renamed
2387         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2388         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2389         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2390
2391         * gst/gstevent.c: Update for new CUSTOM event names.
2392
2393         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2394
2395         * gst/gstevent.h:
2396         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2397         bug #319392.
2398
2399 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2400
2401         * docs/gst/gstreamer-sections.txt:
2402         * win32/common/libgstbase.def:
2403         * win32/libgstbase.def:
2404         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2405         (gst_collect_pads_class_init), (gst_collect_pads_init),
2406         (gst_collect_pads_finalize), (gst_collect_pads_new),
2407         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2408         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2409         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2410         (gst_collect_pads_start), (gst_collect_pads_stop),
2411         (gst_collect_pads_peek), (gst_collect_pads_pop),
2412         (gst_collect_pads_available), (gst_collect_pads_read),
2413         (gst_collect_pads_flush), (gst_collect_pads_event),
2414         (gst_collect_pads_chain):
2415         * gst/base/gstcollectpads.h:
2416           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2417           unimplemented functions as unimplemented. Add padding to
2418           GstCollectData. (#320766, #320423)
2419
2420 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2421
2422         * gst/gstmessage.c:
2423           Improve docs for DURATION message (usage of duration parameter)
2424           (#320113)
2425
2426 2005-11-20  Wim Taymans  <wim@fluendo.com>
2427
2428         * check/Makefile.am:
2429         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2430         (main):
2431         * gst/Makefile.am:
2432         * gst/gst.h:
2433         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2434         (gst_segment_set_seek), (gst_segment_set_newsegment),
2435         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2436         (gst_segment_clip):
2437         * gst/gstsegment.h:
2438         Added segment helper structure and methods. Not fully implemented
2439         yet.
2440         Added segment check.
2441
2442 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2443
2444         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2445           Add a deserialisation test for fractions
2446         * examples/metadata/read-metadata.c: (message_loop),
2447         (make_pipeline), (main):
2448           Fix up metadata reading sample.
2449         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2450           Debug format fix
2451         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2452           Don't try and fixate empty caps
2453         * gst/gst_private.h:
2454           Wrap in G_BEGIN_DECLS/G_END_DECLS
2455         * gst/gstvalue.c: (gst_value_collect_fraction),
2456         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2457         (gst_value_transform_string_fraction),
2458         (gst_value_compare_fraction):
2459           Add some extra guards to ensure that we don't end up 
2460           with an invalid denominator of 0 in a gstfraction and
2461           that fractions always get reduced.
2462
2463 2005-11-20  Wim Taymans  <wim@fluendo.com>
2464
2465         * docs/gst/gstreamer-sections.txt:
2466         * gst/gstbuffer.h:
2467         * gst/gstelement.c:
2468         * gst/gstformat.c:
2469         * gst/gstformat.h:
2470         * gst/gstindex.h:
2471         * gst/gstquery.c:
2472         * gst/gstquery.h:
2473         * gst/gstvalue.c:
2474         Doc fixes.
2475
2476 2005-11-20  Wim Taymans  <wim@fluendo.com>
2477
2478         * docs/design/part-TODO.txt:
2479         * gst/gstcaps.h:
2480         Make a proper enum of the flag.
2481
2482 2005-11-19  Wim Taymans  <wim@fluendo.com>
2483
2484         * docs/design/part-TODO.txt:
2485         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2486         (gst_format_to_quark), (gst_format_register):
2487         * gst/gstformat.h:
2488         * gst/gstquery.c: (_gst_query_initialize),
2489         (gst_query_type_get_name), (gst_query_type_to_quark),
2490         (gst_query_type_register):
2491         * gst/gstquery.h:
2492         Add type to quark and type to string conversions.
2493
2494 2005-11-19  Andy Wingo  <wingo@pobox.com>
2495
2496         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2497         #320097.
2498
2499 2005-11-19  Wim Taymans  <wim@fluendo.com>
2500
2501         * docs/design/part-TODO.txt:
2502         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2503         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2504         (gst_bin_handle_message_func):
2505         * gst/gstbin.h:
2506         Make message handling overridable.
2507
2508 2005-11-19  Andy Wingo  <wingo@pobox.com>
2509
2510         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2511
2512         * gst/gstclock.h:
2513         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2514         be a GstClockTime.
2515         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2516         is a GstClockTime. Fixes #321710.
2517
2518         * gst/gstclock.h (GstClock): Remove offset property. Add
2519         internal_calibration and external_calibration. Fix padding. Pad
2520         also by GstClockTime so we don't run into problems.
2521
2522         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2523         (gst_clock_get_rate_offset): Remove.
2524         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2525
2526         * gst/gstutils.h:
2527         * gst/gstutils.c (g_static_rec_cond_wait)
2528         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2529
2530         * gst/gstbin.c: Remove terrible continue_state prototype.
2531
2532         * gst/gstelement.h (gst_element_continue_state): Make public.
2533
2534         * gst/gstelement.h:
2535         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2536         by continue_state. Fixes #319389.
2537
2538         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2539         Really fixes #168438. However I don't see anywhere where the
2540         filter function is called... stupid GStreamer...
2541         
2542         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2543         don't have a dispose function, so it won't get called when the
2544         object is unreffed, but oh well!
2545
2546         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2547         allows a destroy function to be set so user_data can be freed.
2548         Fixes #168438.
2549         (gst_index_set_filter): Call gst_index_set_filter_full.
2550
2551         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2552
2553         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2554         string should produce an error, given the lack of a way to
2555         represent NULL strings. Fixes #165650.
2556         
2557         * gst/gstvalue.h: 
2558         * gst/gstvalue.c (gst_value_array_append_value) 
2559         (gst_value_array_prepend_value, gst_value_array_get_size) 
2560         (gst_value_array_get_value): New API, copied from
2561         gst_value_list_*, only operates on arrays.
2562         (gst_value_list_append_value, gst_value_list_prepend_value) 
2563         (gst_value_list_concat, gst_value_list_get_size) 
2564         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2565
2566         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2567         init_list, because it works on both.
2568         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2569         (gst_value_copy_list_or_array): Renamed from copy_list.
2570         (gst_value_free_list_or_array): Renamed from free_list.
2571         (gst_value_collect_list_or_array): Renamed from collect_list.
2572         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2573         (gst_value_list_or_array_peek_pointer): Renamed from
2574         list_peek_pointer.
2575         (_gst_value_array_value_table, _gst_value_list_value_table):
2576         Update value table functions.
2577         (gst_value_compare_list_or_array): Renamed from compare_list.
2578
2579         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2580         some constness.
2581
2582         * gst/gsttaglist.c:
2583         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2584         GstTagList*. Fixes #143472.
2585
2586         * gst/gststructure.h: Clarify what the foreach/map functions can
2587         or can't do to their arguments.
2588
2589 2005-11-18  Wim Taymans  <wim@fluendo.com>
2590
2591         * gst/gstclock.c: (gst_clock_set_calibration),
2592         (gst_clock_get_calibration):
2593         Doc and API fixes.
2594         Calibration can be set with internal time equal to current
2595         internal time too.
2596
2597 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2598
2599         * gst/gsterror.c:
2600         * gst/gsterror.h:
2601           document
2602
2603 2005-11-18  Andy Wingo  <wingo@pobox.com>
2604
2605         * configure.ac: 
2606         * pkgconfig/gstreamer-net.pc.in:
2607         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2608         * pkgconfig/Makefile.am: Add net pkgconfig files.
2609
2610 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2611
2612         * gst/gstcaps.c:
2613         * gst/gstghostpad.c:
2614         * gst/gsttrace.c:
2615         * gst/gstvalue.c:
2616         * gst/gstvalue.h:
2617           docs fixes
2618
2619 2005-11-18  Andy Wingo  <wingo@pobox.com>
2620
2621         * gst/net/gstnetclientclock.c: Turn off debugging.
2622
2623         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2624         times connverge somewhat. Can't make a real test.
2625
2626         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2627         integer arithmetic. Return the minimum of the domain, which can be
2628         set as "internal" for gst_clock_set_calibration.
2629         (gst_net_client_clock_observe_times): Call _set_calibration.
2630         (gst_net_client_clock_new): Call _set_calibration instead of
2631         rate_offset.
2632
2633         * check/net/gstnetclientclock.c (test_functioning): Use the right
2634         adjustment api.
2635
2636         * gst/gstclock.h:
2637         * gst/gstclock.c (gst_clock_get_calibration) 
2638         (gst_clock_set_calibration): New functions, obsolete the ones I
2639         added yesterday. Doh. Precision issues mean we have to extrapolate
2640         from a point in the more recent past than 1970.
2641         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2642         obsolete.
2643         (gst_clock_adjust_unlocked): Use the right calibration data.
2644
2645 2005-11-18  Edward Hervey  <edward@fluendo.com>
2646
2647         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2648         Also reset the ->current_* values in READY->PAUSED
2649
2650 2005-11-18  Andy Wingo  <wingo@pobox.com>
2651
2652         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2653         Whoops, check the right fd. Also add some debugging.
2654         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2655         (do_linear_regression): Add a crapload of debugging. Subtract off
2656         the minimum values from the input series to discard unneeded bits.
2657         Use only int arithmetic. There is still double arithmetic when
2658         calculating the intercept that needs fixing. Return boolean to
2659         indicate success; FALSE would mean the domain or range is too
2660         great. Still needs fixes.
2661
2662 2005-11-18  Wim Taymans  <wim@fluendo.com>
2663
2664         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2665         For the current position in stream time, we need to subtract
2666         accumulated time.
2667         
2668         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2669         Release lock before calling the callback function of async
2670         entries.
2671
2672 2005-11-18  Andy Wingo  <wingo@pobox.com>
2673
2674         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2675         Port goes all the way to MAXUINT16.
2676
2677         * gst/net/gstnettimeprovider.c: Make the port range the same as
2678         for the kernel: 0 assigns, otherwise ports are less than
2679         MAXUINT16.
2680
2681         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2682         port change.
2683
2684         * check/net/gstnetclientclock.c (test_functioning): Add the start
2685         of another test. 
2686
2687 2005-11-18  Wim Taymans  <wim@fluendo.com>
2688
2689         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2690         (gst_bin_remove_func), (bin_bus_handler):
2691         * gst/gstbin.h:
2692         Removing a clock provider from a bin, triggers a clock lost message
2693         so that a new clock will be selected.
2694         Adding a clock to a bin triggers a clock provider message.
2695         Make sure we reselect a clock when we received a clock lost message.
2696         Keep a reference to the element that provided the clock.
2697
2698 2005-11-18  Andy Wingo  <wingo@pobox.com>
2699
2700         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2701         the clock initially so it produces values around the base time.
2702         (gst_net_client_clock_class_init): Typo fix.
2703         (gst_net_client_clock_thread): Add note on when the socket gets
2704         closed.
2705
2706 2005-11-17  Wim Taymans  <wim@fluendo.com>
2707
2708         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2709         Free remote and local time arrays.
2710
2711 2005-11-17  Wim Taymans  <wim@fluendo.com>
2712
2713         * gst/net/gstnetclientclock.c: (do_linear_regression),
2714         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2715         Fix compilation, uninitialized vars and a forgotten continue.
2716
2717 2005-11-17  Andy Wingo  <wingo@pobox.com>
2718
2719         * check/Makefile.am (check_PROGRAMS): 
2720         * check/net/gstnetclientclock.c: Add a most minimal test for the
2721         net client clock. More to come later.
2722
2723         * gst/net/gstnet.h: 
2724         * gst/net/Makefile.am: Add netclientclock.
2725
2726         * gst/net/gstnetclientclock.h:
2727         * gst/net/gstnetclientclock.c: New files, implement an untested
2728         GstClock that takes its time from a network time provider.
2729         Implements the algorithm in network-clock.scm.
2730
2731         * tests/network-clock.scm (*window-size*): Rename from
2732         *queue-length*.
2733         * tests/network-clock.scm (network-time): 
2734         * tests/network-clock-utils.scm (q-push): Update callers.
2735
2736 2005-11-17  Wim Taymans  <wim@fluendo.com>
2737
2738         * gst/gstbin.c: (gst_bin_provide_clock_func),
2739         (gst_bin_sort_iterator_new):
2740         And unref the child too..
2741
2742 2005-11-17  Wim Taymans  <wim@fluendo.com>
2743
2744         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2745         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2746         Refactor the sort iterator so it can be used while holding the
2747         LOCK too.
2748         Make clock selection select a clock closest to the source.
2749
2750 2005-11-17  Michael Smith <msmith@fluendo.com>
2751
2752         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2753         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2754         * gst/gstclock.h:
2755           Anonymous structs are a gcc (and some other compilers) extension, so
2756           don't use them. Since this is only for ABI-compatibility, and our
2757           API/ABI freeze is over in a few days, this whole thing will only
2758           last a few days, so don't bother trying to think up a meaningful
2759           name for the struct.
2760
2761 2005-11-17  Andy Wingo  <wingo@pobox.com>
2762
2763         * gst/gstclock.h (GstClock): Add rate and offset properties,
2764         preserving ABI stability. Add rate/offset accessors. Will file bug
2765         for the freeze break.
2766
2767         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2768         and offset, trying to keep precision and avoiding
2769         underflow/overflow.
2770         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2771         functions. Make gst_clock_set_time_adjust obsolete.
2772         (gst_clock_set_time_adjust): Note that this function is obsolete.
2773         Will file bug soon.
2774
2775         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2776         greppable by using GST_PADDING-1+1.
2777
2778 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2779
2780         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2781
2782         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2783           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2784
2785         * gst/gstpadtemplate.h:
2786         * gst/gstpluginfeature.h:
2787           Don't use c++ style comments in headers (#321638).
2788
2789 2005-11-16  Andy Wingo  <wingo@pobox.com>
2790
2791         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2792         buffer.
2793
2794         * check/net/gstnettimeprovider.c: Check to see that the time
2795         provider actually provides times. Works, yo!
2796
2797 2005-11-16  Wim Taymans  <wim@fluendo.com>
2798
2799         * check/Makefile.am:
2800         Enable more tests.
2801
2802         * check/elements/fakesrc.c: (GST_START_TEST):
2803         Set element to NULL before disposing it.
2804
2805 2005-11-16  Andy Wingo  <wingo@pobox.com>
2806
2807         * gst/net/Makefile.am:
2808         * gst/net/gstnet.h:
2809         * gst/net/gstnettimeprovider.c: 
2810         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2811         provider, include it from gstnet.h, and add it to the build.
2812
2813         * gst/net/gstnettimepacket.h: 
2814         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2815         sending and receiving.
2816
2817 2005-11-16  Wim Taymans  <wim@fluendo.com>
2818
2819         * check/Makefile.am:
2820         Enable valgrind check.
2821
2822         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2823         (gst_fake_src_alloc_buffer):
2824         Fix memleak.
2825
2826 2005-11-16  Wim Taymans  <wim@fluendo.com>
2827
2828         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2829         Call parent finalize too.
2830
2831 2005-11-16  Wim Taymans  <wim@fluendo.com>
2832
2833         * check/Makefile.am:
2834         Enable valgrind check that should work fine now.
2835
2836         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2837         * gst/gstqueue.c: (gst_queue_init):
2838         Fix memleaks in pad allocation.
2839
2840 2005-11-16  Andy Wingo  <wingo@pobox.com>
2841
2842         * gst/net/Makefile.am:
2843         * gst/net/gstnet.h: New part of core to hold network elements and
2844         objects. Put in core because it exposes API that applications want
2845         to use. The library is named libgstnet-tempname right now because
2846         of the existing libgstnet in gst-plugins-base. Solution is
2847         probably to rename the one in plugins-base; will file a bug for
2848         the freeze break.
2849
2850         * gst/net/gstnettimeprovider.c: 
2851         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2852         get_time call over the network.
2853
2854         * configure.ac: 
2855         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2856
2857         * check/Makefile.am:
2858         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2859         get additions shortly.
2860
2861 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2862
2863         * gst/gstpad.c: (gst_pad_new_from_static_template):
2864         * gst/gstpad.h:
2865           add gst_pad_new_from_static_template functions
2866         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2867         (gst_check_setup_sink_pad):
2868         * gst/elements/gsttee.c: (gst_tee_init):
2869           and use them
2870
2871 2005-11-16  Wim Taymans  <wim@fluendo.com>
2872
2873         * gst/gstpad.c: (gst_pad_pause_task):
2874         Removed warning, it's not really an error either.
2875
2876 2005-11-16  Wim Taymans  <wim@fluendo.com>
2877
2878         * gst/base/gstbasetransform.c:
2879         (gst_base_transform_prepare_output_buf),
2880         (gst_base_transform_event):
2881         Check if the caps are NULL, this can happen if the element
2882         is shutting down and the pad caps are set to NULL.
2883
2884 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2885
2886         * gst/elements/gsttee.c: (gst_tee_init):
2887           fix pad template leak in tee
2888
2889 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2890
2891         * gst/glib-compat.c: (g_value_dup_gst_object):
2892         * gst/glib-compat.h:
2893         * gst/gstpad.c: (gst_pad_set_property):
2894           use gst_object_ref when setting the pad template; this will
2895           trigger the pad template leaks on GLib 2.6 and the slaves
2896
2897 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2898
2899         * gst/glib-compat.c: (gst_flags_get_first_value):
2900         * gst/glib-compat.h:
2901         * gst/gstregistryxml.c:
2902           remove functions copied from GLib 2.6
2903
2904 2005-11-16  Michael Smith <msmith@fluendo.com>
2905
2906         * gst/Makefile.am:
2907           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2908           do, but only breaks with newer valgrind versions. We're not a
2909           valgrind tool, we have no link-time dependencies on libcoregrind.
2910
2911 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2912
2913         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2914           some debug changes
2915         * gst/gstmessage.h:
2916           typo fixes
2917
2918 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2919
2920         * gst/base/gstbasesrc.c: (gst_base_src_init):
2921         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2922         * gst/gstqueue.c: (gst_queue_init):
2923         * gst/gstregistryxml.c: (load_feature):
2924           Revert all these unrefs, they don't even pass make check !
2925
2926 2005-11-15  Johan Dahlin  <johan@gnome.org>
2927
2928         * gst/base/gstbasesrc.c: (gst_base_src_init):
2929         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2930         * gst/gstqueue.c: (gst_queue_init): 
2931         Free pad templates, fixes a couple of leaks.
2932
2933 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2934
2935         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2936
2937         * gst/gstpad.c: (gst_pad_get_property):
2938           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2939           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2940           (#321452)
2941
2942 2005-11-15  Wim Taymans  <wim@fluendo.com>
2943
2944         * gst/gstevent.c:
2945         Small doc update.
2946
2947 2005-11-15  Andy Wingo  <wingo@pobox.com>
2948
2949         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2950
2951         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2952         using GST_CLOCK_TIME_NONE to disable base time management.
2953         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2954         time if it was NONE before.
2955         (gst_pipeline_change_state): Only munge the base time if
2956         stream_time != GST_CLOCK_TIME_NONE.
2957
2958         * check/gst/gstpipeline.c (test_base_time): Punt around the
2959         problem of the probe not being called, because that's not the
2960         issue I'm looking at. Add a check that setting stream_time to NONE
2961         disables base time management.
2962         
2963 2005-11-15  Wim Taymans  <wim@fluendo.com>
2964
2965         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2966         segment_stop == -1 at startup.
2967
2968         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2969         (gst_base_transform_change_state):
2970         Init segment values at start.
2971
2972 2005-11-15  Wim Taymans  <wim@fluendo.com>
2973
2974         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2975         0 segment values are 0 in any format.
2976
2977         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2978         * gst/base/gstbasetransform.h:
2979         Parse newsegment correctly in basetransform
2980
2981         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2982         Sync to clock using updated segment values.
2983
2984 2005-11-15  Andy Wingo  <wingo@pobox.com>
2985
2986         * check/gst/gstpipeline.c (test_base_time): Add check that the
2987         base time and stream time are reset correctly.
2988
2989 2005-11-15  Wim Taymans  <wim@fluendo.com>
2990
2991         * docs/design/part-TODO.txt:
2992         Some more TODO items.
2993
2994 2005-11-15  Andy Wingo  <wingo@pobox.com>
2995
2996         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2997         error if the user selected "no clock" as the clocking method.
2998
2999         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3000         timestamps with live capture.
3001
3002         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3003         is 0 but we are a live source, timestamp the buffers using the
3004         element's clock.
3005
3006 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3007
3008         * docs/gst/gstreamer-sections.txt:
3009         * gst/gsterror.c:
3010         * gst/gstghostpad.c:
3011         * gst/gstobject.h:
3012         * gst/gstxml.c:
3013           more section docs
3014
3015 2005-11-14  Wim Taymans  <wim@fluendo.com>
3016
3017         * common/gst.supp:
3018           add suppressions from Wim's Debian machine
3019
3020 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3021
3022         * common/gst.supp:
3023           add suppressions from Andy's AMD64 Ubuntu machine
3024
3025 2005-11-14  Andy Wingo  <wingo@pobox.com>
3026
3027         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3028         STATE_LOCK not necessary. Fixes #311489.
3029
3030         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3031         #305291.
3032
3033         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3034         this function is not implemented.
3035
3036 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3037
3038         * gst/base/gstbasetransform.c:
3039         (gst_base_transform_prepare_output_buf):
3040         Ref the source pad caps while we need them.
3041         Fixes (#321386)
3042
3043 2005-11-11  Wim Taymans  <wim@fluendo.com>
3044
3045         * docs/gst/gstreamer-sections.txt:
3046         Added some docs for GstCollectData.
3047
3048         * gst/base/gstadapter.c:
3049         Some small code example fix.
3050
3051         * gst/base/gstcollectpads.c:
3052         * gst/base/gstcollectpads.h:
3053         Document some more.
3054
3055 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3056
3057         * configure.ac: back to HEAD
3058
3059 === release 0.9.5 ===
3060
3061 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3062
3063         * configure.ac:
3064           releasing 0.9.5, "Bike Lunch Day"
3065
3066 2005-11-11  Wim Taymans  <wim@fluendo.com>
3067
3068         * gst/gstbuffer.c: (_gst_buffer_copy):
3069         Copy more flags.
3070
3071         * gst/gstcaps.c: (gst_caps_is_equal):
3072         Fix some docs.
3073         Make _is_equal fast in the trivial cases.
3074
3075         * gst/gstminiobject.c:
3076         * gst/gstminiobject.h:
3077         More docs. Spifify .h file.
3078
3079         * gst/gstutils.c:
3080         Small doc update.
3081
3082 2005-11-11  Wim Taymans  <wim@fluendo.com>
3083
3084         * gst/base/gstbasetransform.c:
3085         (gst_base_transform_prepare_output_buf),
3086         (gst_base_transform_handle_buffer):
3087         Small cleanups.
3088         If we're processing a buffer and need to allocate an output
3089         buffer, we cannot accept a format change. If we did get a 
3090         format change, we have to alloc a buffer ourselves of the 
3091         right size.
3092
3093 2005-11-11  Wim Taymans  <wim@fluendo.com>
3094
3095         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3096         While checking the flag for reentrancy in the gstcaps function
3097         is nice to detect recursive invocations, it also makes it 
3098         impossible to call getcaps from multiple threads, which must be
3099         possible. So, checking for recursive calls has to go.
3100
3101 2005-11-11  Michael Smith <msmith@fluendo.com>
3102
3103         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3104           Don't sync on buffers that fall partially outside our current
3105           segment. Prevents an assertion failure/abort playing some files.
3106
3107 2005-11-10  Andy Wingo  <wingo@pobox.com>
3108
3109         * check/gst/gstbin.c (test_message_state_changed_children): Style
3110         fix..
3111
3112         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3113         gst_bus_poll with the signal watch. Ensures that poll and a signal
3114         watch see the same messages.
3115
3116         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3117         a poll and a watch at the same time get the same messages.
3118
3119 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3120
3121         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3122         * gst/gstcaps.c: (gst_caps_intersect):
3123           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3124           and it's not needed.
3125
3126 2005-11-10  Wim Taymans  <wim@fluendo.com>
3127
3128         * docs/design/part-TODO.txt:
3129         Updated todo.
3130
3131 2005-11-10  Wim Taymans  <wim@fluendo.com>
3132
3133         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3134         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3135         (gst_base_src_do_sync), (gst_base_src_get_range):
3136         Implement clock sync in base class.
3137
3138 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3139
3140         patch by: Tim-Philipp Müller <tim at centricular dot net>
3141
3142         * gst/gststructure.c: (gst_structure_parse_field),
3143         (gst_structure_from_string):
3144           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3145           so that gst_parse_launch() can deal with spaces in filtered link
3146           caps (fixes #164479)
3147         * check/gst/capslist.h:
3148         * check/gst/gststructure.c: (GST_START_TEST):
3149           add unit tests for this change
3150
3151 2005-11-10  Wim Taymans  <wim@fluendo.com>
3152
3153         * docs/gst/gstreamer-sections.txt:
3154         * gst/gstelement.c:
3155         * gst/gstelement.h:
3156         Fix docs, move some STATE macros to private.
3157
3158 2005-11-10  Wim Taymans  <wim@fluendo.com>
3159
3160         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3161         Added check for bug #317341
3162
3163         * gst/gstbuffer.c:
3164         * gst/gstbuffer.h:
3165         Some more spiffifying.
3166
3167         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3168         Call peer linkfunction if we are a source pad. Totally fixes
3169         #317341
3170
3171         * gst/gstpad.c:
3172         Update docs, source pads should call the peer linkfunction
3173         so they can atomically perform the pad link.
3174
3175 2005-11-09  Wim Taymans  <wim@fluendo.com>
3176
3177         * gst/gstbuffer.c:
3178         * gst/gstbuffer.h:
3179         Uber-spiffy-spiffify some more.
3180
3181 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3182
3183         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3184         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3185         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3186         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3187         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3188         * gst/gstpad.c: (gst_pad_init):
3189           Use GST_DEBUG_FUNCPTR() more extensively.
3190
3191 2005-11-09  Wim Taymans  <wim@fluendo.com>
3192
3193         * gst/gstobject.c: (gst_object_class_init):
3194         * gst/gstobject.h:
3195         Documentation fixes.
3196
3197 2005-11-09  Edward Hervey  <edward@fluendo.com>
3198
3199         * gst/gsttypefindfactory.c:
3200         Fix docs.
3201         
3202 2005-11-09  Edward Hervey  <edward@fluendo.com>
3203
3204         * gst/base/gsttypefindhelper.c:
3205         * gst/gsttypefind.c:
3206         * gst/gsttypefind.h:
3207         Fix docs.
3208
3209 2005-11-09  Wim Taymans  <wim@fluendo.com>
3210
3211         * gst/gstiterator.c:
3212         Fix revision data.
3213
3214         * gst/gsttask.c:
3215         * gst/gsttask.h:
3216         Fix docs.
3217
3218 2005-11-09  Wim Taymans  <wim@fluendo.com>
3219
3220         * gst/gstevent.h:
3221         * gst/gsturi.h:
3222         Fix docs.
3223
3224 2005-11-09  Wim Taymans  <wim@fluendo.com>
3225
3226         * docs/gst/gstreamer-sections.txt:
3227         Moved the message async delivery private lock and cond
3228         to the private section.
3229
3230         * gst/gstmessage.c:
3231         * gst/gstmessage.h:
3232         Fixed docs.
3233
3234 2005-11-09  Edward Hervey  <edward@fluendo.com>
3235
3236         * docs/gst/gstreamer-sections.txt:
3237         * gst/gsturi.c:
3238         * gst/gsturi.h:
3239         Document GstURIHandler
3240
3241 2005-11-09  Wim Taymans  <wim@fluendo.com>
3242
3243         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3244         (gst_iterator_find_custom):
3245         * gst/gstiterator.h:
3246         Fix iterator docs.
3247
3248 2005-11-09  Wim Taymans  <wim@fluendo.com>
3249
3250         * gst/gstbin.h:
3251         Document another field.
3252
3253         * gst/gststructure.c:
3254         * gst/gststructure.h:
3255         Document.
3256
3257 2005-11-09  Wim Taymans  <wim@fluendo.com>
3258
3259         * gst/gstbin.h:
3260         Documented structs.
3261
3262 2005-11-09  Wim Taymans  <wim@fluendo.com>
3263
3264         * docs/gst/gstreamer-sections.txt:
3265         Added some new macros.
3266
3267         * gst/gstclock.c:
3268         * gst/gstclock.h:
3269         * gst/gstobject.h:
3270         Docs updates.
3271
3272 2005-11-09  Wim Taymans  <wim@fluendo.com>
3273
3274         * docs/design/part-TODO.txt:
3275         Some more items for the TODO
3276
3277         * gst/gstcaps.c:
3278         * gst/gstcaps.h:
3279         Document GstCaps.
3280
3281 2005-11-09  Andy Wingo  <wingo@pobox.com>
3282
3283         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3284         to work on something else now tho...
3285
3286         * gst/base/gstadapter.c: More adapter docs.
3287
3288         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3289         (gst_file_sink_stop): New functions, replace the state change
3290         handler.
3291         (gst_file_sink_class_init): Hook up the start and stop functions.
3292         (gst_file_sink_base_init): Don't set the state change handler any
3293         more. It was a bit ugly too, being set from here...
3294         (gst_file_sink_get_property, gst_file_sink_set_property):
3295         Cleanups...
3296         (gst_file_sink_set_location): More robust check that doesn't call
3297         GST_STATE. Ugggggg.
3298
3299 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3300
3301         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3302           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3303
3304 2005-11-08  Wim Taymans  <wim@fluendo.com>
3305
3306         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3307         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3308         (gst_base_sink_chain), (gst_base_sink_change_state):
3309         * gst/base/gstbasesink.h:
3310         * gst/base/gstbasesrc.h:
3311         * gst/gstelement.h:
3312         * gst/gstevent.h:
3313         Avoid excessive typechecking in macros.
3314
3315         * gst/gstminiobject.c: (gst_mini_object_get_type),
3316         (gst_mini_object_init), (gst_mini_object_new),
3317         (gst_mini_object_free):
3318         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3319         (gst_object_finalize):
3320         Remove cruft code, optimize alloc_trace.
3321
3322 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3323
3324         * docs/faq/gst-uninstalled:
3325           fix up PS1 for systems that try to reset it
3326
3327 2005-11-07  Wim Taymans  <wim@fluendo.com>
3328
3329         * gst/base/gstbasesrc.c: (gst_base_src_init),
3330         (gst_base_src_get_range):
3331         Set the segment_end to -1 initially. Fixed typefind.
3332
3333 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3334
3335         * gst/base/gstadapter.c:
3336           Debug category should be 'adapter', not 'GstAdapter'.
3337           
3338         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3339         (gst_collectpads_class_init), (gst_collectpads_init),
3340         (gst_collectpads_peek), (gst_collectpads_pop),
3341         (gst_collectpads_event), (gst_collectpads_chain):
3342           Add debug category and some debugging output. Use boilerplate
3343           macros. Remove some extraneous words from docs.
3344
3345 2005-11-05  Andy Wingo  <wingo@pobox.com>
3346
3347         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3348         macro.
3349
3350 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3351
3352         * docs/gst/gstreamer-sections.txt:
3353         * gst/gstcaps.h:
3354         * gst/gstinfo.c:
3355         * gst/gstminiobject.h:
3356         * gst/gstobject.h:
3357         * gst/gstutils.h:
3358           more docs added
3359
3360 2005-11-04  Wim Taymans  <wim@fluendo.com>
3361
3362         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3363         Small update to stop at the configured segment_end
3364         position.
3365
3366 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3367
3368         * gst/gstregistry.c:
3369         * gst/gstregistry.h:
3370           added missing docs
3371
3372 2005-11-04  Edward Hervey  <edward@fluendo.com>
3373
3374         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3375         Check if we are doing a segment seek and have arrived at the
3376         end of that segment.
3377
3378 2005-11-04  Wim Taymans  <wim@fluendo.com>
3379
3380         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3381         Don't leak a mutex unlock in case of an error.
3382
3383         * gst/gstbus.h:
3384         Doc fixes.
3385
3386 2005-11-04  Wim Taymans  <wim@fluendo.com>
3387
3388         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3389         (gst_bus_post):
3390         Get the context to wake up only once.
3391
3392 2005-11-03  Wim Taymans  <wim@fluendo.com>
3393
3394         * check/states/sinks.c: (GST_START_TEST):
3395         Uncomment fixed check.
3396
3397         * docs/design/part-TODO.txt:
3398         Updated TODO.
3399
3400         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3401         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3402         (gst_base_sink_get_position):
3403         If we are going to PLAYING, post the right pending state
3404         when we post the intermediate paused message.
3405
3406         * gst/gstelement.c: (gst_element_continue_state),
3407         (gst_element_set_state_func), (gst_element_change_state):
3408         Don't post state changes that were between the same state
3409         and were not ASYNC.
3410
3411 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3412
3413         * docs/gst/gstreamer-sections.txt:
3414         * gst/gstcaps.h:
3415         * gst/gstinfo.c:
3416         * gst/gstminiobject.h:
3417         * gst/gstobject.h:
3418         * gst/gstutils.h:
3419           more docs and doc style fixes
3420
3421 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3422
3423         * docs/gst/gstreamer-sections.txt:
3424         * gst/gstelement.c:
3425         * gst/gstminiobject.c:
3426         doc fixes
3427
3428 2005-11-03  Andy Wingo  <wingo@pobox.com>
3429
3430         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3431         state-changed messages actually have the right order and the right
3432         values.
3433
3434 2005-11-03  Wim Taymans  <wim@fluendo.com>
3435
3436         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3437         Added some more checks. Specifically the case where NO_PREROLL
3438         elements are in the pipeline.
3439
3440         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3441         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3442         (gst_base_sink_get_position):
3443         Post READY->PAUSED state change messages too.
3444         Fix bug where VOID was posted as pending state...
3445
3446         * gst/gstbin.c: (gst_bin_recalc_state):
3447         use _element_continue_state() to continue the state change.
3448
3449         * gst/gstelement.c: (gst_element_continue_state),
3450         (gst_element_commit_state), (gst_element_set_state_func),
3451         (gst_element_change_state), (gst_element_change_state_func):
3452         Lots of state change cleanups, assign the STATE_RETURN in
3453         a new continue_state() function that also propagates the
3454         last return value from a state change to the app.
3455         Update some debug statements with proper category.
3456
3457 2005-11-03  Wim Taymans  <wim@fluendo.com>
3458
3459         * docs/design/part-events.txt:
3460         * docs/design/part-gstpipeline.txt:
3461         * docs/design/part-messages.txt:
3462         * docs/design/part-overview.txt:
3463         * docs/design/part-seeking.txt:
3464         * docs/design/part-states.txt:
3465         * docs/design/part-trickmodes.txt:
3466         * docs/manual/advanced-position.xml:
3467         Small docs updates.
3468
3469         * gst/gstobject.h:
3470         People think !! is ugly, this looks better.
3471
3472         * gst/gstpad.c: (gst_pad_set_blocked_async):
3473         Remove !! since it's fixed elsewhere now.
3474
3475 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3476
3477         * gst/gstminiobject.h:
3478         * gst/gstobject.h:
3479           Add !! to _FLAG_IS_SET macros to make the result boolean.
3480
3481 2005-11-03  Edward Hervey  <edward@fluendo.com>
3482
3483         * gst/gstpad.c: (gst_pad_set_blocked_async):
3484         comparing a flag and a gboolean rarely returns coherent results...
3485         Added two characters (!!) to make that work correctly.
3486         
3487 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3488
3489         * gst/gstbus.c: (gst_bus_class_init):
3490           Fix some typos.
3491           
3492         * gst/gstqueue.c: (gst_queue_loop):
3493           Don't assume a miniobject that isn't a buffer is an
3494           event (it could be that there is a refcounting
3495           problem somewhere and the pointer is stale and
3496           refers to an already destroyed miniobject).
3497
3498 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3499
3500         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3501
3502 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3503
3504         * docs/manual/advanced-position.xml:
3505           Update seek example and explanations to current 0.9 API.
3506
3507         * gst/elements/gsttypefindelement.c:
3508         (gst_type_find_element_activate):
3509           Remove FIXME comment now that the found caps
3510           are unreffed.
3511
3512 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3513
3514         * gst/gstregistryxml.c: (load_feature):
3515           Add another GST_STR_NULL instance
3516
3517 2005-11-02  Edward Hervey  <edward@fluendo.com>
3518
3519         * gst/gstpad.c: (handle_pad_block):
3520         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3521         
3522 2005-11-02  Wim Taymans  <wim@fluendo.com>
3523
3524         * gst/gstbin.c:
3525         Fix typo in docs.
3526
3527         * gst/gstelement.c: (gst_element_commit_state):
3528         Remove unused value.
3529
3530         * gst/gstiterator.c:
3531         Mention that the returned element is reffed in the docs.
3532
3533 2005-11-02  Wim Taymans  <wim@fluendo.com>
3534
3535         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3536         (gst_pad_push), (gst_pad_push_event):
3537         Unlock blocked pads when they are flushed.
3538
3539 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3540
3541         * docs/README:
3542         * docs/gst/gstreamer-sections.txt:
3543         * gst/gstbin.c:
3544           doc updates
3545         * gst/gstregistry.c: (gst_registry_scan_path_level):
3546           fix for a nasty little missed situation where an installed plug-in
3547           which was in the cache did not get overridden by an uninstalled one
3548           which was earlier in the plugin path because the newly created plugin
3549           for the uninstalled one (not in the registry) didn't get its
3550           ->registered set to TRUE
3551
3552 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3553
3554         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3555         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3556         (gst_collectpads_is_active), (gst_collectpads_collect),
3557         (gst_collectpads_collect_range), (gst_collectpads_start),
3558         (gst_collectpads_stop), (gst_collectpads_peek),
3559         (gst_collectpads_pop), (gst_collectpads_available),
3560         (gst_collectpads_read), (gst_collectpads_flush):
3561           Guard public API with assertions.
3562         
3563         * gst/gstpad.c:
3564           Fix docs for gst_pad_set_link_function().
3565
3566 2005-11-02  Johan Dahlin  <johan@gnome.org>
3567
3568         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3569         Unref found_caps after we used it.
3570
3571 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3572
3573         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3574           Don't try to ref NULL.
3575
3576 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3577
3578         * win32/common/config.h.in:
3579           provide a GST_FUNCTION that just gives a string for now
3580
3581 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3582
3583         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3584         (gst_object_flags_get_type), (register_gst_bin_flags),
3585         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3586         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3587         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3588         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3589         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3590         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3591         (gst_clock_flags_get_type), (register_gst_state),
3592         (gst_state_get_type), (register_gst_state_change_return),
3593         (gst_state_change_return_get_type), (register_gst_state_change),
3594         (gst_state_change_get_type), (register_gst_element_flags),
3595         (gst_element_flags_get_type), (register_gst_core_error),
3596         (gst_core_error_get_type), (register_gst_library_error),
3597         (gst_library_error_get_type), (register_gst_resource_error),
3598         (gst_resource_error_get_type), (register_gst_stream_error),
3599         (gst_stream_error_get_type), (register_gst_event_type),
3600         (gst_event_type_get_type), (register_gst_seek_type),
3601         (gst_seek_type_get_type), (register_gst_seek_flags),
3602         (gst_seek_flags_get_type), (register_gst_format),
3603         (gst_format_get_type), (register_gst_index_certainty),
3604         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3605         (gst_index_entry_type_get_type),
3606         (register_gst_index_lookup_method),
3607         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3608         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3609         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3610         (gst_index_flags_get_type), (register_gst_debug_level),
3611         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3612         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3613         (gst_iterator_result_get_type), (register_gst_iterator_item),
3614         (gst_iterator_item_get_type), (register_gst_message_type),
3615         (gst_message_type_get_type), (register_gst_mini_object_flags),
3616         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3617         (gst_pad_link_return_get_type), (register_gst_flow_return),
3618         (gst_flow_return_get_type), (register_gst_activate_mode),
3619         (gst_activate_mode_get_type), (register_gst_pad_direction),
3620         (gst_pad_direction_get_type), (register_gst_pad_flags),
3621         (gst_pad_flags_get_type), (register_gst_pad_presence),
3622         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3623         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3624         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3625         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3626         (gst_plugin_flags_get_type), (register_gst_rank),
3627         (gst_rank_get_type), (register_gst_query_type),
3628         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3629         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3630         (gst_tag_flag_get_type), (register_gst_task_state),
3631         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3632         (gst_alloc_trace_flags_get_type),
3633         (register_gst_type_find_probability),
3634         (gst_type_find_probability_get_type), (register_gst_uri_type),
3635         (gst_uri_type_get_type), (register_gst_parse_error),
3636         (gst_parse_error_get_type):
3637         * win32/common/gstversion.h:
3638           update win32 copies
3639
3640 2005-11-01  Luca Ognibene  <luogni@tin.it>
3641
3642         * gst/gst.c:
3643           fix docs. popt is dead, long live GOption.
3644
3645 2005-10-31  Wim Taymans  <wim@fluendo.com>
3646
3647         * gst/gstbuffer.h:
3648         Small doc fix.
3649
3650 2005-10-31  Andy Wingo  <wingo@pobox.com>
3651
3652         * Boo!
3653
3654         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3655
3656         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3657         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3658         the possibility of deadlocks here if code calling notify() or
3659         set() has a lock that can be taken in another notify handler (ABBA
3660         with class lock and e.g. python GIL state lock).
3661
3662 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3663
3664         * gst/gstbus.c: Doc updates.
3665
3666 2005-10-28  Wim Taymans  <wim@fluendo.com>
3667
3668         * docs/design/part-TODO.txt:
3669         * gst/gstiterator.c:
3670         * gst/gstsystemclock.c:
3671         * gst/gstsystemclock.h:
3672         Doc updates.
3673
3674 2005-10-28  Edward Hervey  <edward@fluendo.com>
3675
3676         * docs/gst/gstreamer-docs.sgml:
3677         * docs/gst/gstreamer-sections.txt:
3678         the GstURIType documentation page is private, it only defines GstURIType
3679         which should be defined in the GstURIHandler page
3680         
3681 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3682
3683         * gst/gstbin.c: (gst_bin_class_init):
3684         * gst/gstbin.h:
3685         * gst/gstutils.c:
3686         Documentation updates.
3687
3688 2005-10-28  Wim Taymans  <wim@fluendo.com>
3689
3690         * docs/gst/gstreamer-sections.txt:
3691         * gst/gstclock.c:
3692         * gst/gstclock.h:
3693         Documented the clocks.
3694
3695 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3696
3697         * docs/gst/gstreamer-sections.txt:
3698           move some macros to private sections
3699         * gst/gstminiobject.c:
3700         * gst/gstminiobject.h:
3701           add descriptions provided by ds and some more
3702         * gst/gstpad.h:
3703           mark macro as to be removed
3704
3705 2005-10-28  Wim Taymans  <wim@fluendo.com>
3706
3707         * docs/design/part-TODO.txt:
3708         Add an item to TODO.
3709
3710         * gst/gstiterator.c: (gst_iterator_fold),
3711         (gst_iterator_find_custom):
3712         * gst/gstiterator.h:
3713         Add iterator docs.
3714
3715 2005-10-28  Wim Taymans  <wim@fluendo.com>
3716
3717         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3718         (gst_base_transform_init):
3719         Don't leak class.
3720
3721         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3722         An EOS event marks the queue as completely filled.
3723
3724 2005-10-27  Wim Taymans  <wim@fluendo.com>
3725
3726         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3727         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3728         Some more debugging.
3729
3730         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3731         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3732         (gst_base_transform_event), (gst_base_transform_getrange),
3733         (gst_base_transform_chain):
3734         * gst/base/gstbasetransform.h:
3735         Fix debugging,
3736         Protect transform and concurrent buffer alloc with a new lock.
3737         Try not to break ABI/API.
3738
3739 2005-10-27  Wim Taymans  <wim@fluendo.com>
3740
3741         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3742         (gst_base_src_init), (gst_base_src_query),
3743         (gst_base_src_default_newsegment),
3744         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3745         (gst_base_src_send_event), (gst_base_src_event_handler),
3746         (gst_base_src_pad_get_range), (gst_base_src_loop),
3747         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3748         (gst_base_src_start), (gst_base_src_deactivate),
3749         (gst_base_src_activate_push), (gst_base_src_change_state):
3750         Move some stuff around and cleanup things.
3751
3752 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3753
3754         * gst/base/gstbasesrc.c: (gst_base_src_query):
3755           Add missing break statements.
3756
3757 2005-10-27  Wim Taymans  <wim@fluendo.com>
3758
3759         * check/gst/gstbin.c: (GST_START_TEST):
3760         An extra refcount is taken in basesrc.
3761
3762         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3763         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3764         (gst_base_src_loop):
3765         Small cleanups, check for flushing after being unlocked from the 
3766         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3767         Don't send out EOS when going to READY.
3768
3769 2005-10-27  Wim Taymans  <wim@fluendo.com>
3770
3771         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3772         (gst_base_sink_get_position):
3773         Some more debug.
3774
3775         * gst/gstbin.c: (message_check), (bin_replace_message),
3776         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3777         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3778         (bin_query_duration_init), (bin_query_duration_fold),
3779         (bin_query_duration_done), (bin_query_generic_fold),
3780         (gst_bin_query):
3781         * tools/gst-launch.c: (main):
3782         Remove old option.
3783
3784 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3785
3786         * examples/controller/audio-example.c: (main):
3787         * examples/queue/queue.c: (event_loop):
3788         * gst/base/gstbasetransform.h:
3789         * gst/gstelement.c: (gst_element_send_event):
3790         * gst/gstevent.h:
3791         * gst/gstpad.c: (gst_pad_send_event):
3792           fixing examples
3793           fixing docs typos
3794           changing log priority in error situations
3795
3796 2005-10-25  Wim Taymans  <wim@fluendo.com>
3797
3798         * gst/gstbin.c: (message_check), (bin_replace_message),
3799         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3800         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3801         (bin_query_duration_init), (bin_query_duration_fold),
3802         (bin_query_duration_done), (bin_query_generic_fold),
3803         (gst_bin_query):
3804         Some doc and debug updates.
3805         Cache previously requested query DURATION for speed. invalidate
3806         cached duration if element posts a DURATION message.
3807
3808 2005-10-25  Wim Taymans  <wim@fluendo.com>
3809
3810         * docs/design/part-TODO.txt:
3811         Update TODO.
3812
3813         * gst/gstbin.c: (message_check), (bin_replace_message),
3814         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3815         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3816         (bin_query_duration_init), (bin_query_duration_fold),
3817         (bin_query_duration_done), (bin_query_generic_fold),
3818         (gst_bin_query):
3819         Handle SEGMENT_START/DONE messages correctly.
3820         More evolved query algorithm that handles duration queries
3821         correctly.
3822
3823         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3824         (gst_element_get_state_func), (gst_element_abort_state),
3825         (gst_element_commit_state), (gst_element_lost_state):
3826         Some more debugging.
3827
3828         * gst/gstmessage.h:
3829         Added doc.
3830
3831 2005-10-25  Wim Taymans  <wim@fluendo.com>
3832
3833         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3834         Don't use invalid stream_time.
3835
3836         * gst/gstevent.c: (gst_event_new_newsegment):
3837         stream_time in newsegment cannot be undefined.
3838
3839 2005-10-24  Wim Taymans  <wim@fluendo.com>
3840
3841         * gst/gstbus.c:
3842         Doc fix.
3843
3844         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3845         (gst_queue_loop):
3846         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3847
3848 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3849
3850         * docs/libs/tmpl/gstdparam.sgml:
3851         * docs/libs/tmpl/gstdplinint.sgml:
3852         * docs/libs/tmpl/gstdpman.sgml:
3853         * docs/libs/tmpl/gstdpsmooth.sgml:
3854         * docs/libs/tmpl/gstunitconvert.sgml:
3855           these are obsolete
3856
3857 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3858
3859         * configure.ac:
3860           back to HEAD
3861
3862 === release 0.9.4 ===
3863
3864 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3865
3866         * configure.ac:
3867           releasing 0.9.4, "Tyrannosaurus Rex"
3868
3869 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3870
3871         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3872         (gst_file_sink_get_current_offset):
3873           Use fseeko() and ftello() if available. When falling back on
3874           lseek() to get the current offset, fflush() first to make sure
3875           everything is up-to-date and we get the right offset.
3876
3877 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3878
3879         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3880         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3881         * gst/gsterror.c: (_gst_stream_errors_init):
3882         * gst/gsterror.h:
3883         * gst/gstqueue.c: (gst_queue_loop):
3884         * po/POTFILES.in:
3885           remove prematurely added error category and clean up the instances
3886
3887 2005-10-21  Wim Taymans  <wim@fluendo.com>
3888
3889         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3890         (gst_base_sink_get_position), (gst_base_sink_query),
3891         (gst_base_sink_change_state):
3892         Simply set the right flag when going to playing, that's all
3893         we need to do instead of calling a function inside the object
3894         lock (that could take the lock as well and deadlock)
3895
3896 2005-10-21  Wim Taymans  <wim@fluendo.com>
3897
3898         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3899         (gst_base_src_loop):
3900         Don't warn, the peer element knows what to do best when
3901         the seek failed, it might try something else.
3902
3903 2005-10-21  Wim Taymans  <wim@fluendo.com>
3904
3905         * gst/base/gstbasesrc.c: (gst_base_src_init),
3906         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3907         Fix seeking.
3908
3909 2005-10-21  Wim Taymans  <wim@fluendo.com>
3910
3911         * docs/design/part-segments.txt:
3912         More docs.
3913
3914         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3915         Correctly set caps, even on the subbufer.
3916
3917 2005-10-21  Wim Taymans  <wim@fluendo.com>
3918
3919         * docs/gst/gstreamer-docs.sgml:
3920         * docs/gst/gstreamer-sections.txt:
3921         * gst/gstelement.h:
3922         * gst/gstevent.c:
3923         * gst/gstevent.h:
3924         * gst/gstmessage.h:
3925         * gst/gstpad.h:
3926         * gst/gstparse.h:
3927         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3928         * gst/gsttask.h:
3929         * gst/gstutils.c:
3930         * gst/gstutils.h:
3931         And 2% more doc coverage.
3932
3933 2005-10-21  Andy Wingo  <wingo@pobox.com>
3934
3935         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3936         position reporting.
3937
3938 2005-10-20  Wim Taymans  <wim@fluendo.com>
3939
3940         * gst/gsterror.c: (gst_error_get_message):
3941         * gst/gstparse.h:
3942         * gst/gstquery.h:
3943         * gst/gststructure.c:
3944         * gst/gsttrace.c:
3945         * gst/gstutils.c:
3946         More docs.
3947
3948 2005-10-20  Wim Taymans  <wim@fluendo.com>
3949
3950         * gst/gstbuffer.h:
3951         * gst/gstpad.c:
3952         * gst/gstparse.c:
3953         Another 1% more coverage.
3954
3955 2005-10-20  Wim Taymans  <wim@fluendo.com>
3956
3957         * docs/gst/gstreamer-sections.txt:
3958         * gst/gstelement.c: (gst_element_get_state_func),
3959         (gst_element_abort_state), (gst_element_commit_state),
3960         (gst_element_lost_state):
3961         * gst/gstevent.h:
3962         * gst/gstquery.c: (gst_query_set_position),
3963         (gst_query_parse_position), (gst_query_set_duration),
3964         (gst_query_parse_duration), (gst_query_new_convert):
3965         * gst/gstutils.c:
3966         Yay! 1% more docs coverage.
3967
3968 2005-10-20  Wim Taymans  <wim@fluendo.com>
3969
3970         * gst/gstpad.h:
3971         * gst/gstquery.c: (gst_query_set_position),
3972         (gst_query_parse_position), (gst_query_set_duration),
3973         (gst_query_parse_duration), (gst_query_new_convert):
3974         * gst/gstquery.h:
3975         * gst/gstutils.c: (gst_element_query_convert):
3976         * gst/gstutils.h:
3977         Docs and consistency fixes.
3978
3979 2005-10-20  Wim Taymans  <wim@fluendo.com>
3980
3981         * gst/gsttask.c:
3982         * gst/gsttask.h:
3983         More docs.
3984
3985 2005-10-20  Wim Taymans  <wim@fluendo.com>
3986
3987         * gst/gstbin.c: (message_check), (bin_replace_message),
3988         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3989         (update_degree), (gst_bin_sort_iterator_next),
3990         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3991         Reworked the message handling a bit, cache the messages instead of
3992         only the senders. alows us to do more in the future.
3993
3994 2005-10-20  Wim Taymans  <wim@fluendo.com>
3995
3996         * docs/design/part-TODO.txt:
3997         Update TODO
3998
3999         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4000         (gst_base_sink_query):
4001         Don't use clock time to report position when in EOS.
4002
4003 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4004
4005         * tools/gst-inspect.c: (print_interfaces),
4006         (print_element_properties_info), (print_element_info):
4007           Fix interface output with gst-inspect -a; don't print
4008           newlines after double/float properties.
4009
4010 2005-10-20  Wim Taymans  <wim@fluendo.com>
4011
4012         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4013         (gst_base_sink_query):
4014         Speed up current position calculation.
4015
4016         * gst/base/gstbasesrc.c: (gst_base_src_query),
4017         (gst_base_src_default_newsegment):
4018         Correctly set stream position in newsegment.
4019
4020         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4021         (update_degree), (gst_bin_sort_iterator_next),
4022         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4023         * gst/gstmessage.c: (gst_message_new_custom):
4024         Clean up debugging info
4025
4026         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4027         (gst_queue_loop), (gst_queue_handle_src_query):
4028         Pause task faster.
4029
4030 2005-10-19  Wim Taymans  <wim@fluendo.com>
4031
4032         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4033         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4034         Fix query handling again.
4035
4036 2005-10-19  Wim Taymans  <wim@fluendo.com>
4037
4038         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4039         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4040         * gst/base/gstbasesrc.c: (gst_base_src_query):
4041         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4042         * gst/elements/gsttypefindelement.c:
4043         (gst_type_find_handle_src_query), (find_element_get_length),
4044         (gst_type_find_element_activate):
4045         API change fix.
4046
4047         * gst/gstquery.c: (gst_query_new_position),
4048         (gst_query_set_position), (gst_query_parse_position),
4049         (gst_query_new_duration), (gst_query_set_duration),
4050         (gst_query_parse_duration), (gst_query_set_segment),
4051         (gst_query_parse_segment):
4052         * gst/gstquery.h:
4053         Bundling query position/duration is not a good idea since duration
4054         does not change much and we don't want to recalculate it for every
4055         position query, so they are separated again..
4056         Base value in segment query is not needed.
4057
4058         * gst/gstqueue.c: (gst_queue_handle_src_query):
4059         * gst/gstutils.c: (gst_element_query_position),
4060         (gst_element_query_duration), (gst_pad_query_position),
4061         (gst_pad_query_duration):
4062         * gst/gstutils.h:
4063         Updates for query API change.
4064         Added some docs here and there.
4065
4066 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4067
4068         * check/gst/gstbin.c: (GST_START_TEST):
4069         * check/gst/gstghostpad.c: (GST_START_TEST):
4070         * check/pipelines/cleanup.c: (GST_START_TEST):
4071           wait on thread to die so we can check refcount correctly
4072
4073 2005-10-18  Wim Taymans  <wim@fluendo.com>
4074
4075         * check/pipelines/stress.c: (GST_START_TEST):
4076         Make check a little more time consuming.
4077
4078 2005-10-18  Wim Taymans  <wim@fluendo.com>
4079
4080         * check/Makefile.am:
4081         * check/pipelines/stress.c: (GST_START_TEST),
4082         (simple_launch_lines_suite), (main):
4083         Small state change torture test.
4084
4085         * docs/design/part-states.txt:
4086         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4087         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4088         (gst_base_sink_change_state):
4089         Never take state lock from streaming thread, clean up ugly
4090         hacks. Unfortunatly core does not yet support nice ways to
4091         async commit state.
4092         
4093         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4094         (bin_bus_handler):
4095         Start state recalc if a STATE_DIRTY message is posted, but only
4096         on the toplevel bin.
4097
4098         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4099         (gst_element_get_state_func), (gst_element_abort_state),
4100         (gst_element_commit_state), (gst_element_lost_state),
4101         (gst_element_set_state_func), (gst_element_change_state):
4102         * gst/gstelement.h:
4103         State variables are now protected with the LOCK, the state
4104         lock is only used to serialize _set_state().
4105
4106 2005-10-18  Wim Taymans  <wim@fluendo.com>
4107
4108         * check/gst/gstbin.c: (GST_START_TEST):
4109         * check/gst/gstmessage.c: (GST_START_TEST):
4110         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4111         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4112         (bin_bus_handler):
4113         * gst/gstelement.c: (gst_element_abort_state),
4114         (gst_element_commit_state), (gst_element_lost_state):
4115         * gst/gstmessage.c: (gst_message_new_state_changed),
4116         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4117         (gst_message_new_segment_done), (gst_message_new_duration),
4118         (gst_message_parse_state_changed),
4119         (gst_message_parse_segment_start),
4120         (gst_message_parse_segment_done), (gst_message_parse_duration):
4121         * gst/gstmessage.h:
4122         * tools/gst-launch.c: (event_loop):
4123         Seriously, this is better than a previous commit as we only need
4124         to notify the fact that an element changed state in a streaming
4125         thread, marking the state of the parents dirty, hence the 
4126         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4127         message.
4128
4129 2005-10-18  Wim Taymans  <wim@fluendo.com>
4130
4131         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4132         (gst_bin_recalc_func):
4133         * gst/gstelement.c: (gst_element_set_clock),
4134         (gst_element_abort_state), (gst_element_lost_state):
4135         Cleanups, prepare for state change fixes.
4136
4137 2005-10-18  Wim Taymans  <wim@fluendo.com>
4138
4139         * gst/gstbin.h:
4140         * gst/gstelement.c: (gst_element_class_init),
4141         (gst_element_set_state), (gst_element_set_state_func):
4142         * gst/gstelement.h:
4143         Pending ABI changes.
4144         GThreadPool in GstBinClass to monitor async state changes.
4145         state_cookie in GstElement to detect concurrent gst/set state.
4146         set_state is now virtual too in case a very complicated element
4147         has to be constructed.
4148
4149 2005-10-18  Wim Taymans  <wim@fluendo.com>
4150
4151         * check/gst/gstbin.c: (GST_START_TEST):
4152         * check/gst/gstmessage.c: (GST_START_TEST):
4153         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4154         * gst/gstbin.c: (bin_bus_handler):
4155         * gst/gstelement.c: (gst_element_commit_state),
4156         (gst_element_lost_state):
4157         * gst/gstmessage.c: (gst_message_new_state_changed),
4158         (gst_message_new_segment_start), (gst_message_new_segment_done),
4159         (gst_message_new_duration), (gst_message_parse_state_changed),
4160         (gst_message_parse_segment_start),
4161         (gst_message_parse_segment_done), (gst_message_parse_duration):
4162         * gst/gstmessage.h:
4163         * tools/gst-launch.c: (event_loop):
4164         Make messages future proof.
4165         state-change gets a flag if it was a message comming from the
4166         streaming thread.
4167         segment-start/stop can also be specified in other formats.
4168         A message to notify an app that a pipeline changed playback 
4169         duration.
4170         Also fix a GstMessage leak in -launch
4171
4172 2005-10-18  Andy Wingo  <wingo@pobox.com>
4173
4174         * gst/gstelement.c (gst_element_dispose): More helpful message.
4175
4176 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4177
4178         reviewed by: <delete if not using a buddy>
4179
4180         * common/gtk-doc.mak:
4181
4182 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4183
4184         * gst/gstregistry.c: (gst_registry_scan_path_level):
4185           unref a plug-in we get that was already initialized
4186
4187 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4188
4189         * docs/gst/gstreamer-sections.txt:
4190         * docs/libs/gstreamer-libs-sections.txt:
4191         * gst/gstelement.h:
4192           add new api entries
4193           hide internal macro
4194
4195 2005-10-17  Andy Wingo  <wingo@pobox.com>
4196
4197         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4198         cleanup.
4199
4200         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4201
4202         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4203
4204         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4205         (gst_element_get_state_func): Better debug message.
4206         (gst_element_commit_state): s/INFO/DEBUG/.
4207         (gst_element_lost_state, gst_element_change_state): 
4208
4209         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4210         (gst_message_new_custom): s/INFO/LOG/.
4211
4212 2005-10-17  Michael Smith <msmith@fluendo.com>
4213
4214         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4215           Check if end time is valid using end time, not start time.
4216
4217 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4218
4219         * check/gst-libs/controller.c: (GST_START_TEST),
4220         (gst_controller_suite):
4221         * libs/gst/controller/gstcontroller.c:
4222         (gst_controlled_property_set_interpolation_mode):
4223         * libs/gst/controller/gstcontroller.h:
4224         * libs/gst/controller/gstinterpolation.c:
4225         * testsuite/controller/.cvsignore:
4226         * testsuite/controller/Makefile.am:
4227         * testsuite/controller/interpolator.c:
4228           merge controller testsuites
4229           fix broken tests
4230           remove mem-chunk from docs
4231
4232 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4233
4234         * gst/gstmemchunk.c:
4235         * gst/gstmemchunk.h:
4236         * gst/gsttrashstack.c:
4237         * gst/gsttrashstack.h:
4238           out.  get out.  you're fired.  to the Attic !
4239
4240 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4241
4242         * gst/gstcaps.c: (gst_caps_intersect):
4243           fix signedness issues in a (hopefully) correct way
4244         * gst/gstelement.c: (gst_element_pads_activate):
4245           some debugging
4246         * gst/gstobject.c: (gst_object_set_parent):
4247           some debugging
4248
4249 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4250
4251         * gst/gstvalue.h: Fix prototypes.
4252
4253 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4254
4255         * docs/gst/gstreamer-sections.txt:
4256         * gst/gst.c: (gst_version_string):
4257         * gst/gst.h:
4258         * gst/gstversion.h.in:
4259         * win32/common/libgstreamer.def:
4260           add gst_version_string ()
4261
4262 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4263
4264         * configure.ac:
4265           clean up further
4266         * gst/gst.c: (init_post):
4267         * win32/common/config.h.in:
4268           it's PLUGINDIR now
4269         * gst/gstcaps.c: (gst_caps_intersect):
4270           use gint64, the range could be bigger than a guint
4271
4272 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4273
4274         * gst/gstclock.h:
4275           document potential problem in 2038
4276
4277 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4278
4279         * gst/gstcaps.c: (gst_caps_intersect):
4280           Fix guint j diving under 0
4281
4282 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4283
4284         * configure.ac:
4285         * win32/common/config.h:
4286         * win32/common/config.h.in:
4287           check for process.h, declares getpid() on Windows
4288         * gst/gstinfo.c:
4289           include process.h if we have it
4290         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4291         * gst/gstmemchunk.h:
4292           fix signedness issues
4293         * win32/common/libgstreamer.def:
4294           fix get_type's
4295
4296 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4297
4298         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4299         fix. Because of unsigned ints, caps intersection was going nuts and
4300         trying to access structures with G_MAXUINT index. That fixes
4301         videotestsrc ! ffmpegcolorspace ! fakesink
4302         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4303         consistency.
4304
4305 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4306
4307         * configure.ac:
4308           use the gettext macro
4309         * gst/elements/gstelements.c:
4310         * gst/gst.c:
4311         * gst/indexers/gstindexers.c:
4312           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4313         * win32/common/config.h:
4314           updated config.h
4315         * win32/common/config.h.in:
4316           add the template to generate config.h
4317         * win32/common/gstenumtypes.c:
4318         * win32/common/gstversion.h:
4319           updated copies
4320
4321 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4322
4323         * gst/gst.c: (gst_version):
4324         * gst/gstversion.h.in:
4325           add the nano
4326
4327 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4328
4329         * gst/gstevent.h:
4330           Oops, add missing closing bracket.
4331
4332 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4333
4334         * configure.ac:
4335           use common m4's for argument checking
4336
4337 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4338
4339         * docs/gst/gstreamer-sections.txt:
4340         * gst/gstevent.h:
4341           Add GST_EVENT_TYPE_NAME() macro.
4342
4343 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4344
4345         * gst/gstinfo.c:
4346         * gst/gstpluginfeature.c:
4347         * gst/gsttask.c:
4348           privatize more symbols
4349
4350 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4351
4352         * configure.ac:
4353           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4354           everything that uses GStreamer API should have the includes
4355
4356 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4357
4358         * docs/gst/gstreamer-sections.txt:
4359         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4360         * gst/gstvalue.h:
4361           give each value a _get_type, removes the DATA exports
4362
4363 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4364
4365         * gst/gst.c:
4366         * gst/gst.h:
4367           remove _gst_registry_auto_load, not used anymore
4368         * gst/gstbin.c: (gst_bin_get_type):
4369         * gst/gstbin.h:
4370         * gst/gstelement.c: (gst_element_get_type):
4371         * gst/gstelement.h:
4372         * gst/gstobject.c: (gst_object_get_type):
4373         * gst/gstobject.h:
4374         * gst/gstpad.c: (gst_pad_get_type):
4375         * gst/gstpad.h:
4376           make _get_type functions similar, fixes data export from library
4377
4378 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4379
4380         * configure.ac:
4381           correctly make conditionals
4382         * gst/elements/Makefile.am:
4383         * gst/elements/gstelements.c:
4384           fix typo causing fdsrc not to build
4385
4386 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4387
4388         * testsuite/Makefile.am:
4389         * testsuite/bytestream/.cvsignore:
4390         * testsuite/bytestream/Makefile.am:
4391         * testsuite/bytestream/filepadsink.c:
4392         * testsuite/bytestream/gstbstest.c:
4393         * testsuite/bytestream/test1.c:
4394         * testsuite/bytestream/testfile1:
4395         * testsuite/caps/normalisation.c:
4396         * testsuite/caps/random.c: (main):
4397         * testsuite/cleanup/.cvsignore:
4398         * testsuite/cleanup/Makefile.am:
4399         * testsuite/cleanup/cleanup1.c:
4400         * testsuite/cleanup/cleanup2.c:
4401         * testsuite/cleanup/cleanup3.c:
4402         * testsuite/cleanup/cleanup4.c:
4403         * testsuite/cleanup/cleanup5.c:
4404         * testsuite/controller/interpolator.c:
4405         * testsuite/debug/printf_extension.c: (main):
4406         * testsuite/elements/tee.c:
4407         * testsuite/negotiation/.cvsignore:
4408         * testsuite/negotiation/Makefile.am:
4409         * testsuite/negotiation/pad_link.c:
4410         * testsuite/pad/Makefile.am:
4411         * testsuite/pad/chainnopull.c:
4412         * testsuite/pad/getnopush.c:
4413         * testsuite/pad/link.c:
4414         * testsuite/refcounting/sched.c: (create_pipeline):
4415         * testsuite/registry/Makefile.am:
4416         * testsuite/registry/gst-print-formats.c:
4417         * testsuite/schedulers/.cvsignore:
4418         * testsuite/schedulers/142183-2.c:
4419         * testsuite/schedulers/142183.c:
4420         * testsuite/schedulers/143777-2.c:
4421         * testsuite/schedulers/143777.c:
4422         * testsuite/schedulers/147713.c:
4423         * testsuite/schedulers/147819.c:
4424         * testsuite/schedulers/147894-2.c:
4425         * testsuite/schedulers/147894.c:
4426         * testsuite/schedulers/Makefile.am:
4427         * testsuite/schedulers/group_link.c:
4428         * testsuite/schedulers/queue_link.c:
4429         * testsuite/schedulers/relink.c:
4430         * testsuite/schedulers/unlink.c:
4431         * testsuite/schedulers/unref.c:
4432         * testsuite/schedulers/useless_iteration.c:
4433         * testsuite/states/bin.c:
4434           clean out/remove some stuff from the testsuite directories
4435
4436 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4437
4438         * configure.ac:
4439           check for some headers
4440         * gst/elements/Makefile.am:
4441         * gst/elements/gstelements.c:
4442           don't compile fdsrc without sys/socket.h
4443         * gst/indexers/Makefile.am:
4444         * gst/indexers/gstindexers.c: (plugin_init):
4445           don't compile fileindex without mmap
4446
4447 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4448
4449         * configure.ac:
4450           reorganize
4451           clean up
4452           document more
4453           remove cruft
4454         * check/Makefile.am:
4455         * docs/gst/Makefile.am:
4456         * examples/helloworld/Makefile.am:
4457         * gst/Makefile.am:
4458         * gst/base/Makefile.am:
4459         * gst/check/Makefile.am:
4460         * gst/elements/Makefile.am:
4461         * gst/indexers/Makefile.am:
4462         * gst/parse/Makefile.am:
4463         * libs/gst/controller/Makefile.am:
4464         * libs/gst/dataprotocol/Makefile.am:
4465         * examples/helloworld/helloworld.c: (event_loop):
4466           compile fixes, though it's not being compiled currently
4467
4468 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4469
4470         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4471           Add some simple tests for the new taglist date API.
4472
4473 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4474
4475         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4476         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4477           Beautify 'last-message' output: print 'none' for buffer timestamps
4478           and durations if none is set; improve alignment with next messages.
4479
4480 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4481
4482         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4483         * gst/gstpluginfeature.h:
4484         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4485         * gst/gstregistry.h:
4486         * docs/gst/gstreamer-sections.txt:
4487           Add new API to check plugin feature version requirements.
4488
4489         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4490           Some basic tests for the above.         
4491
4492 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4493
4494         * gst/gststructure.c: (gst_structure_to_string):
4495           guard against NULL printf - happens when for example
4496           a message structure with GstClock gets serialized
4497
4498 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4499
4500         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4501           Fix presumable copy'n'pasto.
4502
4503 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4504
4505         * gst/elements/gstfakesrc.h:
4506         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4507         * gst/elements/gsttypefindelement.c:
4508           fix some signedness
4509         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4510           I wonder if this could actually write +2GB files before
4511
4512 2005-10-13  Andy Wingo  <wingo@pobox.com>
4513
4514         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4515         Fix Timmeke Waymans bug.
4516         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4517         string of the proper length to gst_caps_from_string. There's a
4518         potential for, before this fix, that this could cause someone
4519         connecting over the network to cause a segfault if the payload is
4520         not NUL-terminated.
4521
4522 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4523
4524         * docs/design/draft-push-pull.txt:
4525         * docs/design/part-overview.txt:
4526         * docs/random/TODO-pre-0.9:
4527         * docs/random/old/ChangeLog.gstreamer:
4528         * gst/base/gstpushsrc.c:
4529         * gst/gstclock.c:
4530           fixed typos
4531
4532 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4533
4534         * gst/glib-compat.c: (gst_flags_get_first_value):
4535         * gst/glib-compat.h:
4536         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4537         (gst_value_compare_double), (gst_value_serialize_flags):
4538           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4539           infinite loop
4540
4541 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4542
4543         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4544         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4545           fix up debugging
4546         * tools/gst-launch.c: (event_loop):
4547           print out clock nicely
4548
4549 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4550
4551         * docs/gst/gstreamer-sections.txt:
4552         * gst/gsttaglist.h:
4553         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4554         (gst_tag_list_get_date_index):
4555           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4556           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4557
4558 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4559
4560         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4561         (gst_collectpads_chain):
4562         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4563         in CollectData.
4564
4565 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4566
4567         * docs/gst/gstreamer-sections.txt:
4568         * gst/gst.c:
4569         * gst/gsterror.h:
4570         * tools/gst-inspect.c: (main):
4571         * tools/gst-launch.c: (main):
4572         * tools/gst-run.c: (main):
4573         * tools/gst-xmlinspect.c: (main):
4574           fix GOption context leaks
4575           doc fixes
4576
4577 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4578
4579         * gst/gstbus.c:
4580           use HAVE_UNISTD_H
4581         * win32/common/config.h:
4582           update config
4583         * win32/vs6/grammar.dsp:
4584         * win32/vs6/libgstelements.dsp:
4585         * win32/vs6/libgstreamer.dsp:
4586           update vs6 files
4587
4588 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4589
4590         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4591         * gst/base/gstbasesrc.c: (gst_base_src_query):
4592           fix more guint64<->gdouble conversions
4593
4594 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4595
4596         * Makefile.am:
4597           add win32-update target
4598         * win32/common/gstconfig.h:
4599         * win32/common/gstenumtypes.c:
4600         * win32/common/gstenumtypes.h:
4601         * win32/common/gstversion.h:
4602           add files that visual studio can't generate
4603
4604 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4605
4606         * Makefile.am:
4607           add a win32-update target
4608         * configure.ac:
4609
4610 2005-10-12  Wim Taymans  <wim@fluendo.com>
4611
4612         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4613         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4614         * gst/gstelement.c: (gst_element_commit_state),
4615         (gst_element_set_state):
4616         Protect flags with proper lock.
4617         unref provided cached clock in dispose.
4618
4619 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4620
4621         * gst/gst.c:
4622         * gst/gstminiobject.h:
4623         * gst/gstpad.h:
4624         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4625           removed unused flags from miniobject
4626           doc fixes
4627
4628 2005-10-12  Wim Taymans  <wim@fluendo.com>
4629
4630         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4631         (gst_file_sink_event), (gst_file_sink_render):
4632         Flush before seeking.
4633
4634 2005-10-12  Andy Wingo  <wingo@pobox.com>
4635
4636         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4637         always been the case.
4638
4639 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4640
4641         * check/gst/gstbin.c: (GST_START_TEST):
4642         * docs/gst/gstreamer-sections.txt:
4643         * gst/base/gstbasesink.c: (gst_base_sink_init):
4644         * gst/base/gstbasesrc.c: (gst_base_src_init),
4645         (gst_base_src_get_range), (gst_base_src_check_get_range),
4646         (gst_base_src_start), (gst_base_src_stop):
4647         * gst/base/gstbasesrc.h:
4648         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4649         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4650         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4651         (bin_bus_handler):
4652         * gst/gstbin.h:
4653         * gst/gstbuffer.h:
4654         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4655         * gst/gstbus.h:
4656         * gst/gstelement.c: (gst_element_is_locked_state),
4657         (gst_element_set_locked_state), (gst_element_commit_state),
4658         (gst_element_set_state):
4659         * gst/gstelement.h:
4660         * gst/gstindex.c: (gst_index_init):
4661         * gst/gstindex.h:
4662         * gst/gstminiobject.h:
4663         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4664         (gst_object_set_parent):
4665         * gst/gstobject.h:
4666         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4667         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4668         * gst/gstpad.h:
4669         * gst/gstpadtemplate.h:
4670         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4671         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4672         * gst/gstpipeline.h:
4673         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4674         (gst_file_index_commit):
4675         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4676         * testsuite/pad/link.c: (gst_test_src_init),
4677         (gst_test_filter_init), (gst_test_sink_init):
4678         * testsuite/states/locked.c: (main):
4679           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4680           moved bitshift from macro to enum definition
4681
4682 2005-10-12  Wim Taymans  <wim@fluendo.com>
4683
4684         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4685         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4686         (gst_file_sink_render):
4687         Some more debugging info.
4688
4689 2005-10-12  Wim Taymans  <wim@fluendo.com>
4690
4691         * docs/design/part-states.txt:
4692         * tools/gst-launch.c: (main):
4693         Some doc updates.
4694         Revert non-intentional change.
4695
4696 2005-10-12  Wim Taymans  <wim@fluendo.com>
4697
4698         * check/gst/gstbin.c: (GST_START_TEST):
4699         * check/gst/gstelement.c: (GST_START_TEST):
4700         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4701         * check/gst/gstghostpad.c: (GST_START_TEST):
4702         * check/gst/gstpipeline.c: (GST_START_TEST):
4703         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4704         * check/states/sinks.c: (GST_START_TEST):
4705         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4706         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4707         (gst_bin_remove_func), (gst_bin_get_state_func),
4708         (gst_bin_recalc_state), (gst_bin_change_state_func),
4709         (bin_bus_handler):
4710         * gst/gstelement.c: (gst_element_get_state_func),
4711         (gst_element_get_state), (gst_element_abort_state),
4712         (gst_element_commit_state), (gst_element_set_state),
4713         (gst_element_change_state), (gst_element_change_state_func):
4714         * gst/gstelement.h:
4715         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4716         (gst_pipeline_provide_clock_func):
4717         * gst/gstutils.c: (gst_element_link_pads_filtered):
4718         * tools/gst-launch.c: (main):
4719         * tools/gst-typefind.c: (main):
4720         Use GstClockTime in _get_state() instead of GTimeVal.
4721         Remove old code in gstutils.c
4722
4723 2005-10-12  Andy Wingo  <wingo@pobox.com>
4724
4725         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4726         removed.
4727
4728         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4729         there is no task. Shouldn't affect any code, as nothing in our
4730         plugins checks this return value.
4731         (gst_pad_stop_task): Also take the stream lock if the pad has no
4732         task. Docs updated.
4733
4734 2005-10-12  Wim Taymans  <wim@fluendo.com>
4735
4736         * gst/gstpad.c: (pre_activate), (post_activate),
4737         (gst_pad_activate_pull), (gst_pad_activate_push):
4738         Cleanup activation code. Reset old state if
4739         activation failed.
4740
4741 2005-10-12  Wim Taymans  <wim@fluendo.com>
4742
4743         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4744         (gst_base_sink_change_state):
4745         No need to prerol after receiving EOS.
4746
4747         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4748         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4749         * gst/elements/gstidentity.c: (gst_identity_event):
4750         Print events more verbosely.
4751
4752 2005-10-12  Wim Taymans  <wim@fluendo.com>
4753
4754         * check/Makefile.am:
4755         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4756         * check/states/sinks2.c:
4757         Moved sinks2 testcode in sinks check.
4758
4759         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4760         (gst_bin_remove_func), (gst_bin_recalc_state),
4761         (gst_bin_change_state_func), (bin_bus_handler):
4762         Fix potential race condition when _get_state() iterated over an
4763         ASYNC element right before it posted a state completion.
4764
4765         * gst/gstclock.h:
4766         Do proper cast here.
4767
4768         * gst/gstevent.c: (gst_event_new_newsegment),
4769         (gst_event_parse_newsegment):
4770         A playback rate of 0.0 is not allowed.
4771
4772 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4773
4774         * win32/common/config.h:
4775         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4776         (_trewinddir), (_ttelldir), (_tseekdir):
4777         * win32/common/dirent.h:
4778         * win32/common/gtchar.h:
4779         * win32/common/libgstbase.def:
4780         * win32/common/libgstreamer.def:
4781         * win32/vs6/grammar.dsp:
4782         * win32/vs6/gst_inspect.dsp:
4783         * win32/vs6/gst_launch.dsp:
4784         * win32/vs6/gstreamer.dsw:
4785         * win32/vs6/libgstbase.dsp:
4786         * win32/vs6/libgstelements.dsp:
4787         * win32/vs6/libgstreamer.dsp:
4788           Visual Studio 6 project files, and a new common directory.
4789           Phear.
4790
4791 2005-10-11  Wim Taymans  <wim@fluendo.com>
4792
4793         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4794         (gst_base_sink_do_sync), (gst_base_sink_query),
4795         (gst_base_sink_change_state):
4796         * gst/base/gstbasesink.h:
4797         Correctly parse newsegment info.
4798
4799 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4800
4801         * gst/gst.c: (init_post):
4802           split plugin paths correctly
4803
4804 2005-10-11  Wim Taymans  <wim@fluendo.com>
4805
4806         * check/gst/gstevent.c: (GST_START_TEST):
4807         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4808         (gst_base_sink_change_state):
4809         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4810         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4811         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4812         * gst/gstevent.c: (gst_event_new_newsegment),
4813         (gst_event_parse_newsegment):
4814         * gst/gstevent.h:
4815         Added extra flag to newsegment for future API freeze.
4816         Updated check and base elements.
4817
4818 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4819
4820         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4821         (gst_collectpads_add_pad), (gst_collectpads_pop),
4822         (gst_collectpads_event), (gst_collectpads_chain):
4823         * gst/base/gstcollectpads.h: Handle EOS correctly.
4824
4825 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4826
4827         * tools/gst-launch.c: (main):
4828           more null protecting
4829
4830 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4831
4832         * gst/gst-i18n-lib.h:
4833           check for ENABLE_NLS, not GETTEXT_PACKAGE
4834         * gst/gstregistry.c: (gst_registry_add_plugin),
4835         (gst_registry_scan_path_level),
4836         (_gst_registry_remove_cache_plugins):
4837           protect possibly NULL strings
4838         * gst/parse/types.h:
4839           config.h already included before
4840         * tools/gst-inspect.c: (main):
4841           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4842           check for ENABLE_NLS, not GETTEXT_PACKAGE
4843         * tools/gst-launch.c: (main):
4844           check for ENABLE_NLS, not GETTEXT_PACKAGE
4845
4846 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * configure.ac:
4849           if we don't have glib, fail before testing 2.8
4850         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4851           fix a leak, should fix plugins-base testsuite
4852
4853 2005-10-11  Andy Wingo  <wingo@pobox.com>
4854
4855         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4856         take the mode we're going to as an arg. Go head and set the mode
4857         and flushing flags now, so that if the activate function starts a
4858         thread all the flags will be in the right state.
4859         (post_activate): Renamed also. Just handle making sure streaming
4860         finishes for the deactivation case, and setting the deactivated
4861         mode.
4862         (gst_pad_set_active): Complain loudly if deactivation fails.
4863         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4864         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4865         remove the terrible hack.
4866
4867 2005-10-11  Wim Taymans  <wim@fluendo.com>
4868
4869         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4870         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4871         (gst_bin_recalc_state), (gst_bin_change_state_func),
4872         (gst_bin_dispose), (bin_bus_handler):
4873         * gst/gstbin.h:
4874         Prepare to make current EOS message queue more generic.
4875         Fix some typos.
4876
4877         * gst/gstevent.c: (gst_event_new_newsegment),
4878         (gst_event_parse_newsegment):
4879         * gst/gstevent.h:
4880         Rename base to stream_time.
4881
4882         * gst/gstmessage.h:
4883         Fix typo in docs.
4884
4885 2005-10-11  Wim Taymans  <wim@fluendo.com>
4886
4887         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4888         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4889         (gst_bin_change_state_func), (bin_bus_handler):
4890         * gst/gstbin.h:
4891         Work on proper clock selection.
4892
4893 2005-10-11  Edward Hervey  <edward@fluendo.com>
4894
4895         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4896         * libs/gst/controller/gstcontroller.h:
4897         Added GList* version of _remove_properties() in order to be able to wrap
4898         it in bindings.
4899
4900 2005-10-11  Wim Taymans  <wim@fluendo.com>
4901
4902         * docs/design/part-states.txt:
4903         Some more docs.
4904
4905         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4906         (gst_bin_change_state_func), (bin_bus_handler):
4907         Doc updates. Don't distribute the same clock over and over again.
4908
4909         * gst/gstclock.c:
4910         * gst/gstclock.h:
4911         Doc updates.
4912
4913         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4914         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4915         (gst_pad_send_event):
4916         * gst/gstpad.h:
4917         Make probe emission threadsafe again.
4918         Register quarks and move _get_name() from utils.
4919         Doc updates.
4920
4921         * gst/gstpipeline.c: (gst_pipeline_class_init),
4922         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4923         Only redistribute the clock of it changed.
4924
4925         * gst/gstsystemclock.h:
4926         Doc updates. 
4927
4928         * gst/gstutils.c:
4929         * gst/gstutils.h:
4930         Moved the _flow_get_name() to GstPad.
4931
4932 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4933
4934         * check/gst-libs/gdp.c: (GST_START_TEST):
4935         * check/gst/gstcaps.c: (GST_START_TEST):
4936         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4937         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4938         (gst_dp_packet_from_caps):
4939           fix more valgrind warnings before turning up the heat
4940
4941 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4942
4943         * gst/parse/grammar.y:
4944           some cleanup before the hacking
4945
4946 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4947
4948         * gst/base/gstbasesrc.c: (gst_base_src_query):
4949           use conversions
4950         * gst/gstutils.c: (gst_guint64_to_gdouble),
4951         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4952         * gst/gstutils.h:
4953           externalize, basesrc uses it
4954           obviously the implementation needs testing
4955
4956 2005-10-10  Wim Taymans  <wim@fluendo.com>
4957
4958         * tests/sched/Makefile.am:
4959         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4960         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4961
4962 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4963
4964         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4965           apparently converting from guint64 to double is not implemented
4966           on MSVC
4967
4968 2005-10-10  Wim Taymans  <wim@fluendo.com>
4969
4970         * check/Makefile.am:
4971         * check/generic/states.c: (GST_START_TEST):
4972         * check/gst/gstbin.c: (GST_START_TEST):
4973         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4974         * check/states/sinks.c: (GST_START_TEST):
4975         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4976         (main):
4977         Check fixes, use API as stated in design docs, remove hacks.
4978
4979         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4980         (gst_base_sink_change_state):
4981         Catch stopping our task while we're shutting down.
4982
4983         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4984         (gst_bin_remove_func), (gst_bin_get_state_func),
4985         (gst_bin_recalc_state), (gst_bin_change_state_func),
4986         (bin_bus_handler):
4987         * gst/gstbin.h:
4988         * gst/gstelement.c: (gst_element_init),
4989         (gst_element_get_state_func), (gst_element_abort_state),
4990         (gst_element_commit_state), (gst_element_lost_state),
4991         (gst_element_set_state), (gst_element_change_state),
4992         (gst_element_change_state_func):
4993         * gst/gstelement.h:
4994         New state change algorithm (see #318116)
4995
4996         * gst/gstpipeline.c: (gst_pipeline_class_init),
4997         (gst_pipeline_init), (gst_pipeline_set_property),
4998         (gst_pipeline_get_property), (do_pipeline_seek),
4999         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5000         * gst/gstpipeline.h:
5001         Remove crude state change hacks.
5002
5003         * gst/gstutils.h:
5004         Remove crude hacks.
5005
5006         * tools/gst-launch.c: (main):
5007         Fixes for state change. Needs some more work to fully use the
5008         new stuff.
5009
5010 2005-10-10  Andy Wingo  <wingo@pobox.com>
5011
5012         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5013
5014         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5015         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5016         issue.
5017
5018 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5019
5020         * gst/gstiterator.c: (gst_iterator_new):
5021           Fix my previous commit: GTypes passed to gst_iterator_new()
5022           can be fundamental types.
5023
5024 2005-10-10  Wim Taymans  <wim@fluendo.com>
5025
5026         * gst/gstelement.c: (gst_element_iterate_pad_list),
5027         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5028         (gst_element_iterate_sink_pads):
5029         Use src/sink pads lists for the respective iterators instead
5030         of filtering.
5031
5032 2005-10-10  Andy Wingo  <wingo@pobox.com>
5033
5034         Merged in popt removal + GOption addition patch from Ronald, bug
5035         #169772.
5036
5037         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5038         GstElement macros around, remove popt-related symbols, add goption
5039         stuff.
5040
5041         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5042         
5043         * docs/gst/Makefile.am:
5044         * docs/libs/Makefile.am: No POPT_CFLAGS.
5045         
5046         * examples/manual/Makefile.am:
5047         * docs/manual/basics-init.xml: Doc updates with an example.
5048         
5049         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5050         (gst_init), (parse_one_option), (parse_goption_arg):
5051         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5052         bit of hand merging and debugging to get the GOption stuff working
5053         tho.
5054         
5055         * tests/Makefile.am:
5056         * tools/Makefile.am:
5057         * tools/gst-inspect.c: (main):
5058         * tools/gst-launch.c: (main):
5059         * tools/gst-run.c: (main):
5060         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5061
5062 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5063
5064         * gst/gstiterator.c: (gst_iterator_new):
5065           Add assertions to make sure passed GType is likely to really
5066           be a GType (as the compiler won't catch it if the size and
5067           GType arguments get mixed up, see #318447).
5068
5069 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5070
5071         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5072
5073         * gst/gstbin.c: (gst_bin_iterate_sorted):
5074           Pass GType and size arguments to gst_iterator_new() in the right
5075           order (maybe we should make _new() take the GType as first argument
5076           just like _new_list()?) (#318447).
5077           
5078
5079 2005-10-10  Wim Taymans  <wim@fluendo.com>
5080
5081         * gst/gstelement.c: (gst_element_finalize):
5082         And free the GStaticRecMutex too
5083
5084 2005-10-10  Andy Wingo  <wingo@pobox.com>
5085
5086         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5087         Allocate and free the mutex properly.
5088
5089         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5090         New macros.
5091         (GstElement): The state_lock is now recursive. Rebuild your
5092         plugins, suckers. Old macros adapted.
5093
5094         * docs/gst/gstreamer-sections.txt: Doc updates.
5095
5096         * gst/gstutils.h:
5097         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5098         (g_static_rec_cond_wait): Ported from state changes patch, while
5099         we wait on bug #317802 to be solved in a well-distributed GLib.
5100
5101         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5102         gst_element_change_state, variable name changes.
5103         (gst_element_change_state): Split out of gst_element_set_state in
5104         preparation for the state change merge. Doesn't pay attention to
5105         the 'transition' argument.
5106         (gst_element_set_state): Updates, hopefully purely cosmetic.
5107         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5108         state change patch.
5109         (gst_element_get_state_func): Renamed from get_state, cosmetic
5110         changes.
5111
5112 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5113
5114         * gst/elements/gstelements.c:
5115         * win32/GStreamer.vcproj:
5116         * win32/config.h:
5117         * win32/dirent.c: (_tseekdir):
5118         * win32/gst-inspect.vcproj:
5119         * win32/gst-launch.vcproj:
5120         * win32/gstconfig.h:
5121         * win32/gstelements.vcproj:
5122         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5123         * win32/gstreamer.def:
5124         * win32/msvc71.sln:
5125           updates for the win32 build (patch from Sebastien Moutte)
5126
5127 2005-10-10  Andy Wingo  <wingo@pobox.com>
5128
5129         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5130         gst_bin_get_state, cleaned up (but no logic changes).
5131         (bin_element_is_sink): Comment updates.
5132         (sink_iterator_filter): Remove needless cast.
5133         (gst_bin_iterate_sinks): Doc update.
5134         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5135         cleaned up (but no logic changes).
5136
5137         * check/states/sinks.c (test_src_sink): Cleanups from the state
5138         change patch.
5139         (test_livesrc_sink): Sync on the state.
5140
5141         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5142         the state change patch.
5143
5144         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5145         change patch.
5146
5147         * check/gst/gstbin.c: Merge in some style fixes and additional
5148         checks from Wim's state change patch.
5149
5150 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5151
5152         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5153         (gst_type_find_helper):
5154           Check whether we have the requested data already in our list of
5155           cached buffers before pulling a new buffer; also make the buffer
5156           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5157
5158 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5159
5160         * gst/gstcaps.c:
5161         * gst/gstevent.c:
5162           doc updates
5163         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5164           don't use long long, it's not portable.  Replacing with
5165           gint64 seems to work; let's hope no skeletons fall out of the closet.
5166
5167 2005-10-10  Andy Wingo  <wingo@pobox.com>
5168
5169         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5170
5171 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5172
5173         * docs/gst/gstreamer-sections.txt:
5174         * gst/gstevent.c:
5175         * gst/gstevent.h:
5176         * gst/gstinfo.c:
5177         * gst/gstinfo.h:
5178         * gst/gstmessage.c: (gst_message_parse_state_changed):
5179         * gst/gstpad.c:
5180         * gst/gstpad.h:
5181           more docs, fix compilation
5182
5183 2005-10-09  Philippe Khalaf <burger@speedy.org>
5184         * gst/gstmessage.c:
5185           Fixed a few forgotten variables on previous commit
5186
5187 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5188
5189         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5190           Fix evil typefind crasher: getrange() might return a short
5191           buffer at the end of a file, but gst_type_find_peek() must
5192           either return the full data as requested or NULL, but
5193           never a short buffer.
5194
5195 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5196
5197         * gst/gstmessage.c: (gst_message_new_state_changed),
5198         (gst_message_parse_state_changed):
5199         * gst/gstmessage.h:
5200           don't use "new", it's a C++ keyword
5201
5202 2005-10-08  Wim Taymans  <wim@fluendo.com>
5203
5204         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5205         * gst/gstelement.c: (gst_element_post_message):
5206         * gst/gstpipeline.c: (gst_pipeline_change_state):
5207         Small docs and debug updates.
5208
5209 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5210
5211         * docs/gst/gstreamer-sections.txt:
5212         * gst/gstelementfactory.c:
5213         * gst/gstevent.c:
5214         * gst/gsttaglist.c:
5215           more docs
5216
5217 2005-10-08  Wim Taymans  <wim@fluendo.com>
5218
5219         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5220         (gst_bin_dispose), (bin_bus_handler):
5221         Fix typos, add comments.
5222         Clear EOS list when going to PAUSED from any direction and do it
5223         in a threadsafe way.
5224         Get base time in a threadsafe way too.
5225         Fix confusing debug in the change_state function.
5226         Various other small cleanups.
5227         
5228         * gst/gstelement.c: (gst_element_post_message):
5229         Fix very verbose bus posting code.
5230
5231         * gst/gstpipeline.c: (gst_pipeline_class_init),
5232         (gst_pipeline_set_property), (gst_pipeline_get_property),
5233         (gst_pipeline_change_state):
5234         Small ARG_ -> PROP_ cleanup
5235
5236 2005-10-08  Wim Taymans  <wim@fluendo.com>
5237
5238         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5239         Do a less CPU demanding EOS check because we can.
5240
5241 2005-10-08  Wim Taymans  <wim@fluendo.com>
5242
5243         * libs/gst/dataprotocol/dataprotocol.c:
5244         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5245         (gst_dp_packet_from_event):
5246         * libs/gst/dataprotocol/dataprotocol.h:
5247         * libs/gst/dataprotocol/dp-private.h:
5248         It's about time we bump the version number.
5249         Since event types don't fit in the guint8 anymore describing
5250         the payload type, make payload type 16 bits wide.
5251
5252 2005-10-08  Wim Taymans  <wim@fluendo.com>
5253
5254         * docs/design/part-TODO.txt:
5255         * docs/design/part-clocks.txt:
5256         * docs/design/part-events.txt:
5257         * docs/design/part-gstbin.txt:
5258         * docs/design/part-gstelement.txt:
5259         * docs/design/part-gstpipeline.txt:
5260         * docs/design/part-live-source.txt:
5261         * docs/design/part-messages.txt:
5262         * docs/design/part-overview.txt:
5263         * docs/design/part-states.txt:
5264         Many doc updates.
5265
5266 2005-10-08  Wim Taymans  <wim@fluendo.com>
5267
5268         * gst/gstevent.c:
5269         * gst/gstevent.h:
5270         Fix event quark registration.
5271         Add some space between events so we can insert them in the
5272         right groups.
5273
5274 2005-10-08  Wim Taymans  <wim@fluendo.com>
5275
5276         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5277         (gst_base_sink_handle_buffer):
5278         Better log message.
5279
5280         * gst/gstbus.h:
5281         * gst/gstelement.h:
5282         More docs.
5283
5284         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5285         (gst_queue_set_property), (gst_queue_get_property):
5286         * gst/gstqueue.h:
5287         Remove old unused properties.
5288
5289 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5290         * docs/gst/gstreamer-sections.txt:
5291         * gst/gstmessage.c:
5292         * gst/gstmessage.h:
5293         * gst/gstminiobject.c:
5294         * gst/gstminiobject.h:
5295         * gst/gstobject.h:
5296         * gst/gstpad.h:
5297         * gst/gstutils.h:
5298           lots of new docs and doc fixes
5299
5300 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5301
5302         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5303         * gst/gstplugin.h:
5304         * gst/gstregistry.c: (gst_registry_lookup_locked),
5305         (gst_registry_scan_path_level):
5306         * gst/gstregistryxml.c: (load_plugin):
5307           Only ever load one plugin for a given plugin basename.
5308           This ensures correct overriding of GST_PLUGIN_PATH over
5309           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5310           system installed plugins.
5311
5312 2005-10-08  Wim Taymans  <wim@fluendo.com>
5313
5314         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5315         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5316         Prepare for doing QOS.
5317
5318 2005-10-08  Wim Taymans  <wim@fluendo.com>
5319
5320         * check/gst/gstbin.c: (GST_START_TEST):
5321         * check/pipelines/cleanup.c: (GST_START_TEST):
5322         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5323         Allow new clock message too.
5324
5325 2005-10-08  Wim Taymans  <wim@fluendo.com>
5326
5327         * gst/gstmessage.c: (gst_message_new_error),
5328         (gst_message_new_warning), (gst_message_new_tag),
5329         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5330         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5331         (gst_message_new_segment_start), (gst_message_new_segment_done),
5332         (gst_message_parse_state_changed),
5333         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5334         (gst_message_parse_new_clock):
5335         * gst/gstmessage.h:
5336         Also carry the clock in question.
5337
5338 2005-10-08  Wim Taymans  <wim@fluendo.com>
5339
5340         * gst/gstmessage.c: (gst_message_new_custom),
5341         (gst_message_new_eos), (gst_message_new_error),
5342         (gst_message_new_warning), (gst_message_new_tag),
5343         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5344         (gst_message_new_new_clock), (gst_message_new_segment_start),
5345         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5346         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5347         * gst/gstmessage.h:
5348         Clean up.
5349         Added clock related messages.
5350
5351         * gst/gstpipeline.c: (gst_pipeline_change_state):
5352         Post message when the clock changed.
5353
5354         * tools/gst-launch.c: (event_loop):
5355         Print new clock.
5356
5357 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5358
5359         * tools/gst-inspect.c: (print_element_properties_info):
5360           Can't pass NULL strings to g_print() on windows.
5361
5362 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5363
5364         * docs/Makefile.am:
5365         * docs/gst/Makefile.am:
5366         * docs/gst/gstreamer-docs.sgml:
5367         * docs/gst/running.xml:
5368         * docs/version.entities.in:
5369           add a chapter on running GStreamer.
5370           document GST_DEBUG and GST_PLUGIN* env vars
5371
5372 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5373
5374         * Makefile.am:
5375           remove include dir
5376         * configure.ac:
5377           remove PLUGINS_BUILDDIR stuff
5378         * gst/gst.c: (init_post):
5379           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5380         * idiottest.mak:
5381           remove, it was condescending and not needed
5382
5383 2005-10-08  Wim Taymans  <wim@fluendo.com>
5384
5385         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5386         (gst_base_sink_handle_object), (gst_base_sink_event),
5387         (gst_base_sink_wait), (gst_base_sink_handle_event),
5388         (gst_base_sink_change_state):
5389         * gst/base/gstbasesink.h:
5390         Repost EOS message while going to PLAYING if still EOS.
5391         Make sure that when receiving a FLUSH_START we don't attempt
5392         to sync on the clock anymore.
5393
5394 2005-10-08  Wim Taymans  <wim@fluendo.com>
5395
5396         * tools/gst-launch.c: (event_loop):
5397         Better message printout.
5398
5399 2005-10-08  Wim Taymans  <wim@fluendo.com>
5400
5401         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5402         (gst_bin_child_proxy_get_children_count):
5403         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5404         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5405         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5406         (gst_child_proxy_set_valist):
5407         * gst/parse/grammar.y:
5408         Make ChildProxy threadsafe and fix mem leaks.
5409
5410 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5411
5412         * gst/gst.c: (init_post):
5413           debug the GST_PLUGIN_ env vars
5414
5415 2005-10-08  Wim Taymans  <wim@fluendo.com>
5416
5417         * check/gst/gstbin.c: (GST_START_TEST):
5418         * check/gst/gstmessage.c: (GST_START_TEST):
5419         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5420         * gst/gstelement.c: (gst_element_commit_state),
5421         (gst_element_lost_state):
5422         * gst/gstmessage.c: (gst_message_new_state_changed),
5423         (gst_message_parse_state_changed):
5424         * gst/gstmessage.h:
5425         * tools/gst-launch.c: (event_loop):
5426         Added extra field to STATE_CHANGE message with the pending
5427         state, which will be different from the new state soon.
5428
5429 2005-10-08  Wim Taymans  <wim@fluendo.com>
5430
5431         * gst/gstbus.c: (gst_bus_pop):
5432         * gst/gstclock.c:
5433         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5434         Small cleanups and doc updates.
5435
5436 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5437
5438         * gst/gst.c: (init_pre):
5439         * gst/gstbin.c: (gst_bin_add_func):
5440           log distributing clocks and base time
5441         * gst/gstregistry.c: (gst_registry_add_plugin),
5442         (gst_registry_scan_path_level), (gst_registry_scan_path):
5443           clean up the debugging output a little
5444         * gst/gstutils.c: (gst_element_state_get_name):
5445           warn about a memleak (I've actually seen this be used, though
5446           it was probably a bug)
5447
5448 2005-10-07  Wim Taymans  <wim@fluendo.com>
5449
5450         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5451         (gst_base_src_init), (gst_base_src_default_newsegment),
5452         (gst_base_src_newsegment), (gst_base_src_do_seek),
5453         (gst_base_src_loop), (gst_base_src_start):
5454         * gst/base/gstbasesrc.h:
5455         Make the newsegment event customizable by subclasses.
5456
5457 2005-10-07  Wim Taymans  <wim@fluendo.com>
5458
5459         * gst/gstevent.c: (gst_event_new_buffersize),
5460         (gst_event_parse_buffersize):
5461         * gst/gstevent.h:
5462         New event for future idea.
5463
5464 2005-10-07  Andy Wingo  <wingo@pobox.com>
5465
5466         * gst/gstelement.c (gst_element_post_message): Doc update.
5467
5468         * docs/gst/gstreamer-sections.txt: Update.
5469
5470         * gst/gstmessage.c (gst_message_new_application): Made into a
5471         function like honest API calls.
5472         (gst_message_new_element): New message type.
5473
5474         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5475
5476         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5477         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5478         times.
5479
5480         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5481         NO_PREROLL from gst_element_change_state to fall through.
5482
5483 2005-10-07  Wim Taymans  <wim@fluendo.com>
5484
5485         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5486         (gst_ghost_pad_do_activate_push):
5487         Activating a ghostpad with no internal pad in push mode
5488         is ok.
5489
5490 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5491
5492         * gst/gstobject.h:
5493           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5494           Fixes compilation on Windows.
5495
5496 2005-10-07  Michael Smith <msmith@fluendo.com>
5497
5498         * tools/gst-inspect.c:
5499           Print out feature and plugin count at the end when printing out
5500           all features.
5501
5502 2005-10-04  Michael Smith <msmith@fluendo.com>
5503
5504         * gst/gsterror.c: (_gst_stream_errors_init):
5505           Add another error string used in a few existing plugins.
5506
5507         * gst/gstplugin.c:
5508         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5509         * tools/gst-inspect.c: (print_element_info):
5510           When a feature disappears from a plugin (and the feature exists in
5511           the cached registry file), things went horribly wrong. This isn't a
5512           complete fix, we should actually be removing the 'missing' features
5513           from the features list when we load the actual plugin. That's not
5514           yet implemented. 
5515
5516 2005-10-04  Johan Dahlin  <johan@gnome.org>
5517
5518         * check/gst/gstiterator.c: (GST_START_TEST):
5519         * gst/gstbin.c: (gst_bin_iterate_elements),
5520         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5521         * gst/gstelement.c: (gst_element_iterate_pads):
5522         * gst/gstformat.c: (gst_format_iterate_definitions):
5523         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5524         (gst_iterator_new_list), (gst_iterator_filter):
5525         * gst/gstiterator.h:
5526         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5527         Add a GType to GstIterator, update callsites and tests.
5528
5529 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5530
5531         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5532           give events a chance to be handled by event probes when the pad
5533           is not linked
5534
5535 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5536
5537         * gst/gstevent.c: (gst_event_type_get_name),
5538         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5539         * gst/gstevent.h:
5540           add string representations for event types
5541
5542 2005-10-06  Wim Taymans  <wim@fluendo.com>
5543
5544         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5545         Don't use NULL pointers.
5546
5547 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5548
5549         * gst/gst_private.h:
5550         * gst/gstbus.c:
5551         * gst/gstelement.c:
5552         * gst/gstinfo.c:
5553         * gst/gstpluginfeature.c:
5554           widen the debug category in output to fit the biggest one we have
5555           add a bus category and use it
5556           play with the colors
5557           fix up some categories
5558
5559 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5560
5561         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5562           add push activation of sink ghost pads.
5563           Andye, please verify
5564
5565 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5566
5567         * gst/gstutils.c: (gst_element_link_pads):
5568           fix a bug in the case where neither element has a pad
5569         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5570           add a test for that case
5571
5572 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5573
5574         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5575           emit have-data before checking for peers.  This allows
5576           for probe handlers to connect elements.  This helps autopluggers.
5577         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5578         (gst_pad_suite):
5579           add six checks, linked/unlinked with no/true/false probe
5580
5581 2005-10-04  Wim Taymans  <wim@fluendo.com>
5582
5583         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5584         (gst_fake_sink_event), (gst_fake_sink_preroll),
5585         (gst_fake_sink_render), (gst_fake_sink_change_state):
5586         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5587         (gst_fake_src_get_property), (gst_fake_src_create),
5588         (gst_fake_src_stop):
5589         * gst/elements/gstidentity.c: (gst_identity_stop):
5590         Protect last_message with lock.
5591
5592 2005-10-04  Edward Hervey  <edward@fluendo.com>
5593
5594         * gst/gstformat.h: 
5595         Added precision in the comments for GST_FORMAT_DEFAULT
5596
5597 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5598
5599         * tools/gst-launch.c: (main):
5600           Don't try to run erroneous pipelines.
5601
5602 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5603
5604         * gst/gstbus.c: We don't need this header.
5605
5606 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5607
5608         * configure.ac:
5609           back to development
5610
5611 === release 0.9.3 ===
5612
5613 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5614
5615         * README:
5616         * configure.ac:
5617           Releasing 0.9.3, "Unregistered"
5618
5619 2005-10-03  Andy Wingo  <wingo@pobox.com>
5620
5621         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5622         whereby calling a pad's activatepush() function can start a thread
5623         that starts to push or pull before the pad gets the FLUSHING flag
5624         unset. Hack around it by holding the stream lock until the flag is
5625         set. Need to replace this with a proper solution. Together with
5626         the ghost pad fixes, this fixes mp3 playing/tagreading.
5627
5628         * docs/design/part-gstghostpad.txt: Add a note about activation of
5629         proxy pads outside of ghost pads.
5630
5631         * gst/gstghostpad.c: Implement the ghost pad activation design.
5632
5633 2005-10-02  Andy Wingo  <wingo@pobox.com>
5634
5635         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5636         It is volatile, after all.
5637
5638         * docs/design/part-gstghostpad.txt: Flesh out activation with
5639         ghost pads.
5640
5641         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5642         GST_DEBUG_FUNCPTR.
5643
5644 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5645
5646         * configure.ac:
5647           Fix (unused) AM_CONDITIONAL tests.
5648
5649 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5650
5651         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5652
5653         * gst/gstutils.c: (gst_pad_query_convert):
5654           Add assertion that makes sure src_val is >=0, just like
5655           gst_query_new_convert() has. (#315895)
5656
5657 2005-09-30  Edward Hervey  <edward@fluendo.com>
5658
5659         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5660         Let's not iterate pads we're not interested in, it avoids getting 
5661         sky-high refcounts on sinkpad.
5662
5663 2005-09-30  Wim Taymans  <wim@fluendo.com>
5664
5665         * gst/gstelement.c: (gst_element_set_state),
5666         (gst_element_change_state):
5667         Small tweak, element in ASYNC remains ASYNC.
5668
5669 2005-09-30  Wim Taymans  <wim@fluendo.com>
5670
5671         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5672         Only error is an error.
5673
5674         * gst/gstbin.c: (gst_bin_change_state):
5675         Better debugging.
5676
5677         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5678         Also call pad_block in pad alloc.
5679
5680         * gst/gstutils.c: (gst_flow_get_name):
5681         Better debugging.
5682
5683 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5684
5685         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5686         (gst_base_src_get_range):
5687           Fix documentation typos. Add some more debug info.
5688
5689 2005-09-29  David Schleef  <ds@schleef.org>
5690
5691         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5692           more end-user friendly.
5693         * tools/gst-inspect.c: (main): Check if command-line argument is
5694           a file and attempt to load that file as a plugin.
5695
5696 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5697
5698         * check/gst/gstbin.c:
5699         * check/states/sinks.c:
5700           fix tests for the new warning
5701         * check/gst/gstpipeline.c:
5702           add a test for pipeline and bus interaction
5703         * gst/gstelement.c:
5704           elements should be NULL if they get disposed; add a warning if not
5705
5706 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5707
5708         * gst/gstobject.c:
5709           for 2.6 refcounting, make debug log more correct by printing
5710           the actual refcounts at the time of swap (Wim)
5711
5712 2005-09-29  Andy Wingo  <wingo@pobox.com>
5713
5714         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5715         removes signal watches previously added via
5716         gst_bus_add_signal_watch.
5717         (gst_bus_add_signal_watch): Don't return the source id, just store
5718         it on the bus if there wasn't an id already.
5719
5720         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5721         add_signal_watch and remove_signal_watch.
5722
5723 2005-09-29  Edward Hervey  <edward@fluendo.com>
5724
5725         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5726         Better if we actually iterate the list :)
5727
5728 2005-09-29  Wim Taymans  <wim@fluendo.com>
5729
5730         * check/gst/gstbin.c: (GST_START_TEST):
5731         Change for new bus API.
5732
5733         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5734         (send_messages), (GST_START_TEST), (gstbus_suite):
5735         Change for new bus signal API.
5736
5737         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5738         (gst_bus_source_prepare), (gst_bus_source_check),
5739         (gst_bus_create_watch), (gst_bus_add_watch_full),
5740         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5741         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5742         * gst/gstbus.h:
5743         Remove support for multiple GSources operating on different
5744         message types as it is too complex and unneeded when using
5745         signals.
5746         Added support for receiving signals from the bus.
5747
5748 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5749
5750         * docs/libs/tmpl/gstdataprotocol.sgml:
5751         * docs/manual/advanced-dataaccess.xml:
5752         * gst/elements/gstcapsfilter.c:
5753         * gst/gstutils.c:
5754           rename filter-caps to caps property
5755
5756 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5757
5758         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5759           More robust fraction string parsing.
5760
5761         * docs/pwg/appendix-porting.xml:
5762           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5763
5764 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5765
5766         * gst/gstcaps.c: (gst_caps_do_simplify):
5767           Thou shalt not free a structure and then continue using it
5768           in the next loop iteration.
5769
5770         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5771         (gst_caps_suite):
5772           Add test case for caps simplification.
5773
5774 2005-09-29  Wim Taymans  <wim@fluendo.com>
5775
5776         * check/gst/gstbin.c: (GST_START_TEST):
5777         Oops.
5778
5779 2005-09-29  Wim Taymans  <wim@fluendo.com>
5780
5781         * check/gst/gstbin.c: (GST_START_TEST):
5782         Add bus to bin.
5783
5784         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5785         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5786         (find_element), (gst_bin_sort_iterator_next),
5787         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5788         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5789         (gst_bin_change_state), (gst_bin_dispose):
5790         A bin does not have a bus, it gets the bus from the parent.
5791
5792         * gst/gstelement.c: (gst_element_requires_clock),
5793         (gst_element_provides_clock), (gst_element_is_indexable),
5794         (gst_element_is_locked_state), (gst_element_change_state),
5795         (gst_element_set_bus_func):
5796         Small cleanups.
5797
5798         * gst/gstpipeline.c: (gst_pipeline_class_init),
5799         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5800         The pipeline provides a bus.
5801
5802 2005-09-28  Johan Dahlin  <johan@gnome.org>
5803
5804         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5805         gst_structure_get_enum instead of gst_structure_get_int
5806
5807         * gst/gststructure.c (gst_structure_get_enum): Impl.
5808
5809         * gst/gststructure.h (gst_structure_get_enum): Add
5810
5811         * docs/gst/gstreamer-sections.txt: Ditto
5812
5813         * gst/gstmessage.c (gst_message_new_state_changed): Use
5814         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5815         which does introspection.
5816         Reviewed by Christian Schaller
5817
5818 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5819
5820         * gst/gstinfo.c: (gst_debug_log_default):
5821           don't do dummy g_strdup()s
5822         * libs/gst/controller/gstcontroller.c:
5823         (on_object_controlled_property_changed),
5824         (gst_controlled_property_new), (gst_controller_new_valist),
5825         (gst_controller_new_list),
5826         (gst_controller_remove_properties_valist), (gst_controller_set),
5827         (gst_controller_get), (gst_controller_sync_values),
5828         (gst_controller_get_value_array), (_gst_controller_class_init),
5829         (gst_controller_get_type):
5830         * libs/gst/controller/gstcontroller.h:
5831         * libs/gst/controller/gstinterpolation.c:
5832         (gst_controlled_property_find_timed_value_node):
5833           convert // to /**/ comments
5834
5835 2005-09-28  Wim Taymans  <wim@fluendo.com>
5836
5837         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5838         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5839         (gst_bus_sync_signal_handler):
5840         * gst/gstbus.h:
5841         Added async-message and sync-message signals to the bus.
5842         Added helper BusFunc to emit signals for all posted messages.
5843
5844         * gst/gstmessage.c: (gst_message_type_get_name),
5845         (gst_message_type_to_quark), (gst_message_get_type):
5846         * gst/gstmessage.h:
5847         Register quarks for message names.
5848
5849 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5850
5851         * docs/libs/gstreamer-libs-sections.txt:
5852         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5853         (gst_controller_new_list):
5854         * libs/gst/controller/gstcontroller.h:
5855           added another constructor for language bindings
5856
5857 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5858
5859         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5860           add another check
5861         * gst/gstbus.c:
5862           add some doc
5863         * gst/gstinfo.c: (_gst_debug_init):
5864           slightly more readable color for refcount debugging
5865
5866 2005-09-28  Wim Taymans  <wim@fluendo.com>
5867
5868         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5869         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5870         (find_element), (gst_bin_sort_iterator_next),
5871         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5872         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5873         (gst_bin_change_state), (gst_bin_dispose):
5874         Small doc fixes. get_clock -> provide_clock.
5875
5876         * gst/gstelement.c: (gst_element_class_init),
5877         (gst_element_provides_clock), (gst_element_provide_clock),
5878         (gst_element_get_clock), (gst_element_commit_state),
5879         (gst_element_lost_state):
5880         * gst/gstelement.h:
5881         Make get/set_clock() symetric. Add provide_clock vmethod since
5882         that is actually what this function does.
5883
5884         * gst/gstpipeline.c: (gst_pipeline_class_init),
5885         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5886         (gst_pipeline_get_clock):
5887         get_clock -> provide_clock.
5888
5889 2005-09-28  Andy Wingo  <wingo@pobox.com>
5890
5891         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5892         lieu of real docs...
5893
5894         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5895
5896 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5897
5898         * gst/elements/gstcapsfilter.c:
5899         * gst/elements/gstfakesink.c:
5900         * gst/elements/gstfakesrc.c:
5901         * gst/elements/gstfdsink.c:
5902         * gst/elements/gstfdsrc.c:
5903         * gst/elements/gstfilesink.c:
5904         * gst/elements/gstfilesrc.c:
5905         * gst/elements/gstidentity.c:
5906         * gst/elements/gsttee.c:
5907         * gst/elements/gsttypefindelement.c:
5908           Make element details static.
5909
5910 2005-09-28  Wim Taymans  <wim@fluendo.com>
5911
5912         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5913         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5914         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5915         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5916         (gst_bin_change_state), (gst_bin_dispose):
5917         Some documentation updates.
5918         Clean up dispose handlers.
5919
5920         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5921         * gst/gstpad.c: (gst_pad_dispose):
5922         Clean up dispose handler.
5923
5924         * gst/gstpipeline.c: (gst_pipeline_change_state):
5925         Removed spurious UNLOCK.
5926
5927 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5928
5929         * docs/gst/gstreamer-sections.txt:
5930         * gst/base/gstbasesrc.h:
5931         * gst/gstelement.h:
5932         * gst/gstevent.h:
5933         * gst/gstobject.h:
5934         * gst/gstpad.h:
5935         * gst/gstpipeline.c:
5936         * gst/gstpipeline.h:
5937         * gst/gstutils.h:
5938         * gst/gstxml.h:
5939           added two new functions to the docs
5940                 documents all undocumented GstXXXFlags
5941                 completed some incomplete docs 
5942
5943 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5944
5945         * gst/gstbin.c: (gst_bin_dispose):
5946         * gst/gstelement.c: (gst_element_dispose):
5947           remove now useless and leaky resurrection code in dispose
5948         * gst/base/gstbasesrc.c: (gst_base_src_init):
5949         * gst/gstelementfactory.c: (gst_element_factory_create):
5950         * gst/gstobject.c: (gst_object_set_parent):
5951           add some debugging
5952
5953 2005-09-27  Wim Taymans  <wim@fluendo.com>
5954
5955         * docs/design/part-TODO.txt:
5956         Update TODO.
5957
5958         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5959         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5960         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5961         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5962         (gst_bin_change_state):
5963         * gst/gstelement.h:
5964         Remove element variable, we keep element info in the iterator now.
5965
5966 2005-09-27  Andy Wingo  <wingo@pobox.com>
5967
5968         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5969         values.
5970
5971 2005-09-27  Wim Taymans  <wim@fluendo.com>
5972
5973         * check/gst/gstbin.c: (GST_START_TEST):
5974         Enable check that works now.
5975
5976         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5977         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5978         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5979         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5980         (gst_bin_change_state):
5981         * gst/gstbin.h:
5982         Redid the state change algorithm using a topological sort algo.
5983         Handles all cases correctly.
5984         Exposed iterator for state change order.
5985
5986         * gst/gstelement.h:
5987         Temp storage for state changes. Need to get rid of this soon.
5988
5989 2005-09-27  Wim Taymans  <wim@fluendo.com>
5990
5991         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5992         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5993         (link_fold_func), (gst_pad_proxy_setcaps):
5994         Leak fixes, the fold functions need to unref the passed object and
5995         _get_parent_*() returns ref to parent.
5996
5997 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5998
5999         * check/gst/gstbuffer.c: (test_make_writable):
6000           Plug leak in test case and fix 'make check-valgrind'
6001
6002 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6003
6004         * gst/gstbuffer.c: (gst_subbuffer_init):
6005           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6006           works correctly in all circumstances (we could have just copied
6007           the parent buffer's readonly flag, but conceptually it seems
6008           cleaner to mark all subbuffers as read-only). (based on patch
6009           by Alessandro Decina, #314710).
6010         
6011         * check/gst/gstbuffer.c: (create_read_only_buffer),
6012         (test_make_writable), (test_subbuffer_make_writable),
6013         (gst_test_suite):
6014           Add some tests for gst_buffer_make_writable().
6015
6016 2005-09-27  Wim Taymans  <wim@fluendo.com>
6017
6018         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6019         use gst_object_has_ancestor().
6020
6021         * gst/gstobject.c: (gst_object_has_ancestor):
6022         * gst/gstobject.h:
6023         gst_object_has_ancestor() copied from gstbin.c as it is a
6024         usefull function.
6025
6026         * tests/instantiate/create.c: (create_all_elements):
6027         * tests/lat.c: (handoff_src), (handoff_sink):
6028         * tests/sched/runxml.c: (main):
6029         * tests/seeking/seeking1.c: (main):
6030         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6031         (main):
6032         Fix compilation of some tests.
6033
6034 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6035
6036         * gst/gsterror.h:
6037           Remove comment. GST_TYPE_G_ERROR is here to stay,
6038           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6039           (#316961, #300610).
6040
6041 2005-09-26  Wim Taymans  <wim@fluendo.com>
6042
6043         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6044         Added check that shows error in state change order.
6045
6046 2005-09-26  Wim Taymans  <wim@fluendo.com>
6047
6048         * gst/gstbin.c: (gst_bin_change_state):
6049         Make state change function use 3 queues again, we were
6050         adding elements in the wrong order.
6051
6052         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6053         Some debug info,
6054
6055         * gst/gstpad.c: (gst_pad_dispose):
6056         Added some debug info first.
6057
6058 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6059
6060         * docs/design/draft-push-pull.txt:
6061         * docs/design/part-events.txt:
6062         * docs/design/part-overview.txt:
6063         * docs/design/part-scheduling.txt:
6064           Replace all _pull_region() with _pull_range()
6065           
6066 2005-09-26  Andy Wingo  <wingo@pobox.com>
6067
6068         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6069
6070         * check/gst-libs/controller.c: Update for controller api change.
6071
6072         * configure.ac: 
6073         * tests/Makefile.am:
6074         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6075         over by GLib bug 118439.
6076         
6077         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6078         routines to a function.
6079
6080         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6081
6082         * libs/gst/controller/gsthelper.c:
6083         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6084         (gst_object_sync_values): Renamed from sink_values. Ugh.
6085
6086         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6087
6088         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6089         Renamed from controller_key, as it is exported.
6090
6091         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6092
6093 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6094
6095         * gst/Makefile.am:
6096         * gst/gst.h:
6097         * gst/gstpad.h:
6098         * gst/gstpadtemplate.h:
6099         * gst/gstquery.c:
6100         * gst/gstquery.h:
6101         * gst/gstqueryutils.c:
6102         * gst/gstqueryutils.h:
6103           remove queryutils headers after moving the two used functions
6104           to gstquery.  also fixes build problem for gstsiddec
6105
6106 2005-09-26  Michael Smith <msmith@fluendo.com>
6107
6108         * tools/gst-launch.1.in:
6109         Correct documentation in manpage of debug syntax
6110
6111 2005-09-26  Wim Taymans  <wim@fluendo.com>
6112
6113         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6114         (gst_base_src_is_seekable), (gst_base_src_change_state):
6115         Some more debugging info.
6116
6117 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6118
6119         * docs/gst/gstreamer-sections.txt:
6120         * gst/base/gstbasetransform.h:
6121         * gst/gstindex.h:
6122           added more docs
6123
6124 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6125
6126         * docs/gst/.cvsignore:
6127         * docs/gst/tmpl/.cvsignore:
6128         * docs/gst/tmpl/gstpipeline.sgml:
6129         * docs/gst/tmpl/gstplugin.sgml:
6130         * gst/gstpipeline.c:
6131         * gst/gstplugin.c:
6132         * gst/gstplugin.h:
6133           inlined the last two docs files
6134           removed the tmpl directory from cvs (no more conflicts here!)
6135
6136 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6137
6138         * docs/gst/gstreamer-sections.txt:
6139         * docs/gst/tmpl/.cvsignore:
6140         * docs/gst/tmpl/gstpad.sgml:
6141         * docs/gst/tmpl/gstpadtemplate.sgml:
6142         * gst/Makefile.am:
6143         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6144         (gst_pad_finalize), (gst_pad_set_pad_template):
6145         * gst/gstpad.h:
6146         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6147         (gst_pad_template_class_init), (gst_pad_template_init),
6148         (gst_pad_template_dispose), (name_is_valid),
6149         (gst_static_pad_template_get), (gst_pad_template_new),
6150         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6151         (gst_pad_template_pad_created):
6152         * gst/gstpadtemplate.h:
6153           inlined two more docs
6154           factored gstpadtemplate out of gstpad
6155
6156 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6157
6158         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6159         (test_children_state_change_order_semi_sink):
6160           Fix test case: we can't rely on a fixed state change order when
6161           going from READY => PAUSED because the sink might commit its 
6162           new state first when the first buffer created by the source 
6163           reaches the sink before the source has finished its change state.
6164           (Test case still fails at times, see #316856, comment 5 onwards)
6165
6166 2005-09-24  Wim Taymans  <wim@fluendo.com>
6167
6168         * docs/design/part-events.txt:
6169         * docs/design/part-gstbus.txt:
6170         * docs/design/part-gstpipeline.txt:
6171         * docs/design/part-messages.txt:
6172         * docs/design/part-overview.txt:
6173         * docs/design/part-segments.txt:
6174         * gst/gstbin.c:
6175         * gst/gstbuffer.c:
6176         * gst/gstclock.c:
6177         * gst/gstelement.c:
6178         * gst/gstevent.c:
6179         * gst/gstfilter.c:
6180         * gst/gstiterator.c:
6181         Various documentation updates.
6182
6183 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6184
6185         * gst/gstclock.h:
6186           Well, that's embarassing.  Luckily we weren't using
6187           GST_CLOCK_DIFF anywhere.
6188
6189 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6190
6191         * common/gtk-doc.mak:
6192           don't fail on building XML, FC4 slave shows a bunch of doc
6193           missing bits that I don't get
6194         * gst/gstpad.c:
6195         * gst/gstpipeline.c:
6196         * gst/gststructure.c:
6197           some doc updates
6198
6199 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6200
6201         * docs/design/part-gstbin.txt:
6202         * docs/design/part-gstbus.txt:
6203         * gst/gstbus.c:
6204           Add blurb about how the bus goes into flushing mode and
6205           drops all messages when its bin goes from READY into NULL 
6206           state.
6207
6208 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6209
6210         * docs/gst/gstreamer-sections.txt:
6211         * gst/gststructure.c: (gst_structure_get_clock_time):
6212         * gst/gststructure.h:
6213           add a method to get a GstClockTime out of a structure
6214
6215 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6216
6217         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6218         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6219           Added test to check state change order in bins (can still be made
6220           to fail here under heavy disk load; bails out with 'Push on pad
6221           fakesink:sink0, but it was not activated in push mode').
6222
6223         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6224           Fix state change order when there is only a semi sink (#316856)
6225
6226         * gst/gstbus.c: (gst_bus_class_init):
6227           Use _class_peek_parent(), not _class_ref(); fix docs to say
6228           'default main context' instead of 'mainloop' where that is
6229           what's meant.
6230
6231         * gst/gstelement.c: (gst_element_commit_state),
6232         (gst_element_set_state):
6233           Fix typos in debug messages
6234
6235 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6236
6237         * docs/README:
6238         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6239         * gst/gstpluginfeature.c:
6240         * gst/gstutils.c:
6241           various doc updates
6242         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6243           change an assert into an error until it gets fixed properly
6244
6245 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6246
6247         * docs/gst/gstreamer-sections.txt:
6248         * docs/gst/tmpl/.cvsignore:
6249         * docs/gst/tmpl/gstelement.sgml:
6250         * docs/gst/tmpl/gstinfo.sgml:
6251         * docs/gst/tmpl/gstobject.sgml:
6252         * gst/gstelement.c:
6253         * gst/gstelement.h:
6254         * gst/gstinfo.c:
6255         * gst/gstinfo.h:
6256         * gst/gstobject.c: (gst_object_class_init):
6257         * gst/gstobject.h:
6258           inlined 3 more biiiig doc files and added some missing docs on the fly
6259
6260 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6261
6262         * check/gst/.cvsignore:
6263         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6264         * gst/gstregistryxml.c: (load_plugin),
6265         (gst_registry_xml_save_plugin):
6266           put back source in registry.  add checks for find_plugin.
6267         * testsuite/states/bin.c: (assert_state), (empty_bin),
6268         (test_adding_one_element), (main):
6269         * testsuite/states/locked.c: (main):
6270           some compile/run fixes
6271
6272 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6273
6274         * check/gst/gstvalue.c: (GST_START_TEST):
6275           fix leaks in the test itself
6276
6277 2005-09-22  Wim Taymans  <wim@fluendo.com>
6278
6279         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6280         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6281         (gst_base_sink_query):
6282         Prepare for more accurate position reporting and query
6283         handling.
6284
6285         * gst/gstelement.c: (gst_element_send_event),
6286         (gst_element_set_state):
6287         Add some comment.
6288
6289 2005-09-22  Wim Taymans  <wim@fluendo.com>
6290
6291         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6292         (gst_query_parse_segment):
6293         * gst/gstquery.h:
6294         More documentation.
6295         Add segment query for future use.
6296
6297 2005-09-22  Wim Taymans  <wim@fluendo.com>
6298
6299         * gst/gstbin.c: (gst_bin_add_func):
6300         Some more debug info.
6301
6302         * gst/gstelement.c: (gst_element_send_event):
6303         Simplify send_event
6304
6305         * gst/gstelement.h:
6306         Don't know how flags got broken.
6307
6308         * gst/gstquery.h:
6309         Added new query.
6310
6311 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6312
6313         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6314           Add simplistic test suite for GST_TYPE_DATE serialisation and
6315           deserialisation.
6316
6317 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6318
6319         * docs/gst/gstreamer-sections.txt:
6320         * gst/gststructure.c: (gst_structure_set_valist),
6321         (gst_structure_get_date):
6322         * gst/gststructure.h:
6323         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6324         (gst_date_copy), (gst_value_compare_date),
6325         (gst_value_serialize_date), (gst_value_deserialize_date),
6326         (gst_value_transform_date_string),
6327         (gst_value_transform_string_date), (_gst_value_initialize):
6328         * gst/gstvalue.h:
6329           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6330           bunch of utility functions along with a hack that checks that
6331           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6332           is required. Part of the grand scheme in #170777.
6333
6334 2005-09-22  Andy Wingo  <wingo@pobox.com>
6335
6336         * gst/gstconfig.h.in: Psych out gtk-doc.
6337
6338         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6339
6340         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6341
6342         * tools/gst-inspect.c (print_element_list): Plug some
6343         inconsequential leaks.
6344
6345         * gst/gstregistry.c (gst_registry_get_default): Doc.
6346
6347         * check/gst/gstplugin.c: 
6348         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6349         * gst/gstelementfactory.c (gst_element_factory_create): 
6350         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6351         refcount changes.
6352
6353         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6354         (gst_plugin_feature_load): Doc, don't eat refs.
6355
6356         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6357         (gst_plugin_list_free): Doc.
6358         (gst_plugin_load_file): Doc updates.
6359
6360         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6361         accessors returning refcounted objects, return a ref.
6362
6363         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6364         accessor for caps. IDEMPOTENCE. Oh yes.
6365
6366 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6367
6368         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6369
6370         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6371         (_gst_debug_register_funcptr):
6372           Add mutex to serialise access to the hash table with
6373           the function pointer => function name string mapping;
6374           make that hash table static scope (#316809).
6375
6376         * gst/registries/.cvsignore:
6377           Remove left-over file.
6378
6379 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6380
6381         * docs/pwg/appendix-porting.xml:
6382           And something about newsegment events and caps-on-buffers to
6383           the porting guide (feel free to improve).
6384
6385 2005-09-21  Andy Wingo  <wingo@pobox.com>
6386
6387         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6388         data and event probes on the same pad.
6389         (test_buffer_probe_once): Test that removing probes from within
6390         the probe functions works.
6391
6392 2005-09-21  Andy Wingo  <wingo@pobox.com>
6393
6394         * check/gst/gstutils.c: New file.
6395         (test_buffer_probe_n_times): A simple buffer probe test. More to
6396         come, foolios.
6397
6398         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6399         have-data::buffer, not have-data.
6400         (gst_pad_add_event_probe): Likewise for have-data::event.
6401         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6402         peer' isn't quite right yet though.
6403         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6404         (gst_pad_remove_data_probe): Change to take the guint handler_id
6405         as their arg, not the function+data, which is more glib-like.
6406
6407         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6408         the signal emission to indicate if the data is a buffer or an
6409         event.
6410         (gst_pad_get_type): Initialize buffer and event quarks.
6411         (gst_pad_class_init): have-data is now a detailed signal, yes it
6412         is.
6413
6414 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6415
6416         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6417         * gst/gstutils.c: (gst_util_set_value_from_string),
6418         (gst_util_set_object_arg):
6419           Don't put functional code in g_return_if_fail() or
6420           g_return_val_if_fail() statements, otherwise things will 
6421           break when G_DISABLE_CHECKS is defined during compilation.
6422
6423 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6424
6425         * docs/gst/tmpl/.cvsignore:
6426         * docs/gst/tmpl/gstvalue.sgml:
6427         * gst/gstvalue.c:
6428         * gst/gstvalue.h:
6429           inlied another one and added  some obvious docs
6430
6431 2005-09-21  Wim Taymans  <wim@fluendo.com>
6432
6433         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6434         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6435         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6436         (gst_fdsrc_get_property), (gst_fdsrc_create):
6437         * gst/elements/gstfdsrc.h:
6438         Properly implement fdsrc. Removed signal and timeout,
6439         better implemented somewhere else.
6440
6441 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6442
6443         * docs/gst/tmpl/.cvsignore:
6444         * docs/gst/tmpl/gstimplementsinterface.sgml:
6445         * gst/gstinterface.c:
6446           inlined more docs
6447
6448 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6449
6450         * docs/gst/gstreamer-sections.txt:
6451         * docs/gst/tmpl/.cvsignore:
6452         * docs/gst/tmpl/gstenumtypes.sgml:
6453           remove obsolete doc file
6454
6455 2005-09-21  David Schleef  <ds@schleef.org>
6456
6457         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6458         little beer, fix a little leak.
6459
6460 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6461
6462         * docs/gst/gstreamer-docs.sgml:
6463         * docs/gst/gstreamer-sections.txt:
6464         * docs/gst/tmpl/.cvsignore:
6465         * gst/Makefile.am:
6466         * gst/gst.h:
6467         * gst/gstbin.c:
6468         * gst/gstelement.h:
6469         * gst/gstindex.c: (gst_index_class_init):
6470         * gst/gstindex.h:
6471         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6472         (gst_index_factory_class_init), (gst_index_factory_init),
6473         (gst_index_factory_finalize), (gst_index_factory_new),
6474         (gst_index_factory_destroy), (gst_index_factory_find),
6475         (gst_index_factory_create), (gst_index_factory_make):
6476         * gst/gstindexfactory.h:
6477         * gst/gstpluginfeature.c:
6478         * gst/gstpluginfeature.h:
6479         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6480           more docs inlined, splitted gstindex.{c,h}
6481
6482 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6483
6484         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6485           fix a leak
6486
6487 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6488
6489         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6490           Set sync to FALSE by default.
6491
6492 2005-09-20  Wim Taymans  <wim@fluendo.com>
6493
6494         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6495         (gst_base_sink_init):
6496         Make sync property settable from subclass.
6497
6498         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6499         (gst_fake_sink_change_state):
6500         Set sync to FALSE by default.
6501
6502 2005-09-20  Wim Taymans  <wim@fluendo.com>
6503
6504         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6505         * tools/gst-launch.c: (main):
6506         The timeout handler should have lower priority than the source
6507         so we don't timeout before popping a message with 0 timeout.
6508         Dump error messages after failed state change.
6509
6510 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6511
6512         * tools/gst-inspect.c: (print_element_properties_info):
6513           Fix two typos.
6514
6515 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6516
6517         * check/gst/gstevent.c:
6518         * gst/elements/gstfakesink.c:
6519         * gst/elements/gstfakesink.h:
6520           remove the sync property from fakesink.
6521           has the side effect of setting sync TRUE
6522           for fakesink, which is a change.  Anyone who knows how
6523           to fix this nicely in a GObject-y way, feel free.
6524
6525 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6526
6527         * docs/gst/gstreamer-docs.sgml:
6528           remove probe refsection
6529
6530 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6531
6532         * check/Makefile.am:
6533           disable valgrinding the controller test again
6534         * docs/gst/gstreamer-sections.txt:
6535           update for api-changes
6536
6537 2005-09-20  Wim Taymans  <wim@fluendo.com>
6538
6539         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6540         (gst_base_sink_set_property), (gst_base_sink_get_property),
6541         (gst_base_sink_do_sync):
6542         * gst/base/gstbasesink.h:
6543         Added sync property to basesink to disable clock sync.
6544
6545 2005-09-20  Andy Wingo  <wingo@pobox.com>
6546
6547         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6548         eating the caller's refcount.
6549
6550         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6551         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6552         refcount.
6553
6554         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6555         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6556         of GLib 2.8 public, so we can know which refcount to check in
6557         tests.
6558
6559         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6560         (gst_object_init): Only set the gst refcount if we're going ahead
6561         with the refcount hack.
6562
6563 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6564
6565         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6566         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6567           more leaks plumbed, added more debug-logging
6568         * gst/gstmacros.h:
6569           whitespace fix
6570
6571 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6572
6573         * gst/gstmessage.c:
6574           remove include of gstmemchunk.h
6575
6576 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6577
6578         * gst/gstclock.c: (_gst_clock_id_free):
6579           Commit from the Political Party For More Atomic CVS Commits,
6580           so that people don't waste too much of their day fishing
6581           out obvious leaks out of massive commits.
6582           Oh, and fix a pretty damn obvious leak in the memchunk
6583           removal code.
6584
6585 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6586
6587         * check/Makefile.am:
6588         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6589           plug mem-leak, re-add to valgrindable tests
6590
6591 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6592
6593         * gst/gstplugin.h:
6594           unbreak the build for those who have chronic arthritis
6595           and typing "make check" is just too taxing on the hands
6596
6597 2005-09-20  Andy Wingo  <wingo@pobox.com>
6598
6599         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6600         really want it out, you should fix plugins at the same time.
6601
6602 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6603
6604         * configure.ac:
6605         * docs/gst/gstreamer-sections.txt:
6606         * gst/gstobject.c:
6607           added missing symbols to api docs
6608           disable ref-count hack if we have glib >= 2.8
6609
6610 2005-09-19  David Schleef  <ds@schleef.org>
6611
6612         * docs/gst/Makefile.am: Ignore a few more internal headers
6613         * docs/gst/gstreamer-docs.sgml: Remove old sections
6614         * docs/gst/gstreamer-sections.txt: Remove old sections
6615         * docs/gst/tmpl/gstobject.sgml: update
6616         * docs/gst/tmpl/gstplugin.sgml: update
6617         * docs/gst/tmpl/gstpluginfeature.sgml: update
6618         * docs/random/ds/0.9-suggested-changes: update.
6619         * gst/Makefile.am: remove memchunk and trashstack, since they're
6620           not used.
6621         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6622         * gst/gst.h: don't include some headers
6623         * gst/gstchildproxy.c: add gstmarshal.h
6624         * gst/gstclock.c: Don't use memchunks
6625         * gst/gstminiobject.c: Add some docs
6626         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6627         * gst/gstobject.h: same
6628         * gst/gstplugin.c: include gstmacros.h
6629         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6630         * gst/gstquery.c: don't use memchunks
6631         * gst/gstregistry.c: rename gst_registry_deinit()
6632         * gst/gstregistry.h: same
6633
6634 2005-09-19  David Schleef  <ds@schleef.org>
6635
6636         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6637         * docs/libs/gstreamer-libs-sections.txt:
6638         * docs/libs/tmpl/gstgetbits.sgml:
6639         * docs/libs/tmpl/gstputbits.sgml:
6640
6641 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6642
6643         * win32/gstenumtypes.c:
6644         * win32/gstenumtypes.h:
6645           Update.
6646
6647 2005-09-19  Wim Taymans  <wim@fluendo.com>
6648
6649         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6650         Automatically PAUSE and RESUME a pipeline when a flushing seek
6651         is performed.
6652
6653 2005-09-19  Andy Wingo  <wingo@pobox.com>
6654
6655         * gst/gstregistry.h: Spacing fixen.
6656
6657 2005-09-19  Wim Taymans  <wim@fluendo.com>
6658
6659         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6660         Handle state change failure more correctly.
6661
6662 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6663
6664         * check/Makefile.am:
6665         * check/pipelines/cleanup.c: (run_pipeline):
6666         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6667         (GST_START_TEST):
6668           enable cleanup again after fixing the leak
6669         * docs/README:
6670           some more info on docs
6671
6672 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6673
6674         * check/Makefile.am:
6675           re-enable tests now that leaks are plugged
6676         * check/gst/gst.c:
6677         * check/gst/gstbin.c:
6678         * check/gst/gstpipeline.c:
6679           add some more tests while fixing leaks
6680         * common/check.mak:
6681           make sure binaries are uptodate when valgrinding/gdbing
6682         * gst/gst.c:
6683         * gst/gstelementfactory.c:
6684           remove a ref too many, and add a FIXME for when we get
6685           round to disposing of classes
6686         * gst/gstplugin.c:
6687           fix the refcounting when loading a plugin from a file and
6688           the code pretends that the pointer is the same even though
6689           of course it can change
6690         * gst/gstpluginfeature.c:
6691           unref plugins marked cached (a bit confusing as a name)
6692           as the docs state should be done
6693           various doc additions to explain refcounting
6694         * gst/gstregistry.c:
6695         * gst/gstregistryxml.c:
6696           debugging
6697
6698 2005-09-19  Wim Taymans  <wim@fluendo.com>
6699
6700         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6701         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6702         (send_messages), (GST_START_TEST), (gstbus_suite):
6703         * check/gst/gstpipeline.c: (GST_START_TEST):
6704         * check/pipelines/cleanup.c: (run_pipeline):
6705         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6706         (GST_START_TEST):
6707         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6708         (gst_bus_source_check), (gst_bus_source_dispatch),
6709         (gst_bus_create_watch), (gst_bus_add_watch_full),
6710         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6711         * gst/gstbus.h:
6712         * tools/gst-launch.c: (event_loop):
6713         * tools/gst-md5sum.c: (event_loop):
6714         GstBusHandler -> GstBusFunc, return value has the same meaning as
6715         any other GSource (FALSE == remove source).
6716         _add_watch() and _add_watch_full() now take a MessageType mask to
6717         only handle specific types of messages.
6718         _poll() returns the GstMessage instead of the message type to avoid
6719         race conditions.
6720         _have_pending() takes a MessageType mask now too.
6721         Added testsuite for multiple bus watches.
6722         Fix testsuites and applications for new bus API.
6723
6724 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6725
6726         * check/Makefile.am:
6727           mark a bunch of the tests as to fix until we fix them
6728
6729 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6730
6731         * common/check.mak:
6732           use GST_PLUGIN settings for valgrind tests as well, so we're
6733           valgrinding the correct thing
6734         * gst/gst.c: (init_post):
6735           plug another leak
6736
6737 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6738
6739         * gst/gst.c: (init_post), (gst_deinit):
6740         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6741         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6742         * gst/gstindex.c: (gst_index_factory_class_init),
6743         (gst_index_factory_finalize):
6744         * gst/gstobject.c: (gst_object_dispose):
6745         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6746         (gst_plugin_load_file), (gst_plugin_desc_free):
6747         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6748         (gst_plugin_feature_finalize):
6749         * gst/gstregistry.c: (gst_registry_class_init),
6750         (gst_registry_init), (gst_registry_finalize),
6751         (gst_registry_get_default), (gst_registry_deinit):
6752         * gst/gstregistry.h:
6753         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6754           various cleanups and memleak plugging.  make valgrind is happy now.
6755
6756 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6757
6758         * common/check.mak:
6759           add a check-valgrind target
6760
6761 2005-09-18  David Schleef  <ds@schleef.org>
6762
6763         * tools/gst-inspect.c: Revert the GOption code.
6764
6765 2005-09-17  David Schleef  <ds@schleef.org>
6766
6767         * check/Makefile.am: Fix environment variables.
6768         * check/gst/gstplugin.c: Fix for API changes.
6769         * tools/gst-inspect.c: Fix for API changes.
6770         * tools/gst-xmlinspect.c: Fix for API changes.
6771         * gst/gstelementfactory.c:
6772         * gst/gstplugin.c:
6773         * gst/gstplugin.h:
6774         * gst/gstpluginfeature.c:
6775         * gst/gstpluginfeature.h:
6776         * gst/gstregistry.c:
6777         * gst/gstregistry.h:
6778         * gst/gstregistryxml.c:
6779         * gst/gsttypefind.c:
6780         * gst/gsttypefindfactory.c:
6781         * gst/indexers/gstfileindex.c:
6782         * gst/indexers/gstmemindex.c:
6783         * gst/schedulers/Makefile.am:
6784           Change registry to keep track of both plugins and features,
6785           removing the feature tracking from plugins themselves.
6786
6787 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6788
6789         * check/Makefile.am:
6790         * tools/gst-register.1.in:
6791           remove gst-register
6792
6793 2005-09-15  David Schleef  <ds@schleef.org>
6794
6795         * check/gst/gstplugin.c:
6796         * gst/gstelementfactory.c:
6797         * gst/gstplugin.c:
6798         * gst/gstpluginfeature.c:
6799         * gst/gstregistry.c:
6800           Getting tired of debugging.  Disabled all the unreffing of
6801           plugins and features, which fixes the segfaults, but of
6802           course leaks like crazy.  At least playbin works.
6803
6804 2005-09-15  David Schleef  <ds@schleef.org>
6805
6806         * check/gst/gstplugin.c: (register_check_elements),
6807         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6808         More testing
6809         * gst/elements/gsttypefindelement.c: Fix refcounting.
6810         * gst/gsttypefind.c:
6811         * gst/gsttypefindfactory.c:
6812         * gst/gsttypefindfactory.h:
6813
6814 2005-09-15  David Schleef  <ds@schleef.org>
6815
6816         * gst/gstindex.c: get refcounting correct.
6817         * gst/gstregistry.c: Handle the case where a feature/plugin is
6818           not found.
6819
6820 2005-09-15  David Schleef  <ds@schleef.org>
6821
6822         * check/Makefile.am:
6823         * check/gst/gstplugin.c: Add test
6824         * gst/gstplugin.c: Fix problems noticed by testsuite
6825         * gst/gstplugin.h:
6826         * gst/gstregistry.c: 
6827         * gst/gstregistry.h:
6828
6829 2005-09-15  David Schleef  <ds@schleef.org>
6830
6831         * gst/gstplugin.c: Implement semi-decent recounting and locking
6832           in plugins and plugin features.
6833         * gst/gstplugin.h:
6834         * gst/gstpluginfeature.c:
6835         * gst/gstpluginfeature.h:
6836         * gst/gstregistry.c:
6837
6838 2005-09-15  Michael Smith <msmith@fluendo.com>
6839
6840         * gst/gstregistry.c: (gst_registry_get_feature_list):
6841           Implement this. Makes oggdemux work; decodebin still broken.
6842
6843 2005-09-14  David Schleef  <ds@schleef.org>
6844
6845         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6846           #316076)
6847         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6848         * gst/check/Makefile.am:
6849         * libs/gst/controller/Makefile.am:
6850         * libs/gst/dataprotocol/Makefile.am:
6851
6852 2005-09-14  David Schleef  <ds@schleef.org>
6853
6854         * configure.ac: Remove getbits library.  Nothing uses it, and
6855           it should be in something like liboil if someone did want
6856           to use it.
6857         * libs/gst/Makefile.am:
6858         * libs/gst/getbits/Makefile.am:
6859         * libs/gst/getbits/gbtest.c:
6860         * libs/gst/getbits/getbits.c:
6861         * libs/gst/getbits/getbits.h:
6862         * libs/gst/getbits/gstgetbits_generic.c:
6863         * libs/gst/getbits/gstgetbits_i386.s:
6864         * libs/gst/getbits/gstgetbits_inl.h:
6865
6866 2005-09-14  David Schleef  <ds@schleef.org>
6867
6868         * gst/Makefile.am: Dist glib-compat.h
6869
6870 2005-09-14  David Schleef  <ds@schleef.org>
6871
6872         * configure.ac: Remove gst/registries, since it's no longer used.
6873         * gst/registries/Makefile.am:
6874         * gst/registries/gstlibxmlregistry.c:
6875         * gst/registries/gstlibxmlregistry.h:
6876         * gst/registries/gstxmlregistry.c:
6877         * gst/registries/gstxmlregistry.h:
6878         * gst/registries/registrytest.c:
6879
6880 2005-09-14  David Schleef  <ds@schleef.org>
6881
6882         * gst/glib-compat.h:
6883         * gst/gstregistryxml.c:
6884           Convergence is near.  Seriously.
6885
6886 2005-09-14  David Schleef  <ds@schleef.org>
6887
6888         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6889         * gst/glib-compat.h:
6890           Attempt #4 to appease the buildbots.
6891
6892 2005-09-14  David Schleef  <ds@schleef.org>
6893
6894         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6895           Attempt #3.
6896
6897 2005-09-14  David Schleef  <ds@schleef.org>
6898
6899         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6900         Attempt #2.
6901
6902 2005-09-14  David Schleef  <ds@schleef.org>
6903
6904         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6905           the new functions.
6906
6907 2005-09-14  David Schleef  <ds@schleef.org>
6908
6909         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6910         * gst/glib-compat.h: Add some functions that are in newer versions
6911           of glib than we care to require.
6912         * gst/gstregistryxml.c: Use them.
6913
6914 2005-09-14  David Schleef  <ds@schleef.org>
6915
6916         * po/POTFILES.in: remove gst-register.c
6917
6918 2005-09-14  David Schleef  <ds@schleef.org>
6919
6920         * docs/gst/gstreamer-docs.sgml:
6921         * docs/gst/gstreamer-sections.txt:
6922         * docs/gst/gstreamer.types:
6923         * docs/gst/tmpl/gstelement.sgml:
6924         * docs/gst/tmpl/gstplugin.sgml:
6925         * docs/gst/tmpl/gstpluginfeature.sgml:
6926           Documentation updates for registry changes.
6927
6928 2005-09-14  David Schleef  <ds@schleef.org>
6929
6930         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6931           because we don't require glib-2.8.
6932
6933 2005-09-14  David Schleef  <ds@schleef.org>
6934
6935         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6936           registries directory.
6937
6938 2005-09-14  David Schleef  <ds@schleef.org>
6939
6940         * check/Makefile.am:
6941         * check/generic/states.c:
6942         * gst/Makefile.am:
6943         * gst/gst.c:
6944         * gst/gst.h:
6945         * gst/gst_private.h:
6946         * gst/gstelementfactory.c:
6947         * gst/gstindex.c:
6948         * gst/gstinfo.c:
6949         * gst/gstplugin.c:
6950         * gst/gstplugin.h:
6951         * gst/gstpluginfeature.c:
6952         * gst/gstpluginfeature.h:
6953         * gst/gstregistry.c:
6954         * gst/gstregistry.h:
6955         * gst/gstregistrypool.c: remove
6956         * gst/gstregistrypool.h: remove
6957         * gst/gsttypefind.c:
6958         * gst/gsttypefindfactory.c:
6959         * gst/gsturi.c:
6960         * tools/Makefile.am:
6961         * tools/gst-compprep.c:
6962         * tools/gst-inspect.c:
6963         * tools/gst-register.c: remove
6964         * tools/gst-xmlinspect.c:
6965           Registry rewrite.  Changes registry from being a file created
6966           by a tool into a simple cache file created automatically by 
6967           libgstreamer.  Removed gst-register (because it's no longer
6968           needed).  Remove registry pools, because we only have one
6969           registry implementation (XML).  Fix up other subsystems as
6970           necessary.
6971
6972 2005-09-13  Michael Smith <msmith@fluendo.com>
6973
6974         * gst/gstconfig.h.in:
6975           Don't Use windows linking attributes for MinGW. Fixes #316157
6976
6977 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6978
6979         * gst/gstutils.c: (set_state_async_thread_func),
6980         (gst_element_set_state_async):
6981           Apparently people think it's better if this function doesn't
6982           try to set the state to whatever state was asked for on the first
6983           call to this function for any object.  Seriously.
6984
6985 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6986
6987         * check/gst/gstpipeline.c: (GST_START_TEST):
6988         * docs/gst/gstreamer-sections.txt:
6989         * gst/gstutils.c: (set_state_async_thread_func),
6990         (gst_element_set_state_async):
6991         * gst/gstutils.h:
6992           add a "gst_element_set_state_async" method that
6993           sets the state and starts a thread to make sure the state
6994           change completes as best as it can
6995
6996 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6997
6998         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6999           codify design+behaviour in testsuite after discussion
7000
7001 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7002
7003         * docs/gst/tmpl/gstelement.sgml:
7004         * docs/manual/appendix-quotes.xml:
7005           add a quote
7006         * gst/gstelement.c: (gst_element_set_state):
7007           add some debug
7008
7009 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7010
7011         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7012         (gst_base_transform_prepare_output_buf),
7013         (gst_base_transform_handle_buffer):
7014         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7015         (gst_capsfilter_prepare_buf):
7016           Remove the requirement for sub-classes to call the parent
7017           implementation of prepare_output_buffer with a wrapper function.
7018           
7019         * gst/gsttaglist.h:
7020         * gst/gsttagsetter.h:
7021           Fix #define wrapper
7022
7023 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7024
7025         * docs/gst/gstreamer-sections.txt:
7026           more doc cleanups
7027
7028 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7029
7030         * docs/gst/gstreamer-sections.txt:
7031         * docs/gst/tmpl/gstelement.sgml:
7032         * docs/gst/tmpl/gstplugin.sgml:
7033         * gst/gstminiobject.c:
7034         * gst/gstvalue.h:
7035           docs now stop throwing warnings
7036
7037 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7038
7039         * docs/gst/gstreamer-sections.txt:
7040         * docs/gst/gstreamer.types:
7041         * docs/gst/tmpl/gstpad.sgml:
7042         * docs/gst/tmpl/gsttypes.sgml:
7043         * gst/base/gstadapter.h:
7044         * gst/base/gstbasesink.h:
7045         * gst/base/gstbasesrc.h:
7046         * gst/gstbin.h:
7047         * gst/gstbuffer.h:
7048         * gst/gstbus.h:
7049         * gst/gstcaps.h:
7050         * gst/gstclock.h:
7051         * gst/gstelement.h:
7052         * gst/gstevent.h:
7053         * gst/gstmessage.h:
7054         * gst/gstpad.h:
7055         * gst/gststructure.c:
7056         * gst/registries/gstlibxmlregistry.h:
7057           various documentation fixes
7058
7059 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7060
7061         * docs/gst/gstreamer-sections.txt:
7062         * docs/gst/tmpl/gstvalue.sgml:
7063           rearrange gstvalue section
7064         * gst/gstutils.c: (gst_element_state_get_name):
7065           NONE -> VOID
7066         * gst/gstvalue.c: (_gst_value_initialize):
7067         * gst/gstvalue.h:
7068           doc updates
7069
7070 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7071
7072         * check/gst-libs/controller.c:
7073           Header include fix.
7074         * gst/base/gstbasetransform.c:
7075         (gst_base_transform_default_prepare_buf),
7076         (gst_base_transform_handle_buffer):
7077         * gst/base/gstbasetransform.h:
7078           Some more basetransform changes and fixes to enable sub-classes
7079           that modify buffer metadata only.
7080         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7081         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7082         (gst_capsfilter_prepare_buf):
7083           If the output pad has fixed allowed caps and input buffers 
7084           don't have any, set the fixed caps on outgoing buffers.
7085
7086 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7087         * check/elements/identity.c: (GST_START_TEST):
7088           Make the error a little clearer when the test fails because
7089           identity made a copy of the buffer.
7090         * docs/gst/gstreamer-sections.txt:
7091           New symbols in gstbasetransform.h
7092         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7093         (gst_base_transform_init), (gst_base_transform_transform_size),
7094         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7095         (gst_base_transform_default_prepare_buf),
7096         (gst_base_transform_get_unit_size),
7097         (gst_base_transform_buffer_alloc),
7098         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7099         (gst_base_transform_change_state),
7100         (gst_base_transform_set_passthrough),
7101         (gst_base_transform_set_in_place),
7102         (gst_base_transform_is_in_place):
7103         * gst/base/gstbasetransform.h:
7104           Change BaseTransform to separate in_place operate from same_caps
7105           output. in_place implies that the element can perform the transform
7106           on incoming buffers in-place, even if the caps on the output are
7107           different.
7108           Sub-class elements can now implement special buffer allocation
7109           methods for outgoing buffers if they wish to.
7110           Big documentation addition.
7111         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7112         * gst/elements/gstelements.c:
7113           Changes for basetransform modifications.
7114         * gst/elements/Makefile.am:
7115         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7116           Compile fix. Extra debug output.
7117
7118 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7119
7120         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7121         (gst_pad_suite):
7122           add tests for valid pad naming
7123         * gst/check/gstcheck.c: (gst_check_log_message_func),
7124         (gst_check_log_critical_func):
7125           add ASSERT_WARNING
7126           remove printing of code, it is fragile when the code contains
7127           % and the line number is enough info
7128         * gst/check/gstcheck.h:
7129         * gst/gstpad.c: (gst_pad_template_new):
7130           fix memleaks
7131
7132 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7133
7134         * configure.ac:
7135           say what CHECK flags we use
7136         * docs/libs/gstreamer-libs.types:
7137         * libs/gst/controller/Makefile.am:
7138         * libs/gst/controller/gst-controller.c:
7139         * libs/gst/controller/gst-controller.h:
7140         * libs/gst/controller/gst-helper.c:
7141         * libs/gst/controller/gst-interpolation.c:
7142         * libs/gst/controller/gstcontroller.c:
7143         * libs/gst/controller/gsthelper.c:
7144         * libs/gst/controller/gstinterpolation.c:
7145         * tools/gst-inspect.c: (print_plugin_info):
7146           we don't use dashes in header names
7147
7148 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7149
7150         * check/Makefile.am:
7151         * check/gst/.cvsignore:
7152         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7153         (gst_pipeline_suite), (main):
7154           adding a test for pipelines and state changes
7155         * gst/gstutils.c: (get_state_func):
7156           add some debugging
7157         * gstreamer.spec.in:
7158           fix up spec file
7159
7160 2005-09-08  Michael Smith <msmith@fluendo.com>
7161
7162         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7163         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7164         (gst_file_src_is_seekable), (gst_file_src_get_size),
7165         (gst_file_src_start):
7166         * gst/elements/gstfilesrc.h:
7167           Various fixes for unseekable, unmmapable, and non-normal files, so
7168           that fallback to read() rather than mmap() works.
7169         * gst/gstevent.c: (gst_event_new_newsegment):
7170           Allow newsegment events with segment_start == segment_end, as will
7171           correctly happen if you use filesrc on a zero-size file, for
7172           example.
7173
7174 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7175
7176         * gst/gstplugin.c: (gst_plugin_load_file):
7177           Call g_module_close when we don't load the module
7178
7179         * gst/registries/gstlibxmlregistry.c:
7180         (gst_xml_registry_get_property):
7181           Port leak fix from 0.8
7182
7183 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7184
7185         * docs/gst/gstreamer-docs.sgml:
7186         * docs/gst/tmpl/.cvsignore:
7187         * docs/gst/tmpl/gsttrace.sgml:
7188         * docs/gst/tmpl/gsttrashstack.sgml:
7189         * gst/Makefile.am:
7190         * gst/gst.h:
7191         * gst/gstelement.h:
7192         * gst/gstevent.h:
7193         * gst/gstmessage.c:
7194         * gst/gstmessage.h:
7195         * gst/gsttag.c:
7196         * gst/gsttag.h:
7197         * gst/gsttaginterface.c:
7198         * gst/gsttaginterface.h:
7199         * gst/gsttaglist.c:
7200         * gst/gsttaglist.h:
7201         * gst/gsttagsetter.c:
7202         * gst/gsttagsetter.h:
7203         * gst/gsttrace.c:
7204         * gst/gsttrace.h:
7205         * gst/gsttrashstack.c:
7206           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7207           inlined docs for gsttrace, gsttrashstack
7208
7209 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7210
7211         * gst/Makefile.am:
7212         * gst/elements/gstbufferstore.h:
7213         * gst/elements/gsttypefindelement.c:
7214         * gst/elements/gsttypefindelement.h:
7215         * gst/gst.h:
7216         * gst/gsttypefind.c:
7217         * gst/gsttypefind.h:
7218         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7219         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7220         (gst_type_find_factory_dispose),
7221         (gst_type_find_factory_unload_thyself),
7222         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7223         (gst_type_find_factory_get_caps),
7224         (gst_type_find_factory_get_extensions),
7225         (gst_type_find_factory_call_function):
7226         * gst/gsttypefindfactory.h:
7227         * gst/registries/gstlibxmlregistry.c:
7228         * gst/registries/gstxmlregistry.c:
7229           splitted gsttypefind into gsttypefind, gsttypefindfactory
7230
7231 2005-09-07  Andy Wingo  <wingo@pobox.com>
7232
7233         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7234         condition whereby the pad's task function is entered before the
7235         pad_mode variable was set.
7236
7237 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7238
7239         * gst/gstpad.c: (gst_pad_alloc_buffer):
7240           Catch misbehaving pad_alloc functions that don't
7241           set up caps and do it for them.
7242
7243 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7244
7245         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7246           test for pipe!=NULL
7247         * docs/gst/tmpl/.cvsignore:
7248         * docs/gst/tmpl/gstmemchunk.sgml:
7249         * docs/gst/tmpl/gstparse.sgml:
7250         * docs/gst/tmpl/gsttaglist.sgml:
7251         * docs/gst/tmpl/gsttagsetter.sgml:
7252         * docs/gst/tmpl/gsttypefind.sgml:
7253         * docs/gst/tmpl/gsttypefindfactory.sgml:
7254         * gst/gstmemchunk.c:
7255         * gst/gstparse.c:
7256         * gst/gsttag.c:
7257         * gst/gsttaginterface.c:
7258         * gst/gsttypefind.c:
7259         * gst/gsttypefind.h:
7260           inlined more docs
7261
7262 === release 0.9.2 ===
7263
7264 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7265
7266         * NEWS:
7267         * RELEASE:
7268         * configure.ac:
7269           releasing 0.9.2, "South"
7270
7271 2005-09-05  Andy Wingo  <wingo@pobox.com>
7272
7273         * gst/registries/gstxmlregistry.h:
7274         * gst/registries/gstxmlregistry.c: Um... resurrect...
7275         
7276         * gst/registries/gstxmlregistry.h:
7277         * gst/registries/gstxmlregistry.c: and update to newer API.
7278         Incidentally they should be a bit faster now that they don't have
7279         to parse the caps.
7280         
7281 2005-09-05  Andy Wingo  <wingo@pobox.com>
7282
7283         * gst/registries/gstxmlregistry.h:
7284         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7285         replaced by the libxml registry a while back
7286
7287 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7288
7289         * docs/gst/tmpl/gstplugin.sgml:
7290         * gst/elements/gstelements.c:
7291         * gst/gst.c:
7292         * gst/gstplugin.c: (gst_plugin_register_func),
7293         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7294         (gst_plugin_get_source):
7295         * gst/gstplugin.h:
7296         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7297         (gst_xml_registry_save_plugin):
7298         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7299         (gst_xml_registry_save_plugin):
7300         * tools/gst-inspect.c: (print_plugin_info):
7301           add a "source" plugin description field, to represent the source
7302           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7303           will set it to PACKAGE, which is automake's idea of the name of
7304           the source project.
7305
7306 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7307
7308         * Makefile.am:
7309         * autogen.sh:
7310         * configure.ac:
7311         * docs/Makefile.am:
7312         * docs/faq/Makefile.am:
7313         * docs/gst/tmpl/gstelement.sgml:
7314         * docs/gst/tmpl/gsttypes.sgml:
7315         * docs/htmlinstall.mak:
7316         * docs/manual/Makefile.am:
7317         * docs/pwg/Makefile.am:
7318           reorganize doc build a little
7319           split out docbook and gtk-doc stuff
7320           have two separate --enable's and enable them through autogen
7321           but disable by default in configure (to be similar to other
7322           projects)
7323         * gstreamer.spec.in:
7324           clean up docs install
7325         * po/af.po:
7326         * po/az.po:
7327         * po/ca.po:
7328         * po/cs.po:
7329         * po/de.po:
7330         * po/en_GB.po:
7331         * po/fr.po:
7332         * po/it.po:
7333         * po/nb.po:
7334         * po/nl.po:
7335         * po/ru.po:
7336         * po/sq.po:
7337         * po/sr.po:
7338         * po/sv.po:
7339         * po/tr.po:
7340         * po/uk.po:
7341         * po/vi.po:
7342           translation updates
7343
7344 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7345
7346         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7347           Add comment.
7348           
7349         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7350         (gst_fake_sink_change_state):
7351           Make state change function thread-safe.
7352           
7353         * gst/gstpad.c: (gst_pad_alloc_buffer):
7354           Set offset on generic buffer allocated by fallback.
7355
7356 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7357
7358         * docs/gst/gstreamer-sections.txt:
7359         * docs/gst/tmpl/gstelement.sgml:
7360         * gst/gstpad.c:
7361         * libs/gst/controller/gst-controller.c:
7362         (gst_controlled_property_set_interpolation_mode),
7363         (gst_controlled_property_new),
7364         (gst_controller_find_controlled_property):
7365          run the wingo-magic script against the docs
7366
7367 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7368
7369         * docs/gst/gstreamer-docs.sgml:
7370         * docs/gst/gstreamer-sections.txt:
7371         * docs/gst/tmpl/.cvsignore:
7372         * docs/gst/tmpl/gstelementdetails.sgml:
7373         * docs/gst/tmpl/gstelementfactory.sgml:
7374         * gst/gst.c:
7375         * gst/gstbus.c:
7376         * gst/gstelementfactory.c:
7377         * gst/gstelementfactory.h:
7378           merged elementdetails docs into elementfactory docs
7379           inlined both
7380
7381 2005-09-02  Andy Wingo  <wingo@pobox.com>
7382
7383         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7384         consider this enum an enum and not a flags.
7385
7386 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7387
7388         * docs/gst/gstreamer-docs.sgml:
7389         * docs/gst/tmpl/.cvsignore:
7390         * docs/gst/tmpl/gstghostpad.sgml:
7391         * docs/gst/tmpl/gstiterator.sgml:
7392         * docs/gst/tmpl/gstmacros.sgml:
7393         * docs/gst/tmpl/gstrealpad.sgml:
7394         * docs/gst/tmpl/gstregistry.sgml:
7395         * docs/gst/tmpl/gstregistrypool.sgml:
7396         * docs/gst/tmpl/gststructure.sgml:
7397         * docs/gst/tmpl/gstsystemclock.sgml:
7398         * docs/gst/tmpl/gsttrace.sgml:
7399         * gst/gstghostpad.c:
7400         * gst/gstmacros.h:
7401         * gst/gstmemchunk.c:
7402         * gst/gstmemchunk.h:
7403         * gst/gstqueue.c:
7404         * gst/gstregistry.c:
7405         * gst/gstregistrypool.c:
7406         * gst/gststructure.c:
7407         * gst/gstsystemclock.c:
7408           more docs inlined
7409
7410 2005-09-02  Andy Wingo  <wingo@pobox.com>
7411
7412         * gst/gstelement.h (GstState): Renamed from GstElementState,
7413         changed to be a normal enum instead of flags.
7414         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7415         munged to be GST_STATE_CHANGE_*.
7416         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7417         work with the new state representation.
7418         (GstStateChange): New enumeration of possible state transitions.
7419         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7420         (GstElementClass::change_state): Pass the GstStateChange along as
7421         an argument. Helps language bindings, so they don't have to use
7422         tricky lock-needing macros like GST_STATE_CHANGE ().
7423
7424         * scripts/update-states (file): New script. Run it on a file to
7425         update it for state naming and API changes. Updates files in
7426         place.
7427
7428         * All files updated for the new API.
7429
7430 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7431
7432         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7433         * gst/gstutils.c: (gst_util_set_value_from_string),
7434         (gst_util_set_object_arg):
7435           fix a bunch of unchecked return values
7436         * tools/gst-complete.c: (main):
7437         * gstreamer.spec.in:
7438           clean up a little
7439
7440 2005-09-01  Wim Taymans  <wim@fluendo.com>
7441
7442         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7443         (gst_base_sink_event), (gst_base_sink_do_sync),
7444         (gst_base_sink_handle_event):
7445         * gst/base/gstbasesink.h:
7446         Handle newsegments more correctly.
7447
7448         * gst/gstbus.c:
7449         Fix docs.
7450
7451         * gst/gstevent.c: (gst_event_new_newsegment):
7452         A newsegment cannot have a start_time of -1
7453
7454 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7455
7456         * win32/gstenumtypes.c:
7457         * win32/gstenumtypes.h:
7458           Update
7459
7460 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7461
7462         * libs/gst/controller/gst-controller.c:
7463         (gst_controlled_property_set_interpolation_mode),
7464         (gst_controlled_property_new):
7465          fixed boolean again
7466
7467 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7468
7469         * docs/faq/gst-uninstalled:
7470           add -good
7471         * gst/gstevent.c:
7472         * gst/gstevent.h:
7473           remove wrong docs
7474         * gst/gstutils.c: (gst_element_link_filtered):
7475         * gst/gstutils.h:
7476           add gst_element_link_filtered
7477
7478 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7479
7480         * docs/gst/gstreamer-docs.sgml:
7481         * docs/gst/gstreamer-sections.txt:
7482         * docs/gst/tmpl/.cvsignore:
7483         * docs/gst/tmpl/gsterror.sgml:
7484         * docs/gst/tmpl/gstfilter.sgml:
7485         * docs/gst/tmpl/gsturihandler.sgml:
7486         * docs/gst/tmpl/gsturitype.sgml:
7487         * docs/gst/tmpl/gstutils.sgml:
7488         * docs/gst/tmpl/gstxml.sgml:
7489         * gst/gsterror.c:
7490         * gst/gsterror.h:
7491         * gst/gstfilter.c:
7492         * gst/gsturi.c:
7493         * gst/gsturitype.c:
7494         * gst/gstutils.c:
7495         * gst/gstxml.c:
7496           inlined more docs, fixed double id-ref
7497
7498 2005-08-31  Wim Taymans  <wim@fluendo.com>
7499
7500         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7501         (gst_base_transform_handle_buffer):
7502         Passthrough elements don't need the caps as they don't care.
7503
7504 2005-08-31  Wim Taymans  <wim@fluendo.com>
7505
7506         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7507         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7508         Don't leak refcounts on buffers.
7509
7510 2005-08-31  Wim Taymans  <wim@fluendo.com>
7511
7512         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7513         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7514         (gst_base_transform_chain), (gst_base_transform_change_state):
7515         * gst/base/gstbasetransform.h:
7516         Handle the case where we are not negotiated more gracefully.
7517
7518 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7519
7520         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7521         (gst_file_src_map_region):
7522           Set READONLY flag on mmap'ed buffers, otherwise
7523           gst_buffer_make_writable() won't work properly (#314708).
7524
7525 2005-08-31  Wim Taymans  <wim@fluendo.com>
7526
7527         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7528         passthrough elements can even do inplace on non writable
7529         buffers (as they don't touch them).
7530
7531 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7532
7533         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7534         (gst_test_mono_source_set_property),
7535         (gst_test_mono_source_class_init), (GST_START_TEST),
7536         (gst_controller_suite):
7537           more tests (hehe I have the most)
7538         * gst/gstbus.c:
7539           describe popping messages whenusing mulltiple sources
7540         * libs/gst/controller/gst-controller.c:
7541         (gst_controlled_property_set_interpolation_mode),
7542         (gst_controlled_property_new):
7543         * libs/gst/controller/gst-controller.h:
7544         * libs/gst/controller/gst-interpolation.c:
7545           implement boolean properties
7546
7547 2005-08-31  Wim Taymans  <wim@fluendo.com>
7548
7549         * gst/gstminiobject.c: (gst_mini_object_ref):
7550         Cannot assert that the refcount has to be positive
7551         since a disposed object can be resurrected.
7552
7553 2005-08-31  Wim Taymans  <wim@fluendo.com>
7554
7555         * gst/gstpad.c: (gst_pad_init):
7556         Revert change, need to first fix badly behaving 
7557         apps.
7558
7559 2005-08-30  Wim Taymans  <wim@fluendo.com>
7560
7561         * check/elements/fakesrc.c: (setup_fakesrc):
7562         * check/elements/identity.c: (setup_identity):
7563         Activate pads before using them.
7564
7565 2005-08-30  Wim Taymans  <wim@fluendo.com>
7566
7567         * gst/base/gstadapter.c: (gst_adapter_flush):
7568         Flushing out 0 bytes is ok for this function.
7569
7570         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7571         no newsegment gives a warning and sets the start/stop to 
7572         invalid.
7573
7574         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7575         (gst_base_transform_set_passthrough):
7576         Some debug info.
7577
7578         * gst/gstminiobject.c: (gst_mini_object_ref):
7579         Check refcount here too.
7580
7581         * gst/gstpad.c: (gst_pad_init):
7582         Pads are initially flushing and refusing data.
7583
7584         * gst/gstutils.c: (gst_element_link_pads_filtered):
7585         When adding a capsfilter element make sure it has the
7586         same state as the parent bin.
7587
7588 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7589
7590         * docs/gst/tmpl/.cvsignore:
7591         * docs/gst/tmpl/gstformat.sgml:
7592         * docs/gst/tmpl/gstversion.sgml:
7593         * gst/gstbus.h:
7594         * gst/gstformat.c:
7595         * gst/gstformat.h:
7596         * gst/gstversion.h.in:
7597           more docs and two more inlined
7598
7599 2005-08-30  Wim Taymans  <wim@fluendo.com>
7600
7601         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7602         Don't sync to clock.
7603
7604 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7605
7606         * docs/gst/gstreamer-sections.txt:
7607           ultral33t func10ns deserve to appear in the docs actually
7608         * docs/gst/tmpl/.cvsignore:
7609         * docs/gst/tmpl/gstcompat.sgml:
7610         * docs/gst/tmpl/gstconfig.sgml:
7611         * gst/check/gstcheck.c:
7612         * gst/gstcompat.h:
7613         * gst/gstconfig.h.in:
7614           inlined more docs
7615
7616 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7617
7618         * docs/gst/tmpl/.cvsignore:
7619         * docs/gst/tmpl/gstquery.sgml:
7620         * docs/gst/tmpl/gstutils.sgml:
7621         * gst/gstquery.c:
7622         * gst/gstquery.h:
7623           inlined and extended docs
7624
7625 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7626
7627         * check/gst-libs/controller.c: (GST_START_TEST),
7628         (gst_controller_suite):
7629           more tests
7630         * docs/gst/tmpl/gstutils.sgml:
7631         * docs/libs/gstreamer-libs-sections.txt:
7632         * docs/libs/tmpl/gstdataprotocol.sgml:
7633           include path fixes
7634         * examples/controller/audio-example.c: (main):
7635           controller example works now
7636         * gst/gstclock.h:
7637           doc fixes
7638         * tools/gst-inspect.c: (print_element_properties_info):
7639           show param spec flags
7640
7641 2005-08-29  Andy Wingo  <wingo@pobox.com>
7642
7643         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7644
7645 2005-08-28  Andy Wingo  <wingo@pobox.com>
7646
7647         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7648         as having two arguments instead of just one. Allows superclasses
7649         to access information on subclasses -- see the terrible for() loop
7650         in gtype.c:g_type_create_instance for the reason why. All callers
7651         changed.
7652
7653 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7654
7655         * docs/design/part-messages.txt:
7656           update info
7657         * docs/gst/tmpl/.cvsignore:
7658         * docs/gst/tmpl/gstcaps.sgml:
7659         * docs/gst/tmpl/gstclock.sgml:
7660         * gst/gstbus.c:
7661         * gst/gstcaps.c:
7662         * gst/gstcaps.h:
7663         * gst/gstclock.c:
7664         * gst/gstclock.h:
7665         * gst/gstmessage.c:
7666           added descriptions for bus and message
7667           inline caps and clock docs
7668
7669 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7670
7671         * gst/gstmessage.c:
7672         * gst/gstmessage.h:
7673           doc fixes
7674
7675 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7676
7677         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7678           fix div-by-zero
7679
7680 2005-08-26  Andy Wingo  <wingo@pobox.com>
7681
7682         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7683         element_set_state's return val.
7684         (test_2_elements): Add test that's been disabled for months.
7685
7686         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7687         can-activate-pull properties.
7688
7689         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7690         can-activate-pull properties. Implement is_seekable so fakesrc can
7691         operate in pull mode.
7692
7693         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7694         properties.
7695         (gst_base_sink_activate, gst_base_sink_activate_pull)
7696         (gst_base_sink_activate_push): Make activation mode choosing work.
7697         Cleanups.
7698         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7699         is right. Make pull mode work. Post an eos before pausing in pull
7700         mode.
7701         (gst_base_sink_change_state): Pay attention to the core's
7702         change_state() return val.
7703         
7704         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7705         has-getrange properties. Cleanups.
7706         
7707         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7708         has_getrange and replace with can_activate_pull and
7709         can_activate_push.
7710
7711         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7712         locking comments. Remove has_loop, has_chain and replace with
7713         can_activate_pull and can_activate_push.
7714
7715 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7716
7717         * configure.ac:
7718         * examples/Makefile.am:
7719         * examples/metadata/Makefile.am:
7720         * examples/metadata/read-metadata.c: (message_loop),
7721         (have_pad_handler), (make_pipeline), (print_tag), (main):
7722           Add metadata reading example that loops over a list of filenames,
7723           dumping any tags found.
7724
7725         * gst/gstbus.c: (gst_bus_dispose):
7726         * gst/gstelement.c: (gst_element_dispose):
7727           Release a few potentially-held references in dispose.
7728
7729 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7730
7731         * docs/gst/tmpl/gstminiobject.sgml:
7732           do *not* add tmpl/*.sgml files to CVS!
7733
7734 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7735
7736         * libs/gst/bytestream/.cvsignore:
7737         * libs/gst/bytestream/Makefile.am:
7738         * libs/gst/bytestream/adapter.c:
7739         * libs/gst/bytestream/adapter.h:
7740         * libs/gst/bytestream/bytestream.c:
7741         * libs/gst/bytestream/bytestream.h:
7742         * libs/gst/bytestream/filepad.c:
7743         * libs/gst/bytestream/filepad.h:
7744           removing obsolete files
7745
7746 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7747
7748         * docs/gst/gstreamer-docs.sgml:
7749         * docs/libs/gstreamer-libs-docs.sgml:
7750           disabed additional index entries again, as this makes docs-gen just
7751           slow and they aren't useful yet
7752         * docs/libs/gstreamer-libs-sections.txt:
7753           little -section.txt cleanup for libs
7754
7755 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7756
7757         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7758         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7759           fix up some debugging
7760         (gst_base_transform_get_unit_size),
7761         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7762         (gst_base_transform_handle_buffer):
7763         * gst/base/gstbasetransform.h:
7764           handle and store timed NEWSEGMENT events so that subclasses that
7765           calculate time by counting samples have a segment_start time they
7766           need to add to their timestamps - see audioresample
7767
7768 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7769
7770         * gst/gstbin.h:
7771           removed ';' from the end of macro defs
7772         * docs/gst/gstreamer-docs.sgml:
7773         * docs/gst/gstreamer-sections.txt:
7774         * docs/gst/tmpl/.cvsignore:
7775         * gst/gstbus.h:
7776         * gst/gstelement.c: (gst_element_class_init),
7777         (gst_element_set_state), (activate_pads),
7778         (gst_element_save_thyself):
7779         * gst/gstevent.c: (gst_event_new_newsegment):
7780         * gst/gstevent.h:
7781         * gst/gstiterator.c:
7782         * gst/gstiterator.h:
7783         * gst/gstpad.c:
7784         * gst/gstprobe.h:
7785         * gst/gstutils.c: (gst_pad_query_convert):
7786         * gst/gstutils.h:
7787           fixed parameter name mismatches between source, header and docs
7788           added some more docs, resolved the last batch of unused elements in
7789           docs (now someone needs to doc them)
7790
7791 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7792
7793         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7794         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7795           don't walk through the plugins backwards.  Where is all this
7796           reversed logic coming from ?
7797
7798 2005-08-25  Wim Taymans  <wim@fluendo.com>
7799
7800         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7801         (gst_base_transform_transform_size),
7802         (gst_base_transform_configure_caps),
7803         (gst_base_transform_get_unit_size),
7804         (gst_base_transform_buffer_alloc),
7805         (gst_base_transform_change_state):
7806         * gst/base/gstbasetransform.h:
7807         Cache caps unit_size.
7808         Make sure we cannot negotiate up and downstream at the
7809         same time.
7810
7811 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7812
7813         * gst/gst.c: (init_pre), (init_post):
7814           register the installed plugin path after the env var
7815         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7816         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7817           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7818           directories, so the tests can prefer uninstalled over installed
7819
7820 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7821
7822         * gst/base/gstbasetransform.h:
7823           comment
7824         * gst/gstpad.c:
7825           add to docs
7826
7827 2005-08-25  Wim Taymans  <wim@fluendo.com>
7828
7829         * gst/gstbin.c: (bin_bus_handler):
7830         Be a bit more conservative about the posted message.
7831         
7832         * gst/gstbus.c: (gst_bus_post):
7833         Some cleanups, warn wrong return values.
7834
7835 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7836
7837         * check/gst/gstbin.c: (GST_START_TEST):
7838         * gst/gstbin.c: (bin_bus_handler):
7839         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7840         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7841         (gst_message_new_warning), (gst_message_new_tag),
7842         (gst_message_new_state_changed), (gst_message_new_segment_start),
7843         (gst_message_new_segment_done), (gst_message_new_custom):
7844         * gst/gstmessage.h:
7845         * tools/gst-launch.c: (event_loop):
7846         * tools/gst-md5sum.c: (event_loop):
7847           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7848
7849 2005-08-25  Wim Taymans  <wim@fluendo.com>
7850
7851         * check/generic/states.c: (GST_START_TEST):
7852         Cleanup can be done at the end.
7853
7854         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7855         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7856         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7857         Oh boy.. Thanks for finding this, Thomas. 
7858
7859 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7860
7861         * docs/gst/gstreamer.types:
7862           added missing types
7863
7864 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7865
7866         * docs/gst/gstreamer-docs.sgml:
7867         * docs/gst/gstreamer-sections.txt:
7868         * docs/gst/tmpl/.cvsignore:
7869         * gst/gstbin.c:
7870         * gst/gstiterator.c:
7871         * gst/gstutils.c:
7872         * gst/registries/gstxmlregistry.h:
7873           added missing classes and symbols (123 more to go)
7874           removed removed symbols from section file
7875           fixed many doc-comments
7876
7877 2005-08-24  Wim Taymans  <wim@fluendo.com>
7878
7879         * check/generic/states.c: (GST_START_TEST):
7880         Make sure all tasks are stopped.
7881
7882         * check/gst/gstbin.c: (GST_START_TEST):
7883         Unref after usage for proper valgrinding.
7884
7885         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7886         Really wait for the task to stop before destroying the
7887         mutex.
7888
7889         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7890         (gst_queue_src_activate_push):
7891         Small cleanups. Don't stop the task when we did not start
7892         it.
7893
7894         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7895         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7896         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7897         (gst_task_join):
7898         * gst/gsttask.h:
7899         Protect the stream lock with the object lock.
7900         Disallow setting the stream lock when running.
7901         Add cleanup_all to wait for the threadpool to finish.
7902         Remove code to autoallocate a mutex if none was provided.
7903         Add _join() to wait for a task to stop.
7904         Protect the thread pool with a global lock.
7905
7906 2005-08-24  Wim Taymans  <wim@fluendo.com>
7907
7908         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7909         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7910         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7911         * gst/base/gstbasesink.h:
7912         Handle newsegment events correctly.
7913         Drop buffers out of the segment range.
7914
7915 2005-08-22  Andy Wingo  <wingo@pobox.com>
7916
7917         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7918         macro, implements an interface and gstimplementsinterface for a
7919         new type.
7920
7921 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7922
7923         * check/Makefile.am:
7924         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7925           add a test that does a bunch of state changes on elements
7926           needs some fixing for valgrind
7927         * check/states/sinks.c: (gst_object_suite):
7928           whitespace
7929         * gst/gstcaps.h:
7930           add prototype for gst_caps_is_equal_fixed
7931         * gst/gstplugin.c:
7932         * gst/gstregistrypool.c:
7933           doc fixes
7934
7935 2005-08-24  Andy Wingo  <wingo@pobox.com>
7936
7937         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7938         convert a negative value. Doesn't make much sense. Mostly this is
7939         here to force callers to ensure -1 maps to -1.
7940
7941 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7942
7943         * docs/pwg/advanced-types.xml:
7944           Well done to Michael for catching my deliberate introduction
7945           of this spelling mistake. 
7946         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7947         * gst/gstelement.h:
7948           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7949           unlink pads before removing the element from the bin.
7950
7951 2005-08-24  Andy Wingo  <wingo@pobox.com>
7952
7953         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7954         the same thing as GST_DEBUG=*:4.
7955         (parse_debug_level, parse_debug_category): New helper parsers.
7956
7957 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7958
7959         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7960         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7961         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7962         (gst_base_transform_buffer_alloc),
7963         (gst_base_transform_handle_buffer):
7964           use gboolean return values and pointers to size so we can use the
7965           full GST_BUFFER_SIZE range (guint) for buffer sizes
7966           use GstPadDirection for transform_caps
7967         * gst/base/gstbasetransform.h:
7968           rename get_size to get_unit_size since that's what it is
7969         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7970           use GstPadDirection for transform_caps
7971         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7972         * gst/gstutils.h:
7973           cleanup and debugging
7974
7975 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7976
7977         * gst/gstelement.c: (gst_element_class_init),
7978         (gst_element_set_state), (activate_pads),
7979         (gst_element_save_thyself):
7980         * tools/gst-compprep.c: (main):
7981         * tools/gst-inspect.c: (print_element_properties_info):
7982         * tools/gst-xmlinspect.c: (print_element_properties):
7983           Fixed long standing mem-leak
7984
7985 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7986
7987         * check/gst/gstbin.c: (GST_START_TEST):
7988         * gst/gstbin.c: (bin_bus_handler):
7989         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7990         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7991         (gst_message_new_warning), (gst_message_new_tag),
7992         (gst_message_new_state_changed), (gst_message_new_segment_start),
7993         (gst_message_new_segment_done), (gst_message_new_custom):
7994         * gst/gstmessage.h:
7995         * tools/gst-launch.c: (event_loop):
7996         * tools/gst-md5sum.c: (event_loop):
7997           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7998           that applications can sensibly post custom messages with references
7999           to their own objects.
8000
8001 2005-08-24  Andy Wingo  <wingo@pobox.com>
8002
8003         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8004         already.
8005
8006 2005-08-24  Wim Taymans  <wim@fluendo.com>
8007
8008         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8009         (gst_base_transform_transform_caps),
8010         (gst_base_transform_transform_size),
8011         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8012         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8013         (gst_base_transform_handle_buffer):
8014         * gst/base/gstbasetransform.h:
8015         Many fixes and new features added by Thomas. Can now also do
8016         transforms with variable sizes and a custom fixate_caps function.
8017
8018 2005-08-24  Wim Taymans  <wim@fluendo.com>
8019
8020         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8021         Some debugging.
8022
8023         * gst/gstclock.h:
8024         Cast to ClockTime before formatting to time.
8025
8026         * gst/gstutils.h:
8027         Cleanups.
8028
8029 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8030
8031         * check/gst-libs/controller.c: (GST_START_TEST),
8032         (gst_controller_suite):
8033         * docs/gst/tmpl/gstcaps.sgml:
8034         * docs/gst/tmpl/gstghostpad.sgml:
8035         * docs/gst/tmpl/gstquery.sgml:
8036         * docs/gst/tmpl/gstutils.sgml:
8037         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8038         (gst_object_sink_values), (gst_object_get_value_arrays),
8039         (gst_object_get_value_array):
8040           gracefully handle helper method calls to objects that are not beeing
8041           controlled, added test case for that          
8042
8043 2005-08-23  Wim Taymans  <wim@fluendo.com>
8044
8045         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8046         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8047         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8048         (gst_event_parse_qos), (gst_event_new_seek),
8049         (gst_event_parse_seek):
8050         * gst/gstevent.h:
8051         Some more debugging output and doc cleanups.
8052
8053         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8054         Fix possible deadlock.
8055
8056 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8057
8058         * docs/gst/gstreamer-docs.sgml:
8059         * docs/gst/gstreamer-sections.txt:
8060         * docs/gst/gstreamer.types:
8061         * docs/gst/tmpl/.cvsignore:
8062         * gst/gstbin.h:
8063         * gst/gstbus.c:
8064         * gst/gstelement.c:
8065         * gst/gstevent.h:
8066           added 100 symbols from gstreamer-unused.txt to the right sections
8067           fixed more broken comments
8068           added GstBus to docs
8069
8070 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8071
8072         * docs/gst/gstreamer-sections.txt:
8073         * docs/gst/tmpl/.cvsignore:
8074         * docs/gst/tmpl/gstbin.sgml:
8075         * docs/gst/tmpl/gstbuffer.sgml:
8076         * gst/base/gstbasesrc.c:
8077         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8078         * gst/gstbuffer.c:
8079         * gst/gstbuffer.h:
8080         * tools/gst-launch.1.in:
8081           inlined more doc comments, added missing comments and fixed comments
8082           fixed typos
8083
8084 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8085
8086         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8087           some debugging
8088         * gst/gstcaps.h:
8089           whitespace fixes
8090         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8091           more debugging
8092         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8093         * gst/gststructure.h:
8094           add a fixate function for booleans; add a FIXME that these func
8095           names should probably be gst_structure_fixate_*
8096
8097 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8098
8099         * docs/gst/gstreamer-docs.sgml:
8100         * docs/gst/gstreamer-sections.txt:
8101         * gst/Makefile.am:
8102         * gst/gstbin.c: (gst_bin_get_type),
8103         (gst_bin_child_proxy_get_child_by_index),
8104         (gst_bin_child_proxy_get_children_count),
8105         (gst_bin_child_proxy_init):
8106         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8107         (gst_child_proxy_get_child_by_index),
8108         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8109         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8110         (gst_child_proxy_get), (gst_child_proxy_set_property),
8111         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8112         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8113         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8114         * gst/gstchildproxy.h:
8115         * gst/parse/grammar.y:
8116         * tools/gst-inspect.c: (print_interfaces),
8117         (print_element_properties_info), (print_element_info):
8118           ported gstchildproxy over from 0.8
8119           ported gst-inspect fixes and enhancements over from 0.8
8120
8121 2005-08-22  Wim Taymans  <wim@fluendo.com>
8122
8123         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8124         (gst_base_transform_handle_buffer):
8125         Also call the transform function if we have ANY caps.
8126
8127         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8128         Fix debug info.
8129
8130 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8131
8132         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8133           Don't pretend to handle seek events if the source is not seekable
8134
8135 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8136
8137         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8138           Remove extra parameter to debug output
8139
8140         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8141         (gst_base_src_do_seek), (gst_base_src_activate_push):
8142           Fix seek event handling.
8143
8144         * gst/gstpipeline.c: (gst_pipeline_change_state):
8145         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8146         (gst_queue_src_activate_push):
8147           Don't start the src pad task on FLUSH_STOP if the pad
8148           isn't linked.
8149           Debug changes.
8150
8151 2005-08-22  Wim Taymans  <wim@fluendo.com>
8152
8153         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8154         Added check for gst_static_caps_get() refcounting.
8155
8156 2005-08-22  Wim Taymans  <wim@fluendo.com>
8157
8158         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8159         Make _static_caps_get() refcounting sane.
8160         
8161         * gst/gstelement.c: (gst_element_set_state):
8162         Add g_return_val_if_fail() to protect against segfaults.
8163
8164 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8165
8166         * docs/gst/tmpl/gstevent.sgml:
8167         * gst/gstevent.c:
8168         * gst/gstevent.h:
8169           inlined remaining docs, added missing doc comments
8170
8171 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8172
8173         * check/gst/gstbin.c: (GST_START_TEST):
8174           since we don't know when preroll is done, use refcount range
8175           check for the sink
8176         * gst/check/gstcheck.h:
8177           add macro for checking refcount range
8178
8179 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8180
8181         * check/Makefile.am:
8182           clean up environment for when registry gets built versus
8183           when actual tests are run; valgrind seems to not report
8184           leaks if GST_PLUGIN_PATH is set to some specific values
8185         * check/gst/gstbin.c: (GST_START_TEST):
8186           add more refcounting checks; maybe this exposes a
8187           preroll lock bug ?
8188         * common/check.mak:
8189         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8190         * gst/check/gstcheck.h:
8191         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8192         (gst_bin_change_state):
8193         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8194           add/fix debugging/whitespace
8195
8196 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8197
8198         * check/gst/gstevent.c: (event_probe), (test_event),
8199         (GST_START_TEST):
8200          Er, don't call gst_bin_watch_for_state_change you idiot.
8201
8202 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8203
8204         * check/Makefile.am:
8205           Use CHECK_CFLAGS and CHECK_LIBS
8206         * check/gst/gstevent.c: (event_probe), (test_event),
8207         (GST_START_TEST):
8208           Don't leak events.
8209         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8210         (gst_base_src_start), (gst_base_src_stop),
8211         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8212         (gst_base_src_change_state):
8213           Sprinkle gst_base_src_stop liberally around error paths to fix
8214           problems reusing a source after failed state changes.
8215         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8216         (helper_find_suggest), (gst_type_find_helper):
8217           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8218         * gst/gstevent.h:
8219         * docs/gst/tmpl/gstevent.sgml:
8220           Migrate part of the docs from the SGML file. Wait for ensonic to
8221           tell me how I did it wrong ;)
8222         * tools/gst-typefind.c: (main):
8223           Extra robustness to state changes between files.
8224
8225 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8226
8227         * check/Makefile.am:
8228           don't valgrind the controller test - it's leaking - Stefan, HELP
8229         * gst/check/gstcheck.c: (gst_check_message_error),
8230         (gst_check_chain_func), (gst_check_setup_element),
8231         (gst_check_teardown_element), (gst_check_setup_src_pad),
8232         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8233         (gst_check_teardown_sink_pad):
8234         * gst/check/gstcheck.h:
8235           add a bunch of methods to set up elements, and src and sink pads
8236         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8237         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8238         (GST_START_TEST):
8239           use them
8240         * gst/gstmessage.c:
8241         * gst/gsttag.h:
8242           whitespace/doc fixes
8243
8244 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8245
8246         * gst/gstelement.h:
8247           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8248           be handled by the application and not always printed as well
8249
8250 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8251
8252         * check/Makefile.am:
8253           set GST_TOOLS_DIR
8254         * gst/check/gstcheck.c: (gst_check_message_error):
8255         * gst/check/gstcheck.h:
8256           add a fail_unless_equals_int
8257           add fail_unless for error messages
8258
8259 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8260
8261         * check/Makefile.am:
8262         * check/gst.supp:
8263         * common/Makefile.am:
8264         * common/check.mak:
8265         * common/gst.supp:
8266           factor out some of the common stuff so we can use it
8267
8268 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8269
8270         * check/Makefile.am:
8271         * check/gst/gstiterator.c: (GST_START_TEST):
8272         * check/gst/gstsystemclock.c: (GST_START_TEST),
8273         (gst_systemclock_suite):
8274         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8275         * gst/gstclock.c:
8276           valgrind more tests
8277
8278 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8279
8280         * check/elements/.cvsignore:
8281         * check/elements/gstfakesrc.c:
8282           rename to name of element
8283         * check/elements/identity.c: (chain_func), (event_func),
8284         (setup_identity), (cleanup_identity), (GST_START_TEST),
8285         (identity_suite), (main):
8286           add a test for identity
8287         * check/Makefile.am:
8288         * pkgconfig/Makefile.am:
8289         * pkgconfig/gstreamer-check.pc.in:
8290         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8291         * gst/check:
8292         * gst/Makefile.am:
8293         * configure.ac:
8294           move the check stuff to a library that gets installed
8295         * check/gst-libs/controller.c: (GST_START_TEST):
8296         * check/gst-libs/gdp.c:
8297         * check/gst/gst.c: (GST_START_TEST):
8298         * check/gst/gstbin.c:
8299         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8300         * check/gst/gstbus.c:
8301         * check/gst/gstcaps.c: (GST_START_TEST):
8302         * check/gst/gstelement.c:
8303         * check/gst/gstghostpad.c:
8304         * check/gst/gstiterator.c:
8305         * check/gst/gstmessage.c:
8306         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8307         * check/gst/gstobject.c:
8308         * check/gst/gstpad.c: (GST_START_TEST):
8309         * check/gst/gststructure.c: (GST_START_TEST):
8310         * check/gst/gstsystemclock.c: (GST_START_TEST),
8311         (gst_systemclock_suite):
8312         * check/gst/gsttag.c: (gst_tag_suite):
8313         * check/gst/gstvalue.c:
8314         * check/pipelines/cleanup.c:
8315         * check/pipelines/simple_launch_lines.c:
8316         * check/states/sinks.c:
8317           change include statement
8318
8319         * docs/gst/gstreamer-sections.txt:
8320         * docs/gst/tmpl/gstpad.sgml:
8321           document more pad stuff
8322         * gst/gstminiobject.c: (gst_mini_object_ref),
8323         (gst_mini_object_unref):
8324           debug refcounting
8325
8326 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8327
8328         * docs/gst/tmpl/gst.sgml:
8329         * gst/gst.c:
8330           eliminate another tmpl file, fix spelling in the long-description
8331
8332 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8333
8334         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8335         (test_event), (timediff), (gstevents_suite):
8336           Should fix build on 64-bit arch's
8337
8338 2005-08-18  Andy Wingo  <wingo@pobox.com>
8339
8340         Make sure that when a pipeline goes to PLAYING, that data has
8341         actually hit the sink.
8342
8343         * check/states/sinks.c (test_sink): A sink that doesn't get any
8344         data shouldn't return SUCCESS for going to either PLAYING or
8345         PAUSED. Test also the return values on the way back down.
8346
8347         * gst/gstelement.c (gst_element_set_state): When changing the
8348         state of an element currently changing state asynchronously, go to
8349         lost-state after commiting the pending state. Makes future calls
8350         to get_state continue to return ASYNC.
8351
8352         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8353         ASYNC when going to PLAYING if we still don't have preroll, as can
8354         happen with live sources.
8355
8356 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8357
8358         * docs/pwg/advanced-types.xml:
8359           Hack long paragraph into 2 chunks as a workaround for buggy
8360           jadetex version in sid and breezy that loops infinitely and
8361           eats all RAM.
8362
8363 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8364
8365         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8366         (test_event), (timediff), (gstevents_suite):
8367           Provide more error margin in clock measurements to allow for 
8368           g_get_current_time inaccuracies.
8369
8370 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8371
8372         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8373         (test_event), (timediff), (gstevents_suite):
8374            Fix error message output so I might be able to tell why the
8375            test works here but fails on the build farm.
8376
8377 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8378
8379         * check/Makefile.am:
8380         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8381         (test_event), (timediff), (gstevents_suite), (main):
8382           I wrote a test!
8383
8384         * docs/design/part-seeking.txt:
8385           Spelling correction
8386
8387         * docs/gst/tmpl/gstevent.sgml:
8388         * docs/gst/tmpl/gstfakesrc.sgml:
8389           Docs updates.
8390
8391         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8392           Treat a buffer-without-newsegment the same as a receiving 
8393           a newsegment not in time format, and disable syncing to the clock
8394           with a warning.
8395
8396         * gst/gstbus.c: (gst_bus_set_sync_handler):
8397           Assert if anyone tries to replace the existing sync_handler for bus, 
8398           as only the owner should be setting it.
8399
8400         * gst/gstevent.h:
8401           Have a fixed set of custom event enums with events identified by
8402           their structure name (as in 0.8), rather than a free-for-all
8403           allowing collisions between enum values from different plugins.
8404
8405         * gst/gstpad.c: (gst_pad_class_init):
8406           Docs change.
8407           
8408         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8409           Handle out-of-band downstream events from the sending thread.
8410
8411 2005-08-17  Andy Wingo  <wingo@pobox.com>
8412
8413         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8414         play-timeout==0 to mean no timeout at all. In that case, don't
8415         bother with a get_state or a warning, just return directly, even
8416         if it's ASYNC.
8417
8418         * gst/base/gstbasetransform.c: Debug changes.
8419
8420         * gst/gstutils.h:
8421         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8422         ensure bins post state change messages. A bit of a hack but I can't
8423         think of a way to avoid it.
8424
8425         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8426
8427 2005-08-16  Andy Wingo  <wingo@pobox.com>
8428
8429         * gst/base/gstadapter.h:
8430         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8431         peek() but you own the data. Not terribly efficient atm.
8432
8433 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8434
8435         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8436         (gst_element_found_tags):
8437         * gst/gstutils.h:
8438           Add two utility functions for tag handling.
8439
8440 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8441
8442         * docs/manual/advanced-dataaccess.xml:
8443         * docs/manual/basics-helloworld.xml:
8444           Fix docs to use _bin_add() before _link(), which fixes the examples
8445           with recent core versions (reported by Madhan Raj M
8446           <raj_madan@rediffmail.com>, #313199).
8447
8448 2005-08-16  Wim Taymans  <wim@fluendo.com>
8449
8450         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8451         Added subtract checks.
8452
8453         * docs/design/part-events.txt:
8454         Some more docs about newsegment
8455
8456         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8457         Fix FIXME
8458
8459         * gst/gstcaps.c: (gst_caps_to_string):
8460         Add comments, cleanups.
8461         
8462         * gst/gstelement.c: (gst_element_save_thyself):
8463         cleanups
8464         
8465         * gst/gstvalue.c: (gst_value_collect_int_range),
8466         (gst_string_unwrap), (gst_value_union_int_int_range),
8467         (gst_value_union_int_range_int_range),
8468         (gst_value_intersect_int_int_range),
8469         (gst_value_intersect_int_range_int_range),
8470         (gst_value_intersect_double_double_range),
8471         (gst_value_intersect_double_range_double_range),
8472         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8473         (gst_value_subtract_int_range_int),
8474         (gst_value_subtract_double_range_double),
8475         (gst_value_subtract_double_range_double_range),
8476         (gst_value_subtract_from_list), (gst_value_subtract_list),
8477         (gst_value_can_compare), (gst_value_compare_fraction):
8478         Cleanups, add comments, remove unneeded asserts.
8479
8480 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8481
8482         * tools/gst-launch.c: (event_loop):
8483           don't convert NULL structures to strings
8484
8485 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8486
8487         * docs/gst/gstreamer-sections.txt:
8488           made some defines private
8489         * docs/gst/tmpl/gstconfig.sgml:
8490         * docs/gst/tmpl/gstqueue.sgml:
8491         * docs/gst/tmpl/gsttaglist.sgml:
8492         * docs/gst/tmpl/gsttypes.sgml:
8493         * docs/gst/tmpl/gstutils.sgml:
8494         * docs/pwg/appendix-porting.xml:
8495         * gst/base/gstbasesink.h:
8496         * gst/base/gstbasesrc.c:
8497         * gst/base/gstbasesrc.h:
8498         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8499         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8500         * gst/gstelement.c: (gst_element_class_init):
8501         * gst/gstpad.c: (gst_pad_class_init):
8502         * gst/gstqueue.c: (gst_queue_class_init):
8503         * gst/gstxml.c: (gst_xml_class_init):
8504           documented all undocumented signal inline
8505         * libs/gst/controller/gst-controller.h:
8506           added padding
8507
8508 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8509
8510         * docs/pwg/appendix-porting.xml:
8511           Document _set_link_function -> _set_setcaps_function.
8512
8513 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8514
8515         * check/Makefile.am:
8516           add a .check target for running the check
8517         * check/gst-libs/controller.c: (GST_START_TEST):
8518           cosmetic fixups
8519         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8520           complete checks for gstbuffer; would be nice if I could get the
8521           gcov stuff to work so I can see if I actually completed gstbuffer.c
8522         * check/gstcheck.h:
8523           add ASSERT_BUFFER_REFCOUNT
8524
8525 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8526
8527         * docs/gst/gstreamer-sections.txt:
8528         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8529         * gst/gsttag.h:
8530           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8531           spew out a warning if a tag that is already registered
8532           is re-registered, unless it is re-registered with a 
8533           different type (#308438).
8534
8535 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8536
8537         * docs/pwg/appendix-porting.xml:
8538         * docs/pwg/building-state.xml:
8539           Add some paragraphs about state changes in 0.9 to the PWG
8540           and the porting guide, in particular about the new meaning
8541           of GST_STATE_PAUSED and how to write state change functions
8542           with concurrent access by multiple threads in mind.
8543
8544 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8545
8546         * docs/gst/gstreamer-docs.sgml:
8547         * docs/libs/gstreamer-libs-docs.sgml:
8548           added deprecation and since indexes
8549         * libs/gst/controller/gst-controller.c:
8550         * libs/gst/controller/gst-helper.c:
8551           added since tags
8552
8553
8554 2005-08-11  Wim Taymans  <wim@fluendo.com>
8555
8556         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8557         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8558         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8559         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8560         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8561         (gst_ghost_pad_set_target):
8562         Actually implement (re)setting the target on a ghostpad
8563         as described in the docs.
8564
8565 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8566
8567         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8568           Check whether GST_DEBUG_NO_COLOR environment variable is
8569           set and disable coloured debug output if that is the case.
8570
8571 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8572
8573         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8574         (gst_type_find_helper):
8575           The memory returned by gst_type_find_peek() needs to
8576           stay valid until the end of a typefind function, and
8577           typefind functions may keep results from different 
8578           offsets around, so we can't just unref the buffer from
8579           the previous _peek(), but have to save all buffers 
8580           returned by _peek() until typefinding is done and only
8581           free them then.
8582
8583 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8584
8585         * docs/gst/gstreamer-sections.txt:
8586         * gst/gstutils.h:
8587           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8588
8589 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8590
8591         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8592           Fix a pretty good memleak.
8593
8594 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8595
8596         * gst/gstiterator.h:
8597           Fix wrong include and 'make distcheck'.
8598
8599 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8600
8601         * gst/gstbin.c: (bin_bus_handler):
8602           Use gst_element_post_message() instead.
8603
8604 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8605
8606         * gst/base/gstadapter.h:
8607         * gst/base/gstbasesink.h:
8608         * gst/base/gstbasesrc.h:
8609         * gst/base/gstbasetransform.h:
8610         * gst/base/gstcollectpads.h:
8611         * gst/base/gstpushsrc.h:
8612         * gst/gstiterator.h:
8613           Add padding to our base elements' class and instance structs and
8614           to GstIterator (you will need to rebuild all plugins and apps!)
8615
8616 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8617
8618         * gst/gstbin.c: (bin_bus_handler):
8619           Make default message forwarding from child->bus to bin->bus
8620           threadsafe and make it not emit warnings if the parent has no bus.
8621
8622 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8623
8624         * gst/gstelement.c: (activate_pads):
8625           On paused->ready, set pad->caps to NULL, as is the documented
8626           behaviour in this state change. Fixes playback of series of
8627           media files when visualization is enabled in Totem.
8628
8629 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8630
8631         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8632           Allow NULL as filter-caps (which means "any").
8633
8634 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8635
8636         * docs/libs/gstreamer-libs-sections.txt:
8637         * libs/gst/controller/gst-controller.c:
8638         * libs/gst/controller/gst-controller.h:
8639         * libs/gst/controller/gst-helper.c:
8640           adding more entries to the docs and fix small doc-bugs
8641
8642 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8643
8644         * docs/gst/gstreamer-docs.sgml:
8645         * docs/gst/gstreamer-sections.txt:
8646         * docs/gst/gstreamer.types:
8647         * docs/gst/tmpl/gstbasesink.sgml:
8648         * docs/gst/tmpl/gstbasesrc.sgml:
8649         * docs/gst/tmpl/gstbasetransform.sgml:
8650         * docs/gst/tmpl/gstfakesrc.sgml:
8651         * gst/base/gstcollectpads.c:
8652         * gst/base/gstcollectpads.h:
8653         * libs/gst/controller/gst-controller.c:
8654         * libs/gst/controller/gst-controller.h:
8655         * libs/gst/controller/gst-helper.c:
8656         * libs/gst/controller/gst-interpolation.c:
8657         * libs/gst/controller/lib.c:
8658           added long/short desc for controller docs
8659           added collectpads base class docs
8660           added correct includes to base-class docs
8661
8662 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8663
8664         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8665         (gst_test_mono_source_set_property),
8666         (gst_test_mono_source_class_init), (GST_START_TEST),
8667         (gst_controller_suite):
8668         * docs/gst/gstreamer-docs.sgml:
8669         * docs/gst/gstreamer-sections.txt:
8670         * docs/gst/gstreamer.types:
8671         * docs/libs/gstreamer-libs-docs.sgml:
8672         * docs/libs/gstreamer-libs-sections.txt:
8673         * gst/base/gstadapter.c:
8674         * libs/gst/controller/gst-controller.c:
8675         (gst_controlled_property_new), (gst_controlled_property_free),
8676         (gst_controller_new_valist),
8677         (gst_controller_remove_properties_valist),
8678         (gst_controller_sink_values), (_gst_controller_finalize):
8679         * libs/gst/controller/gst-controller.h:
8680         * libs/gst/controller/gst-helper.c:
8681         (gst_object_control_properties), (gst_object_uncontrol_properties),
8682         (gst_object_get_controller), (gst_object_set_controller),
8683         (gst_object_sink_values), (gst_object_get_value_arrays),
8684         (gst_object_get_value_array):
8685           more tests (and fixes) for the controller
8686           more docs for the controller
8687           integrated companies docs for the adapter 
8688
8689 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8690
8691         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8692         (GST_START_TEST), (fakesrc_suite):
8693           add tests for sizetype
8694
8695 2005-08-04  Andy Wingo  <wingo@pobox.com>
8696
8697         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8698         fixes buffer_alloc proxying among other things.
8699
8700         * gst/base/gstbasetransform.c:
8701         * gst/base/gstbasetransform.h:
8702         Revert patch to gstbasetransform from 7-28 removing
8703         delay_configure.
8704
8705         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8706         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8707         Semantics changed, should return not the size of the output buffer
8708         but the byte size of a buffer with a given caps.
8709
8710         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8711         debug object.
8712         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8713         out) are not the pad caps until setcaps finishes.
8714         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8715         not-in-place case as well. Deal with changing from in-place to
8716         not-in-place within calling pad_alloc_buffer. Still a bit
8717         concerned about the overhead here...
8718
8719 2005-08-03  Andy Wingo  <wingo@pobox.com>
8720
8721         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8722         fixating is an error.
8723
8724 2005-08-04  Edward Hervey  <edward@fluendo.com>
8725
8726         * gst/base/gstadapter.h: 
8727         Added gst_adapter_get_type() to the header
8728
8729 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8730
8731         * check/Makefile.am:
8732         * check/gst-libs/controller.c:
8733         * libs/gst/controller/gst-controller.c:
8734         (gst_controller_new_valist):
8735           added check test suite for the controller
8736         * gst/base/gstpushsrc.c:
8737           fixed a doc typo
8738
8739 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8740
8741         * docs/gst/Makefile.am:
8742         * docs/gst/gstreamer-docs.sgml:
8743         * docs/gst/gstreamer-sections.txt:
8744         * docs/gst/gstreamer.types:
8745         * docs/gst/tmpl/gstfakesrc.sgml:
8746         * gst/base/README:
8747         * gst/base/gstbasesink.c:
8748         * gst/base/gstbasesink.h:
8749         * gst/base/gstbasesrc.c:
8750         * gst/base/gstbasesrc.h:
8751         * gst/base/gstbasetransform.c:
8752         * gst/base/gstpushsrc.c:
8753         * gst/base/gstpushsrc.h:
8754           add short/long description docs to base classes
8755           add pushsrc to the docs
8756           remove consolidated doc fragments
8757
8758 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8759
8760         * configure.ac:
8761         * docs/libs/Makefile.am:
8762         * docs/libs/gstreamer-libs-docs.sgml:
8763         * docs/libs/gstreamer-libs-sections.txt:
8764         * docs/libs/gstreamer-libs.types:
8765         * examples/Makefile.am:
8766         * examples/controller/.cvsignore:
8767         * examples/controller/Makefile.am:
8768         * examples/controller/audio-example.c: (main):
8769         * libs/gst/Makefile.am:
8770         * libs/gst/controller/.cvsignore:
8771         * libs/gst/controller/Makefile.am:
8772         * libs/gst/controller/gst-controller.c:
8773         (on_object_controlled_property_changed), (gst_timed_value_compare),
8774         (gst_timed_value_find),
8775         (gst_controlled_property_set_interpolation_mode),
8776         (gst_controlled_property_new), (gst_controlled_property_free),
8777         (gst_controller_find_controlled_property),
8778         (gst_controller_new_valist), (gst_controller_new),
8779         (gst_controller_remove_properties_valist),
8780         (gst_controller_remove_properties), (gst_controller_set),
8781         (gst_controller_set_from_list), (gst_controller_unset),
8782         (gst_controller_get), (gst_controller_get_all),
8783         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8784         (gst_controller_get_value_array),
8785         (gst_controller_set_interpolation_mode),
8786         (_gst_controller_finalize), (_gst_controller_init),
8787         (_gst_controller_class_init), (gst_controller_get_type):
8788         * libs/gst/controller/gst-controller.h:
8789         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8790         (g_object_uncontrol_properties), (g_object_get_controller),
8791         (g_object_set_controller), (g_object_sink_values),
8792         (g_object_get_value_arrays), (g_object_get_value_array):
8793         * libs/gst/controller/gst-interpolation.c:
8794         (gst_controlled_property_find_timed_value_node),
8795         (interpolate_none_get), (interpolate_trigger_get),
8796         (interpolate_trigger_get_value_array):
8797         * libs/gst/controller/lib.c: (gst_controller_init):
8798         * pkgconfig/Makefile.am:
8799         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8800         * pkgconfig/gstreamer-control.pc.in:
8801         * testsuite/Makefile.am:
8802         * testsuite/controller/.cvsignore:
8803         * testsuite/controller/Makefile.am:
8804         * testsuite/controller/interpolator.c: (main):
8805           added controller code
8806           removed dparam pc files
8807
8808 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8809         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8810         (gst_collectpads_stop):
8811           Broadcast the condition when shutting down, to make sure we wake all
8812           threads up. Shut down pads on finalize, for safety.
8813
8814 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8815         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8816         (gst_base_transform_handle_buffer),
8817         (gst_base_transform_change_state):
8818           Handle PAUSED->READY->PAUSED transition after negotiation
8819           occurred already.
8820         * gst/gstmessage.c: (gst_message_init):
8821           Extra piece of debug for new messages.
8822
8823 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8824
8825         * configure.ac:
8826         * docs/gst/tmpl/gstbasesrc.sgml:
8827         * docs/gst/tmpl/gstelement.sgml:
8828         * docs/gst/tmpl/gstevent.sgml:
8829         * docs/gst/tmpl/gstfakesrc.sgml:
8830         * docs/gst/tmpl/gstformat.sgml:
8831         * docs/gst/tmpl/gstghostpad.sgml:
8832         * docs/gst/tmpl/gstpad.sgml:
8833         * docs/gst/tmpl/gstquery.sgml:
8834         * docs/gst/tmpl/gststructure.sgml:
8835         * docs/gst/tmpl/gsttaglist.sgml:
8836         * docs/gst/tmpl/gstvalue.sgml:
8837         * docs/libs/gstreamer-libs-docs.sgml:
8838         * docs/libs/gstreamer-libs-sections.txt:
8839         * docs/libs/gstreamer-libs.types:
8840         * libs/gst/Makefile.am:
8841         * libs/gst/control/.cvsignore:
8842         * libs/gst/control/Makefile.am:
8843         * libs/gst/control/control.c:
8844         * libs/gst/control/control.h:
8845         * libs/gst/control/dparam.c:
8846         * libs/gst/control/dparam.h:
8847         * libs/gst/control/dparam_smooth.c:
8848         * libs/gst/control/dparam_smooth.h:
8849         * libs/gst/control/dparamcommon.h:
8850         * libs/gst/control/dparammanager.c:
8851         * libs/gst/control/dparammanager.h:
8852         * libs/gst/control/dplinearinterp.c:
8853         * libs/gst/control/dplinearinterp.h:
8854         * libs/gst/control/unitconvert.c:
8855         * libs/gst/control/unitconvert.h:
8856         * testsuite/Makefile.am:
8857         * testsuite/dynparams/.cvsignore:
8858         * testsuite/dynparams/Makefile.am:
8859         * testsuite/dynparams/dparamstest.c:
8860         * tools/Makefile.am:
8861         * tools/gst-inspect.c: (print_element_info), (main):
8862         * tools/gst-xmlinspect.c: (print_element_info), (main):
8863           deactivate and remove dparams (libgstcontrol)
8864
8865 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8866
8867         * gst/elements/gsttypefindelement.c:
8868         (gst_type_find_element_have_type), (gst_type_find_element_init),
8869         (stop_typefinding), (gst_type_find_element_handle_event),
8870         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8871         * gst/elements/gsttypefindelement.h:
8872           Set caps on all outgoing buffers, not just the first one.
8873
8874 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8875
8876         * gst/elements/gsttypefindelement.c:
8877         (gst_type_find_element_have_type),
8878         (gst_type_find_element_check_set_buffer_caps),
8879         (gst_type_find_element_init), (stop_typefinding),
8880         (gst_type_find_element_handle_event),
8881         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8882         * gst/elements/gsttypefindelement.h:
8883           Set caps on first outgoing buffer when we've found the type.
8884
8885 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8886
8887         * docs/gst/gstreamer-docs.sgml:
8888         * docs/gst/gstreamer-sections.txt:
8889         * docs/gst/tmpl/gstscheduler.sgml:
8890         * docs/gst/tmpl/gstschedulerfactory.sgml:
8891           Remove some old cruft from docs.
8892
8893 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8894
8895         * gst/gstpad.h:
8896           Fix inline docs for GstPadLinkReturn.
8897           
8898         * gst/gststructure.c: (gst_structure_has_name):
8899         * gst/gststructure.h:
8900         * docs/gst/gstreamer-sections.txt:
8901           New API: gst_structure_has_name().
8902
8903 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8904
8905         * configure.ac:
8906           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8907           and _LARGEFILE_SOURCE in config.h as required. Do not 
8908           export those flags in our .pc files any longer (#142209).
8909
8910           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8911
8912         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8913         (gst_file_sink_do_seek), (gst_file_sink_event),
8914         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8915           Redo seek/tell calls with large file support in mind; add some
8916           debugging messages; add log message that tells us when large
8917           file support is unavailable or not enabled for some reason.
8918
8919         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8920           Add log message that tells us when large file support 
8921           is unavailable or not enabled for some reason.
8922
8923 2005-07-29  Wim Taymans  <wim@fluendo.com>
8924
8925         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8926         Added test for removing an element with ghostpad from a bin.
8927         Fixed test as current implementation does the right thing.
8928
8929         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8930         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8931         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8932         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8933         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8934         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8935         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8936         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8937         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8938         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8939         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8940         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8941         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8942         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8943         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8944         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8945         * gst/gstghostpad.h:
8946         Clean up ghostpads, remove properties for internal stuff.
8947         Make threadsafe.
8948         Fix refcounting.
8949         Prepare for switching targets, not all use cases work yet.
8950
8951 2005-07-29  Wim Taymans  <wim@fluendo.com>
8952
8953         * docs/design/part-gstghostpad.txt:
8954         Small update.
8955
8956         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8957         (gst_bin_remove_func):
8958         Unlinking pads while holding the bin LOCK is not a good
8959         idea.
8960
8961         * gst/gstpad.c: (gst_pad_class_init),
8962         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8963         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8964         No prob setting template after creating the pad.
8965
8966 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8967
8968         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8969         (gst_bus_peek), (gst_bus_source_dispatch),
8970         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8971         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8972           gst_bus_poll may be called from other threads. Handle
8973           this nicely by not making poll_data disappear off the
8974           stack once gst_bus_poll returns.
8975           gst_bus_peek now increments the refcount on the returned
8976           message.
8977
8978 2005-07-29  Wim Taymans  <wim@fluendo.com>
8979
8980         * docs/design/part-gstghostpad.txt:
8981         Overview of current GhostPad datastructures and use
8982         cases for changing the target.
8983
8984 2005-07-28  Wim Taymans  <wim@fluendo.com>
8985
8986         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8987         Added checks for hierarchy consistency whan adding linked
8988         elements to bins.
8989
8990         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8991         Added check to test element scheduling without bin/pipeline.
8992
8993         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8994         First add elements to bin, then link.
8995         
8996         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8997         (gst_bin_remove_func):
8998         Unlink pads from elements added/removed from bin to maintain
8999         hierarchy consistency.
9000
9001 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9002
9003         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9004         (gst_base_transform_handle_buffer):
9005         * gst/base/gstbasetransform.h:
9006           Remove broken delay_configure (fixes renegotiation of software
9007           scaling pipelines); remove some leftover printf()s.
9008
9009 2005-07-28  Wim Taymans  <wim@fluendo.com>
9010
9011         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9012         Added some more tests for wrong hierarchy
9013
9014         * docs/design/part-overview.txt:
9015         Some updates.
9016
9017         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9018         Cleanups.
9019
9020         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9021         (gst_element_dispose):
9022         Some more cleanups.
9023
9024         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9025         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9026         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9027         (gst_pad_set_caps), (gst_pad_send_event):
9028         Check for correct hierarchy when linking pads. Moving to
9029         strict requirement for ghostpads when linking elements in
9030         different bins.
9031
9032         * gst/gstpad.h:
9033         Clean ups. Added WRONG_HIERARCHY return value.
9034
9035 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9036
9037         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9038           Better debug if no transform is possible.
9039
9040 2005-07-27  Wim Taymans  <wim@fluendo.com>
9041
9042         * docs/random/wtay/network-transp:
9043         Some old doc I had.
9044
9045 2005-07-27  Wim Taymans  <wim@fluendo.com>
9046
9047         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9048         (gst_dp_event_from_packet):
9049         Fix serialization of seek events.
9050
9051 2005-07-27  Wim Taymans  <wim@fluendo.com>
9052
9053         * check/gst-libs/gdp.c: (GST_START_TEST):
9054         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9055         Fix compilation and fix event serialization.
9056
9057 2005-07-27  Wim Taymans  <wim@fluendo.com>
9058
9059         * CHANGES-0.9:
9060         * docs/design/part-TODO.txt:
9061         * docs/design/part-events.txt:
9062         Some docs updates
9063
9064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9065         (gst_base_sink_event), (gst_base_sink_do_sync),
9066         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9067         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9068         (gst_base_src_do_seek), (gst_base_src_event_handler),
9069         (gst_base_src_loop):
9070         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9071         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9072         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9073         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9074         (gst_base_transform_set_passthrough),
9075         (gst_base_transform_is_passthrough):
9076         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9077         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9078         Event updates.
9079
9080         * gst/gstbuffer.h:
9081         Use faster casts.
9082
9083         * gst/gstelement.c: (gst_element_seek):
9084         * gst/gstelement.h:
9085         Update gst_element_seek.
9086
9087         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9088         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9089         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9090         (gst_event_new_eos), (gst_event_new_newsegment),
9091         (gst_event_parse_newsegment), (gst_event_new_tag),
9092         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9093         (gst_event_parse_qos), (gst_event_new_seek),
9094         (gst_event_parse_seek), (gst_event_new_navigation):
9095         * gst/gstevent.h:
9096         Make GstEvent use GstStructure. Add parsing code, make sure the
9097         API is sufficiently generic.
9098         Mark possible directions of events and serialization.
9099
9100         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9101         (_gst_message_copy), (gst_message_new_segment_start),
9102         (gst_message_new_segment_done), (gst_message_new_custom),
9103         (gst_message_parse_segment_start),
9104         (gst_message_parse_segment_done):
9105         Small cleanups.
9106
9107         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9108         (gst_pad_set_caps), (gst_pad_send_event):
9109         Update for new events. 
9110         Catch events sent in wrong directions.
9111
9112         * gst/gstqueue.c: (gst_queue_link_src),
9113         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9114         (gst_queue_handle_src_query):
9115         Event updates.
9116
9117         * gst/gsttag.c:
9118         * gst/gsttag.h:
9119         Remove event code from this file.
9120
9121         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9122         (gst_dp_event_from_packet):
9123         Event updates.
9124
9125 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9126
9127         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9128         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9129         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9130           Make debugging actually useful.
9131
9132 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9133
9134         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9135         (gst_pad_fixate_caps):
9136           Implement default fixation once again, so that gst_pad_fixate()
9137           actually does anything at all. This probably needs to be some
9138           sort of a last resort, and use profile-based fixation first, but
9139           since that doesn't exist yet, this is the best we have. Fixes
9140           visualization in Totem.
9141
9142 2005-07-22  Wim Taymans  <wim@fluendo.com>
9143
9144         * docs/design/part-events.txt:
9145         Small update.
9146
9147         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9148         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9149         (gst_base_sink_activate_pull):
9150         Some more comments.
9151
9152         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9153         (gst_fake_src_create):
9154         Fix handoff marshall.
9155
9156         * gst/elements/gstidentity.c: (gst_identity_class_init),
9157         (gst_identity_transform_ip):
9158         We're a real inplace element.
9159
9160         * gst/gstbus.c: (gst_bus_post):
9161         Added some comments.
9162
9163         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9164         * tests/muxing/case1.c: (main):
9165         * tests/sched/dynamic-pipeline.c: (main):
9166         * tests/sched/interrupt1.c: (main):
9167         * tests/sched/interrupt2.c: (main):
9168         * tests/sched/interrupt3.c: (main):
9169         * tests/sched/runxml.c: (main):
9170         * tests/sched/sched-stress.c: (main):
9171         * tests/seeking/seeking1.c: (event_received), (main):
9172         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9173         (main):
9174         * tests/threadstate/threadstate3.c: (main):
9175         * tests/threadstate/threadstate4.c: (main):
9176         * tests/threadstate/threadstate5.c: (main):
9177         Fix the tests.
9178
9179 2005-07-21  Wim Taymans  <wim@fluendo.com>
9180
9181         * docs/design/part-seeking.txt:
9182         Some small additions.
9183
9184         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9185         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9186         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9187         * gst/base/gstbasesink.h:
9188         discont values are gint64, handle the math correctly.
9189
9190         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9191         Make the basesrc report error if the source pad is not linked.
9192
9193         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9194         (gst_queue_loop), (gst_queue_handle_src_query),
9195         (gst_queue_src_activate_push):
9196         Make queue collect data even if the srcpad is not linked.
9197         Start pushing out data as soon as it is linked.
9198
9199         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9200         * gst/gstutils.h:
9201         Added gst_flow_get_name() to ease error reporting.
9202
9203 2005-07-20  Wim Taymans  <wim@fluendo.com>
9204
9205         * gst/gstmessage.c: (gst_message_new_segment_start),
9206         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9207         (gst_message_parse_segment_done):
9208         * gst/gstmessage.h:
9209         Added a bunch of messages for advanced seeking.
9210
9211         * gst/parse/grammar.y:
9212         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9213         (gst_dpman_state_changed):
9214         Fix some new-pad -> pad-added signals
9215
9216 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9217
9218         * docs/manual/appendix-porting.xml:
9219         * docs/pwg/appendix-porting.xml:
9220           Document new-pad/state-change signal renames and the FixedList
9221           type rename.
9222
9223 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9224
9225         * docs/manual/advanced-autoplugging.xml:
9226         * docs/manual/basics-helloworld.xml:
9227         * docs/manual/basics-pads.xml:
9228         * docs/random/ds/0.9-suggested-changes:
9229         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9230         * gst/gstelement.h:
9231         * gst/gstevent.h:
9232         * gst/gstformat.h:
9233         * gst/gstquery.h:
9234         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9235         (gst_structure_parse_array), (gst_structure_parse_value):
9236         * gst/gstvalue.c: (gst_type_is_fixed),
9237         (gst_value_list_prepend_value), (gst_value_list_append_value),
9238         (gst_value_list_get_size), (gst_value_list_get_value),
9239         (gst_value_transform_array_string), (gst_value_serialize_array),
9240         (gst_value_deserialize_array), (gst_value_intersect_array),
9241         (gst_value_is_fixed), (_gst_value_initialize):
9242         * gst/gstvalue.h:
9243           GstElement::new-pad -> pad-added, GstElement::state-change ->
9244           state-changed, GstValueFixedList -> GstValueArray, add format and
9245           flags as their own arguments in gst_element_seek() (should improve
9246           "bindeability"), remove function generators since they don't work
9247           under a whole bunch of compilers (they were deprecated already
9248           anyway).
9249
9250 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9251
9252         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9253         (_gst_debug_register_funcptr):
9254         * gst/gstinfo.h:
9255           Fix illegal cast on some platforms (#309253).
9256
9257 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9258
9259         * gst/gstmessage.c: (gst_message_new_custom):
9260         * gst/gstmessage.h:
9261           Add _new_custom, make _new_application a macro to _new_custom.
9262
9263 2005-07-20  Wim Taymans  <wim@fluendo.com>
9264
9265         * gst/base/gstbasesrc.c: (gst_base_src_init),
9266         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9267         * gst/base/gstbasesrc.h:
9268         Add a gboolean to decide when to push out a discont.
9269
9270         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9271         (gst_queue_loop), (gst_queue_handle_src_query),
9272         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9273         (gst_queue_set_property), (gst_queue_get_property):
9274         Some cleanups.
9275
9276         * tests/threadstate/threadstate1.c: (main):
9277         Make a thread test compile and run... very silly..
9278
9279
9280 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9281
9282         * docs/manual/appendix-porting.xml:
9283           Mention removal of libgstgconf-0.9.la and existence of gconf
9284           elements.
9285
9286 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9287
9288         * docs/pwg/advanced-clock.xml:
9289         * docs/pwg/appendix-porting.xml:
9290         * docs/pwg/intro-preface.xml:
9291         * docs/pwg/other-base.xml:
9292         * docs/pwg/other-manager.xml:
9293         * docs/pwg/other-nton.xml:
9294         * docs/pwg/other-ntoone.xml:
9295         * docs/pwg/other-oneton.xml:
9296         * docs/pwg/pwg.xml:
9297           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9298           demuxer), remove n-to-n (was never written), fix some code examples
9299           and links and update the porting section to include all this.
9300
9301 2005-07-19  Wim Taymans  <wim@fluendo.com>
9302
9303         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9304         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9305         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9306         (gst_queue_src_activate_push), (gst_queue_change_state),
9307         (gst_queue_get_property):
9308         * gst/gstqueue.h:
9309         Propagate GstFlowReturn more intelligently upstream and output
9310         an ERROR/EOS when streaming stopped due to fatal error.
9311
9312 2005-07-19  Wim Taymans  <wim@fluendo.com>
9313
9314         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9315         Don't block forever for the state change to complete, the
9316         pipeline already did with a sensible timeout.
9317
9318 2005-07-19  Wim Taymans  <wim@fluendo.com>
9319
9320         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9321         Make sure we never call the create function is we
9322         got deactivated.
9323
9324 2005-07-19  Andy Wingo  <wingo@pobox.com>
9325
9326         * gst/parse/parse.l: Attempt to solve bug #172815.
9327
9328 2005-07-19  Wim Taymans  <wim@fluendo.com>
9329
9330         * docs/design/part-clocks.txt:
9331         * docs/design/part-events.txt:
9332         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9333         Small docs updates.
9334         Only update the seeking values when we are not
9335         busy streaming.
9336
9337 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9338
9339         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9340           Oops, ignore the result of gst_pad_push_event here.
9341
9342 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9343
9344         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9345         (gst_base_src_activate_push):
9346           Send discont event from the loop function, as pads
9347           aren't activated yet in the activate_push handler.
9348
9349         * gst/gstbin.c: (bin_bus_handler):
9350           Don't leak element name.
9351
9352 2005-07-18  Andy Wingo  <wingo@pobox.com>
9353
9354         * configure.ac: Use AS_LIBTOOL_TAGS.
9355
9356 2005-07-18  Wim Taymans  <wim@fluendo.com>
9357
9358         * docs/gst/gstreamer.types:
9359         Remove deleted types.
9360
9361 2005-07-18  Wim Taymans  <wim@fluendo.com>
9362
9363         * check/elements/gstfakesrc.c: (GST_START_TEST):
9364         * configure.ac:
9365         * gst/Makefile.am:
9366         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9367         (init_popt_callback):
9368         * gst/gst.h:
9369         * gst/gst_private.h:
9370         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9371         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9372         * gst/gstbin.h:
9373         * gst/gstbus.h:
9374         * gst/gstconfig.h.in:
9375         * gst/gstelement.c: (gst_element_class_init),
9376         (gst_element_set_base_time), (gst_element_get_base_time),
9377         (iterator_fold_with_resync), (gst_element_change_state),
9378         (gst_element_dispose), (gst_element_get_bus):
9379         * gst/gstelement.h:
9380         * gst/gstelementfactory.h:
9381         * gst/gsterror.c: (_gst_core_errors_init):
9382         * gst/gsterror.h:
9383         * gst/gstevent.h:
9384         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9385         * gst/gstindex.c:
9386         * gst/gstinfo.c: (_gst_debug_init):
9387         * gst/gstmessage.c: (_gst_message_copy):
9388         * gst/gstmessage.h:
9389         * gst/gstminiobject.h:
9390         * gst/gstobject.c:
9391         * gst/gstobject.h:
9392         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9393         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9394         * gst/gstpad.h:
9395         * gst/gstparse.h:
9396         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9397         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9398         (gst_pipeline_get_last_stream_time):
9399         * gst/gstpipeline.h:
9400         * gst/gstpluginfeature.h:
9401         * gst/gstquery.h:
9402         * gst/gstscheduler.c:
9403         * gst/gstscheduler.h:
9404         * gst/gststructure.h:
9405         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9406         (gst_task_finalize), (gst_task_func), (gst_task_create),
9407         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9408         (gst_task_stop), (gst_task_pause):
9409         * gst/gsttask.h:
9410         * gst/gsttypefind.h:
9411         * gst/gsttypes.h:
9412         * gst/registries/gstlibxmlregistry.c: (load_feature),
9413         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9414         * gst/registries/gstxmlregistry.c:
9415         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9416         * gst/schedulers/threadscheduler.c:
9417         * libs/gst/control/dparammanager.h:
9418         * tools/gst-inspect.c: (print_element_list),
9419         (print_plugin_features), (print_element_features):
9420         * tools/gst-xmlinspect.c: (print_element_list),
9421         (print_plugin_info), (main):
9422         Removed plugable schedulers.
9423         Removed Scheduler/Manager from elements.
9424         Removed gsttypes.h, rearranged includes.
9425         Removed dependency pad<->element, element<>pipeline, and
9426         various others,  fix includes.
9427         implement gst_pad_get_parent() with gst_object_get_parent()
9428         Make GstTask sefcontained.
9429         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9430         timeout.
9431         Fix endless loop in iterator_fold_with_resync.
9432
9433
9434 2005-07-18  Wim Taymans  <wim@fluendo.com>
9435
9436         * gst/Makefile.am:
9437         * gst/gstarch.h:
9438         Remove old file.
9439
9440 2005-07-18  Wim Taymans  <wim@fluendo.com>
9441
9442         * gst/Makefile.am:
9443         No more cothreads.h
9444
9445 2005-07-18  Wim Taymans  <wim@fluendo.com>
9446
9447         * gst/cothreads.c:
9448         * gst/cothreads.h:
9449         Let's remove these.
9450
9451 2005-07-18  Wim Taymans  <wim@fluendo.com>
9452
9453         * docs/design/part-dynamic.txt:
9454         * docs/design/part-events.txt:
9455         * docs/design/part-seeking.txt:
9456         Some more docs in the works.
9457
9458         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9459         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9460         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9461         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9462         (gst_base_transform_handle_buffer),
9463         (gst_base_transform_sink_activate_push),
9464         (gst_base_transform_src_activate_pull),
9465         (gst_base_transform_set_passthrough),
9466         (gst_base_transform_is_passthrough):
9467         Refcounting fixes.
9468
9469         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9470         Cleanups.
9471
9472         * gst/gstevent.c: (gst_event_finalize):
9473         Set SRC to NULL.
9474
9475         * gst/gstutils.c: (gst_element_unlink),
9476         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9477         (gst_pad_proxy_setcaps):
9478         * gst/gstutils.h:
9479         Add _get_parent_element() to get a pads parent as an element.
9480
9481 2005-07-18  Wim Taymans  <wim@fluendo.com>
9482
9483         * check/gst/gstbin.c: (GST_START_TEST):
9484         Remove bogus test.
9485
9486 2005-07-18  Wim Taymans  <wim@fluendo.com>
9487
9488         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9489         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9490         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9491         (gst_base_sink_event), (gst_base_sink_do_sync),
9492         (gst_base_sink_chain), (gst_base_sink_loop),
9493         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9494         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9495         Refcounting fixes.
9496         Fix logic for returning ASYNC when not prerolled.
9497
9498 2005-07-18  Wim Taymans  <wim@fluendo.com>
9499
9500         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9501         Fix nasty refcount bug.
9502
9503 2005-07-16 Philippe Khalaf <burger@speedy.org>
9504
9505         * gst/elements/gstfdsrc.c:
9506         * gst/elements/gstfdsrc.h:
9507         * gst/elements/gstelements.c:
9508         * gst/elements/Makefile.am:
9509         Ported fdsrc to 0.9.
9510
9511 2005-07-16  Wim Taymans  <wim@fluendo.com>
9512
9513         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9514         (gst_base_sink_do_sync):
9515         Fix compile error.
9516
9517 2005-07-16  Wim Taymans  <wim@fluendo.com>
9518
9519         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9520         (gst_base_sink_event), (gst_base_sink_get_times),
9521         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9522         * gst/base/gstbasesink.h:
9523         Store and use discont values when syncing buffers as described
9524         in design docs.
9525         
9526         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9527         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9528         (gst_base_src_activate_push):
9529         Push discont event when starting.
9530
9531         * gst/elements/gstidentity.c: (gst_identity_transform):
9532         Small cleanups.
9533
9534         * gst/gstbin.c: (gst_bin_change_state):
9535         Small cleanups in base_time  distribution.
9536
9537         * gst/gstelement.c: (gst_element_set_base_time),
9538         (gst_element_get_base_time), (gst_element_change_state):
9539         * gst/gstelement.h:
9540         Added methods for the base_time of the element.
9541         Some MT fixes.
9542
9543         * gst/gstpipeline.c: (gst_pipeline_send_event),
9544         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9545         (gst_pipeline_get_last_stream_time):
9546         * gst/gstpipeline.h:
9547         MT fixes.
9548         Handle seeking as described in design doc, remove stream_time
9549         hack.
9550         Cleanups clock and stream_time selection code. Added accessors
9551         for the stream_time.
9552         
9553
9554 2005-07-16  Andy Wingo  <wingo@pobox.com>
9555
9556         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9557         (#305291).
9558
9559 2005-07-16  Wim Taymans  <wim@fluendo.com>
9560
9561         * check/gst/gstbin.c: (GST_START_TEST):
9562         Make elements silent as the deep_notify refs the
9563         parent, which might make the test fail.
9564
9565         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9566         Don't hold the lock for too long.
9567
9568 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9569
9570         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9571           Don't unref the caps we passed to gst_caps_make_writable() after
9572           passing them. gst_caps_make_writable() will do that for us.
9573
9574 2005-07-15  Andy Wingo  <wingo@pobox.com>
9575
9576         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9577         (#157311).
9578
9579         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9580         own marshalling function for the handoff signal. Properly type the
9581         buffer as a buffer. Fixes some warnings. Should do a more general
9582         solution.
9583         (gst_identity_class_init): Plug into the right marshaller.
9584
9585 2005-07-15  Wim Taymans  <wim@fluendo.com>
9586
9587         * docs/design/part-TODO.txt:
9588         * docs/design/part-clocks.txt:
9589         * docs/design/part-element-sink.txt:
9590         * docs/design/part-events.txt:
9591         * docs/design/part-gstpipeline.txt:
9592         Updated docs, mostly DISCONT related.
9593
9594 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9595
9596         * docs/pwg/building-pads.xml:
9597           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9598
9599 2005-07-15  Andy Wingo  <wingo@pobox.com>
9600
9601         * tools/gst-typefind.c: Update, add copyright block.
9602
9603         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9604         Normalize and truncate caps before fixation.
9605
9606         * gst/gstcaps.h:
9607         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9608         discards all but the first structure from its argument.
9609
9610 2005-07-15  Wim Taymans  <wim@fluendo.com>
9611
9612         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9613         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9614         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9615         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9616         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9617         (gst_base_transform_chain), (gst_base_transform_change_state),
9618         (gst_base_transform_set_passthrough),
9619         (gst_base_transform_is_passthrough):
9620         * gst/base/gstbasetransform.h:
9621         Make passthrough work using the bufferpools.
9622         Changed API a bit, subclasses have to write into a buffer
9623         provided by the base class.
9624         More debug info in nego functions.
9625         
9626         * gst/elements/gstidentity.c: (gst_identity_init),
9627         (gst_identity_transform):
9628         Port to new base class.
9629
9630 2005-07-15  Wim Taymans  <wim@fluendo.com>
9631
9632         * gst/gstmessage.c: (gst_message_new_state_changed):
9633         * tools/gst-launch.c: (event_loop), (main):
9634         Totally dump messages in -launch with the -m option.
9635         Fix message name for State messages,
9636
9637 2005-07-14  Wim Taymans  <wim@fluendo.com>
9638
9639         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9640         Post error messages on errors.
9641
9642 2005-07-14  Wim Taymans  <wim@fluendo.com>
9643
9644         * gst/gstcaps.c: (gst_caps_do_simplify):
9645         Remove debug info.
9646
9647         * gst/gsterror.h:
9648         Define error for stream stopped.
9649
9650         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9651         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9652         Do proper return values.
9653
9654         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9655         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9656         (gst_pad_get_range):
9657         Better return values.
9658
9659         * gst/gstpad.h:
9660         Reorganise return values, add macro to check for fatal errors.
9661
9662         * gst/gstqueue.c: (gst_queue_chain):
9663         Return proper GstFlowReturn values,
9664
9665 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9666
9667         * docs/gst/gstreamer-sections.txt:
9668         * docs/gst/gstreamer.types:
9669         * docs/gst/tmpl/gst.sgml:
9670         * docs/gst/tmpl/gstbasesink.sgml:
9671         * docs/gst/tmpl/gstbasesrc.sgml:
9672         * docs/gst/tmpl/gstbasetransform.sgml:
9673         * docs/gst/tmpl/gstbin.sgml:
9674         * docs/gst/tmpl/gstbuffer.sgml:
9675         * docs/gst/tmpl/gstcaps.sgml:
9676         * docs/gst/tmpl/gstclock.sgml:
9677         * docs/gst/tmpl/gstcompat.sgml:
9678         * docs/gst/tmpl/gstconfig.sgml:
9679         * docs/gst/tmpl/gstelement.sgml:
9680         * docs/gst/tmpl/gstelementdetails.sgml:
9681         * docs/gst/tmpl/gstelementfactory.sgml:
9682         * docs/gst/tmpl/gstenumtypes.sgml:
9683         * docs/gst/tmpl/gsterror.sgml:
9684         * docs/gst/tmpl/gstevent.sgml:
9685         * docs/gst/tmpl/gstfakesink.sgml:
9686         * docs/gst/tmpl/gstfakesrc.sgml:
9687         * docs/gst/tmpl/gstfilesink.sgml:
9688         * docs/gst/tmpl/gstfilesrc.sgml:
9689         * docs/gst/tmpl/gstfilter.sgml:
9690         * docs/gst/tmpl/gstformat.sgml:
9691         * docs/gst/tmpl/gstghostpad.sgml:
9692         * docs/gst/tmpl/gstimplementsinterface.sgml:
9693         * docs/gst/tmpl/gstindex.sgml:
9694         * docs/gst/tmpl/gstindexfactory.sgml:
9695         * docs/gst/tmpl/gstinfo.sgml:
9696         * docs/gst/tmpl/gstiterator.sgml:
9697         * docs/gst/tmpl/gstmacros.sgml:
9698         * docs/gst/tmpl/gstmemchunk.sgml:
9699         * docs/gst/tmpl/gstminiobject.sgml:
9700         * docs/gst/tmpl/gstobject.sgml:
9701         * docs/gst/tmpl/gstpad.sgml:
9702         * docs/gst/tmpl/gstpadtemplate.sgml:
9703         * docs/gst/tmpl/gstparse.sgml:
9704         * docs/gst/tmpl/gstpipeline.sgml:
9705         * docs/gst/tmpl/gstplugin.sgml:
9706         * docs/gst/tmpl/gstpluginfeature.sgml:
9707         * docs/gst/tmpl/gstquery.sgml:
9708         * docs/gst/tmpl/gstqueue.sgml:
9709         * docs/gst/tmpl/gstregistry.sgml:
9710         * docs/gst/tmpl/gstregistrypool.sgml:
9711         * docs/gst/tmpl/gstscheduler.sgml:
9712         * docs/gst/tmpl/gstschedulerfactory.sgml:
9713         * docs/gst/tmpl/gststructure.sgml:
9714         * docs/gst/tmpl/gstsystemclock.sgml:
9715         * docs/gst/tmpl/gsttaglist.sgml:
9716         * docs/gst/tmpl/gsttagsetter.sgml:
9717         * docs/gst/tmpl/gsttrace.sgml:
9718         * docs/gst/tmpl/gsttrashstack.sgml:
9719         * docs/gst/tmpl/gsttypefind.sgml:
9720         * docs/gst/tmpl/gsttypefindfactory.sgml:
9721         * docs/gst/tmpl/gsttypes.sgml:
9722         * docs/gst/tmpl/gsturihandler.sgml:
9723         * docs/gst/tmpl/gsturitype.sgml:
9724         * docs/gst/tmpl/gstutils.sgml:
9725         * docs/gst/tmpl/gstvalue.sgml:
9726         * docs/gst/tmpl/gstversion.sgml:
9727         * docs/gst/tmpl/gstxml.sgml:
9728         * docs/libs/tmpl/gstcontrol.sgml:
9729         * docs/libs/tmpl/gstdataprotocol.sgml:
9730         * docs/libs/tmpl/gstdparam.sgml:
9731         * docs/libs/tmpl/gstdplinint.sgml:
9732         * docs/libs/tmpl/gstdpman.sgml:
9733         * docs/libs/tmpl/gstdpsmooth.sgml:
9734         * docs/libs/tmpl/gstgetbits.sgml:
9735         * docs/libs/tmpl/gstunitconvert.sgml:
9736         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9737         (gst_push_src_base_init), (gst_push_src_class_init),
9738         (gst_push_src_init), (gst_push_src_create):
9739         * gst/base/gstpushsrc.h:
9740         * gst/elements/gstelements.c:
9741         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9742         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9743         (gst_fake_sink_init), (gst_fake_sink_set_property),
9744         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9745         (gst_fake_sink_event), (gst_fake_sink_preroll),
9746         (gst_fake_sink_render), (gst_fake_sink_change_state):
9747         * gst/elements/gstfakesink.h:
9748         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9749         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9750         (gst_fake_src_base_init), (gst_fake_src_class_init),
9751         (gst_fake_src_init), (gst_fake_src_event_handler),
9752         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9753         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9754         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9755         (gst_fake_src_create_buffer), (gst_fake_src_create),
9756         (gst_fake_src_start), (gst_fake_src_stop):
9757         * gst/elements/gstfakesrc.h:
9758         * gst/elements/gstfilesink.c: (_do_init),
9759         (gst_file_sink_base_init), (gst_file_sink_class_init),
9760         (gst_file_sink_init), (gst_file_sink_dispose),
9761         (gst_file_sink_set_location), (gst_file_sink_set_property),
9762         (gst_file_sink_get_property), (gst_file_sink_open_file),
9763         (gst_file_sink_close_file), (gst_file_sink_query),
9764         (gst_file_sink_event), (gst_file_sink_render),
9765         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9766         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9767         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9768         * gst/elements/gstfilesink.h:
9769         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9770         (gst_file_src_class_init), (gst_file_src_init),
9771         (gst_file_src_finalize), (gst_file_src_set_location),
9772         (gst_file_src_set_property), (gst_file_src_get_property),
9773         (gst_file_src_map_region), (gst_file_src_map_small_region),
9774         (gst_file_src_create_mmap), (gst_file_src_create_read),
9775         (gst_file_src_create), (gst_file_src_is_seekable),
9776         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9777         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9778         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9779         (gst_file_src_uri_handler_init):
9780         * gst/elements/gstfilesrc.h:
9781           more autistic cleanliness in functions/names/defines
9782
9783 2005-07-13  Andy Wingo  <wingo@pobox.com>
9784
9785         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9786         source couldn't negotiate.
9787
9788         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9789         connections again.
9790
9791         * gst/gstutils.h:
9792         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9793         function. I am channeling Hades. Put your boots on suckers!!!
9794
9795 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9796
9797         * testsuite/caps/Makefile.am:
9798         * testsuite/caps/value_compare.c:
9799         * testsuite/caps/value_intersect.c:
9800         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9801           move two testsuite apps over to the check dir
9802
9803 2005-07-12  Wim Taymans  <wim@fluendo.com>
9804
9805         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9806         Added more debug info in the negotiate process.
9807
9808         * gst/gstmessage.h:
9809         Prepare for segment playback.
9810
9811         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9812         Better debugging.
9813
9814         * gst/gstutils.c:
9815         Some more docs.
9816
9817         * tools/gst-launch.c: (main):
9818         NULL pipeline on errors.
9819
9820 2005-07-12  Andy Wingo  <wingo@pobox.com>
9821
9822         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9823         not it comes from a malloc region. Make sure our copy gets freed.
9824
9825 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9826
9827         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9828         * check/gst/gstmessage.c: (GST_START_TEST):
9829         * check/gst/gststructure.c: (GST_START_TEST),
9830         (gst_structure_suite), (main):
9831           more testing
9832         * gst/gstelement.c: (gst_element_message_full):
9833           clean up GError and debug string now that they get copied
9834         * gst/gstmessage.c: (gst_message_new_error),
9835         (gst_message_new_warning), (gst_message_parse_error),
9836         (gst_message_parse_warning):
9837           use GST_TYPE_G_ERROR for structure_new, and take copies of
9838           arguments, so that we don't mess up refcounting
9839
9840 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9841
9842         * check/Makefile.am:
9843           add per-test valgrind targets
9844         * check/gst-libs/gdp.c: (GST_START_TEST),
9845         (gst_data_protocol_suite), (main):
9846           clean up
9847
9848 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9849
9850         * check/Makefile.am:
9851           instate more valgrindable tests
9852         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9853         (GST_START_TEST), (fakesrc_suite):
9854         * check/gst/gstpad.c: (GST_START_TEST):
9855         * check/gst/gststructure.c: (GST_START_TEST):
9856           fix test leaks
9857         * docs/gst/tmpl/gstminiobject.sgml:
9858         * gst/gstpad.c: (gst_pad_finalize):
9859           fix the static mutex leak
9860
9861 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9862
9863         * check/Makefile.am:
9864           add two more tests for valgrinding
9865         * check/gst/gstvalue.c: (GST_START_TEST):
9866           test refcount of deserialized buffer, found a leak
9867         * docs/gst/gstreamer-docs.sgml:
9868         * docs/gst/gstreamer-sections.txt:
9869         * docs/gst/gstreamer.types:
9870         * docs/gst/tmpl/gstminiobject.sgml:
9871           add miniobject to docs
9872         * gst/gstminiobject.c:
9873           add some docs
9874         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9875         (gst_string_unwrap):
9876           fix a hard-to-find invalid write for one of the tests
9877           fix a leak for deserialized buffers
9878
9879 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9880
9881         * docs/pwg/advanced-events.xml:
9882         * docs/pwg/advanced-request.xml:
9883         * docs/pwg/advanced-scheduling.xml:
9884         * docs/pwg/appendix-porting.xml:
9885         * docs/pwg/building-boiler.xml:
9886         * docs/pwg/intro-preface.xml:
9887         * docs/pwg/other-ntoone.xml:
9888           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9889           of example code and explanation for pad activation, loop() and
9890           getrange() functions and a bit more. Remove old comments pointing
9891           to loop-functions.
9892         * examples/pwg/Makefile.am:
9893           Add loop/getrange examples.
9894
9895 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9896
9897         * configure.ac:
9898           check for valgrind binary + some fixes
9899         * check/gst.supp:
9900           valgrind suppressions for the tests
9901         * check/Makefile.am:
9902           add a valgrind: target that valgrinds the unit tests
9903         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9904         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9905         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9906         * check/gst/gstghostpad.c:
9907           added some cleanup
9908         * check/gst/gstdata.c:
9909           removed
9910         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9911         (thread_unref), (gst_mini_object_suite), (main):
9912           added
9913         * gst/gst.c: (gst_deinit):
9914         * gst/gst.h:
9915           add a method to clean up.
9916         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9917         (gst_system_clock_obtain):
9918           allow for disposing the system clock.
9919         * tools/gst-launch.c: (main):
9920           deinit
9921
9922 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9923
9924         * docs/gst/tmpl/gstbasesrc.sgml:
9925         * docs/gst/tmpl/gstfakesrc.sgml:
9926         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9927         (gst_base_src_init), (gst_base_src_set_property),
9928         (gst_base_src_get_property), (gst_base_src_get_range),
9929         (gst_base_src_start):
9930         * gst/base/gstbasesrc.h:
9931           add num-buffers property
9932         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9933         (gst_fakesrc_init), (gst_fakesrc_set_property),
9934         (gst_fakesrc_get_property), (gst_fakesrc_create),
9935         (gst_fakesrc_start):
9936           remove num-buffers property
9937
9938 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9939
9940         * docs/gst/gstreamer-sections.txt:
9941         * docs/gst/tmpl/gstbasesink.sgml:
9942         * docs/gst/tmpl/gstbasesrc.sgml:
9943         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9944         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9945         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9946         (gst_base_sink_set_property), (gst_base_sink_get_property),
9947         (gst_base_sink_handle_object), (gst_base_sink_event),
9948         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9949         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9950         (gst_base_sink_loop), (gst_base_sink_deactivate),
9951         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9952         (gst_base_sink_change_state):
9953         * gst/base/gstbasesink.h:
9954         * gst/base/gstbasesrc.h:
9955         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9956         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9957         (gst_filesink_init):
9958           more macro splitting
9959
9960 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9961
9962         * gst/gstelement.c: (gst_element_get_bus):
9963           add debug
9964         * tools/gst-launch.c: (check_intr), (event_loop):
9965           fix bus leaks
9966
9967 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9968
9969         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9970           fix a caps leak
9971
9972 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9973
9974         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9975         (gst_base_src_finalize):
9976           add finalize method and clean up properly
9977         * gst/gstpipeline.c: (gst_pipeline_dispose):
9978           add debug
9979
9980 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9981
9982         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9983         (gst_bin_suite):
9984           add more things to check
9985         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9986         * gst/gstelement.c:
9987           more debug
9988
9989 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9990
9991         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9992         (GST_START_TEST), (fakesrc_suite):
9993         * check/gst-libs/gdp.c: (GST_START_TEST):
9994         * check/gst/gst.c: (GST_START_TEST):
9995         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9996         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9997         * check/gst/gstbus.c: (GST_START_TEST):
9998         * check/gst/gstcaps.c: (GST_START_TEST):
9999         * check/gst/gstdata.c: (GST_START_TEST):
10000         * check/gst/gstelement.c: (GST_START_TEST):
10001         * check/gst/gstghostpad.c: (GST_START_TEST):
10002         * check/gst/gstiterator.c: (GST_START_TEST):
10003         * check/gst/gstmessage.c: (GST_START_TEST):
10004         * check/gst/gstobject.c: (GST_START_TEST):
10005         * check/gst/gstpad.c: (GST_START_TEST):
10006         * check/gst/gststructure.c: (GST_START_TEST):
10007         * check/gst/gstsystemclock.c: (GST_START_TEST),
10008         (gst_systemclock_suite):
10009         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10010         * check/gst/gstvalue.c: (GST_START_TEST):
10011         * check/pipelines/cleanup.c: (GST_START_TEST):
10012         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10013         * check/states/sinks.c: (GST_START_TEST):
10014         * check/gstcheck.c: (gst_check_init):
10015         * check/gstcheck.h:
10016           add debugging category
10017           use GST_START_TEST now, so we add a debug line
10018
10019 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10020
10021         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10022           add test for state change message on a bin
10023         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10024           add another test
10025         * gst/gstbin.c: (gst_bin_init):
10026         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10027         * gst/gstelement.c: (gst_element_post_message),
10028         (gst_element_set_state):
10029         * gst/gstelementfactory.c: (gst_element_factory_create):
10030         * gst/gstmessage.c: (gst_message_new):
10031         * gst/gstscheduler.c:
10032           various debugging additions and cleanups
10033
10034 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10035
10036         * check/Makefile.am:
10037         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10038         (main):
10039           adding tests for elements
10040         * gst/gstelement.c: (gst_element_dispose):
10041
10042 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10043
10044         * gst/registries/gstlibxmlregistry.c: (load_feature):
10045           plug more leaks.  A simple gst_init() now is leakfree, yay.
10046
10047 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10048
10049         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10050         (gst_xml_registry_load):
10051           plug another memleak
10052
10053 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10054
10055         * configure.ac:
10056           use GST_SET_ERROR_CFLAGS
10057         * docs/faq/cvs.xml:
10058           change to ERROR_CFLAGS
10059
10060 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10061
10062         * configure.ac:
10063           make GST_ERROR_CFLAGS overridable and re-enable Werror
10064         * docs/faq/cvs.xml:
10065           add a note about error CFLAGS
10066         * docs/gst/tmpl/gstfakesrc.sgml:
10067         * gst/elements/gstfakesrc.c:
10068           comment out some unused code
10069         * gst/gst.c: (split_and_iterate):
10070         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10071         (load_feature):
10072           plug some memleaks
10073
10074 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10075
10076         * common/Makefile.am:
10077         * common/gtk-doc.mak:
10078         * docs/gst/Makefile.am:
10079           factor out gtk-doc.mak
10080
10081 2005-07-07  Wim Taymans  <wim@fluendo.com>
10082
10083         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10084         (gst_thread_scheduler_dispose):
10085         Unlock the STREAM_LOCK completely.
10086
10087 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10088
10089         * check/Makefile.am:
10090         * check/elements/.cvsignore:
10091         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10092         (START_TEST), (fakesrc_suite), (main):
10093         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10094         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10095         (gst_fakesrc_create), (gst_fakesrc_start):
10096         * gst/elements/gstfakesrc.h:
10097           adding a first element test
10098
10099 2005-07-07  Andy Wingo  <wingo@pobox.com>
10100
10101         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10102         debug message.
10103
10104 2005-07-07  Wim Taymans  <wim@fluendo.com>
10105
10106         * gst/gstquery.c:
10107         * gst/gstquery.h:
10108         Remove old types
10109
10110 2005-07-07  Wim Taymans  <wim@fluendo.com>
10111
10112         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10113         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10114         Allow subclasses to implement their own negotiation.
10115
10116 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10117
10118         * docs/design/part-gstbin.txt:
10119         * docs/design/part-gstpipeline.txt:
10120           Update design notes to reflect the movement of
10121           responsibility for bus handling from GstPipeline to
10122           GstBin
10123
10124 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10125
10126         * configure.ac:
10127           Remove unnecessary queue2/3/4 examples.
10128
10129 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10130
10131         * examples/Makefile.am:
10132         * examples/helloworld/helloworld.c: (event_loop), (main):
10133         * examples/queue/queue.c: (event_loop), (main):
10134         * examples/queue2/queue2.c: (main):
10135           Update a couple of the examples to work again.
10136
10137         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10138         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10139          Spelling corrections and extra debug.
10140         
10141         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10142         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10143         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10144         * gst/gstbin.h:
10145         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10146         (gst_pipeline_change_state):
10147         * gst/gstpipeline.h:
10148           Move the bus handler for children to the GstBin, and create a
10149           separate bus for receiving messages from children to the one the
10150           bus sends 'upwards' on.
10151
10152 2005-07-06  Wim Taymans  <wim@fluendo.com>
10153
10154         * gst/base/README:
10155         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10156         (gst_base_sink_handle_object), (gst_base_sink_loop),
10157         (gst_base_sink_change_state):
10158         * gst/base/gstbasesink.h:
10159         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10160         (gst_base_src_init), (gst_base_src_setcaps),
10161         (gst_base_src_getcaps), (gst_base_src_loop),
10162         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10163         (gst_base_src_start), (gst_base_src_change_state):
10164         * gst/base/gstbasesrc.h:
10165         Make basesrc negotiate.
10166         Handle the case where preroll fails in basesink.
10167         Update README.
10168
10169 2005-07-06  Wim Taymans  <wim@fluendo.com>
10170
10171         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10172         Implement the fixate function.
10173         Clean up acceptcaps.
10174
10175 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10176
10177         * docs/pwg/building-filterfactory.xml:
10178         * docs/pwg/pwg.xml:
10179           Remove never-written filter-factory chapter; I'll add the various
10180           base classes to part 4 ("other element types") later on.
10181
10182 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10183
10184         * docs/pwg/advanced-negotiation.xml:
10185         * docs/pwg/building-boiler.xml:
10186         * docs/pwg/building-pads.xml:
10187         * docs/pwg/pwg.xml:
10188         * examples/pwg/Makefile.am:
10189           Add a chapter on caps negotiation, simplify the original code
10190           samples a bit w.r.t. caps negotiation, add link to the advanced
10191           section. Add a bunch of examples showing different use cases of
10192           different types of caps negotiation. Upstream renegotiation isn't
10193           fully documented yet since nobody knows how that works.
10194
10195 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10196
10197         * check/gst/gstpad.c:
10198         * check/gstcheck.c:
10199         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10200           if pad has no parent, return NULL as list of internal links
10201
10202 2005-07-05  Andy Wingo  <wingo@pobox.com>
10203
10204         * gst/elements/gstfilesrc.c:
10205         * gst/elements/gstfakesrc.c: 
10206         * gst/base/gstpushsrc.c:
10207         * gst/base/gstbasesrc.h: 
10208         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10209         
10210 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10211
10212         * Makefile.am:
10213           better report generation target (lcov needs a patch)
10214
10215 2005-07-05  Andy Wingo  <wingo@pobox.com>
10216
10217         * gst/elements, testsuite: Null if we got it...
10218
10219 2005-07-05  Wim Taymans  <wim@fluendo.com>
10220
10221         * configure.ac:
10222         * libs/gst/dataprotocol/Makefile.am:
10223         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10224         * libs/gst/dataprotocol/dataprotocol.h:
10225         * pkgconfig/Makefile.am:
10226         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10227         * pkgconfig/gstreamer-dataprotocol.pc.in:
10228         Ported dataprotol to 0.9. 
10229         Added pkgconfig files.
10230
10231 2005-07-05  Andy Wingo  <wingo@pobox.com>
10232
10233         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10234         Default to returning TRUE for the case when tranform_caps returns
10235         a fixed caps, like for identity or volume.
10236
10237         * check/gst/gstbus.c (pound_bus_with_messages): 
10238         * check/gst/gstmessage.c (START_TEST): 
10239         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10240         message API change.
10241
10242         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10243         logic weaks here: always run transform_caps, trying passthrough
10244         operation only if the original caps intersects with the transform.
10245
10246         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10247         source and sink caps.
10248
10249         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10250         Intersect the peer caps with the pad template before going into
10251         transform_caps.
10252         (gst_base_transform_transform_caps): More debugging.
10253
10254         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10255         src argument.
10256
10257 2005-07-04  Edward Hervey  <edward@fluendo.com>
10258
10259         * gst/gstutils.c:
10260         * gst/gstutils.h:
10261         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10262         in bindings.
10263
10264 2005-07-04  Andy Wingo  <wingo@pobox.com>
10265
10266         * check/gst/gstpad.c: Only set explicit caps on pads.
10267
10268 2005-07-01  Andy Wingo  <wingo@pobox.com>
10269
10270         * tests/network-clock.scm: Commentary update.
10271
10272         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10273         Didn't really make sense, not implementable with basetransform,
10274         etc.
10275         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10276         attempt at implementing the sync property, needs an unlock method.
10277
10278         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10279         New func, by default returns the same caps (the identity
10280         transformation).
10281         (gst_base_transform_getcaps): Uses transform_caps to return
10282         something sensible.
10283         (gst_base_transform_setcaps): Complicated logic to get caps on
10284         both pads, even if they are different, and to call set_caps once
10285         for every time both pads get their caps set.
10286         (gst_base_transform_handle_buffer): Give the ref to the transform
10287         function. Allows in-place modification of the buffer.
10288
10289         * gst/base/gstbasetransform.h (transform_caps): New class method.
10290         Given caps on one side, what can I do on the other.
10291         (set_caps): Take two caps, one for each side of the element.
10292
10293         * gst/gstpad.h:
10294         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10295         caps in place. This is safe because we can check the mutability of
10296         the caps, and a good idea because fixate functions are just called
10297         as a matter of last resort. (Not actually implemented.)
10298         (gst_pad_set_caps): If the caps we're setting is actually the same
10299         as the existing pad caps, just update the pointer without calling
10300         setcaps. Assert that caps is either NULL or fixed, as per the
10301         docs.
10302
10303         * gst/gstghostpad.c: Update for fixate changes.
10304
10305 2005-07-02  Andy Wingo  <wingo@pobox.com>
10306
10307         * gst/gstcaps.c:
10308         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10309         two refcounts makes it immutable, which is enough. Doc more.
10310
10311 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10312
10313         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10314           Put the mini_object into GValue as a mini_object,
10315           not a gpointer, since that's how we declared
10316           the signal.
10317
10318 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10319
10320         * examples/pwg/Makefile.am:
10321           Fix buildbot again.
10322
10323 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10324
10325         * docs/pwg/building-testapp.xml:
10326           Add extra check.
10327         * examples/pwg/Makefile.am:
10328           Fix buildbot.
10329
10330 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10331
10332         * configure.ac:
10333         * examples/Makefile.am:
10334         * examples/pwg/Makefile.am:
10335         * examples/pwg/extract.pl:
10336           Enable building the PWG examples.
10337         * docs/pwg/advanced-interfaces.xml:
10338           Add URI interface stub.
10339         * docs/pwg/advanced-types.xml:
10340         * docs/pwg/other-autoplugger.xml:
10341         * docs/pwg/appendix-porting.xml:
10342         * docs/pwg/pwg.xml:
10343           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10344         * docs/pwg/building-boiler.xml:
10345         * docs/pwg/building-chainfn.xml:
10346         * docs/pwg/building-pads.xml:
10347         * docs/pwg/building-props.xml:
10348         * docs/pwg/building-state.xml:
10349         * docs/pwg/building-testapp.xml:
10350           Update the building-*.xml parts for 0.9 changes. All examples
10351           code blocks compile in examples/pwg/*.
10352
10353 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10354
10355         * docs/manual/advanced-autoplugging.xml:
10356         * docs/manual/appendix-checklist.xml:
10357         * docs/manual/appendix-integration.xml:
10358         * docs/manual/highlevel-components.xml:
10359           Fix playbin/decodebin examples, update docs a bit, mention bus
10360           instead of signals in various places, mention kmplayer and
10361           kaffeine since they have a working GStreamer backend in the KDE
10362           section.
10363
10364 2005-06-30  Wim Taymans  <wim@fluendo.com>
10365
10366         * CHANGES-0.9:
10367         * docs/design/draft-ghostpads.txt:
10368         * docs/design/draft-push-pull.txt:
10369         * docs/design/draft-query.txt:
10370         * docs/design/part-TODO.txt:
10371         * docs/design/part-query.txt:
10372         Added CHANGES-0.9 doc, updated status of other docs.
10373         
10374         * gst/gstquery.h:
10375         Remove "hmm" macro
10376
10377 2005-06-30  Wim Taymans  <wim@fluendo.com>
10378
10379         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10380         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10381         (gst_base_sink_change_state):
10382         * gst/base/gstbasesink.h:
10383         Some tweaks, only EOS and a buffer complete a preroll.
10384
10385 2005-06-30  Andy Wingo  <wingo@pobox.com>
10386
10387         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10388         activate_push down to the internal pad as well.
10389
10390 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10391
10392         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10393
10394         * gst/gsttaginterface.c:
10395           Some documentation fixes (#307394 and #307397).
10396
10397 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10398
10399         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10400
10401         * gst/gstvalue.c: (gst_value_intersect_list):
10402           Fix memleak (#309125).
10403
10404 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10405
10406         * docs/manual/advanced-dataaccess.xml:
10407           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10408         * docs/manual/basics-pads.xml:
10409           Add reference for filtered caps to above chapter.
10410
10411 2005-06-30  Wim Taymans  <wim@fluendo.com>
10412
10413         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10414         (gst_bin_change_state):
10415         Probes are gone.
10416         Lame attempt at making the state change function a bit
10417         more readable.
10418
10419 2005-06-30  Wim Taymans  <wim@fluendo.com>
10420
10421         * docs/design/part-clocks.txt:
10422         * docs/design/part-element-sink.txt:
10423         * docs/design/part-events.txt:
10424         * docs/design/part-preroll.txt:
10425         * docs/design/part-states.txt:
10426         Some more tweeks and additions to the docs.
10427
10428 2005-06-30  Wim Taymans  <wim@fluendo.com>
10429
10430         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10431         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10432         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10433         (gst_pad_check_pull_range), (gst_pad_get_range),
10434         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10435         * gst/gstpad.h:
10436         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10437         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10438         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10439         (gst_pad_remove_buffer_probe):
10440         Removed atomic operations, use existing LOCK.
10441         Move exception handling out of main code path.
10442
10443 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10444
10445         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10446         (silly_return_true_function), (gst_pad_class_init),
10447         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10448         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10449         (gst_pad_send_event):
10450           Fix accumulator, add default value by using _emitv() instead
10451           of _emit() for signal emission.
10452
10453 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10454
10455         * docs/manual/advanced-dataaccess.xml:
10456         * examples/manual/Makefile.am:
10457           Add probe example.
10458         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10459           Make work (??).
10460
10461 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10462
10463         * gst/elements/gstfilesink.c: (gst_filesink_render):
10464           Simplify code so that we don't have to handle short
10465           writes and return GST_FLOW_ERROR if an error occured.
10466
10467 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10468
10469         * docs/gst/gstreamer-docs.sgml:
10470           Remove probes more.
10471
10472 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10473
10474         * docs/gst/gstreamer-sections.txt:
10475         * docs/gst/tmpl/gstpad.sgml:
10476         * docs/gst/tmpl/gstprobe.sgml:
10477         * gst/Makefile.am:
10478         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10479         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10480         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10481         (gst_pad_push_event), (gst_pad_send_event):
10482         * gst/gstpad.h:
10483         * gst/gstutils.c: (gst_pad_add_data_probe),
10484         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10485         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10486         (gst_pad_remove_buffer_probe):
10487         * gst/gstutils.h:
10488           Remove old probes, add new g-signal-based probes and some utility
10489           functions.
10490
10491 2005-06-29  Edward Hervey  <edward@fluendo.com>
10492
10493         * gst/gstelementfactory.c:
10494         * gst/gstutils.h:
10495         * gst/gstutils.c:
10496         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10497         the definition to the header file.
10498
10499 2005-06-29  Andy Wingo  <wingo@pobox.com>
10500
10501         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10502         plugins from the source directory.
10503
10504 2005-06-29  Wim Taymans  <wim@fluendo.com>
10505
10506         * docs/gst/tmpl/gstbuffer.sgml:
10507         * docs/gst/tmpl/gstclock.sgml:
10508         Some fixings for blantently wrong text.
10509
10510 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10511
10512         * check/Makefile.am:
10513         * gst/gst.c: (add_path_func), (init_pre):
10514         * gst/gstregistry.c: (gst_registry_add_path):
10515           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10516           only scan the GST_PLUGIN_PATH locations, and not add
10517           system locations
10518
10519 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10520
10521         * docs/gst/gstreamer-sections.txt:
10522         * docs/gst/tmpl/gstbasesrc.sgml:
10523         * gst/gstelement.c:
10524         * gst/gstelement.h:
10525         * gst/gstevent.c:
10526         * gst/gstutils.c:
10527           doc fixes
10528
10529 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10530
10531         * docs/manual/advanced-autoplugging.xml:
10532           Fix autoplugging example.
10533
10534 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10535
10536         * docs/manual/advanced-autoplugging.xml:
10537         * docs/manual/mime-world.fig:
10538           Try to get autoplugging working, fix type detection. Fix text
10539           in hello-world image.
10540
10541 2005-06-29  Wim Taymans  <wim@fluendo.com>
10542
10543         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10544         (gst_base_sink_change_state):
10545         Small debug line.
10546
10547         * gst/gstclock.h:
10548         map SIGNAL and BROADCAST to the right function.
10549
10550         * gst/gstobject.h:
10551         Remove redundant braces.
10552
10553         * gst/gstpad.c: (gst_pad_set_caps):
10554         Don't call setcaps function when reseting caps to NULL.
10555
10556         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10557         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10558         (gst_system_clock_id_unschedule):
10559         Use BROADCAST as this is what we do.
10560
10561 2005-06-29  Wim Taymans  <wim@fluendo.com>
10562
10563         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10564         We are actually prerolling before commiting the state
10565         change. 
10566
10567 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10568
10569         * docs/manual/advanced-clocks.xml:
10570         * docs/manual/advanced-interfaces.xml:
10571         * docs/manual/advanced-metadata.xml:
10572         * docs/manual/advanced-position.xml:
10573         * docs/manual/advanced-schedulers.xml:
10574         * docs/manual/advanced-threads.xml:
10575         * docs/manual/appendix-porting.xml:
10576         * docs/manual/basics-bins.xml:
10577         * docs/manual/basics-bus.xml:
10578         * docs/manual/basics-elements.xml:
10579         * docs/manual/basics-helloworld.xml:
10580         * docs/manual/basics-pads.xml:
10581         * docs/manual/highlevel-components.xml:
10582         * docs/manual/manual.xml:
10583         * docs/manual/thread.fig:
10584           Update (until threads/scheduling) Application Development Manual;
10585           remove GstThread, add GstBus, add simple porting checklist, add
10586           documentation for tag writing, clocks, make all examples until this
10587           part compile and run.
10588         * examples/manual/Makefile.am:
10589           Update from changes to Application Development Manual; add bus
10590           example, remove thread example.
10591
10592 2005-06-28  Wim Taymans  <wim@fluendo.com>
10593
10594         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10595         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10596         (gst_bus_source_dispatch):
10597         Add debugging messages.
10598         Make internal methods static.
10599         Handle the case where the bus is flushed in the handler.
10600         
10601         * gst/gstelement.c: (gst_element_get_bus):
10602         Fix refcount in _get_bus();
10603
10604         * gst/gstpipeline.c: (gst_pipeline_change_state),
10605         (gst_pipeline_get_clock_func):
10606         Clock refcounting fixes.
10607         Handle the case where preroll timed out more gracefully.
10608         
10609         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10610         Clean up the internal thread in dispose. This is needed
10611         for subclasses that actually get disposed.
10612         
10613         * gst/schedulers/threadscheduler.c:
10614         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10615         (gst_thread_scheduler_dispose):
10616         Free thread pool in dispose.
10617
10618 2005-06-28  Andy Wingo  <wingo@pobox.com>
10619
10620         * tests/network-clock-utils.scm (debug, print-event): New utils.
10621
10622         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10623         (*packet-loss*): Unified loss probability.
10624         (network-time): Report out-of-band events.
10625
10626         * tests/plot-data: Add support for out-of-band events. Hack it
10627         into this script instead of passing it down the pipe; should fix
10628         this later.
10629
10630 2005-06-28  Wim Taymans  <wim@fluendo.com>
10631
10632         * docs/gst/gstreamer.types:
10633         * docs/gst/tmpl/gstbasesrc.sgml:
10634         * docs/gst/tmpl/gstpad.sgml:
10635         Docs fixes.
10636
10637 2005-06-28  Wim Taymans  <wim@fluendo.com>
10638
10639         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10640         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10641         (gst_proxy_pad_do_fixatecaps):
10642         Correctly proxy the check_pull_range function.
10643
10644 2005-06-28  Andy Wingo  <wingo@pobox.com>
10645
10646         * tests/network-clock.scm: Removed need for slib.
10647         
10648 2005-06-28  Wim Taymans  <wim@fluendo.com>
10649
10650         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10651         (gst_basesink_preroll_queue_flush):
10652         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10653         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10654         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10655         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10656         (gst_proxy_pad_set_property):
10657         * gst/gstpad.c:
10658         * gst/gstpad.h:
10659         * gst/gstqueue.c: (gst_queue_init):
10660         The deprecated pad loop function is removed now.
10661
10662 2005-06-28  Andy Wingo  <wingo@pobox.com>
10663
10664         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10665         New parameters, simulate network packet loss.
10666
10667         * tests/network-clock-utils.scm: Initialize the RNG.
10668
10669 2005-06-28  Wim Taymans  <wim@fluendo.com>
10670
10671         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10672         (gst_basesink_event), (gst_basesink_deactivate):
10673         Flushing the preroll queue always needs to unlock the waiters.
10674
10675 2005-06-28  Edward Hervey  <edward@fluendo.com>
10676
10677         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10678         Wheen a seek was successful on a pipeline, set the stream_time to the
10679         seek offset in order to have a synchronized stream_time.
10680
10681 2005-06-28  Wim Taymans  <wim@fluendo.com>
10682
10683         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10684         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10685         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10686         (gst_proxy_pad_do_fixatecaps):
10687         Call wrapper function instead of just calling the function
10688         pointers. This takes care of any locking and whatmore.
10689
10690 2005-06-28  Wim Taymans  <wim@fluendo.com>
10691
10692         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10693         (gst_pad_pull_range):
10694         * gst/gstpad.h:
10695         CONNECTED -> LINKED.
10696
10697 2005-06-28  Andy Wingo  <wingo@pobox.com>
10698
10699         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10700         source-munging commit!!!
10701
10702         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10703         (gst_object_sink): Take gpointer arguments, not GstObject --
10704         avoids casts. Like GLib.
10705
10706         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10707         activate.
10708
10709 2005-06-27  Andy Wingo  <wingo@pobox.com>
10710
10711         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10712         remaining buffer.
10713
10714         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10715         returns a sorted copy of the trace list.
10716         (gst_alloc_trace_print_live): New API, only prints traces with
10717         live objects. Sort the list.
10718         (gst_alloc_trace_print_all): Sort the list.
10719         (gst_alloc_trace_print): Align columns.
10720
10721         * gst/elements/gstttypefindelement.c:
10722         * gst/elements/gsttee.c:
10723         * gst/base/gstbasesrc.c:
10724         * gst/base/gstbasesink.c:
10725         * gst/base/gstbasetransform.c:
10726         * gst/gstqueue.c: Adapt for pad activation changes.
10727
10728         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10729         sched.
10730         (gst_pipeline_dispose): Drop ref on sched.
10731
10732         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10733         (gst_pad_activate_default): Push mode by default.
10734         (pre_activate_switch, post_activate_switch): New stubs, things to
10735         do before and after switching activation modes on pads.
10736         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10737         the pad's activate function to choose which mode to activate.
10738         Shortcut on deactivation and call the right function directly.
10739         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10740         mode.
10741         (gst_pad_activate_push): New API, same for push mode.
10742         (gst_pad_set_activate_function) 
10743         (gst_pad_set_activatepull_function) 
10744         (gst_pad_set_activatepush_function): Setters for new API.
10745
10746         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10747         Trace all miniobjects.
10748         (gst_mini_object_make_writable): Unref the arg if we copy, like
10749         gst_caps_make_writable.
10750
10751         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10752
10753         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10754         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10755         Adapt for new pad API.
10756
10757         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10758
10759         * gst/gstelement.h:
10760         * gst/gstelement.c (gst_element_iterate_src_pads) 
10761         (gst_element_iterate_sink_pads): New API functions.
10762         
10763         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10764         should fold into gstiterator.c in some form.
10765         (gst_element_pads_activate): Simplified via use of fold and
10766         delegation of decisions to gstpad->activate.
10767
10768         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10769         help in debugging.
10770
10771         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10772         class once in init, like gstmessage. Didn't run into this issue
10773         but it seems correct. Don't initialize a trace, gstminiobject does
10774         that.
10775
10776         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10777         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10778         to the bus.
10779         (assert_live_count): New util function, uses alloc traces to check
10780         cleanup.
10781
10782         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10783         To be modified when unlink drops the internal pad.
10784
10785 2005-06-27  Wim Taymans  <wim@fluendo.com>
10786
10787         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10788         (gst_bin_change_state):
10789         Cleanup the get_state() function a little, make sure it
10790         iterates the same set of elements.
10791         Added stub iterate_state_order().
10792
10793 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10794
10795         * docs/gst/gstreamer-docs.sgml:
10796         * docs/gst/gstreamer-sections.txt:
10797         * docs/gst/gstreamer.types:
10798         * docs/gst/tmpl/gstbasesink.sgml:
10799         * docs/gst/tmpl/gstbasesrc.sgml:
10800         * docs/gst/tmpl/gstbasetransform.sgml:
10801         * docs/gst/tmpl/gstelement.sgml:
10802         * docs/gst/tmpl/gstiterator.sgml:
10803         * gst/base/gstbasesrc.c:
10804         * gst/base/gstbasesrc.h:
10805         * gst/base/gstbasetransform.h:
10806         * gst/gstelement.c:
10807         * gst/gstiterator.h:
10808           adding basetransform and iterator docs
10809
10810 2005-06-27  Andy Wingo  <wingo@pobox.com>
10811
10812         * docs/design/part-activation.txt: Notes on how activation should
10813         work -- not quite implemented yet.
10814
10815 2005-06-25  Wim Taymans  <wim@fluendo.com>
10816
10817         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10818         At least get the chain function correct, needs more
10819         fixing.
10820
10821 2005-06-25  Wim Taymans  <wim@fluendo.com>
10822
10823         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10824         (gst_basesink_handle_object), (gst_basesink_event),
10825         (gst_basesink_do_sync), (gst_basesink_handle_event),
10826         (gst_basesink_change_state):
10827         * gst/gsttask.h:
10828         Right, two problems here: ghostpads don't take locks and
10829         glib _rec_mutex_lock_full() with depth==0 still locks.
10830         Catch illegal locking and g_warn them.
10831
10832 2005-06-25  Wim Taymans  <wim@fluendo.com>
10833
10834         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10835         Have to check for completion now...
10836
10837 2005-06-25  Wim Taymans  <wim@fluendo.com>
10838
10839         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10840         (gst_basesink_handle_object), (gst_basesink_event),
10841         (gst_basesink_do_sync), (gst_basesink_handle_event),
10842         (gst_basesink_change_state):
10843         * gst/gstpad.h:
10844         Unlock STREAM_LOCK whatever the recursion was.
10845
10846 2005-06-25  Wim Taymans  <wim@fluendo.com>
10847
10848         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10849         (gst_basesink_preroll_queue_empty),
10850         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10851         (gst_basesink_event), (gst_basesink_do_sync),
10852         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10853         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10854         (gst_basesink_change_state):
10855         Reworked the base sink, handle event and buffer serialisation
10856         correctly and removed possible deadlock.
10857         Handle EOS correctly.
10858
10859 2005-06-25  Wim Taymans  <wim@fluendo.com>
10860
10861         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10862         (gst_pipeline_change_state):
10863         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10864         Allow elements to post EOS in the state change function.
10865         Fix up -launch, make it exit the poll loop when the
10866         pipeline actually changed state.
10867         Fix up warning parsing in -launch.
10868
10869 2005-06-25  Wim Taymans  <wim@fluendo.com>
10870
10871         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10872         (gst_tee_sink_activate):
10873         Core takes STREAM_LOCK for us now.
10874
10875 2005-06-25  Wim Taymans  <wim@fluendo.com>
10876
10877         * gst/gstelement.c: (gst_element_get_state_func),
10878         (gst_element_set_state):
10879         * gst/gstelement.h:
10880         * gst/gstmessage.c: (gst_message_parse_error),
10881         (gst_message_parse_warning):
10882         Keep track of current target state while performing a state
10883         change so that subclasses can do something interesting.
10884         Fix parsing of warning/error messages when GError is NULL.
10885
10886 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10887
10888         * docs/gst/Makefile.am:
10889         * docs/gst/gstreamer-docs.sgml:
10890         * docs/gst/gstreamer-sections.txt:
10891         * docs/gst/gstreamer.types:
10892         * docs/gst/tmpl/gstbasesink.sgml:
10893         * docs/gst/tmpl/gstbasesrc.sgml:
10894         * docs/gst/tmpl/gstbin.sgml:
10895         * docs/gst/tmpl/gstcompat.sgml:
10896         * docs/gst/tmpl/gstfakesink.sgml:
10897         * docs/gst/tmpl/gstfakesrc.sgml:
10898         * docs/gst/tmpl/gstfilesink.sgml:
10899         * docs/gst/tmpl/gstfilesrc.sgml:
10900         * docs/gst/tmpl/gstindex.sgml:
10901         * docs/manual/appendix-quotes.xml:
10902         * gst/base/gstbasesrc.h:
10903         * gst/elements/gstfakesrc.h:
10904         * gst/gstmessage.h:
10905           start pulling in base classes and elements in our docs
10906
10907 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10908
10909         * docs/gst/Makefile.am:
10910         * docs/libs/Makefile.am:
10911           fixed make distcheck with gtk-doc 1.3
10912
10913 2005-06-23  Wim Taymans  <wim@fluendo.com>
10914
10915         * gst/gstelement.c: (gst_element_get_state_func),
10916         (gst_element_set_state), (gst_element_change_state):
10917         When the state did not change, also report NO_PREROLL
10918         when it matters.
10919
10920 2005-06-23  Wim Taymans  <wim@fluendo.com>
10921
10922         * gst/gstpad.c: (gst_pad_event_default):
10923         * gst/gstqueue.c: (gst_queue_loop):
10924         No unsafe task pausing please.
10925
10926 2005-06-23  Wim Taymans  <wim@fluendo.com>
10927
10928         * gst/schedulers/threadscheduler.c:
10929         (gst_thread_scheduler_task_start),
10930         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10931         Ref the task before pushing it on the threadpool. This
10932         makes sure that we have a ref when the threadfunction is
10933         actually called.
10934
10935 2005-06-23  Andy Wingo  <wingo@pobox.com>
10936
10937         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10938         offset is greater than the file's size.
10939
10940         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10941         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10942         * gst/gstobject.c (gst_object_class_init): Make the class lock
10943         recursive. Wim won't let me drop deep_notify. Decodebin works
10944         again, whoopdy doo.
10945
10946         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10947         internal pad, and hacks accordingly. Doesn't do it on the target
10948         pad because we change its caps. Probably catches all cases of
10949         interest tho.
10950         (gst_ghost_pad_set_property): Connect to notify::caps as
10951         appropritate.
10952
10953         * tests/network-clock.scm (plot-simulation): Pipe data to the
10954         elite python skript.
10955
10956         * tests/network-clock-utils.scm (define-parameter): New macro,
10957         defines a parameter that can be set via the command line.
10958         (set-parameter!, parse-parameter-arguments): Command line args
10959         parser.
10960
10961         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10962         stdin.
10963
10964 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10965
10966         * gst/elements/gsttypefindelement.c:
10967         (gst_type_find_element_handle_event):
10968           Don't restart typefinding on a discont.
10969         * gst/gstelement.c: (gst_element_set_state):
10970           Debug spelling fix.
10971         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10972           Allow changing mode of an active pad.
10973           Debug output fixes.
10974         * gst/registries/gstlibxmlregistry.c: (load_feature):
10975           Don't cast a static pad template to a normal pad template.
10976
10977 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10978
10979         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10980         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10981           remove gst_strtoll completely, since it didn't actually do
10982           anything more than what g_ascii_strtoull already does.
10983           check for range errors when deserializing
10984           do a cast for the unsigned cases; but further fixing needs
10985           a decision on what the interpretation of "(int)" and
10986           deserialization should be for values that fall outside the
10987           type's boundaries (ie, refuse, or interpret as casting)
10988
10989 2005-06-23  Wim Taymans  <wim@fluendo.com>
10990
10991         * check/Makefile.am:
10992         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10993         * docs/design/part-live-source.txt:
10994         * docs/design/part-states.txt:
10995         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10996         (gst_basesrc_set_live), (gst_basesrc_is_live),
10997         (gst_basesrc_get_range), (gst_basesrc_activate),
10998         (gst_basesrc_change_state):
10999         * gst/base/gstbasesrc.h:
11000         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11001         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11002         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11003         * gst/gstelement.c: (gst_element_get_state_func),
11004         (gst_element_set_state):
11005         * gst/gstelement.h:
11006         * gst/gsttypes.h:
11007         * tools/gst-launch.c: (event_loop), (main):
11008         Added support for live sources and other elements that
11009         cannot do preroll.
11010         Updated design docs, added live-source design doc.
11011         Implemented live source functionality in basesrc
11012         Fix error condition in _bin_get_state()
11013         Implement live source handling in -launch.
11014         Added check for live sources.
11015         Fixed case in GstBin where elements were changed state
11016         multiple times.
11017
11018
11019 2005-06-23  Andy Wingo  <wingo@pobox.com>
11020
11021         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11022         borken refcounting.
11023
11024         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11025         gst_caps_replace takes care of this for us.
11026
11027         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11028         gst_pad_set_caps on the target, not just its setcaps() function.
11029
11030         * tests/network-clock.scm: 
11031         * tests/network-clock-utils.scm: A network clock simulator.
11032         Something of an algorithmic testbed before doing something in C.
11033
11034 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11035
11036         * check/Makefile.am:
11037         * check/gst/capslist.h:
11038           copy over from 0.8, and add two with bitmasks specified with
11039           (int) 0xFF...
11040         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11041           add test to parse everything from capslist.h
11042         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11043         (main):
11044           add test for structure deserialization
11045         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11046           add tests for deserialization of strings to int types
11047         * gst/gststructure.c: (gst_structure_nth_field_name):
11048         * gst/gststructure.h:
11049           add a way to get the name of a field referenced by index
11050         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11051           instead of checking if the resulting long long lies between
11052           min and max, we check if the long long would fit into
11053           a number of bytes for the final type.
11054           This fixes cases where a string represents 2^32 - 1, which
11055           when cast to int would be the (valid) -1, but is bigger than
11056           G_MAXINT
11057
11058 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11059
11060         * gst/parse/grammar.y:
11061           add a log line for type deserialization
11062
11063 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11064
11065         * check/gst/gstvalue.c: (START_TEST):
11066         * gst/gstvalue.c: (gst_value_deserialize):
11067           return long long, not int, so gint64 deserialization actually
11068           works.  Is there any flag that makes the compiler check this ?
11069           Fixes #308559
11070
11071 2005-06-22  Wim Taymans  <wim@fluendo.com>
11072
11073         * gst/gstbuffer.h:
11074         Added convenience macros for setting buffers in GValue.
11075
11076 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11077
11078         * check/gst/.cvsignore:
11079         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11080           add a test deserializing int64, and comment part out because
11081           it fails, yay !
11082
11083 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11084
11085         * check/Makefile.am:
11086         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11087         * testsuite/Makefile.am:
11088         * testsuite/caps/Makefile.am:
11089         * testsuite/caps/value_serialize.c:
11090         * testsuite/test_gst_init.c:
11091           move a value_serialize test over
11092
11093 2005-06-20  Wim Taymans  <wim@fluendo.com>
11094
11095         * gst/gstpad.c:
11096         Small doc updates.
11097         
11098         * gst/gstvalue.c: (gst_value_compare_buffer),
11099         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11100         (gst_value_compare_flags), (gst_value_serialize_flags),
11101         (gst_value_deserialize_flags), (_gst_value_initialize):
11102         Fix serialisation of buffers, they are not boxed types anymore
11103
11104 2005-06-20  Wim Taymans  <wim@fluendo.com>
11105
11106         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11107         Testcase to show error in buffer-on-caps serialisation.
11108
11109 2005-06-20  Andy Wingo  <wingo@pobox.com>
11110
11111         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11112         will be adding to later.
11113
11114         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11115         if its socks fill with rocks.
11116         (gst_system_clock_obtain): Set the name on object construction.
11117         Avoid double-checked locking.
11118
11119 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11120
11121         * gst/gsturi.c: (gst_element_make_from_uri):
11122           Fix potential endless loop.
11123
11124 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11125
11126         * check/Makefile.am:
11127           add gsttag
11128         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11129         (main):
11130           move over from testsuite dir and clean up
11131         * configure.ac:
11132         * gst/gsttag.c:
11133         * testsuite/Makefile.am:
11134         * testsuite/tags/.cvsignore:
11135         * testsuite/tags/Makefile.am:
11136         * testsuite/tags/merge.c:
11137           remove testsuite/tags
11138
11139 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11140
11141         * docs/gst/gstreamer-sections.txt:
11142         * docs/gst/tmpl/gstenumtypes.sgml:
11143         * win32/gstenumtypes.c:
11144           clean up documentation build a little
11145
11146 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11147
11148         * check/gstcheck.h:
11149           add macros for checking refcounts on objects and caps
11150         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11151           add some more unit tests
11152         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11153         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11154           fix leaked refcounts (I hope :)) so unittest works
11155         * gst/gstpad.h:
11156           whitespace removal
11157
11158 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11159
11160         * configure.ac: back to HEAD
11161
11162 === release 0.9.1 ===
11163
11164 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11165
11166         * NEWS:
11167         * RELEASE:
11168           updated
11169
11170 2005-06-17  Andy Wingo  <wingo@pobox.com>
11171
11172         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11173         assert; it's always possible that the pad gets deactivated in
11174         between the checks in gstpad.c and the implementation. Rely on
11175         finish_preroll() to return a FLUSHING or similar instead of on the
11176         assert.
11177         
11178         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11179         clock and post an EOS message if we come out of finish_preroll in
11180         the playing state.
11181
11182 2005-06-16  David Schleef  <ds@schleef.org>
11183
11184         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11185         (gst_capsfilter_set_property): Allow NULL as possible value
11186         for filter_caps property, indicating GST_CAPS_ANY.
11187
11188 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11189
11190         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11191           fix debug output
11192         * gst/schedulers/Makefile.am:
11193           use libgst prefix
11194         * gstreamer.spec.in:
11195           fix spec for it
11196
11197 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * gstreamer.spec.in:
11200           clean up
11201
11202 2005-06-08  Andy Wingo  <wingo@pobox.com>
11203
11204         * gst/gstutils.c: RPAD fixes all around.
11205         (gst_element_link_pads): Refcounting fixes.
11206
11207         * tools/gst-inspect.c:
11208         * tools/gst-xmlinspect.c:
11209         * parse/grammar.y:
11210         * gst/base/gsttypefindhelper.c:
11211         * gst/base/gstbasesink.c:
11212         * gst/gstqueue.c: RPAD fixes.
11213
11214         * gst/gstghostpad.h:
11215         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11216         pads. The tricky thing is they provide both source and sink
11217         interfaces, since they proxy the internal pad for the external
11218         pad, and vice versa. Implement with lower-level ProxyPad objects,
11219         with the interior proxy pad as a child of the exterior ghost pad.
11220         Should write a doc on this.
11221         
11222         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11223         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11224         gst_object API.
11225         
11226         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11227         pads are real pads. No ghost pads in this file. Not documenting
11228         the myriad s/RPAD/PAD/ and REALIZE fixes.
11229         (gst_pad_class_init): Add properties for "direction" and
11230         "template". Both are construct-only, so they can't change during
11231         the life of the pad. Fixes properly deriving from GstPad.
11232         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11233         derived objects, just set properties when creating the objects via
11234         g_object_new.
11235         (gst_pad_get_parent): Implement as a function, return NULL if the
11236         parent is not an element.
11237         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11238         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11239         
11240         * gst/gstobject.c (gst_object_class_init): Make name a construct
11241         property. Don't set it in the object init.
11242
11243         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11244         with UNKNOWN direction.
11245         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11246         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11247         (gst_element_remove_pad): Remove ghost-pad special cases.
11248         (gst_element_pads_activate): Remove rpad cruft.
11249
11250         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11251         catch the pad's-parent-not-an-element case.
11252
11253         * gst/gst.h: Include gstghostpad.h.
11254
11255         * gst/gst.c (init_post): No more real, ghost pads.
11256
11257         * gst/Makefile.am: Add gstghostpad.[ch].
11258
11259         * check/Makefile.am:
11260         * check/gst/gstbin.c:
11261         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11262         into a bin creates ghost pads, and that the refcounts are right.
11263         Partly moved from gstbin.c.
11264
11265 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11266
11267         * check/gst-libs/.cvsignore:
11268         * check/gst/.cvsignore:
11269         * check/pipelines/.cvsignore:
11270           ignore more
11271         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11272         (START_TEST), (cleanup_suite), (main):
11273           add some tests related to cleanup after running pipelines
11274
11275 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11276
11277         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11278           add a testsuite for GstBuffer
11279
11280 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11281
11282         * gst/gstminiobject.h:
11283           add defines for accessing the refcount
11284
11285 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11286
11287         * Makefile.am: added support for html unit test coverage reports
11288
11289 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11290
11291         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11292           Free existing caps if the capsfilter changes. Add a FIXME about
11293           setting those caps on the pads.
11294
11295         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11296           Before adding a ghost pad to a parent bin, check that there isn't
11297           already one for the element on the bin. Prevents infinite recursion
11298           when using decodebin in parse pipelines. Andy says he'll rewrite the
11299           way this works anyway, so ignore the hack.
11300
11301 2005-06-02  Andy Wingo  <wingo@pobox.com>
11302
11303         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11304         file size, pass it on to the type find helper.
11305
11306         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11307         segment_start and segment_end properly according to the seek
11308         method. Segment_end is still a bit flaky because offset can be
11309         negative for CUR and END cases, but it takes -1 as an "unset"
11310         value.
11311
11312 2005-06-02  Wim Taymans  <wim@fluendo.com>
11313
11314         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11315         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11316         (gst_basesink_activate):
11317         * gst/base/gstbasesink.h:
11318         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11319         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11320         (gst_pad_query), (gst_pad_start_task):
11321         * gst/gstpad.h:
11322         * gst/gstqueue.c: (gst_queue_bufferalloc),
11323         (gst_queue_handle_sink_event), (gst_queue_chain):
11324         Bufferalloc: return GstFlowReturn to more accuratly report
11325         why allocation failed.
11326
11327 2005-06-02  Wim Taymans  <wim@fluendo.com>
11328
11329         * gst/gstpipeline.c: (gst_pipeline_send_event):
11330         Take snapshot of state without blocking.
11331
11332 2005-06-02  Wim Taymans  <wim@fluendo.com>
11333
11334         * docs/design/part-TODO.txt:
11335         * docs/design/part-caps.txt:
11336         * docs/design/part-clocks.txt:
11337         * docs/design/part-negotiation.txt:
11338         * docs/design/part-preroll.txt:
11339         Small doc updates 
11340
11341 2005-05-30  Wim Taymans  <wim@fluendo.com>
11342
11343         * gst/elements/gstidentity.c: (gst_identity_event),
11344         (gst_identity_transform), (gst_identity_get_property):
11345         Protect last_message property as it is accessed from
11346         multiple threads.
11347
11348 2005-05-30  Wim Taymans  <wim@fluendo.com>
11349
11350         * gst/gstelement.c: (gst_element_init),
11351         (gst_element_pads_activate), (gst_element_change_state):
11352         Slicker pad activation code.
11353
11354 2005-05-30  Wim Taymans  <wim@fluendo.com>
11355
11356         * gst/Makefile.am:
11357         * gst/gstelement.h:
11358         * gst/gstelementfactory.h:
11359         * gst/gsttypes.h:
11360         Move elementfactory methods to separate .h file.
11361
11362 2005-05-30  Wim Taymans  <wim@fluendo.com>
11363
11364         * docs/design/part-overview.txt:
11365         * gst/gstsystemclock.h:
11366         Small typo fixes, doc updates.
11367
11368 2005-05-30  Wim Taymans  <wim@fluendo.com>
11369
11370         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11371         (init_popt_callback):
11372         Remove cpu-opt flag.
11373
11374 2005-05-30  Wim Taymans  <wim@fluendo.com>
11375
11376         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11377         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11378         * gst/gstbuffer.h:
11379         Avoid typechecking in places where not needed.
11380         Added accessor for malloc_data.
11381
11382 2005-05-30  Wim Taymans  <wim@fluendo.com>
11383
11384         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11385         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11386         (gst_pad_configure_sink), (gst_pad_configure_src),
11387         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11388         (gst_pad_start_task):
11389         Propagate errors from _set_caps() in configure_src/sink
11390         functions instead of returning TRUE.
11391         FLUSH events can travel up and downstream
11392
11393
11394 2005-05-30  Wim Taymans  <wim@fluendo.com>
11395
11396         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11397         (gst_basesink_activate):
11398         Handle EOS in preroll.
11399
11400 2005-05-30  Wim Taymans  <wim@fluendo.com>
11401
11402         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11403         (gst_queue_loop), (gst_queue_handle_src_event):
11404         Remove old pieces of code
11405         Flushing the queue in an upstream event is a very bad idea.
11406
11407 2005-05-26  Andy Wingo  <wingo@pobox.com>
11408
11409         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11410         gst_value_set_mini_object so as to add a ref on the object (which
11411         will be removed when the value is unset).
11412
11413         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11414         arg type in ::handoff.
11415
11416         * gst/gstelement.c (gst_element_change_state): Also deactivate
11417         pads in READY->NULL, just in case the element didn't make it to
11418         PAUSED. Wingo tested, Wim approved.
11419
11420 2005-05-26  Wim Taymans  <wim@fluendo.com>
11421
11422         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11423         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11424         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11425         A flushing pad cannot be used to alloc_buffer from.
11426
11427 2005-05-26  Wim Taymans  <wim@fluendo.com>
11428
11429         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11430         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11431         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11432         (gst_bus_create_watch), (gst_bus_add_watch_full):
11433         * gst/gstbus.h:
11434         Implement a real GSource and use g_main_context_wakeup() to
11435         signal new messages instead of the socketpair.
11436
11437 2005-05-25  Wim Taymans  <wim@fluendo.com>
11438
11439         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11440         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11441         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11442         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11443         (gst_pad_send_event), (gst_pad_start_task):
11444         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11445         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11446         (gst_queue_sink_activate), (gst_queue_src_activate),
11447         (gst_queue_change_state):
11448         * gst/gstqueue.h:
11449         Fix state changes for non sinks. We now change sinks, then elements
11450         with unconnected srcpads, then the rest.
11451         More efficient queue unlocking in flush and state changes.
11452         Set the pad activate mode even if it does not have an activate
11453         function.
11454
11455 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11456
11457         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11458           Don't go in pull mode for non-seekable sources.
11459         * gst/elements/gsttypefindelement.h:
11460         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11461         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11462         (free_entry), (stop_typefinding),
11463         (gst_type_find_element_handle_event), (find_peek),
11464         (gst_type_find_element_chain), (do_pull_typefind),
11465         (gst_type_find_element_change_state):
11466           Allow typefinding (w/o seeking) in push-mode, simplified version
11467           of what was in 0.8.
11468         * gst/gstutils.c: (gst_buffer_join):
11469         * gst/gstutils.h:
11470           gst_buffer_join() from 0.8.
11471
11472 2005-05-25  Wim Taymans  <wim@fluendo.com>
11473
11474         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11475         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11476         (gst_pad_send_event), (gst_pad_start_task):
11477         Disable attempt at mode switching until it is figured out.
11478
11479 2005-05-25  Wim Taymans  <wim@fluendo.com>
11480
11481         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11482         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11483         (gst_basesink_finish_preroll), (gst_basesink_chain),
11484         (gst_basesink_loop), (gst_basesink_activate),
11485         (gst_basesink_change_state):
11486         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11487         (gst_basesrc_get_range), (gst_basesrc_loop),
11488         (gst_basesrc_activate):
11489         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11490         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11491         (gst_real_pad_init), (gst_real_pad_set_property),
11492         (gst_real_pad_get_property), (gst_pad_set_active),
11493         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11494         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11495         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11496         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11497         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11498         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11499         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11500         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11501         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11502         (gst_pad_stop_task):
11503         * gst/gstpad.h:
11504         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11505         (gst_queue_loop), (gst_queue_src_activate):
11506         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11507         (gst_task_get_state):
11508         * gst/gsttask.h:
11509         * gst/schedulers/threadscheduler.c:
11510         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11511         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11512         in task function.
11513         Remove ACTIVE pad flag, use FLUSHING everywhere
11514         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11515         functions.
11516         Add locks around IS_FLUSHING when reading.
11517         Take STREAM lock in chain(), get_range() functions so plugins
11518         don't need to take it anymore.
11519         
11520
11521
11522 2005-05-25  Wim Taymans  <wim@fluendo.com>
11523
11524         * tools/gst-launch.c: (event_loop):
11525         Unref message after using its contents instead of
11526         before.
11527
11528 2005-05-24  Wim Taymans  <wim@fluendo.com>
11529
11530         * docs/design/draft-ghostpads.txt:
11531         * docs/design/draft-push-pull.txt:
11532         * docs/design/draft-query.txt:
11533         * docs/design/part-overview.txt:
11534         Docs updates, added general overview doc.
11535
11536 2005-05-21  David Schleef  <ds@schleef.org>
11537
11538         * docs/gst/tmpl/old/GstBin.sgml:
11539         * docs/gst/tmpl/old/GstBuffer.sgml:
11540         * docs/gst/tmpl/old/GstCaps.sgml:
11541         * docs/gst/tmpl/old/GstClock.sgml:
11542         * docs/gst/tmpl/old/GstCompat.sgml:
11543         * docs/gst/tmpl/old/GstData.sgml:
11544         * docs/gst/tmpl/old/GstElement.sgml:
11545         * docs/gst/tmpl/old/GstEvent.sgml:
11546         * docs/gst/tmpl/old/GstIndex.sgml:
11547         * docs/gst/tmpl/old/GstStructure.sgml:
11548         * docs/gst/tmpl/old/GstTag.sgml:
11549         * docs/gst/tmpl/old/cothreads.sgml:
11550         * docs/gst/tmpl/old/cothreads_compat.sgml:
11551         * docs/gst/tmpl/old/gettext.sgml:
11552         * docs/gst/tmpl/old/gobject2gtk.sgml:
11553         * docs/gst/tmpl/old/grammar.tab.sgml:
11554         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11555         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11556         * docs/gst/tmpl/old/gst_private.sgml:
11557         * docs/gst/tmpl/old/gstaggregator.sgml:
11558         * docs/gst/tmpl/old/gstarch.sgml:
11559         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11560         * docs/gst/tmpl/old/gstbufferstore.sgml:
11561         * docs/gst/tmpl/old/gstdata_private.sgml:
11562         * docs/gst/tmpl/old/gstdisksink.sgml:
11563         * docs/gst/tmpl/old/gstdisksrc.sgml:
11564         * docs/gst/tmpl/old/gstelementfactory.sgml:
11565         * docs/gst/tmpl/old/gstextratypes.sgml:
11566         * docs/gst/tmpl/old/gstfakesink.sgml:
11567         * docs/gst/tmpl/old/gstfakesrc.sgml:
11568         * docs/gst/tmpl/old/gstfdsink.sgml:
11569         * docs/gst/tmpl/old/gstfdsrc.sgml:
11570         * docs/gst/tmpl/old/gstfilesink.sgml:
11571         * docs/gst/tmpl/old/gstfilesrc.sgml:
11572         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11573         * docs/gst/tmpl/old/gstidentity.sgml:
11574         * docs/gst/tmpl/old/gstindexfactory.sgml:
11575         * docs/gst/tmpl/old/gstmarshal.sgml:
11576         * docs/gst/tmpl/old/gstmd5sink.sgml:
11577         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11578         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11579         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11580         * docs/gst/tmpl/old/gstpipefilter.sgml:
11581         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11582         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11583         * docs/gst/tmpl/old/gstshaper.sgml:
11584         * docs/gst/tmpl/old/gstspider.sgml:
11585         * docs/gst/tmpl/old/gstspideridentity.sgml:
11586         * docs/gst/tmpl/old/gststatistics.sgml:
11587         * docs/gst/tmpl/old/gsttee.sgml:
11588         * docs/gst/tmpl/old/gsttimecache.sgml:
11589         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11590         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11591         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11592         * docs/gst/tmpl/old/types.sgml:
11593           I didn't intend to add these or check them in.
11594
11595 2005-05-19  David Schleef  <ds@schleef.org>
11596
11597         * configure.ac: Use -no-common everywhere.  In a sane world, it
11598           would be the default in libtool, because without it, you can't
11599           build DLLs on Windows.
11600         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11601         * docs/gst/gstreamer-sections.txt:
11602         * docs/gst/tmpl/gstcpu.sgml:
11603         * docs/gst/tmpl/gstdata.sgml:
11604         * docs/gst/tmpl/gstthread.sgml:
11605
11606 2005-05-19  David Schleef  <ds@schleef.org>
11607
11608         * gst/gstminiobject.c: (gst_value_set_mini_object),
11609         (gst_value_take_mini_object), (gst_value_get_mini_object):
11610         * gst/gstminiobject.h: Add GValue set/get functions.
11611
11612 2005-05-19  Wim Taymans  <wim@fluendo.com>
11613
11614         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11615         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11616         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11617         * gst/gstbuffer.h:
11618         * gst/gstbus.c: (gst_bus_post):
11619         * gst/gstelement.c: (gst_element_get_random_pad):
11620         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11621         Make subbufer unref the parent in finalize.
11622         some more debugging info.
11623
11624
11625 2005-05-19  Wim Taymans  <wim@fluendo.com>
11626
11627         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11628         (gst_basesink_init), (gst_basesink_finalize),
11629         (gst_basesink_activate), (gst_basesink_change_state):
11630         Don't free preroll queue too early.
11631
11632 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11633
11634         * gst/Makefile.am:
11635         * gst/ROADMAP:
11636           Hi, I'm outdated. Please shoot me.
11637
11638 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11639
11640         * gst/gstpipeline.c: (gst_pipeline_send_event):
11641           Do not access variables after they have been deleted.
11642
11643 2005-05-19  Wim Taymans  <wim@fluendo.com>
11644
11645         * tools/gst-inspect.c: (print_plugin_features):
11646         A plugin feature does unfortunatly not use the
11647         object name yet...
11648
11649 2005-05-18  Wim Taymans  <wim@fluendo.com>
11650
11651         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11652         Port _span() functions to new subbuffers.
11653
11654 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11655
11656         * gst/gstbin.c: (gst_bin_add_func):
11657           Fix clock settery in bins when adding kids after the clock has
11658           been selected.
11659
11660 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11661
11662         * gst/elements/gstidentity.c: (gst_identity_class_init):
11663           Workaround until signals support GstMiniObject.
11664
11665 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11666
11667         * gst/gstbuffer.c:
11668         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11669
11670 2005-05-18  Wim Taymans  <wim@fluendo.com>
11671
11672         * gst/base/Makefile.am:
11673         * gst/base/gstadapter.c: (gst_adapter_base_init),
11674         (gst_adapter_class_init), (gst_adapter_init),
11675         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11676         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11677         (gst_adapter_flush), (gst_adapter_available),
11678         (gst_adapter_available_fast):
11679         * gst/base/gstadapter.h:
11680         Ported and added adapter to the base classes.
11681
11682 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11683
11684         * gst/gst.c:
11685         * gst/gstmessage.c:
11686           Make sure the class is reffed/unreffed once before threads can be
11687           used.  Fixes #304551.
11688
11689 2005-05-17  Wim Taymans  <wim@fluendo.com>
11690
11691         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11692         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11693         * gst/gstminiobject.c: (gst_mini_object_get_type),
11694         (gst_mini_object_free):
11695         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11696         (gst_pad_push), (gst_pad_push_event):
11697         * gst/gstqueue.c: (gst_queue_change_state):
11698         Don't queue buffers in basesink when we are flushing.
11699         Unref buffer when flushing in basesink.
11700         Flush queue when going to READY
11701         Unref buffer when _push() returns an error.
11702         Don't free MiniObject instance when refcount is incremented
11703         in _finalize() so that we can recover objects.
11704
11705 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11706
11707         * docs/manual/advanced-schedulers.xml:
11708         * docs/manual/appendix-checklist.xml:
11709         * docs/pwg/advanced-clock.xml:
11710         * docs/pwg/advanced-interfaces.xml:
11711         * docs/pwg/advanced-request.xml:
11712         * docs/pwg/advanced-types.xml:
11713         * docs/pwg/intro-preface.xml:
11714         * examples/plugins/example.c: (gst_example_get_type),
11715         (gst_example_class_init), (gst_example_chain),
11716         (gst_example_set_property), (gst_example_get_property),
11717         (gst_example_change_state), (plugin_init):
11718         * examples/plugins/example.h:
11719           small doc fixes
11720
11721 2005-05-17  Wim Taymans  <wim@fluendo.com>
11722
11723         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11724         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11725         * gst/gstqueue.c: (gst_queue_change_state):
11726         Clear queue when going to READY.
11727         Remove IN_SETCAPS flag too.
11728
11729 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11730
11731         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11732           Remove implicit cast from gboolean to GstElementStateReturn;
11733           make sure we still return failure in paused => ready case if
11734           the parent class fails to change state and our own stop 
11735           vfunc succeeds.
11736
11737 2005-05-17  Wim Taymans  <wim@fluendo.com>
11738
11739         * tools/gst-launch.c: (event_loop):
11740         Message was unreffed too soon.
11741
11742 2005-05-16  Andy Wingo  <wingo@pobox.com>
11743
11744         * gst/gstbin.c (sink_iterator_filter): Err... um...
11745
11746         * check/gst/gstbin.c (test_ghost_pads): New test for the
11747         ghosting-if-elements-not-in-same-bin behavior.
11748
11749 2005-05-16  David Schleef  <ds@schleef.org>
11750
11751         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11752         accessing refcount directly.
11753
11754 2005-05-15  David Schleef  <ds@schleef.org>
11755
11756         * check/Makefile.am: remove GstData checks
11757         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11758         * gst/Makefile.am: add miniobject, remove data
11759         * gst/gst.h: add miniobject, remove data
11760         * gst/gstdata.c: remove
11761         * gst/gstdata.h: remove
11762         * gst/gstdata_private.h: remove
11763         * gst/gsttypes.h: remove GstEvent and GstMessage
11764         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11765         * gst/gstmarshal.list: change BOXED -> OBJECT
11766
11767         Implement GstMiniObject.
11768         * gst/gstminiobject.c:
11769         * gst/gstminiobject.h:
11770
11771         Modify to be subclasses of GstMiniObject.
11772         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11773         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11774         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11775         (gst_subbuffer_get_type), (gst_subbuffer_init),
11776         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11777         (gst_buffer_span):
11778         * gst/gstbuffer.h:
11779         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11780         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11781         (_gst_event_copy), (gst_event_new):
11782         * gst/gstevent.h:
11783         * gst/gstmessage.c: (_gst_message_initialize),
11784         (gst_message_get_type), (gst_message_class_init),
11785         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11786         (gst_message_new), (gst_message_new_error),
11787         (gst_message_new_warning), (gst_message_new_tag),
11788         (gst_message_new_state_changed), (gst_message_new_application):
11789         * gst/gstmessage.h:
11790         * gst/gstprobe.c: (gst_probe_perform),
11791         (gst_probe_dispatcher_dispatch):
11792         * gst/gstprobe.h:
11793         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11794         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11795         (_gst_query_copy), (gst_query_new):
11796
11797         Update elements for GstData -> GstMiniObject changes
11798         * gst/gstquery.h:
11799         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11800         (gst_queue_chain), (gst_queue_loop):
11801         * gst/elements/gstbufferstore.c:
11802         (gst_buffer_store_add_buffer_func),
11803         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11804         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11805         (gst_fakesink_render):
11806         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11807         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11808         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11809         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11810         (gst_filesrc_create_read):
11811         * gst/elements/gstidentity.c: (gst_identity_class_init):
11812         * gst/elements/gsttypefindelement.c:
11813         (gst_type_find_element_src_event), (free_entry_buffers),
11814         (gst_type_find_element_handle_event):
11815         * libs/gst/dataprotocol/dataprotocol.c:
11816         (gst_dp_header_from_buffer):
11817         * libs/gst/dataprotocol/dataprotocol.h:
11818         * libs/gst/dataprotocol/dp-private.h:
11819
11820 2005-05-15  David Schleef  <ds@schleef.org>
11821
11822         * gst/elements/gstelements.c: Don't include headers that were
11823         just removed.
11824
11825 2005-05-15  David Schleef  <ds@schleef.org>
11826
11827         * gst/elements/Makefile.am: Remove some elements that don't
11828         need to be in the core (or even exist at all).
11829         * gst/elements/gstaggregator.c:
11830         * gst/elements/gstaggregator.h:
11831         * gst/elements/gstmd5sink.c:
11832         * gst/elements/gstmd5sink.h:
11833         * gst/elements/gstmultifilesrc.c:
11834         * gst/elements/gstmultifilesrc.h:
11835         * gst/elements/gstpipefilter.c:
11836         * gst/elements/gstpipefilter.h:
11837         * gst/elements/gstshaper.c:
11838         * gst/elements/gstshaper.h:
11839         * gst/elements/gststatistics.c:
11840         * gst/elements/gststatistics.h:
11841         * po/POTFILES.in: Remove above files.
11842
11843 2005-05-14  Andy Wingo  <wingo@pobox.com>
11844
11845         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11846         so as to get the refs right.
11847         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11848         unreffing objects that don't pass the filter.
11849
11850         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11851         gst_element_set_bus.
11852         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11853         normal cases, this will destroy the bus.
11854
11855         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11856         object.
11857
11858         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11859         has no sinks.
11860
11861 2005-05-13  Andy Wingo  <wingo@pobox.com>
11862
11863         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11864         gst_pad_link, call pad_link_maybe_ghosting,
11865         (pad_link_maybe_ghosting): Links pads, making sure that the
11866         elements being linked are in the same bin.
11867         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11868         Helpers for pad_link_maybe_ghosting.
11869
11870 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11871
11872         * configure.ac:
11873           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11874
11875 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11876
11877         * docs/design/part-element-source.txt:
11878           Mention GstPushSrc
11879
11880 2005-05-12  Wim Taymans  <wim@fluendo.com>
11881
11882         * gst/base/gstbasesink.c: (gst_basesink_init),
11883         (gst_basesink_activate):
11884         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11885         (gst_basesrc_is_seekable):
11886         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11887         (bin_element_is_sink), (gst_bin_change_state):
11888         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11889         * gst/gstelement.h:
11890         Identify sinks by their flag to avoid overly complicated
11891         checks (fow now).
11892         Do state changes even for elements not reachable from the
11893         sinks.
11894         BaseSink is a sink now :)
11895         Some more debugging info in the basesrc.
11896
11897
11898 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11899
11900         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11901           Implement _query on a bin, similar to _send_event.
11902
11903 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11904
11905         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11906           Discont event offset format should be GST_FORMAT_BYTES,
11907           not GST_FORMAT_TIME.
11908
11909 2005-05-12  Wim Taymans  <wim@fluendo.com>
11910
11911         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11912         Same fix as Ronald's but without the signal. 
11913
11914 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11915
11916         * gst/gstutils.c: (gst_element_query_position):
11917           No, an element is not a pad.
11918
11919 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11920
11921         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11922         (gst_bin_get_state):
11923           If a child is removed from a bin while we remove the child from
11924           the bin and while we're retrieving its state, signal this to the
11925           get_state function so we abort the wait (instead of waiting for
11926           a timeout) and can immediately re-iterate over all other elements.
11927
11928 2005-05-12  Wim Taymans  <wim@fluendo.com>
11929
11930         * gst/base/Makefile.am:
11931         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11932         (gst_basesrc_start):
11933         * gst/base/gstbasesrc.h:
11934         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11935         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11936         (gst_pushsrc_init), (gst_pushsrc_create):
11937         * gst/base/gstpushsrc.h:
11938         Added is_seekable to BaseSrc
11939         Added simple PushSrc.
11940
11941 2005-05-11  Wim Taymans  <wim@fluendo.com>
11942
11943         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11944         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11945         (gst_element_link_pads), (gst_element_query_position),
11946         (gst_element_query_convert), (intersect_caps_func),
11947         (gst_pad_query_position), (gst_pad_query_convert):
11948         Fix refcounting in utils function.
11949         No point in trying to activate a pad when it's added, it could
11950         be added from the state change function and then we deadlock, the
11951         element has to decide what to do.
11952
11953 2005-05-10  Andy Wingo  <wingo@pobox.com>
11954
11955         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11956         *all* the arguments.
11957
11958         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11959         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11960         lock (according to the docs -- if this is wrong change the docs).
11961
11962         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11963         flush messages in the NULL state.
11964
11965         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11966         message immediately and return.
11967         (gst_bus_set_flushing): New function. If a bus is flushing, it
11968         flushes out any queued messages and immediately unrefs new
11969         messages. This is so when an element goes to NULL, all of the
11970         unhandled messages coming from it can be freed, and their
11971         references to the element dropped. In other words: message source
11972         ref considered harmful :P
11973
11974         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11975         we're finished with it.
11976
11977         * gst/gstmessage.c (gst_message_new_state_changed): 
11978
11979 2005-05-10  Wim Taymans  <wim@fluendo.com>
11980
11981         * gst/gstvalue.c: (gst_value_compare_flags),
11982         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11983         (_gst_value_initialize):
11984         Added flags serialize/deserialize/compare code.
11985
11986 2005-05-09  Andy Wingo  <wingo@pobox.com>
11987
11988         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11989         Intersect the peer's caps with our caps.
11990
11991 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11992
11993         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11994         * gst/elements/gsttypefindelement.c: (find_peek):
11995           Handle negative offsets better. Fixes decodebin.
11996
11997 2005-05-09  Wim Taymans  <wim@fluendo.com>
11998
11999         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12000         (gst_base_transform_event):
12001         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12002         Implement accept_caps.
12003         Fix silly lock/unlock mismatch in base class.
12004
12005 2005-05-09  Wim Taymans  <wim@fluendo.com>
12006
12007         * docs/design/draft-push-pull.txt:
12008         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12009         * gst/elements/gstfilesink.c: (gst_filesink_init),
12010         (gst_filesink_query):
12011         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12012         (gst_type_find_handle_src_query), (find_element_get_length):
12013         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12014         * gst/gstelement.h:
12015         * gst/gstmessage.c:
12016         * gst/gstmessage.h:
12017         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12018         (gst_real_pad_get_caps_unlocked),
12019         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12020         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12021         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12022         (gst_real_pad_dispose), (gst_real_pad_finalize),
12023         (gst_pad_load_and_link), (gst_pad_save_thyself),
12024         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12025         (gst_pad_check_pull_range), (gst_pad_pull_range),
12026         (gst_pad_template_get_type), (gst_pad_template_class_init),
12027         (gst_pad_template_init), (gst_pad_template_dispose),
12028         (name_is_valid), (gst_static_pad_template_get),
12029         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12030         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12031         (gst_pad_get_element_private), (gst_pad_start_task),
12032         (gst_pad_pause_task), (gst_pad_stop_task),
12033         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12034         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12035         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12036         (gst_ghost_pad_new):
12037         * gst/gstpad.h:
12038         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12039         (gst_query_new_position), (gst_query_set_position),
12040         (gst_query_parse_position), (gst_query_new_convert),
12041         (gst_query_set_convert), (gst_query_parse_convert):
12042         * gst/gstquery.h:
12043         * gst/gstqueryutils.c:
12044         * gst/gstqueryutils.h:
12045         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12046         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12047         (gst_queue_handle_src_query):
12048         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12049         (gst_element_query_position), (gst_element_query_convert),
12050         (intersect_caps_func), (gst_pad_query_position),
12051         (gst_pad_query_convert):
12052         * gst/gstutils.h:
12053         * tools/gst-inspect.c: (print_pad_info):
12054         * tools/gst-xmlinspect.c: (print_element_info):
12055         Remove old query functions. Ported old code.
12056         Added position/convert helper functions to gstutils.
12057         Reordered gstpad.c code, grouping relevant things.
12058         Remove gst_message_new(), always need to speficy a specific
12059         message.
12060
12061
12062 2005-05-09  Andy Wingo  <wingo@pobox.com>
12063
12064         * gst/gstiterator.h: Add some includes.
12065
12066         * gst/gstqueryutils.h: Include more headers.
12067
12068         * gst/gstpad.h:
12069         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12070         some uses of gst_pad_query.
12071
12072         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12073         NULL out parameters.
12074         (gst_query_new_position): New proc, allocates a new position
12075         query.
12076
12077         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12078         gstqueryutils.c to the build.
12079
12080         * gst/gststructure.c (gst_structure_set_valist): Implement with
12081         the generic G_VALUE_COLLECT.
12082         
12083 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12084
12085         * gst/Makefile.am: (gst_headers):
12086         Added gstqueryutils.h to the list of headers to install, that was
12087         a 'nachty' move wingo :)
12088
12089 2005-05-06  Andy Wingo  <wingo@pobox.com>
12090
12091         * gst/gstquery.h
12092         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12093         GstData, init a memchunk.
12094         (standard_definitions): Add a few query types, deprecate a few.
12095         (gst_query_get_type): New proc.
12096         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12097         implementation.
12098         (gst_query_new_application, gst_query_get_structure): New public
12099         procs.
12100
12101         * docs/design/draft-query.txt: Removed LINKS from the query types,
12102         because all the rest can be dispatched to other pads -- seemed
12103         ugly to have a query that couldn't be dispatched. internal_links
12104         is fine as a pad method.
12105
12106         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12107         in gstpad.c, but maintain binary compatibility for the moment.
12108         Will fix before 0.9 is out.
12109
12110         * gst/gstqueryutils.c: 
12111         * gst/gstqueryutils.h: New files, implement 3 methods for each
12112         query type: parse_query, parse_response, and set. Probably need an
12113         allocator as well.
12114
12115         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12116
12117         * gst/elements/gstfilesink.c (gst_filesink_query2):
12118         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12119         query_types, and formats methods.
12120
12121         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12122         (gst_pad_set_query2_function): New functions.
12123         (gst_real_pad_init): Set query2_default as the default query2
12124         function. Basically just dispatches to internally linked pads.
12125
12126         Needs review!
12127         
12128         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12129         without using the atomic operations. Only one thread can possibly
12130         be accessing the data at this point. Changed so as to avoid
12131         gst_atomic operations.
12132
12133 2005-05-06  Wim Taymans  <wim@fluendo.com>
12134
12135         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12136         Also set caps if we use the fallback buffer alloc.
12137
12138 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12139
12140         * docs/gst/Makefile.am:
12141         * docs/gst/gstreamer-docs.sgml:
12142         * docs/gst/gstreamer-sections.txt:
12143         * docs/gst/tmpl/gstatomic.sgml:
12144         * docs/gst/tmpl/gstmemchunk.sgml:
12145         * testsuite/elements/struct_i386.h:
12146         * win32/GStreamer.vcproj:
12147         * win32/Makefile:
12148           Purge GstAtomic stuff from docs and win32 makefiles as well
12149
12150 2005-05-06  Wim Taymans  <wim@fluendo.com>
12151
12152         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12153         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12154         * gst/gstpad.c: (gst_pad_peer_get_caps):
12155         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12156         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12157         (gst_queue_src_activate), (gst_queue_change_state):
12158         * gst/gstqueue.h:
12159         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12160         (intersect_caps_func):
12161         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12162         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12163         Some fixes for the peer_get_caps() change.
12164
12165 2005-05-06  Wim Taymans  <wim@fluendo.com>
12166
12167         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12168         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12169         (gst_basesink_activate):
12170         Actually do something with error codes returned from the push
12171         functions.
12172
12173 2005-05-06  Wim Taymans  <wim@fluendo.com>
12174
12175         * docs/design/part-element-sink.txt:
12176         * docs/design/part-element-source.txt:
12177         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12178         (gst_basesink_event), (gst_basesink_activate):
12179         * gst/base/gstbasesink.h:
12180         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12181         (gst_basesrc_activate):
12182         * gst/base/gstbasesrc.h:
12183         * gst/gstelement.c: (gst_element_pads_activate):
12184         Some more documentation.
12185         Fixed scheduling decision in _pads_activate().
12186
12187 2005-05-05  Andy Wingo  <wingo@pobox.com>
12188
12189         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12190         the test suite.
12191
12192 2005-05-05  Wim Taymans  <wim@fluendo.com>
12193
12194         * gst/base/Makefile.am:
12195         * gst/base/gstbasesink.h:
12196         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12197         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12198         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12199         (gst_collectpads_class_init), (gst_collectpads_init),
12200         (gst_collectpads_finalize), (gst_collectpads_new),
12201         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12202         (find_pad), (gst_collectpads_remove_pad),
12203         (gst_collectpads_is_active), (gst_collectpads_collect),
12204         (gst_collectpads_collect_range), (gst_collectpads_start),
12205         (gst_collectpads_stop), (gst_collectpads_peek),
12206         (gst_collectpads_pop), (gst_collectpads_available),
12207         (gst_collectpads_read), (gst_collectpads_flush),
12208         (gst_collectpads_chain):
12209         * gst/base/gstcollectpads.h:
12210         * gst/elements/Makefile.am:
12211         * gst/elements/gstelements.c:
12212         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12213         (gst_fakesink_get_times), (gst_fakesink_event),
12214         (gst_fakesink_preroll), (gst_fakesink_render):
12215         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12216         (gst_filesink_init), (gst_filesink_set_location),
12217         (gst_filesink_open_file), (gst_filesink_close_file),
12218         (gst_filesink_pad_query), (gst_filesink_event),
12219         (gst_filesink_render), (gst_filesink_change_state):
12220         * gst/elements/gstfilesink.h:
12221         Added object to help in making collect pad based elements.
12222         Ported filesink.
12223         Make event function in sink baseclass return gboolean.
12224
12225 2005-05-05  Wim Taymans  <wim@fluendo.com>
12226
12227         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12228         (gst_bin_get_by_name):
12229         * gst/gstbuffer.h:
12230         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12231         (gst_clock_finalize):
12232         * gst/gstdata.c: (gst_data_replace):
12233         * gst/gstdata.h:
12234         * gst/gstelement.c: (gst_element_request_pad),
12235         (gst_element_pads_activate):
12236         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12237         (gst_object_unref):
12238         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12239         (gst_pad_set_checkgetrange_function),
12240         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12241         (gst_pad_check_pull_range), (gst_pad_pull_range),
12242         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12243         (gst_pad_pause_task), (gst_pad_stop_task):
12244         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12245         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12246         Fix name lookup in GstBin.
12247         Added _data_replace() function and _buffer_replace()
12248         Use finalize method to clean up clock.
12249         Fix refcounting on request pads.
12250         Fix pad schedule mode error.
12251         Some more object refcounting debug info,
12252
12253
12254 2005-05-04  Andy Wingo <wingo@pobox.com>
12255
12256         * check/Makefile.am:
12257         * docs/gst/tmpl/gstatomic.sgml:
12258         * docs/gst/tmpl/gstplugin.sgml:
12259         * gst/base/gstbasesink.c: (gst_basesink_activate):
12260         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12261         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12262         (gst_basesrc_query), (gst_basesrc_set_property),
12263         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12264         (gst_basesrc_activate):
12265         * gst/base/gstbasesrc.h:
12266         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12267         (gst_base_transform_src_activate):
12268         * gst/elements/gstelements.c:
12269         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12270         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12271         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12272         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12273         (gst_type_find_element_checkgetrange),
12274         (gst_type_find_element_activate):
12275         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12276         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12277         (gst_caps_load_thyself):
12278         * gst/gstelement.c: (gst_element_pads_activate),
12279         (gst_element_save_thyself), (gst_element_restore_thyself):
12280         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12281         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12282         * gst/gstpad.h:
12283         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12284         (gst_xml_parse_file), (gst_xml_parse_memory),
12285         (gst_xml_get_element), (gst_xml_make_element):
12286         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12287         (_file_index_id_save_xml), (gst_file_index_commit):
12288         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12289         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12290         (load_paths):
12291         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12292         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12293         * tools/gst-complete.c: (main):
12294         * tools/gst-compprep.c: (main):
12295         * tools/gst-inspect.c: (print_element_properties_info):
12296         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12297         * tools/gst-xmlinspect.c: (print_element_properties):
12298         GCC 4 fixen.
12299         
12300 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12301
12302         * gst/gstplugin.c: (gst_plugin_check_module),
12303         (gst_plugin_check_file), (gst_plugin_load_file):
12304             apply patch from #172526 to make register work on MacOSX
12305
12306 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12307
12308         * docs/gst/tmpl/gstconfig.sgml:
12309         * gst/gstconfig.h.in:
12310           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12311         * testsuite/debug/printf_extension.c: (main):
12312           Do not use GST_PTR_FORMAT on pointers to types with
12313           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12314         * testsuite/elements/property.h:
12315           use correct printf format
12316
12317 2005-05-02  Wim Taymans  <wim@fluendo.com>
12318
12319         * docs/design/draft-push-pull.txt:
12320         * docs/design/draft-query.txt:
12321         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12322         (gst_basesrc_start):
12323         Added draft for new query API.
12324         Added draft for better selecting scheduling methods.
12325         Make basesrc ignore length if the subclass does not support
12326         it.
12327
12328 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12329
12330         * gst/Makefile.am:
12331           possible fixes for automake-1.5 - _LIBADD is reserved
12332
12333 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12334
12335         * docs/faq/Makefile.am:
12336         * docs/manual/Makefile.am:
12337         * docs/manuals.mak:
12338         * docs/pwg/Makefile.am:
12339         * gst/Makefile.am:
12340           possible fixes for automake-1.5
12341
12342 2005-04-28  Wim Taymans  <wim@fluendo.com>
12343
12344         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12345         (gst_basesink_pad_getcaps), (gst_basesink_init),
12346         (gst_basesink_do_sync):
12347         * gst/gstclock.c: (gst_clock_entry_new):
12348         * gst/gstevent.c: (gst_event_discont_get_value):
12349         * gst/gstpipeline.c: (pipeline_bus_handler),
12350         (gst_pipeline_change_state):
12351         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12352         Better debugging of clocking info.
12353         Allow NULL values when getting discont values.
12354
12355 2005-04-27  Wim Taymans  <wim@fluendo.com>
12356
12357         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12358         * check/gst/gstpad.c: (gst_pad_suite):
12359         Increase timeout for checks.
12360
12361 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12362
12363         * check/Makefile.am:
12364           fix the broken rule for cleanup.  Apparently this rule is
12365           only needed on FC2, so maybe this warrants further autotool
12366           inspection.
12367
12368 2005-04-26  Wim Taymans  <wim@fluendo.com>
12369
12370         * gst/gsttrashstack.h:
12371         Ooohh. a nasty one! After having a failed pop() from the stack,
12372         it's possible that the stack is empty. In that case, don't
12373         follow the NULL pointer.
12374
12375 2005-04-25  Wim Taymans  <wim@fluendo.com>
12376
12377         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12378         (gst_pad_set_checkgetrange_function),
12379         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12380         (gst_pad_check_pull_range), (gst_pad_pull_range),
12381         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12382         (gst_pad_pause_task), (gst_pad_stop_task):
12383         * gst/gstplugin.c: (gst_plugin_load):
12384         * gst/gstplugin.h:
12385         Remove gst_library_load as it does more harm than good with
12386         the new g_module flags.
12387         Revert bogus caps template check in pad linking, pad caps
12388         are important when linking not the template, which is more
12389         general than the current caps.
12390
12391 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12392
12393         * gst/autoplug/.cvsignore:
12394         * gst/autoplug/Makefile.am:
12395         * gst/autoplug/gstsearchfuncs.c:
12396         * gst/autoplug/gstsearchfuncs.h:
12397         * gst/autoplug/gstspider.c:
12398         * gst/autoplug/gstspider.h:
12399         * gst/autoplug/gstspideridentity.c:
12400         * gst/autoplug/gstspideridentity.h:
12401         * gst/autoplug/spidertest.c:
12402           Die, spider, die.
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), (gst_pad_check_pull_range),
12408         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12409         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12410         * gst/gstpad.h:
12411         Added stubs for unimplemented functions. 
12412
12413 2005-04-24  David Schleef  <ds@schleef.org>
12414
12415         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12416         please fix.
12417
12418 2005-04-24  David Schleef  <ds@schleef.org>
12419
12420         Convert everything from GstAtomicInt to g_atomic_int_*, and
12421         remove gstatomic.
12422         * gst/Makefile.am:
12423         * gst/gstatomic.c:
12424         * gst/gstatomic.h:
12425         * gst/gstatomic_impl.h:
12426         * gst/gstbuffer.c:
12427         * gst/gstcaps.c:
12428         * gst/gstcaps.h:
12429         * gst/gstclock.c:
12430         * gst/gstclock.h:
12431         * gst/gstdata.c:
12432         * gst/gstdata.h:
12433         * gst/gstdata_private.h:
12434         * gst/gstevent.c:
12435         * gst/gstinfo.c:
12436         * gst/gstinfo.h:
12437         * gst/gstmessage.c:
12438         * gst/gstobject.c:
12439         * gst/gstobject.h:
12440         * gst/gststructure.c:
12441         * gst/gststructure.h:
12442         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12443         * gst/gstutils.h:
12444
12445 2005-04-24  David Schleef  <ds@schleef.org>
12446
12447         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12448         make the regressions tests work.  Remove some code that is no
12449         longer true.
12450         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12451         Disable warning for pads without templates.
12452
12453 2005-04-24  David Schleef  <ds@schleef.org>
12454
12455         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12456         functions that handle filtered links.
12457         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12458         removed functions.
12459         * gst/gstutils.c: Fix/remove utility functions that handle
12460         filtered caps.
12461         * gst/gstutils.h:
12462         * gst/gstvalue.c: Add serialization/deserialization of caps
12463         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12464         requires fixing so that the filter caps notation creates
12465         a capsfilter element and sets the filter_caps property.  I
12466         think everyone probably wants to keep the shorthand notation.
12467         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12468         * docs/gst/tmpl/gstpad.sgml:
12469
12470         * gst/elements/gstelements.c: Register capsfilter element.
12471         * gst/Makefile.am: fix spacing
12472         * docs/random/ds/0.9-suggested-changes: random
12473
12474 2005-04-23  David Schleef  <ds@schleef.org>
12475
12476         * gst/elements/Makefile.am:
12477         * gst/elements/gstcapsfilter.c: New element that acts like an
12478         identity, but filters caps.  Will eventually replace filtered
12479         caps in pad linking.
12480         * gst/gstutils.c: (gst_element_create_all_pads): New function
12481         to create all the ALWAYS pads that are registered with an
12482         element class.  This functionality should eventually be
12483         merged in with GstElement initialization.
12484         * gst/gstutils.h:
12485         * testsuite/trigger/README: part of trigger test code that should
12486         have been checked in a long time ago.
12487
12488 2005-04-23  David Schleef  <ds@schleef.org>
12489
12490         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12491         needed with new versions of libtool (nobody will confirm this),
12492         and hard to carry around.
12493         * gst/autoplug/Makefile.am:
12494         * gst/base/Makefile.am:
12495         * gst/elements/Makefile.am:
12496         * gst/indexers/Makefile.am:
12497         * gst/schedulers/Makefile.am:
12498         * libs/gst/bytestream/Makefile.am:
12499         * libs/gst/control/Makefile.am:
12500         * libs/gst/dataprotocol/Makefile.am:
12501         * libs/gst/getbits/Makefile.am:
12502
12503 2005-04-21  Wim Taymans  <wim@fluendo.com>
12504
12505         * docs/design/draft-push-pull.txt:
12506         * docs/design/part-MT-refcounting.txt:
12507         * docs/design/part-TODO.txt:
12508         * docs/design/part-caps.txt:
12509         * docs/design/part-events.txt:
12510         * docs/design/part-gstbus.txt:
12511         * docs/design/part-gstpipeline.txt:
12512         * docs/design/part-messages.txt:
12513         * docs/design/part-push-pull.txt:
12514         * docs/design/part-query.txt:
12515         Some more docs.
12516
12517 2005-04-21  Wim Taymans  <wim@fluendo.com>
12518
12519         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12520         (gst_message_new), (gst_message_new_error),
12521         (gst_message_new_warning), (gst_message_new_tag),
12522         (gst_message_new_state_changed), (gst_message_new_application),
12523         (gst_message_get_structure):
12524         * gst/gstmessage.h:
12525         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12526         (gst_structure_copy_conditional):
12527         Use parent refcount in GstMessage to ensure GstStructure
12528         consistency.
12529         Cleaned up headers a bit.
12530         
12531
12532 2005-04-20  Wim Taymans  <wim@fluendo.com>
12533
12534         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12535         (gst_basesink_pad_getcaps), (gst_basesink_init),
12536         (gst_basesink_chain_unlocked):
12537         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12538         (gst_type_find_helper):
12539         * gst/elements/gsttypefindelement.c:
12540         (gst_type_find_element_have_type), (gst_type_find_element_init),
12541         (stop_typefinding), (gst_type_find_element_handle_event),
12542         (find_suggest), (gst_type_find_element_chain),
12543         (gst_type_find_element_checkgetrange),
12544         (gst_type_find_element_getrange), (do_typefind),
12545         (gst_type_find_element_activate):
12546         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12547         (gst_buffer_default_free), (gst_buffer_default_copy),
12548         (gst_buffer_set_caps):
12549         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12550         (gst_caps_replace):
12551         * gst/gstmessage.c: (gst_message_new),
12552         (gst_message_new_state_changed):
12553         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12554         (gst_pad_set_checkgetrange_function),
12555         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12556         (gst_pad_set_caps), (gst_pad_check_pull_range),
12557         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12558         * gst/gstpad.h:
12559         * gst/gsttypefind.c: (gst_type_find_register):
12560         Make gst_caps_replace() work like other _replace() functions.
12561         Use _caps_replace() where possible.
12562         Make sure _message_new() initialises its field.
12563         Add gst_static_pad_template_get_caps()
12564
12565
12566 2005-04-18  Andy Wingo  <wingo@pobox.com>
12567
12568         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12569         on the peer, not the pad. I think that was a typo. Pass an extra
12570         arg to see if random access is possible. Activate the pads as
12571         PULL_RANGE if possible.
12572
12573         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12574
12575         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12576         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12577         to PROP_....
12578
12579 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12580
12581         * docs/faq/using.xml:
12582           Add note on gstreamer-properties (#154996).
12583
12584 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12585
12586         * docs/random/bbb/optional-properties:
12587           Some analysis on optional properties.
12588
12589 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12590
12591         * docs/gst/tmpl/gstelementfactory.sgml:
12592         * gst/gstelement.h:
12593         * gst/gstelementfactory.c: (gst_element_factory_init),
12594         (gst_element_factory_cleanup), (gst_element_register),
12595         (__gst_element_factory_add_static_pad_template),
12596         (gst_element_factory_get_static_pad_templates),
12597         (gst_element_factory_can_src_caps),
12598         (gst_element_factory_can_sink_caps):
12599         * gst/registries/Makefile.am:
12600         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12601         (gst_xml_registry_class_init), (gst_xml_registry_init),
12602         (gst_xml_registry_new), (gst_xml_registry_set_property),
12603         (gst_xml_registry_get_property), (get_time), (make_dir),
12604         (gst_xml_registry_get_perms_func),
12605         (plugin_times_older_than_recurse), (plugin_times_older_than),
12606         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12607         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12608         (add_to_char_array), (read_string), (read_uint), (read_enum),
12609         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12610         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12611         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12612         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12613         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12614         (gst_xml_registry_rebuild):
12615         * gst/registries/gstlibxmlregistry.h:
12616         * tools/gst-compprep.c: (main):
12617         * tools/gst-inspect.c: (print_pad_templates_info):
12618         * tools/gst-xmlinspect.c: (print_element_info):
12619           Use libxml2 for registry parsing, use staticpadtemplates in
12620           elementfactories. Makes gst_init() +/- 10x faster.
12621
12622 2005-04-12  Wim Taymans  <wim@fluendo.com>
12623
12624         * gst/base/Makefile.am:
12625         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12626         (gst_basesink_pad_getcaps), (gst_basesink_init),
12627         (gst_basesink_event), (gst_basesink_change_state):
12628         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12629         (gst_basesrc_init), (gst_basesrc_query),
12630         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12631         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12632         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12633         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12634         (gst_basesrc_stop), (gst_basesrc_activate),
12635         (gst_basesrc_change_state):
12636         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12637         (helper_find_suggest), (gst_type_find_helper):
12638         * gst/base/gsttypefindhelper.h:
12639         * gst/elements/Makefile.am:
12640         * gst/elements/gstelements.c:
12641         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12642         (gst_fakesink_get_times), (gst_fakesink_event),
12643         (gst_fakesink_preroll), (gst_fakesink_render):
12644         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12645         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12646         (gst_fakesrc_get_property), (gst_fakesrc_create),
12647         (gst_fakesrc_start), (gst_fakesrc_stop):
12648         * gst/elements/gstfakesrc.h:
12649         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12650         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12651         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12652         (gst_filesrc_create_read), (gst_filesrc_create),
12653         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12654         (gst_filesrc_start):
12655         * gst/elements/gsttypefindelement.c:
12656         (gst_type_find_element_have_type), (gst_type_find_element_init),
12657         (start_typefinding), (stop_typefinding), (push_buffer_store),
12658         (gst_type_find_element_handle_event),
12659         (gst_type_find_element_chain),
12660         (gst_type_find_element_checkgetrange),
12661         (gst_type_find_element_getrange), (do_typefind),
12662         (gst_type_find_element_activate),
12663         (gst_type_find_element_change_state):
12664         * gst/elements/gsttypefindelement.h:
12665         * gst/gstpipeline.c: (pipeline_bus_handler):
12666         Added typefind helper.
12667         Small preroll fix in the base sink.
12668         Disable typefind code in basesrc.
12669         Crude port of typefindelement.
12670         Fakesrc cleanups.
12671
12672
12673 2005-04-11  Wim Taymans  <wim@fluendo.com>
12674
12675         * check/gst/gstbus.c: (gstbus_suite):
12676         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12677         * check/gstcheck.h:
12678           Fix up the timeout so that the test does not fail.
12679
12680 2005-04-06  Wim Taymans  <wim@fluendo.com>
12681
12682         * gst/base/README:
12683         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12684         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12685         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12686         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12687         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12688         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12689         (gst_basesrc_stop), (gst_basesrc_activate),
12690         (gst_basesrc_change_state), (basesrc_find_peek),
12691         (basesrc_find_suggest), (gst_basesrc_type_find):
12692         * gst/base/gstbasesrc.h:
12693         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12694         (gst_filesrc_class_init), (gst_filesrc_init),
12695         (gst_filesrc_finalize), (gst_filesrc_set_location),
12696         (gst_filesrc_set_property), (gst_filesrc_get_property),
12697         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12698         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12699         (gst_filesrc_create_read), (gst_filesrc_create),
12700         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12701         * gst/elements/gstfilesrc.h:
12702         * gst/gstelement.c: (gst_element_get_state_func),
12703         (gst_element_lost_state), (gst_element_pads_activate):
12704         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12705         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12706         (gst_pad_pull_range):
12707         * gst/gstpad.h:
12708         More work on the generic source base class, implement seeking,
12709         query.
12710         Make filesrc extend the base source class.
12711         Added gst_pad_set_checkgetrange_function to GstPad.
12712
12713 2005-04-06  Andy Wingo  <wingo@pobox.com>
12714
12715         * pkgconfig/gstreamer-base.pc.in:
12716         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12717
12718         * pkgconfig/Makefile.am:
12719         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12720
12721 2005-04-04  Wim Taymans  <wim@fluendo.com>
12722
12723         * gst/base/Makefile.am:
12724         * gst/base/README:
12725         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12726         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12727         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12728         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12729         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12730         (gst_basesrc_base_init), (gst_basesrc_class_init),
12731         (gst_basesrc_init), (gst_basesrc_get_formats),
12732         (gst_basesrc_get_query_types), (gst_basesrc_query),
12733         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12734         (gst_basesrc_set_property), (gst_basesrc_get_property),
12735         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12736         (gst_basesrc_loop), (gst_basesrc_activate),
12737         (gst_basesrc_change_state):
12738         * gst/base/gstbasesrc.h:
12739         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12740         (gst_fakesrc_class_init), (gst_fakesrc_init),
12741         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12742         (gst_fakesrc_get_property), (gst_fakesrc_create):
12743         * gst/elements/gstfakesrc.h:
12744         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12745         (gst_filesrc_open_file), (gst_filesrc_loop),
12746         (gst_filesrc_activate), (filesrc_find_peek),
12747         (gst_filesrc_type_find):
12748         Made base source class, make fakesrc extend it.
12749         Add comments to basesink class.
12750         Some filesrc cleanup.
12751
12752 2005-03-31  David Schleef  <ds@schleef.org>
12753
12754         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12755         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12756         expected to link against libgstreamer.
12757         * gst/base/Makefile.am: link against libgstreamer
12758         * gst/elements/Makefile.am: same
12759
12760 2005-03-31  Andy Wingo  <wingo@pobox.com>
12761
12762         * tests/instantiate/Makefile.am:
12763         * tests/instantiate/caps.c: Add test to test speed of caps copy
12764         and free.
12765
12766         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12767         GMemChunk to be fair.
12768
12769         * gst/gsttrashstack.h: Remove warning about using the fallback
12770         trash stack implementation, it's still faster than malloc.
12771
12772 2005-03-30  Andy Wingo  <wingo@pobox.com>
12773
12774         * tests/complexity.c: Add a copyright.
12775
12776 2005-03-31  Wim Taymans  <wim@fluendo.com>
12777
12778         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12779         (gst_base_transform_class_init), (gst_base_transform_init),
12780         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12781         (gst_base_transform_get_property),
12782         (gst_base_transform_sink_activate),
12783         (gst_base_transform_src_activate),
12784         (gst_base_transform_change_state):
12785         * gst/base/gstbasetransform.h:
12786         * gst/elements/gstidentity.c: (gst_identity_class_init),
12787         (gst_identity_event), (gst_identity_check_perfect),
12788         (gst_identity_transform), (gst_identity_start),
12789         (gst_identity_stop):
12790         Added start/stop methods to transform base class so subclasses 
12791         don't need to deal with state changes even.
12792
12793 2005-03-31  Wim Taymans  <wim@fluendo.com>
12794
12795         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12796         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12797         * gst/gstevent.h:
12798         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12799         (gst_pad_pull_range):
12800         Added rate to the discont event to prepare for variable speed
12801         and reverse playback.
12802
12803 2005-03-29  David Schleef  <ds@schleef.org>
12804
12805         * configure.ac:
12806         * testsuite/trigger/Makefile.am:
12807         * testsuite/trigger/trigger.c: A little example program to show
12808         how trigger-based elements can work.
12809
12810 2005-03-29  Wim Taymans  <wim@fluendo.com>
12811
12812         * gst/base/Makefile.am:
12813         * gst/base/README:
12814         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12815         (gst_basesink_base_init), (gst_basesink_class_init),
12816         (gst_basesink_pad_getcaps), (gst_basesink_init),
12817         (gst_basesink_activate), (gst_basesink_change_state):
12818         * gst/base/gstbasesink.h:
12819         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12820         (gst_base_transform_base_init), (gst_base_transform_finalize),
12821         (gst_base_transform_class_init), (gst_base_transform_init),
12822         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12823         (gst_base_transform_event), (gst_base_transform_getrange),
12824         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12825         (gst_base_transform_set_property),
12826         (gst_base_transform_get_property),
12827         (gst_base_transform_sink_activate),
12828         (gst_base_transform_src_activate),
12829         (gst_base_transform_change_state):
12830         * gst/base/gstbasetransform.h:
12831         * gst/elements/gstidentity.c: (gst_identity_finalize),
12832         (gst_identity_class_init), (gst_identity_init),
12833         (gst_identity_event), (gst_identity_check_perfect),
12834         (gst_identity_transform), (gst_identity_set_property),
12835         (gst_identity_get_property), (gst_identity_change_state):
12836         * gst/elements/gstidentity.h:
12837         * gst/gstelement.c: (gst_element_get_state_func),
12838         (gst_element_lost_state), (gst_element_pads_activate):
12839         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12840         (gst_pad_check_pull_range), (gst_pad_pull_range):
12841         * gst/gstpad.h:
12842         Simplify pad activation.
12843         Added function to check if pull_range can be performed.
12844         Error out when pulling inactive or flushing pads.
12845         Removed const from refcounted types as it does not make sense.
12846         Simplify pad templates in basesink
12847         Added base class for simple 1-to-1 transforms.
12848         Make identity subclass the base transform.
12849
12850 2005-03-29  Andy Wingo  <wingo@pobox.com>
12851
12852         * docs/libs/gstreamer-libs-overrides.txt: 
12853         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12854         really don't understand what's going on, but like whatever. I want
12855         green buildbot!
12856
12857         * docs/gst/Makefile.am:
12858         * docs/libs/Makefile.am: Dist the overrides files.
12859
12860         * check/Makefile.am (clean-local): Remove .libs directories.
12861
12862         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12863         elements to EXTRA_DIST, so po/ files are happy.
12864
12865         * po/POTFILES.in: Er, remove it here.
12866
12867         * po/POTFILES: Remove gstspider.c.
12868
12869         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12870
12871         * docs/libs/gstreamer-libs-docs.sgml: 
12872         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12873         bytestream.
12874
12875         * tests/complexity.c (main): Set the length of the preroll queue
12876         on the sinks to prevent a lockup.
12877
12878         * libs/gst/dataprotocol/Makefile.am: 
12879         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12880         the same as the one in check/gst-libs/gdp.c.
12881
12882         * po/, docs/gst/: Commit automatic changes to docs and po files.
12883
12884         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12885         the versioned libgstbase.
12886
12887         * check/Makefile.am: Depend on an unversioned gst-register, seems
12888         to make autoconf happier.
12889
12890         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12891
12892 2005-03-28  Wim Taymans  <wim@fluendo.com>
12893
12894         * configure.ac:
12895         * docs/design/part-gstelement.txt:
12896         * docs/design/part-negotiation.txt:
12897         * docs/design/part-preroll.txt:
12898         * docs/design/part-scheduling.txt:
12899         * docs/design/part-states.txt:
12900         * gst/Makefile.am:
12901         * gst/base/Makefile.am:
12902         * gst/base/README:
12903         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12904         (gst_basesink_base_init), (gst_basesink_class_init),
12905         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12906         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12907         (gst_basesink_set_pad_functions),
12908         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12909         (gst_basesink_set_property), (gst_basesink_get_property),
12910         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12911         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12912         (gst_basesink_preroll_queue_push),
12913         (gst_basesink_preroll_queue_empty),
12914         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12915         (gst_basesink_event), (gst_basesink_get_times),
12916         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12917         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12918         (gst_basesink_loop), (gst_basesink_activate),
12919         (gst_basesink_change_state):
12920         * gst/base/gstbasesink.h:
12921         * gst/elements/Makefile.am:
12922         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12923         (gst_fakesink_class_init), (gst_fakesink_init),
12924         (gst_fakesink_set_property), (gst_fakesink_get_property),
12925         (gst_fakesink_get_times), (gst_fakesink_event),
12926         (gst_fakesink_preroll), (gst_fakesink_render),
12927         (gst_fakesink_change_state):
12928         * gst/elements/gstfakesink.h:
12929         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12930         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12931         * gst/gstelement.c: (gst_element_add_pad),
12932         (gst_element_get_state_func), (gst_element_abort_state),
12933         (gst_element_commit_state), (gst_element_lost_state),
12934         (gst_element_set_state), (gst_element_pads_activate):
12935         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12936         * gst/gstpipeline.c: (gst_pipeline_send_event),
12937         (gst_pipeline_change_state):
12938         Added state change code.
12939         Added/updated docs.
12940         Added sink base class, make fakesink extend the base class.
12941         Small cleanups in GstPipeline.
12942
12943 2005-03-26  David Schleef  <ds@schleef.org>
12944
12945         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12946         is broken and should be implemented in a different library.
12947         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12948         * gst/gst.h: remove gstcpu.h
12949         * gst/gstcpu.c: remove
12950         * gst/gstcpu.h: remove
12951         * gst/Makefile.am.future: Remove this file.  It's ancient.
12952
12953 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12954
12955         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12956         (gst_bin_send_event):
12957           Add default event/set_manager handlers. The set_manager handler
12958           takes care that the manager is distributed over kids that were
12959           already in the bin before the manager was set. The event handler
12960           is a utility virtual function that sends the event over all sinks,
12961           so that gst_element_send_event (bin, event); has the expected
12962           behaviour.
12963         * gst/gstpad.c: (gst_pad_event_default):
12964           Re-install default event handling for discontinuities, so that
12965           seeking works without requiring hacks in applications or extra
12966           code in sinks.
12967         * gst/gstpipeline.c: (gst_pipeline_class_init),
12968         (gst_pipeline_send_event):
12969           Half hack, half utility: set a pipeline to PAUSED for seek events,
12970           since that is the only way we can guarantee a/v sync. Means that
12971           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12972           and it "just works".
12973
12974 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12975
12976         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12977           Lock/unlock mismatch.
12978
12979 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12980
12981         * docs/faq/gst-uninstalled:
12982           add gst-plugins-base
12983         * docs/gst/Makefile.am:
12984           don't error out until docs are fixed
12985         * docs/gst/gstreamer.types:
12986           remove thread
12987
12988 2005-03-22  Wim Taymans  <wim@fluendo.com>
12989
12990         * check/Makefile.am:
12991         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12992         * gst/gststructure.c: (gst_structure_set_valist),
12993         (gst_structure_copy_conditional):
12994         Activated more tests.
12995         Added message test.
12996         Added G_TYPE_POINTER to GstStructure.
12997         
12998
12999 2005-03-22  Wim Taymans  <wim@fluendo.com>
13000
13001         * docs/design/part-TODO.txt:
13002         * docs/design/part-events.txt:
13003         * docs/design/part-gstbin.txt:
13004         * docs/design/part-gstbus.txt:
13005         * docs/design/part-gstpipeline.txt:
13006         * docs/design/part-messages.txt:
13007         * gst/gstbus.c:
13008         * gst/gstmessage.c:
13009         Docs updates
13010
13011 2005-03-21  Wim Taymans  <wim@fluendo.com>
13012
13013         * gst/gstbus.c: (gst_bus_post):
13014         Fix copy-and-paste error.
13015
13016 2005-03-21  Wim Taymans  <wim@fluendo.com>
13017
13018         * check/Makefile.am:
13019         * gst/Makefile.am:
13020         * gst/elements/Makefile.am:
13021         * gst/elements/gstelements.c:
13022         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13023         (gst_fakesink_event), (gst_fakesink_chain):
13024         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13025         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13026         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13027         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13028         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13029         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13030         (gst_fakesrc_loop), (gst_fakesrc_activate),
13031         (gst_fakesrc_change_state):
13032         * gst/elements/gstfakesrc.h:
13033         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13034         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13035         (gst_filesrc_open_file), (gst_filesrc_loop),
13036         (gst_filesrc_activate), (gst_filesrc_change_state),
13037         (filesrc_find_peek), (filesrc_find_suggest),
13038         (gst_filesrc_type_find):
13039         * gst/elements/gstidentity.c: (gst_identity_finalize),
13040         (gst_identity_class_init), (gst_identity_init),
13041         (gst_identity_proxy_getcaps), (identity_queue_push),
13042         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13043         (gst_identity_getrange), (gst_identity_chain),
13044         (gst_identity_sink_loop), (gst_identity_src_loop),
13045         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13046         (gst_identity_set_property), (gst_identity_get_property),
13047         (gst_identity_change_state):
13048         * gst/elements/gstidentity.h:
13049         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13050         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13051         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13052         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13053         (gst_tee_sink_activate):
13054         * gst/elements/gsttee.h:
13055         * gst/gst.c: (gst_register_core_elements), (init_post):
13056         * gst/gst.h:
13057         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13058         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13059         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13060         (gst_bin_change_state):
13061         * gst/gstbin.h:
13062         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13063         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13064         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13065         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13066         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13067         (bus_watch_callback), (bus_watch_destroy),
13068         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13069         (poll_timeout), (gst_bus_poll):
13070         * gst/gstbus.h:
13071         * gst/gstcaps.h:
13072         * gst/gstdata.h:
13073         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13074         (gst_element_post_message), (gst_element_message_full),
13075         (gst_element_get_state_func), (gst_element_get_state),
13076         (gst_element_abort_state), (gst_element_commit_state),
13077         (gst_element_lost_state), (gst_element_set_state),
13078         (gst_element_pads_activate), (gst_element_change_state),
13079         (gst_element_dispose), (gst_element_set_manager_func),
13080         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13081         (gst_element_set_manager), (gst_element_get_manager),
13082         (gst_element_set_bus), (gst_element_get_bus),
13083         (gst_element_set_scheduler), (gst_element_get_scheduler):
13084         * gst/gstelement.h:
13085         * gst/gstevent.c: (gst_event_new_segment_seek),
13086         (gst_event_new_flush):
13087         * gst/gstevent.h:
13088         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13089         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13090         (gst_message_new_eos), (gst_message_new_error),
13091         (gst_message_new_warning), (gst_message_new_tag),
13092         (gst_message_new_state_changed), (gst_message_new_application),
13093         (gst_message_get_structure), (gst_message_parse_tag),
13094         (gst_message_parse_state_changed), (gst_message_parse_error),
13095         (gst_message_parse_warning):
13096         * gst/gstmessage.h:
13097         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13098         (gst_real_pad_set_property), (gst_pad_set_active),
13099         (gst_pad_is_active), (gst_pad_set_blocked_async),
13100         (gst_pad_set_blocked), (gst_pad_is_blocked),
13101         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13102         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13103         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13104         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13105         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13106         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13107         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13108         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13109         (gst_pad_set_caps), (gst_pad_configure_sink),
13110         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13111         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13112         (gst_real_pad_dispose), (gst_real_pad_finalize),
13113         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13114         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13115         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13116         * gst/gstpad.h:
13117         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13118         (pipeline_bus_handler), (gst_pipeline_change_state),
13119         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13120         * gst/gstpipeline.h:
13121         * gst/gstprobe.h:
13122         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13123         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13124         (gst_queue_link_src), (gst_queue_bufferalloc),
13125         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13126         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13127         (gst_queue_loop), (gst_queue_handle_src_event),
13128         (gst_queue_handle_src_query), (gst_queue_src_activate),
13129         (gst_queue_change_state):
13130         * gst/gstqueue.h:
13131         * gst/gstscheduler.c: (gst_scheduler_init),
13132         (gst_scheduler_dispose), (gst_scheduler_create_task),
13133         (gst_scheduler_factory_create):
13134         * gst/gstscheduler.h:
13135         * gst/gststructure.c: (gst_structure_get_type),
13136         (gst_structure_copy_conditional):
13137         * gst/gststructure.h:
13138         * gst/gsttaginterface.h:
13139         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13140         (gst_task_init), (gst_task_dispose), (gst_task_create),
13141         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13142         (gst_task_pause):
13143         * gst/gsttask.h:
13144         * gst/gstthread.c:
13145         * gst/gstthread.h:
13146         * gst/gsttypes.h:
13147         * gst/schedulers/Makefile.am:
13148         * gst/schedulers/cothreads_compat.h:
13149         * gst/schedulers/entryscheduler.c:
13150         * gst/schedulers/faircothreads.c:
13151         * gst/schedulers/faircothreads.h:
13152         * gst/schedulers/fairscheduler.c:
13153         * gst/schedulers/gstbasicscheduler.c:
13154         * gst/schedulers/gstoptimalscheduler.c:
13155         * gst/schedulers/gthread-cothreads.h:
13156         * gst/schedulers/threadscheduler.c:
13157         (gst_thread_scheduler_task_get_type),
13158         (gst_thread_scheduler_task_class_init),
13159         (gst_thread_scheduler_task_init),
13160         (gst_thread_scheduler_task_start),
13161         (gst_thread_scheduler_task_stop),
13162         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13163         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13164         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13165         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13166         (plugin_init):
13167         * libs/gst/Makefile.am:
13168         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13169         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13170         (gst_file_pad_parent_set):
13171         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13172         (gst_dp_event_from_packet):
13173         * tests/complexity.c: (main):
13174         * tests/mass_elements.c: (main):
13175         * testsuite/states/locked.c: (message_received), (main):
13176         * testsuite/states/parent.c: (main):
13177         * tools/gst-inspect.c: (print_element_flag_info),
13178         (print_implementation_info), (print_pad_info):
13179         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13180         (main):
13181         * tools/gst-md5sum.c: (event_loop), (main):
13182         * tools/gst-typefind.c: (main):
13183         * tools/gst-xmlinspect.c: (print_element_info):
13184         Next big merge.
13185         Added GstBus for mainloop integration.
13186         Added GstMessage for sending notifications on the bus.
13187         Added GstTask as an abstraction for pipeline entry points.
13188         Removed GstThread.
13189         Removed Schedulers.
13190         Simplified GstQueue for multithreaded core.
13191         Made _link threadsafe, removed old capsnego.
13192         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13193         Added pad blocking functions.
13194         Reworked scheduling functions in GstPad to prepare for
13195         scheduling updates soon.
13196         Moved events out of data stream.
13197         Simplified GstEvent types.
13198         Added return values to push/pull.
13199         Removed clocking from GstElement.
13200         Added prototypes for state change function for next merge.
13201         Removed iterate from bins and state change management.
13202         Fixed some elements, disabled others for now.
13203         Fixed -inspect and -launch.
13204         Added check for GstBus.
13205
13206 2005-03-10  Wim Taymans  <wim@fluendo.com>
13207
13208         * docs/design/part-MT-refcounting.txt:
13209         * docs/design/part-clocks.txt:
13210         * docs/design/part-gstelement.txt:
13211         * docs/design/part-gstobject.txt:
13212         * docs/design/part-standards.txt:
13213         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13214         (gst_bin_remove_func), (gst_bin_remove):
13215         * gst/gstbin.h:
13216         * gst/gstbuffer.c:
13217         * gst/gstcaps.h:
13218         * testsuite/clock/clock1.c: (main):
13219         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13220         (main):
13221         * testsuite/dlopen/loadgst.c: (do_test):
13222         * testsuite/refcounting/bin.c: (add_remove_test1),
13223         (add_remove_test2), (main):
13224         * testsuite/refcounting/element.c: (main):
13225         * testsuite/refcounting/element_pad.c: (main):
13226         * testsuite/refcounting/pad.c: (main):
13227         * tools/gst-launch.c: (sigint_handler_sighandler):
13228         * tools/gst-typefind.c: (main):
13229         Doc updates.
13230         Added doc about clock.
13231         removed gst_bin_iterate_recurse_up(), marked methods
13232         for removal.
13233         Fix more testsuites.
13234
13235 2005-03-09  Wim Taymans  <wim@fluendo.com>
13236
13237         * gst/gstpad.c: (gst_pad_get_direction),
13238         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13239         (gst_pad_collect_valist):
13240         * testsuite/bins/interface.c: (main):
13241         * testsuite/caps/audioscale.c: (test_caps):
13242         * testsuite/caps/caps.c: (test1), (test2), (test3):
13243         * testsuite/caps/deserialize.c: (main):
13244         * testsuite/caps/enumcaps.c: (main):
13245         * testsuite/caps/filtercaps.c: (main):
13246         * testsuite/caps/intersect2.c: (main):
13247         * testsuite/caps/random.c: (main):
13248         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13249         * testsuite/caps/sets.c: (check_caps):
13250         * testsuite/caps/simplify.c: (check_caps), (main):
13251         * testsuite/caps/subtract.c: (check_caps):
13252         Fix _pad_get_direction wrt ghostpads.
13253         Fix caps testsuite.
13254
13255 2005-03-09  Wim Taymans  <wim@fluendo.com>
13256
13257         * check/Makefile.am:
13258         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13259         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13260         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13261         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13262         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13263         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13264         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13265         (bin_element_is_sink), (gst_bin_iterate_sinks),
13266         (gst_bin_iterate_all_by_interface):
13267         * gst/gstbin.h:
13268         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13269         (gst_element_change_state), (gst_element_dispose),
13270         (gst_element_finalize), (gst_element_set_loop_function):
13271         * gst/gstelement.h:
13272         * gst/gstiterator.c: (find_custom_fold_func):
13273         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13274         (gst_pad_collectv), (gst_pad_collect_valist),
13275         (gst_pad_template_new):
13276         * gst/gstpipeline.c: (gst_pipeline_class_init),
13277         (gst_pipeline_dispose), (gst_pipeline_set_property),
13278         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13279         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13280         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13281         * gst/gstutils.h:
13282         * gst/schedulers/entryscheduler.c:
13283         * gst/schedulers/gstbasicscheduler.c:
13284         (gst_basic_scheduler_cothreaded_chain),
13285         (gst_basic_scheduler_chain_add_element):
13286         * testsuite/bins/interface.c: (main):
13287         Added GstBin test.
13288         Added GstSystemClock test.
13289         Implemented clock distribution code in GstBin.
13290         Implemented iterate sinks method for future use.
13291         Rearranged gstelement.h
13292         Fix GstIterator comparison bug.
13293         Moved some code to GstPipeline, mostly clocking related.
13294
13295 2005-03-09  Wim Taymans  <wim@fluendo.com>
13296
13297         * configure.ac:
13298         * gst/gst_private.h:
13299         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13300         (gst_bin_remove_func), (gst_bin_remove),
13301         (gst_bin_get_by_name_recurse_up):
13302         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13303         (gst_clock_id_compare_func), (gst_clock_id_wait),
13304         (gst_clock_id_wait_async), (gst_clock_init),
13305         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13306         * gst/gstelement.h:
13307         * gst/gstinfo.c: (_gst_debug_init):
13308         * gst/gstobject.h:
13309         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13310         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13311         * gst/gstpad.h:
13312         Bump version number, we're now 0.9.0
13313         Add future debugging category.
13314         Fix NULL _unref() in _get_by_name_recurse_up
13315         Rearrange gstpad.h.
13316         Update some docs.
13317
13318 2005-03-08  Wim Taymans  <wim@fluendo.com>
13319
13320         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13321         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13322         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13323         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13324         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13325         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13326         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13327         * gst/elements/gstidentity.c: (gst_identity_class_init):
13328         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13329         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13330         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13331         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13332         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13333         (gst_tee_link):
13334         * gst/gstelement.c: (gst_element_class_init),
13335         (gst_element_base_class_init), (gst_element_init),
13336         (gst_element_get_random_pad), (gst_element_wait_state_change),
13337         (gst_element_change_state), (gst_element_dispose),
13338         (gst_element_finalize), (gst_element_set_loop_function):
13339         * gst/gstelement.h:
13340         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13341         * gst/gstthread.c: (gst_thread_class_init),
13342         (gst_thread_release_children_locks), (gst_thread_change_state):
13343         * gst/schedulers/gstbasicscheduler.c:
13344         (gst_basic_scheduler_loopfunc_wrapper),
13345         (gst_basic_scheduler_chain_wrapper),
13346         (gst_basic_scheduler_src_wrapper),
13347         (gst_basic_scheduler_remove_element):
13348         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13349         Remove threadsafe properties. Fix elements because GObject
13350         complains when installing a property before declaring a
13351         set/get_property handler.
13352         Rearrange gstelement.h file, use STATE macros for state locks.
13353         Free mutexes in the finalize method instead of dispose.
13354
13355 2005-03-08  Wim Taymans  <wim@fluendo.com>
13356
13357         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13358         * gst/gstthread.c: (gst_thread_release_children_locks):
13359         Added parentage check.
13360         Fix build og GstThread again.
13361
13362 2005-03-08  Wim Taymans  <wim@fluendo.com>
13363
13364         * docs/design/part-MT-refcounting.txt:
13365         * docs/design/part-conventions.txt:
13366         * docs/design/part-gstobject.txt:
13367         * docs/design/part-relations.txt:
13368         * docs/design/part-standards.txt:
13369         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13370         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13371         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13372         (gst_bin_iterate_all_by_interface):
13373         * gst/gstbuffer.h:
13374         * gst/gstclock.h:
13375         * gst/gstelement.c: (gst_element_class_init),
13376         (gst_element_change_state), (gst_element_set_loop_function):
13377         * gst/gstelement.h:
13378         * gst/gstiterator.c:
13379         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13380         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13381         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13382         (gst_object_set_parent), (gst_object_unparent),
13383         (gst_object_check_uniqueness):
13384         * gst/gstobject.h:
13385         Docs updates, clean up some headers.
13386
13387 2005-03-07  Wim Taymans  <wim@fluendo.com>
13388
13389         * check/.cvsignore:
13390         * check/Makefile.am:
13391         * check/gst-libs/.cvsignore:
13392         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13393         * check/gst/.cvsignore:
13394         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13395         (START_TEST), (gstbus_suite), (main):
13396         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13397         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13398         (gst_data_suite), (main):
13399         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13400         (add_fold_func), (gstiterator_suite), (main):
13401         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13402         (thread_name_object), (thread_name_object_default),
13403         (gst_object_name_compare), (gst_object_suite), (main):
13404         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13405         (gst_pad_suite), (main):
13406         * check/gstcheck.c: (gst_check_log_message_func),
13407         (gst_check_log_critical_func), (gst_check_init):
13408         * check/gstcheck.h:
13409         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13410         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13411         Added checks.
13412
13413 2005-03-07  Wim Taymans  <wim@fluendo.com>
13414
13415         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13416         (gst_list_iterator_next), (gst_list_iterator_resync),
13417         (gst_list_iterator_free), (gst_iterator_new_list),
13418         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13419         (gst_iterator_free), (gst_iterator_push), (filter_next),
13420         (filter_resync), (filter_uninit), (filter_free),
13421         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13422         (gst_iterator_foreach), (find_custom_fold_func),
13423         (gst_iterator_find_custom):
13424         * gst/gstiterator.h:
13425         Added missing files.
13426
13427 2005-03-07  Wim Taymans  <wim@fluendo.com>
13428
13429         * Makefile.am:
13430         * configure.ac:
13431         * docs/design/part-MT-refcounting.txt:
13432         * docs/design/part-conventions.txt:
13433         * docs/design/part-gstobject.txt:
13434         * docs/design/part-relations.txt:
13435         * examples/mixer/mixer.c: (main):
13436         * examples/thread/thread.c: (eos), (main):
13437         * gst/Makefile.am:
13438         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13439         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13440         (gst_spider_plug_from_srcpad):
13441         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13442         (gst_spider_identity_change_state),
13443         (gst_spider_identity_sink_loop_type_finding):
13444         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13445         * gst/elements/gstidentity.c: (gst_identity_init):
13446         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13447         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13448         * gst/elements/gsttypefindelement.c: (free_entry):
13449         * gst/gst.c:
13450         * gst/gst.h:
13451         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13452         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13453         (gst_bin_set_index), (gst_bin_set_element_sched),
13454         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13455         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13456         (gst_bin_iterate_elements), (iterate_child_recurse),
13457         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13458         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13459         (compare_interface), (gst_bin_get_by_interface),
13460         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13461         * gst/gstbin.h:
13462         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13463         (gst_buffer_default_free), (gst_buffer_default_copy),
13464         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13465         (gst_buffer_create_sub):
13466         * gst/gstbuffer.h:
13467         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13468         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13469         (gst_caps_unref), (gst_static_caps_get),
13470         (gst_caps_remove_and_get_structure), (gst_caps_append),
13471         (gst_caps_append_structure), (gst_caps_remove_structure),
13472         (gst_caps_copy_nth), (gst_caps_set_simple),
13473         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13474         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13475         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13476         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13477         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13478         (gst_caps_structure_figure_out_union),
13479         (gst_caps_switch_structures), (gst_caps_do_simplify),
13480         (gst_caps_replace), (gst_caps_from_string),
13481         (gst_caps_copy_conditional):
13482         * gst/gstcaps.h:
13483         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13484         (_gst_clock_id_free), (gst_clock_id_unref),
13485         (gst_clock_id_compare_func), (gst_clock_id_wait),
13486         (gst_clock_id_wait_async), (gst_clock_class_init),
13487         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13488         (gst_clock_get_time), (gst_clock_set_time_adjust),
13489         (gst_clock_set_property), (gst_clock_get_property):
13490         * gst/gstclock.h:
13491         * gst/gstcompat.h:
13492         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13493         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13494         * gst/gstdata.h:
13495         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13496         (gst_element_requires_clock), (gst_element_provides_clock),
13497         (gst_element_set_clock), (gst_element_clock_wait),
13498         (gst_element_wait), (gst_element_set_time_delay),
13499         (gst_element_is_indexable), (gst_element_add_pad),
13500         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13501         (pad_compare_name), (gst_element_get_static_pad),
13502         (gst_element_request_pad), (gst_element_get_request_pad),
13503         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13504         (gst_element_class_get_pad_template_list),
13505         (gst_element_class_get_pad_template), (gst_element_error_func),
13506         (gst_element_get_random_pad), (gst_element_get_event_masks),
13507         (gst_element_send_event), (gst_element_seek),
13508         (gst_element_get_query_types), (gst_element_query),
13509         (gst_element_get_formats), (gst_element_convert),
13510         (gst_element_is_locked_state), (gst_element_set_locked_state),
13511         (gst_element_sync_state_with_parent), (gst_element_change_state),
13512         (gst_element_finalize), (gst_element_yield),
13513         (gst_element_interrupt), (gst_element_set_scheduler),
13514         (gst_element_get_scheduler), (gst_element_set_loop_function):
13515         * gst/gstelement.h:
13516         * gst/gstevent.h:
13517         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13518         (gst_format_get_by_nick), (gst_format_get_details),
13519         (gst_format_iterate_definitions):
13520         * gst/gstformat.h:
13521         * gst/gstindex.c: (gst_index_gtype_resolver):
13522         * gst/gstinfo.c:
13523         * gst/gstinfo.h:
13524         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13525         (gst_mem_chunk_free):
13526         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13527         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13528         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13529         (gst_object_dispatch_properties_changed),
13530         (gst_object_set_name_default), (gst_object_set_name),
13531         (gst_object_get_name), (gst_object_set_name_prefix),
13532         (gst_object_get_name_prefix), (gst_object_set_parent),
13533         (gst_object_get_parent), (gst_object_unparent),
13534         (gst_object_check_uniqueness), (gst_object_save_thyself),
13535         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13536         (gst_object_set_property), (gst_object_get_property),
13537         (gst_object_get_path_string):
13538         * gst/gstobject.h:
13539         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13540         (gst_real_pad_init), (gst_real_pad_get_property),
13541         (gst_pad_custom_new), (gst_pad_get_direction),
13542         (gst_pad_set_active), (gst_pad_is_active),
13543         (gst_pad_set_event_function), (gst_pad_is_linked),
13544         (gst_pad_link_free), (gst_pad_link_intersect),
13545         (gst_pad_link_fixate), (gst_pad_set_caps),
13546         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13547         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13548         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13549         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13550         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13551         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13552         (gst_pad_realize), (gst_pad_get_allowed_caps),
13553         (gst_real_pad_dispose), (gst_real_pad_finalize),
13554         (gst_pad_collectv), (gst_pad_collect_valist),
13555         (gst_pad_template_dispose), (gst_pad_template_new),
13556         (gst_pad_get_internal_links):
13557         * gst/gstpad.h:
13558         * gst/gstpipeline.c: (gst_pipeline_dispose),
13559         (gst_pipeline_change_state):
13560         * gst/gstpipeline.h:
13561         * gst/gstplugin.c:
13562         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13563         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13564         * gst/gstpluginfeature.h:
13565         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13566         * gst/gstquery.c: (_gst_query_type_initialize),
13567         (gst_query_type_register), (gst_query_type_get_by_nick),
13568         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13569         * gst/gstquery.h:
13570         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13571         * gst/gstscheduler.c: (gst_scheduler_add_element),
13572         (gst_scheduler_factory_create):
13573         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13574         (gst_structure_free), (gst_structure_set_name),
13575         (gst_structure_id_set_value), (gst_structure_set_value),
13576         (gst_structure_set_valist), (gst_structure_remove_field),
13577         (gst_structure_remove_fields),
13578         (gst_structure_remove_fields_valist),
13579         (gst_structure_remove_all_fields), (gst_structure_foreach),
13580         (gst_structure_map_in_place),
13581         (gst_caps_structure_fixate_field_nearest_int),
13582         (gst_caps_structure_fixate_field_nearest_double):
13583         * gst/gststructure.h:
13584         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13585         (gst_system_clock_init), (gst_system_clock_dispose),
13586         (gst_system_clock_async_thread),
13587         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13588         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13589         * gst/gstsystemclock.h:
13590         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13591         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13592         * gst/gsttaginterface.c:
13593         * gst/gstthread.c: (gst_thread_dispose),
13594         (gst_thread_release_children_locks), (gst_thread_change_state),
13595         (gst_thread_main_loop):
13596         * gst/gsttrashstack.h:
13597         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13598         * gst/gsttypes.h:
13599         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13600         (gst_element_request_pad), (gst_element_get_pad_from_template),
13601         (gst_element_request_compatible_pad),
13602         (gst_element_get_compatible_pad_filtered),
13603         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13604         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13605         (gst_element_link_many), (gst_element_link),
13606         (gst_element_link_pads), (gst_element_unlink_pads),
13607         (gst_element_unlink_many), (gst_element_unlink),
13608         (gst_pad_can_link_filtered), (gst_pad_can_link),
13609         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13610         (gst_object_default_error), (gst_bin_add_many),
13611         (gst_bin_remove_many), (gst_element_populate_std_props),
13612         (gst_element_class_install_std_props), (gst_buffer_merge),
13613         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13614         (link_fold_func), (gst_pad_proxy_setcaps):
13615         * gst/gstutils.h:
13616         * gst/gstvalue.c: (gst_value_deserialize_string):
13617         * gst/parse/grammar.y:
13618         * gst/schedulers/gstbasicscheduler.c:
13619         (gst_basic_scheduler_cothreaded_chain),
13620         (gst_basic_scheduler_chain_recursive_add),
13621         (gst_basic_scheduler_pad_link):
13622         * gst/schedulers/gstoptimalscheduler.c:
13623         (get_group_schedule_function),
13624         (gst_opt_scheduler_state_transition),
13625         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13626         * libs/gst/bytestream/bytestream.c:
13627         * libs/gst/dataprotocol/dataprotocol.c:
13628         (gst_dp_header_from_buffer):
13629         * po/nb.po:
13630         * po/ru.po:
13631         * tests/threadstate/threadstate2.c: (eos):
13632         * tools/gst-compprep.c: (main):
13633         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13634         (print_pad_info), (print_children_info):
13635         * tools/gst-launch.c: (idle_func), (main):
13636         * tools/gst-md5sum.c: (idle_func), (main):
13637         * tools/gst-xmlinspect.c: (print_element_info):
13638         First THREADED backport attempt, focusing on adding locks and
13639         making sure the API is threadsafe. Needs more work. More docs
13640         follow this week.
13641
13642 2005-02-24  Andy Wingo  <wingo@pobox.com>
13643
13644         * tests/bench-complexity.scm:
13645         * tests/complexity.gnuplot: New files, good for running complexity
13646         benchmarks.
13647
13648         * tests/Makefile.am:
13649         * tests/complexity.c: New test, sets up N elements, at each level
13650         teeing into M streams per element. Eeeenteresting.
13651
13652         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13653         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13654         running bench-mass_elements.scm.
13655
13656         * tests/bench-mass_elements.scm: New script, runs mass_elements
13657         for various numbers of identities, outputting the results to a
13658         file. Requires guile 1.6. Just for testing.
13659
13660 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13661
13662         * gst/schedulers/fairscheduler.c:
13663           compile with debug disabled
13664
13665 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13666
13667         * configure.ac:
13668           hunting season on 0.9 is now OPEN