gst/: change some char* into char[]
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/gst.c:
4         * gst/gst_private.h:
5           change some char* into char[]
6
7 2005-12-16  Wim Taymans  <wim@fluendo.com>
8
9         * gst/gstregistryxml.c: (load_feature):
10         Cleanups.
11         Don't use g_object_unref on GstObjects so that we avoid
12         leaks on unsafe glibs.
13
14 2005-12-16  Wim Taymans  <wim@fluendo.com>
15
16         * gst/gstbin.c: (gst_bin_recalc_state):
17         Small doc updates.
18
19 2005-12-16  Wim Taymans  <wim@fluendo.com>
20
21         * common/check.mak:
22         Added make forever target for check.
23
24 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25
26         * gst/gst.c: (init_post):
27           make the registry cache file HOST_CPU-dependent
28
29 2005-12-16  Andy Wingo  <wingo@pobox.com>
30
31         * plugins/elements/gstbufferstore.c
32         (gst_buffer_store_cleared_func): Pay attention to g_list_append
33         return value.
34
35         * tests/check/gst/gstobject.c
36         (test_fake_object_name_threaded_unique): Pay attention to
37         g_list_sort return value.
38
39 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
40
41         * tools/gst-feedback-m.m:
42           Update for 0.9/0.10 (fixes #323870).
43
44 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
45
46         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
47           Fix lcopy for mini objects, the mini object needs to be ref'ed.
48           
49         * tests/check/gst/gstminiobject.c: (my_foo_init),
50         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
51         (test_value_collection), (gst_mini_object_suite):
52           Add test to ensure refcounts end up as expected when passing
53           GstMiniObjects through g_object_get() and g_object_set().
54
55 2005-12-14  Julien MOUTTE  <julien@moutte.net>
56
57         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
58         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
59         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
60         of collectpads. This version removes a lot of races without
61         touching API/ABI. Yay !
62
63 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
64
65         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
66           Don't allow activation of a srcpad in pull_range if it has no
67           getrange function.
68           Change some debug statements to be a little clearer
69
70         * plugins/elements/gsttypefindelement.c:
71         (gst_type_find_handle_src_query):
72           Check that we have a peer before executing queries thereupon.
73
74         * tests/examples/metadata/read-metadata.c: (message_loop):
75           Use gst_bus_pop instead of gst_bus_poll when we just want it to
76           immediately return us any available message with 0 timeout.
77
78 2005-12-12  Michael Smith  <msmith@fluendo.com>
79
80         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
81           Don't unref factories after calling them.
82         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
83         * plugins/elements/gsttypefindelement.c:
84         (gst_type_find_element_chain):
85           Free lists of factories after using them. Fixing typefinding memory
86           leaks.
87
88 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
89
90         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
91         (gst_plugin_feature_load):
92           more meaningful debug output
93         * configure.ac:
94         * tests/Makefile.am:
95         * tests/old/examples/Makefile.am:
96           make make distcheck happy again
97
98 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
99
100         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
101           Catch the special case where we are operating chain-based,
102           but the downstream peer pad has no chain function. Emit a
103           custom error message in this case instead of letting the
104           core generate one implying that this is some sort of core
105           bug. It's not, it just means that whatever got plugged
106           into the pipeline downstream when we announced the type
107           can only operate pull-based, while our source can only
108           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
109           Error string has not been marked for translation yet, as
110           it probably needs some more work first.
111
112         (gst_type_find_element_get_best_possibility):
113           Add helper function to find the best of all available
114           found possibilities that qualify given the min. threshold.
115
116         (gst_type_find_element_handle_event):
117           Fix the case where we get an EOS while still in TYPEFIND
118           mode (we want to chose the best of all possible types,
119           not just the first type that happens to be in our unsorted
120           list of possible types).
121
122         (gst_type_find_element_chain):
123           Make sure we return GST_FLOW_ERROR when we errored out
124           in stop_typefinding(); also, don't just find the best of
125           all found type entries and then use the last examined
126           type entry, but actually use the best entry.
127
128 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
129
130         * tests/examples/typefind/typefind.c: (type_found):
131         * tests/examples/xml/runxml.c: (xml_loaded):
132           More gcc4 fixes and a mem leak fix.
133
134 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
135
136         * tests/examples/xml/createxml.c: (object_saved):
137           gcc 4 fixes
138
139 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
140
141         * tests/Makefile.am:
142           enable the examples even more
143
144 2005-12-12  Andy Wingo  <wingo@pobox.com>
145
146         * libs/gst/net/gstnettimeprovider.c
147         (gst_net_time_provider_class_init, gst_net_time_provider_init)
148         (gst_net_time_provider_set_property)
149         (gst_net_time_provider_get_property): Export "active" as a GObject
150         property.
151         (gst_net_time_provider_thread): Only respond to time queries if
152         the time provider is active.
153
154         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
155         NetTimeProvider, preserving binary compat.
156
157 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
158
159         * tests/examples/controller/audio-example.c: (main):
160         * tests/examples/launch/Makefile.am:
161           convert comments again
162
163 2005-12-12  Wim Taymans  <wim@fluendo.com>
164
165         * libs/gst/base/gstpushsrc.c:
166         Fix typo.
167
168 2005-12-12  Wim Taymans  <wim@fluendo.com>
169
170         * docs/libs/gstreamer-libs-sections.txt:
171         Added new symbol to docs.
172
173         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
174         (gst_base_src_init), (gst_base_src_set_format),
175         (gst_base_src_default_query), (gst_base_src_query),
176         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
177         (gst_base_src_perform_seek), (gst_base_src_send_event),
178         (gst_base_src_default_event), (gst_base_src_event_handler),
179         (gst_base_src_set_property), (gst_base_src_get_property),
180         (gst_base_src_wait), (gst_base_src_do_sync),
181         (gst_base_src_update_length), (gst_base_src_get_range),
182         (gst_base_src_check_get_range), (gst_base_src_loop),
183         (gst_base_src_default_negotiate), (gst_base_src_start),
184         (gst_base_src_activate_push), (gst_base_src_activate_pull),
185         (gst_base_src_change_state):
186         * libs/gst/base/gstbasesrc.h:
187         Implement seeking to other formats than _BYTES.
188         Implement more seeking methods correctly.
189         Doc updates.
190         Added query vmethod.
191         Added do_seek vmethod to make life easier for subclasses
192         when seeking.
193         API addition: gst_base_src_set_format()
194
195 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
196
197         * tests/examples/Makefile.am:
198           added that too
199
200 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
201
202         * configure.ac:
203         * docs/random/ensonic/media-device-daemon.txt:
204         * tests/examples/controller/.cvsignore:
205         * tests/examples/controller/Makefile.am:
206         * tests/examples/controller/audio-example.c: (main):
207         * tests/examples/helloworld/.cvsignore:
208         * tests/examples/helloworld/Makefile.am:
209         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
210         * tests/examples/launch/.cvsignore:
211         * tests/examples/launch/Makefile.am:
212         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
213         * tests/examples/metadata/.cvsignore:
214         * tests/examples/metadata/Makefile.am:
215         * tests/examples/metadata/read-metadata.c: (message_loop),
216         (make_pipeline), (print_tag), (main):
217         * tests/examples/queue/.cvsignore:
218         * tests/examples/queue/Makefile.am:
219         * tests/examples/queue/queue.c: (event_loop), (main):
220         * tests/examples/typefind/.cvsignore:
221         * tests/examples/typefind/Makefile.am:
222         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
223         (main):
224         * tests/examples/xml/.cvsignore:
225         * tests/examples/xml/Makefile.am:
226         * tests/examples/xml/createxml.c: (object_saved), (main):
227         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
228         * tests/old/examples/Makefile.am:
229         * tests/old/examples/TODO:
230         * tests/old/examples/controller/.cvsignore:
231         * tests/old/examples/controller/Makefile.am:
232         * tests/old/examples/controller/audio-example.c:
233         * tests/old/examples/helloworld/.cvsignore:
234         * tests/old/examples/helloworld/Makefile.am:
235         * tests/old/examples/helloworld/helloworld.c:
236         * tests/old/examples/launch/.cvsignore:
237         * tests/old/examples/launch/Makefile.am:
238         * tests/old/examples/launch/mp3parselaunch.c:
239         * tests/old/examples/launch/mp3play:
240         * tests/old/examples/manual/Makefile.am:
241         * tests/old/examples/metadata/Makefile.am:
242         * tests/old/examples/metadata/read-metadata.c:
243         * tests/old/examples/queue/.cvsignore:
244         * tests/old/examples/queue/Makefile.am:
245         * tests/old/examples/queue/queue.c:
246         * tests/old/examples/typefind/.cvsignore:
247         * tests/old/examples/typefind/Makefile.am:
248         * tests/old/examples/typefind/typefind.c:
249         * tests/old/examples/xml/.cvsignore:
250         * tests/old/examples/xml/Makefile.am:
251         * tests/old/examples/xml/createxml.c:
252         * tests/old/examples/xml/runxml.c:
253           applied some simple fixing to some examples
254           re-enabled the working examples
255
256 2005-12-12  Wim Taymans  <wim@fluendo.com>
257
258         * gst/gstsegment.c: (gst_segment_init),
259         (gst_segment_set_last_stop), (gst_segment_set_seek),
260         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
261         (gst_segment_to_running_time):
262         Added more documentation.
263         Make sure the last_pos value is updated properly.
264         Make sure to_stream_time and to_running_time don't
265         operate on wrong values.
266
267         * tests/check/gst/gstsegment.c: (GST_START_TEST):
268         Update check.
269
270 2005-12-12  Michael Smith  <msmith@fluendo.com>
271
272         * plugins/elements/gsttypefindelement.c: (free_entry),
273         (gst_type_find_element_chain):
274           Now that we're not leaking factories, make sure we keep references
275           to them while we need them.
276
277 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
278
279         * tests/check/gst/struct_i386.h:
280           ifdef out the XML structs
281
282 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
283
284         * gst/gstvalue.c: (gst_value_transform_double_fraction):
285           floor is not needed, F is always positive; this obviates the
286           need for adding -lm when building without libxml
287
288 2005-12-12  Wim Taymans  <wim@fluendo.com>
289
290         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
291         Take current playback rate into account when reporting
292         the position.
293
294 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
295
296         * docs/manual/mime-world.fig:
297           Let's try this again, this time with a file that is
298           actually in XFig format.
299
300 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
301
302         * docs/manual/mime-world.fig:
303           Add audioconvert element to diagram so that it
304           matches the text and the code (fixes #319526).
305
306 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
307
308         * docs/pwg/building-chainfn.xml:
309         * docs/pwg/building-pads.xml:
310         * docs/pwg/building-state.xml:
311         * docs/pwg/other-source.xml:
312           Update state change stuff for 0.10 (fixes #322969).
313
314 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
315
316         * docs/manual/advanced-dataaccess.xml:
317         * docs/manual/appendix-checklist.xml:
318         * docs/manual/appendix-programs.xml:
319         * docs/manual/basics-pads.xml:
320         * docs/manual/highlevel-components.xml:
321         * docs/manual/manual.xml:
322           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
323           add converters in front of pipelines; remove curly
324           brackets for threads stuff, they no longer exist; use
325           GST_TYPE_FRACTION for framerates; update some pieces of
326           code to 0.10, but there's plenty more to do.
327
328         * docs/manual/appendix-porting.xml:
329           Expand on asynchroneous state changes; s/0.9/0.10/;
330           mention disappearance of gst_init_get_popt_table()
331           (fixes #322916).
332
333 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
334
335         * docs/faq/using.xml:
336           Spider no longer exists, and neither does gst-launch-ext.
337           Update examples to use decodebin and playbin and put
338           converters in front of sinks (fixes #323726).
339
340 2005-12-09  Michael Smith  <msmith@fluendo.com>
341
342         * plugins/elements/gsttypefindelement.c: (find_peek),
343         (gst_type_find_element_chain):
344           Fix leaking element factories in typefinding.
345           Fix problem where we forgot about a probable type on non-seekable
346           files, and thus later mis-typefound it.
347
348 2005-12-09  Michael Smith  <msmith@fluendo.com>
349
350         * common/m4/gst-makecontext.m4:
351         * common/m4/gst-mcsc.m4:
352         * configure.ac:
353         * win32/common/config.h:
354         * win32/common/config.h.in:
355           Remove makecontext stuff; not used in 0.10 and causes problems on
356           HPUX according to bug #322441
357
358 2005-12-07  Wim Taymans  <wim@fluendo.com>
359
360         * tests/check/Makefile.am:
361         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
362         (main):
363         * tests/check/libs/struct_i386.h:
364         Added ABI check for libs
365
366 2005-12-07  Wim Taymans  <wim@fluendo.com>
367
368         * tests/check/Makefile.am:
369         And add the struct_i386.h to dist.
370
371 2005-12-07  Wim Taymans  <wim@fluendo.com>
372
373         * tests/check/Makefile.am:
374         * tests/check/gst/.cvsignore:
375         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
376         (main):
377         * tests/check/gst/struct_i386.h:
378         Added check for ABI compatibility.
379
380 2005-12-07  Wim Taymans  <wim@fluendo.com>
381
382         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
383         (gst_fake_src_get_times), (gst_fake_src_create):
384         Fix broken sync option, fixes #323259
385
386 2005-12-07  Wim Taymans  <wim@fluendo.com>
387
388         * gst/gstbuffer.c:
389         Small docs update.
390
391         * gst/gstcaps.c: (gst_caps_is_equal):
392         Don't assert on NULL <--> X. Fixes #323260
393
394         * gst/gstminiobject.c: (gst_mini_object_replace):
395         If we're doing atomic operations, we might just as well use
396         the proper way to get an atomic pointer.
397
398         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
399         Clean up debugging.
400
401 2005-12-07  Michael Smith  <msmith@fluendo.com>
402
403         * gst/parse/grammar.y:
404           Remove handling of { } for threads.
405
406 2005-12-06  David Schleef  <ds@schleef.org>
407
408         * libs/gst/base/gstbasetransform.c: speling fix.
409
410 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
411
412         * docs/libs/tmpl/gstdataprotocol.sgml:
413         * docs/random/omega/testing/gstobject.c:
414         * gst/gst.c:
415         * gst/gstclock.c:
416         * gst/gstelement.c:
417         * gst/gstelementfactory.c:
418         * gst/gsterror.c:
419         * gst/gstevent.c:
420         * gst/gstghostpad.c:
421         * gst/gstinfo.c:
422         * gst/gstpadtemplate.c:
423         * gst/gstregistryxml.c:
424         * gst/gsttaglist.c:
425         * gst/gsttagsetter.c:
426         * gst/gsttypefind.c:
427         * gst/gstvalue.c:
428         * libs/gst/base/gstbasesrc.c:
429         * libs/gst/net/gstnetclientclock.c:
430         * libs/gst/net/gstnettimeprovider.c:
431         * plugins/elements/gstfakesrc.c:
432         * plugins/elements/gstfdsrc.c:
433         * plugins/elements/gstfilesrc.c:
434         * plugins/elements/gstidentity.c:
435         * plugins/elements/gstqueue.c:
436         * plugins/elements/gsttypefindelement.c:
437         * plugins/indexers/gstfileindex.c:
438         * plugins/indexers/gstmemindex.c:
439         * tests/check/gst/gsttag.c:
440         * tests/old/examples/cutter/cutter.c:
441         * tests/old/examples/mixer/mixer.c:
442         * tests/old/examples/xml/runxml.c: (main):
443         * tests/old/testsuite/caps/normalisation.c:
444         * tests/old/testsuite/debug/global.c:
445         * tests/old/testsuite/parse/parse1.c:
446         * tools/gst-xmlinspect.c:
447         * win32/common/dirent.c:
448           expand tabs
449
450 === release 0.10.0 ===
451
452 2005-12-05   <thomas (at) apestaart (dot) org>
453
454         * configure.ac:
455           releasing 0.10.0, "Maroilles"
456
457 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
458
459         submitted by: Funda Wang <fundawang@linux.net.cn>
460
461         * po/LINGUAS:
462         * po/zh_CN.po:
463           added Chinese (Traditional) translation
464
465 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
466
467         * docs/gst/gstreamer-sections.txt:
468         * docs/libs/tmpl/gstdataprotocol.sgml:
469         * docs/random/thomasvs/TODO:
470         * gst/gstutils.c:
471         * gst/gstutils.h:
472           fix docs
473
474 2005-12-05  Andy Wingo  <wingo@pobox.com>
475
476         patch by: Wim Taymans <wim@fluendo.com>
477
478         * libs/gst/base/gstbasetransform.c
479         (gst_base_transform_prepare_output_buf)
480         (gst_base_transform_buffer_alloc):
481         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
482         alloc_buffer_and_set_caps.
483
484         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
485         set_caps on the source pad.
486         (gst_pad_alloc_buffer_and_set_caps): New function, does what
487         alloc_buffer used to do. Fixes #322874.
488
489         * docs/gst/gstreamer-sections.txt: 
490         * docs/design/part-negotiation.txt: 
491         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
492         changes.
493
494 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
495
496         patch by: Sebastien Moutte
497
498         * win32/MANIFEST:
499         * win32/common/config.h.in:
500         * win32/vs6/libgstcontroller.dsp:
501           win32 build fixes
502
503 2005-12-05  Wim Taymans  <wim@fluendo.com>
504
505         * gst/gstcaps.c: (gst_caps_is_equal):
506         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
507         (gst_fake_src_create):
508         Back out previous code changes, leave doc updates, file bugs 
509         instead. 
510
511 2005-12-05  Wim Taymans  <wim@fluendo.com>
512
513         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
514         (gst_fake_src_get_times), (gst_fake_src_create):
515         * plugins/elements/gstfakesrc.h:
516         Fix broken sync code.
517
518 2005-12-05  Wim Taymans  <wim@fluendo.com>
519
520         * gst/gstcaps.c: (gst_caps_is_equal):
521         Comparing NULL against !NULL yields different caps, not a
522         failure.
523
524 2005-12-05  Wim Taymans  <wim@fluendo.com>
525
526         * gst/gstpipeline.c:
527         Fix small typo in docs.
528
529 2005-12-05  Andy Wingo  <wingo@pobox.com>
530
531         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
532
533         * gst/gst.c (init_post): remove hard-coded 0.9 location for
534         registries/plugins with a MAJORMINOR one.
535         (plugin_desc): Rename library from gstcoreleements to
536         staticelements. Fixes #323222.
537
538 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
539
540         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
541           Change debug category to 'collectpads' from 'collect_pads'
542           (fixes #323250).
543
544 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
545
546         patch by: Sebastien Moutte
547
548         * libs/gst/controller/gstinterpolation.c:
549           use convert function for uint64/double
550         * win32/vs6/libgstcontroller.dsp:
551           link to GLib
552
553 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
554
555         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
556         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
557         * gst/gstutils.h:
558         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
559           add tests that seem to show that the guint64/gdouble conversions
560           are correct.
561
562 2005-12-02  Wim Taymans  <wim@fluendo.com>
563
564         * gst/gstregistry.c: (gst_registry_add_path):
565         * gst/gstregistry.h:
566         * gst/gstregistryxml.c:
567         Fix docs again.
568
569 2005-12-02  Wim Taymans  <wim@fluendo.com>
570
571         * gst/gstutils.c: (gst_util_uint64_scale_int64),
572         (gst_util_uint64_scale_int):
573         Small cleanup.
574
575         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
576         Add debug log line.
577
578         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
579         Add FIXME.
580
581 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
582
583         * win32/MANIFEST:
584         * win32/common/config.h:
585         * win32/vs6/gstreamer.dsw:
586         * win32/vs6/libgstcoreelements.dsp:
587         * win32/vs6/libgstelements.dsp:
588           renamed core elements plugin
589
590 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
591
592         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
593         (get_candidates):
594           do piece-wise major/minor comparison so 0.9 < 0.10
595           also allow .exe extensions for tools
596
597 2005-12-02  Michael Smith  <msmith@fluendo.com>
598
599         * gst/gst.c:
600           Escape a % to make gtkdoc happier; bug 322958.
601
602 === release 0.9.7 ===
603
604 2005-12-01   <thomas (at) apestaart (dot) org>
605
606         * configure.ac:
607           releasing 0.9.7, "My Dog Has No Nose"
608
609 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
610
611         * common/gst-xmlinspect.py:
612         * configure.ac:
613         * docs/libs/tmpl/gstdataprotocol.sgml:
614         * docs/random/release:
615         * po/af.po:
616         * po/az.po:
617         * po/bg.po:
618         * po/ca.po:
619         * po/cs.po:
620         * po/de.po:
621         * po/en_GB.po:
622         * po/fr.po:
623         * po/it.po:
624         * po/nb.po:
625         * po/nl.po:
626         * po/ru.po:
627         * po/sq.po:
628         * po/sr.po:
629         * po/sv.po:
630         * po/tr.po:
631         * po/uk.po:
632         * po/vi.po:
633         * win32/common/config.h:
634         * win32/common/config.h.in:
635         * win32/vs6/gst_inspect.dsp:
636         * win32/vs6/gst_launch.dsp:
637         * win32/vs6/libgstbase.dsp:
638         * win32/vs6/libgstelements.dsp:
639         * win32/vs6/libgstreamer.dsp:
640         * win32/vs7/GStreamer.vcproj:
641         * win32/vs7/gst-inspect.vcproj:
642         * win32/vs7/gst-launch.vcproj:
643         * win32/vs7/libgstbase.vcproj:
644           bump GST_MAJORMINOR to 0.10
645           reset libtool version
646
647 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
648
649         * po/LINGUAS:
650         * po/bg.po:
651           Added Bulgarian translation by (Alexander Shopov)
652
653 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
654
655         * tests/check/gst/gstplugin.c:
656           fix test
657
658 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
659
660         * common/gst-xmlinspect.py:
661         * common/gtk-doc-plugins.mak:
662         * configure.ac:
663         * docs/Makefile.am:
664         * docs/gst/Makefile.am:
665         * docs/gst/gstreamer-docs.sgml:
666         * docs/gst/gstreamer-sections.txt:
667         * docs/gst/gstreamer.types:
668         * docs/gst/gstreamer.types.in:
669         * docs/plugins/Makefile.am:
670         * docs/plugins/gstreamer-plugins-docs.sgml:
671         * docs/plugins/gstreamer-plugins-sections.txt:
672         * docs/plugins/gstreamer-plugins.types:
673         * docs/plugins/inspect.stamp:
674         * docs/plugins/inspect/plugin-coreelements.xml:
675         * docs/plugins/inspect/plugin-coreindexers.xml:
676         * docs/plugins/scanobj-build.stamp:
677         * gstreamer.spec.in:
678         * plugins/elements/Makefile.am:
679         * plugins/elements/gstelements.c:
680         * plugins/elements/gstfakesink.c:
681         * plugins/elements/gstfakesrc.c:
682         * plugins/elements/gstfilesink.c:
683         * plugins/elements/gstfilesrc.c:
684         * plugins/elements/gstqueue.c:
685         * plugins/indexers/Makefile.am:
686         * plugins/indexers/gstindexers.c:
687           document core plugins in a separate document just like all the
688           others
689           rename these plugins to something starting with core
690
691 2005-12-01  Andy Wingo  <wingo@pobox.com>
692
693         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
694         padding here before, but it missed the commit.
695
696 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
697
698         * libs/gst/controller/gstinterpolation.c:
699           whitespace prices have crashed, we should feel free to use some now
700           use gst_guint64_to_gdouble
701
702 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
703
704         * libs/gst/controller/gstcontroller.c:
705         * libs/gst/controller/gsthelper.c:
706         * libs/gst/controller/gstinterpolation.c:
707         * libs/gst/controller/lib.c:
708           wrap config.h include
709
710 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
711
712         * docs/gst/gstreamer-sections.txt:
713           update docs
714
715 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
716
717         * plugins/elements/gstelements.c:
718         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
719         (gst_fd_sink__class_init), (gst_fd_sink__init),
720         (gst_fd_sink__chain), (gst_fd_sink__set_property),
721         (gst_fd_sink__get_property):
722         * plugins/elements/gstfdsink.h:
723         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
724         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
725         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
726         (gst_fd_src_unlock), (gst_fd_src_set_property),
727         (gst_fd_src_get_property), (gst_fd_src_create),
728         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
729         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
730         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
731         (gst_fd_src_uri_handler_init):
732         * plugins/elements/gstfdsrc.h:
733         * plugins/elements/gstqueue.c: (gst_queue_get_type):
734           more anal cleanup
735
736 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
737
738         * docs/gst/Makefile.am:
739         * docs/gst/gstreamer.types.in:
740         * gst/Makefile.am:
741           fix the docs build
742
743 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
744
745         * configure.ac:
746         * gst/Makefile.am:
747         * gst/gst.c:
748         * gst/gstplugin.h:
749         * gst/gstregistry.h:
750         * tests/benchmarks/complexity.c:
751         * tests/benchmarks/mass-elements.c:
752         * tests/check/Makefile.am:
753         * tools/Makefile.am:
754         * tools/gst-inspect.c:
755         * tools/gst-xmlinspect.c:
756           various fixes to make
757           --disable-nls --disable-registry --disable-loadsave
758           --disable-parse --disable-gst-debug
759           work and get the core .so down to 360444 bytes after stripping
760
761 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
762
763         * Makefile.am:
764         * configure.ac:
765           descend into tests
766         * docs/random/thomasvs/TODO:
767         * tests/Makefile.am:
768         * tests/README:
769           add a README
770
771 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
772
773         * win32/GStreamer.vcproj:
774         * win32/MANIFEST:
775         * win32/Makefile:
776         * win32/Makefile.inspect:
777         * win32/Makefile.launch:
778         * win32/Makefile.register:
779         * win32/README.txt:
780         * win32/gst-inspect.vcproj:
781         * win32/gst-launch.vcproj:
782         * win32/gst-register.vcproj:
783         * win32/gstelements.vcproj:
784         * win32/gstgetbits.def:
785         * win32/gstgetbits.vcproj:
786         * win32/gstreamer-dbg.def:
787         * win32/gstreamer.def:
788         * win32/libgstbase.def:
789         * win32/libgstbase.vcproj:
790         * win32/link_oldruntime.c:
791         * win32/mman.c:
792         * win32/mman.h:
793         * win32/mman.inl:
794         * win32/msvc71.sln:
795           move even more stuff, win32/ is nice and clean now
796
797 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
798
799         * libs/gst/control/.cvsignore:
800         * win32/MANIFEST:
801         * win32/config.h:
802         * win32/dirent.c:
803         * win32/dirent.h:
804         * win32/gstbytestream.def:
805         * win32/gstbytestream.vcproj:
806         * win32/gstconfig.h:
807         * win32/gstenumtypes.c:
808         * win32/gstenumtypes.h:
809         * win32/gstoptimalscheduler.vcproj:
810         * win32/gstversion.h:
811         * win32/gtchar.h:
812         * win32/testsuite/bins.vcproj:
813         * win32/testsuite/bytestream.vcproj:
814         * win32/testsuite/caps.vcproj:
815         * win32/testsuite/cleanup.vcproj:
816         * win32/testsuite/clock.vcproj:
817         * win32/testsuite/debug.vcproj:
818         * win32/testsuite/dlopen.vcproj:
819         * win32/testsuite/dynparams.vcproj:
820         * win32/testsuite/elements.vcproj:
821         * win32/testsuite/ghostpads.vcproj:
822         * win32/testsuite/indexers.vcproj:
823         * win32/testsuite/negotiation.vcproj:
824         * win32/testsuite/parse.vcproj:
825         * win32/testsuite/plugin.vcproj:
826         * win32/testsuite/refcounting.vcproj:
827         * win32/testsuite/schedulers.vcproj:
828         * win32/testsuite/states.vcproj:
829         * win32/testsuite/tags.vcproj:
830         * win32/testsuite/threads.vcproj:
831           remove old win32 stuff that isn't maintained and should be
832           reorganized
833
834 2005-11-30  Andy Wingo  <wingo@pobox.com>
835
836         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
837         loading the gst.interfaces python module bork.
838
839         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
840         available since GLib 2.2. Fixes #318031.
841
842 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
843
844         * Makefile.am:
845         * check/.cvsignore:
846         * check/Makefile.am:
847         * check/elements/.cvsignore:
848         * check/elements/fakesrc.c:
849         * check/elements/fdsrc.c:
850         * check/elements/identity.c:
851         * check/generic/.cvsignore:
852         * check/generic/states.c:
853         * check/gst-libs/.cvsignore:
854         * check/gst-libs/controller.c:
855         * check/gst-libs/gdp.c:
856         * check/gst/.cvsignore:
857         * check/gst/capslist.h:
858         * check/gst/gst.c:
859         * check/gst/gstbin.c:
860         * check/gst/gstbuffer.c:
861         * check/gst/gstbus.c:
862         * check/gst/gstcaps.c:
863         * check/gst/gstelement.c:
864         * check/gst/gstevent.c:
865         * check/gst/gstghostpad.c:
866         * check/gst/gstiterator.c:
867         * check/gst/gstmessage.c:
868         * check/gst/gstminiobject.c:
869         * check/gst/gstobject.c:
870         * check/gst/gstpad.c:
871         * check/gst/gstpipeline.c:
872         * check/gst/gstplugin.c:
873         * check/gst/gstsegment.c:
874         * check/gst/gststructure.c:
875         * check/gst/gstsystemclock.c:
876         * check/gst/gsttag.c:
877         * check/gst/gstutils.c:
878         * check/gst/gstvalue.c:
879         * check/net/.cvsignore:
880         * check/net/gstnetclientclock.c:
881         * check/net/gstnettimeprovider.c:
882         * check/pipelines/.cvsignore:
883         * check/pipelines/cleanup.c:
884         * check/pipelines/simple_launch_lines.c:
885         * check/pipelines/stress.c:
886         * check/states/.cvsignore:
887         * check/states/sinks.c:
888         * configure.ac:
889         * examples/Makefile.am:
890         * examples/appreader/.cvsignore:
891         * examples/appreader/Makefile.am:
892         * examples/appreader/appreader.c:
893         * examples/controller/.cvsignore:
894         * examples/controller/Makefile.am:
895         * examples/controller/audio-example.c:
896         * examples/cutter/.cvsignore:
897         * examples/cutter/Makefile.am:
898         * examples/cutter/cutter.c:
899         * examples/cutter/cutter.h:
900         * examples/events/Makefile.am:
901         * examples/events/seek.c:
902         * examples/helloworld/.cvsignore:
903         * examples/helloworld/Makefile.am:
904         * examples/helloworld/helloworld.c:
905         * examples/helloworld2/.cvsignore:
906         * examples/helloworld2/Makefile.am:
907         * examples/helloworld2/helloworld2.c:
908         * examples/launch/.cvsignore:
909         * examples/launch/Makefile.am:
910         * examples/launch/mp3parselaunch.c:
911         * examples/launch/mp3play:
912         * examples/manual/.cvsignore:
913         * examples/manual/Makefile.am:
914         * examples/manual/extract.pl:
915         * examples/metadata/Makefile.am:
916         * examples/metadata/read-metadata.c:
917         * examples/mixer/.cvsignore:
918         * examples/mixer/Makefile.am:
919         * examples/mixer/mixer.c:
920         * examples/mixer/mixer.h:
921         * examples/pingpong/.cvsignore:
922         * examples/pingpong/Makefile.am:
923         * examples/pingpong/pingpong.c:
924         * examples/plugins/.cvsignore:
925         * examples/plugins/Makefile.am:
926         * examples/plugins/example.c:
927         * examples/plugins/example.h:
928         * examples/pwg/.cvsignore:
929         * examples/pwg/Makefile.am:
930         * examples/pwg/extract.pl:
931         * examples/queue/.cvsignore:
932         * examples/queue/Makefile.am:
933         * examples/queue/queue.c:
934         * examples/queue2/.cvsignore:
935         * examples/queue2/Makefile.am:
936         * examples/queue2/queue2.c:
937         * examples/queue3/.cvsignore:
938         * examples/queue3/Makefile.am:
939         * examples/queue3/queue3.c:
940         * examples/queue4/.cvsignore:
941         * examples/queue4/Makefile.am:
942         * examples/queue4/queue4.c:
943         * examples/retag/.cvsignore:
944         * examples/retag/Makefile.am:
945         * examples/retag/retag.c:
946         * examples/retag/transcode.c:
947         * examples/thread/.cvsignore:
948         * examples/thread/Makefile.am:
949         * examples/thread/thread.c:
950         * examples/typefind/.cvsignore:
951         * examples/typefind/Makefile.am:
952         * examples/typefind/typefind.c:
953         * examples/xml/.cvsignore:
954         * examples/xml/Makefile.am:
955         * examples/xml/createxml.c:
956         * examples/xml/runxml.c:
957         * tests/Makefile.am:
958         * tests/check/Makefile.am:
959         * testsuite/.cvsignore:
960         * testsuite/Makefile.am:
961         * testsuite/Rules:
962         * testsuite/caps/.cvsignore:
963         * testsuite/caps/Makefile.am:
964         * testsuite/caps/app_fixate.c:
965         * testsuite/caps/audioscale.c:
966         * testsuite/caps/caps.c:
967         * testsuite/caps/caps.h:
968         * testsuite/caps/caps_strings:
969         * testsuite/caps/compatibility.c:
970         * testsuite/caps/deserialize.c:
971         * testsuite/caps/enumcaps.c:
972         * testsuite/caps/eratosthenes.c:
973         * testsuite/caps/filtercaps.c:
974         * testsuite/caps/fixed.c:
975         * testsuite/caps/fraction-convert.c:
976         * testsuite/caps/fraction-multiply-and-zero.c:
977         * testsuite/caps/intersect2.c:
978         * testsuite/caps/intersection.c:
979         * testsuite/caps/normalisation.c:
980         * testsuite/caps/random.c:
981         * testsuite/caps/renegotiate.c:
982         * testsuite/caps/sets.c:
983         * testsuite/caps/simplify.c:
984         * testsuite/caps/string-conversions.c:
985         * testsuite/caps/structure.c:
986         * testsuite/caps/subtract.c:
987         * testsuite/caps/union.c:
988         * testsuite/debug/.cvsignore:
989         * testsuite/debug/Makefile.am:
990         * testsuite/debug/category.c:
991         * testsuite/debug/commandline.c:
992         * testsuite/debug/global.c:
993         * testsuite/debug/output.c:
994         * testsuite/debug/printf_extension.c:
995         * testsuite/dlopen/.cvsignore:
996         * testsuite/dlopen/Makefile.am:
997         * testsuite/dlopen/dlopen_gst.c:
998         * testsuite/dlopen/loadgst.c:
999         * testsuite/elements/.cvsignore:
1000         * testsuite/elements/Makefile.am:
1001         * testsuite/elements/gst-inspect-check.in:
1002         * testsuite/elements/struct_i386.h:
1003         * testsuite/elements/struct_size.c:
1004         * testsuite/indexers/.cvsignore:
1005         * testsuite/indexers/Makefile.am:
1006         * testsuite/indexers/cache1.c:
1007         * testsuite/indexers/indexdump.c:
1008         * testsuite/parse/.cvsignore:
1009         * testsuite/parse/Makefile.am:
1010         * testsuite/parse/parse1.c:
1011         * testsuite/parse/parse2.c:
1012         * testsuite/plugin/.cvsignore:
1013         * testsuite/plugin/Makefile.am:
1014         * testsuite/plugin/README:
1015         * testsuite/plugin/dynamic.c:
1016         * testsuite/plugin/linked.c:
1017         * testsuite/plugin/loading.c:
1018         * testsuite/plugin/registry.c:
1019         * testsuite/plugin/static.c:
1020         * testsuite/plugin/static2.c:
1021         * testsuite/plugin/testplugin.c:
1022         * testsuite/plugin/testplugin2.c:
1023         * testsuite/plugin/testplugin2_s.c:
1024         * testsuite/plugin/testplugin_s.c:
1025         * testsuite/refcounting/.cvsignore:
1026         * testsuite/refcounting/Makefile.am:
1027         * testsuite/refcounting/bin.c:
1028         * testsuite/refcounting/element.c:
1029         * testsuite/refcounting/element_pad.c:
1030         * testsuite/refcounting/mainloop.c:
1031         * testsuite/refcounting/mem.c:
1032         * testsuite/refcounting/mem.h:
1033         * testsuite/refcounting/object.c:
1034         * testsuite/refcounting/pad.c:
1035         * testsuite/refcounting/sched.c:
1036         * testsuite/refcounting/thread.c:
1037         * testsuite/states/.cvsignore:
1038         * testsuite/states/Makefile.am:
1039         * testsuite/states/bin.c:
1040         * testsuite/states/locked.c:
1041         * testsuite/states/parent.c:
1042         * testsuite/threads/.cvsignore:
1043         * testsuite/threads/159566.c:
1044         * testsuite/threads/159852.c:
1045         * testsuite/threads/Makefile.am:
1046         * testsuite/threads/queue.c:
1047         * testsuite/threads/signals.c:
1048         * testsuite/threads/staticrec.c:
1049         * testsuite/threads/thread.c:
1050         * testsuite/threads/threadb.c:
1051         * testsuite/threads/threadc.c:
1052         * testsuite/threads/threadd.c:
1053         * testsuite/threads/threade.c:
1054         * testsuite/threads/threadf.c:
1055         * testsuite/threads/threadg.c:
1056         * testsuite/threads/threadh.c:
1057         * testsuite/threads/threadi.c:
1058           move all of these under tests
1059
1060 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1061
1062         * configure.ac:
1063         * tests/Makefile.am:
1064           fix distcheck
1065
1066 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1067
1068         * docs/gst/gstreamer-sections.txt:
1069         * tests/sched/.cvsignore:
1070         * tests/sched/Makefile.am:
1071         * tests/sched/cases/(fs-fs).xml:
1072         * tests/sched/cases/(fs-i-fs).xml:
1073         * tests/sched/cases/(fs-i-i-fs).xml:
1074         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1075         * tests/sched/dynamic-pipeline.c:
1076         * tests/sched/interrupt1.c:
1077         * tests/sched/interrupt2.c:
1078         * tests/sched/interrupt3.c:
1079         * tests/sched/runtestcases:
1080         * tests/sched/runxml.c:
1081         * tests/sched/sched-stress.c:
1082         * tests/sched/sort.c:
1083         * tests/sched/testcases:
1084         * tests/sched/testcases1.tc:
1085         * tests/seeking/.cvsignore:
1086         * tests/seeking/Makefile.am:
1087         * tests/seeking/seeking1.c:
1088         * tests/threadstate/.cvsignore:
1089         * tests/threadstate/Makefile.am:
1090         * tests/threadstate/test1.c:
1091         * tests/threadstate/test2.c:
1092         * tests/threadstate/threadstate1.c:
1093         * tests/threadstate/threadstate2.c:
1094         * tests/threadstate/threadstate3.c:
1095         * tests/threadstate/threadstate4.c:
1096         * tests/threadstate/threadstate5.c:
1097           remove obsolete tests
1098         * configure.ac:
1099         * tests/bench-complexity.scm:
1100         * tests/bench-mass_elements.scm:
1101         * tests/complexity.c:
1102         * tests/complexity.gnuplot:
1103         * tests/instantiate/.cvsignore:
1104         * tests/instantiate/Makefile.am:
1105         * tests/instantiate/caps.c:
1106         * tests/mass_elements.c:
1107         * tests/network-clock-utils.scm:
1108         * tests/network-clock.scm:
1109         * tests/plot-data:
1110         First pass at cleaning up tests/ dir before moving the rest
1111         Combined with CVS surgery
1112
1113 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1114
1115         * po/POTFILES.in:
1116           queue has moved, update
1117
1118 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1119
1120         * docs/gst/gstreamer-sections.txt:
1121           remove double entries from the docs
1122         * gst/gst_private.h:
1123         * gst/gstinfo.c: (_gst_debug_init):
1124           remove the THREAD debug category
1125         * gst/Makefile.am:
1126         * gst/gstqueue.c:
1127         * gst/gstqueue.h:
1128         * docs/gst/gstreamer.types:
1129         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1130         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1131           completely move queue and fix up debugging categories
1132
1133 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1134
1135         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1136           make initialization portable, using LL is not
1137
1138 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1139
1140         * win32/common/gstconfig.h:
1141           add large padding
1142
1143 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1144
1145         * win32/common/libgstreamer.def:
1146           rename symbols; sort base section
1147
1148 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1149
1150         * gst/gstclock.c: (do_linear_regression):
1151           remove crack non-portable handrolled DEBUG macro
1152
1153 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1154
1155         * docs/random/release:
1156           update notes
1157         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1158         (gst_object_flags_get_type), (register_gst_bin_flags),
1159         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1160         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1161         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1162         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1163         (gst_caps_flags_get_type), (register_gst_clock_return),
1164         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1165         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1166         (gst_clock_flags_get_type), (register_gst_state),
1167         (gst_state_get_type), (register_gst_state_change_return),
1168         (gst_state_change_return_get_type), (register_gst_state_change),
1169         (gst_state_change_get_type), (register_gst_element_flags),
1170         (gst_element_flags_get_type), (register_gst_core_error),
1171         (gst_core_error_get_type), (register_gst_library_error),
1172         (gst_library_error_get_type), (register_gst_resource_error),
1173         (gst_resource_error_get_type), (register_gst_stream_error),
1174         (gst_stream_error_get_type), (register_gst_event_type_flags),
1175         (gst_event_type_flags_get_type), (register_gst_event_type),
1176         (gst_event_type_get_type), (register_gst_seek_type),
1177         (gst_seek_type_get_type), (register_gst_seek_flags),
1178         (gst_seek_flags_get_type), (register_gst_format),
1179         (gst_format_get_type), (register_gst_index_certainty),
1180         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1181         (gst_index_entry_type_get_type),
1182         (register_gst_index_lookup_method),
1183         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1184         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1185         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1186         (gst_index_flags_get_type), (register_gst_debug_level),
1187         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1188         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1189         (gst_iterator_result_get_type), (register_gst_iterator_item),
1190         (gst_iterator_item_get_type), (register_gst_message_type),
1191         (gst_message_type_get_type), (register_gst_mini_object_flags),
1192         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1193         (gst_pad_link_return_get_type), (register_gst_flow_return),
1194         (gst_flow_return_get_type), (register_gst_activate_mode),
1195         (gst_activate_mode_get_type), (register_gst_pad_direction),
1196         (gst_pad_direction_get_type), (register_gst_pad_flags),
1197         (gst_pad_flags_get_type), (register_gst_pad_presence),
1198         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1199         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1200         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1201         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1202         (gst_plugin_flags_get_type), (register_gst_rank),
1203         (gst_rank_get_type), (register_gst_query_type),
1204         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1205         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1206         (gst_tag_flag_get_type), (register_gst_task_state),
1207         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1208         (gst_alloc_trace_flags_get_type),
1209         (register_gst_type_find_probability),
1210         (gst_type_find_probability_get_type), (register_gst_uri_type),
1211         (gst_uri_type_get_type), (register_gst_parse_error),
1212         (gst_parse_error_get_type):
1213         * win32/common/gstenumtypes.h:
1214         * win32/common/gstversion.h:
1215           update visual studio generated files
1216
1217 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1218
1219         * win32/vs6/libgstbase.dsp:
1220         * win32/vs6/libgstelements.dsp:
1221           update project files for new locations
1222
1223 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1224
1225         * Makefile.am:
1226           remove some files
1227         * README:
1228           reinstate and update
1229         * DEVEL:
1230         * REQUIREMENTS:
1231           removed
1232         * LICENSE:
1233         * docs/random/LICENSE:
1234           moved to random
1235
1236 2005-11-30  Edward Hervey  <edward@fluendo.com>
1237
1238         * gst/gsttypefind.c: (gst_type_find_register):
1239         * gst/gsttypefind.h:
1240         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1241         (gst_type_find_factory_dispose):
1242         * gst/gsttypefindfactory.h:
1243         Fix memory leak in GstTypeFindFactory.
1244
1245 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1246
1247         * gst/gst.c:
1248         * plugins/elements/Makefile.am:
1249         * plugins/elements/gstelements.c:
1250         * plugins/elements/gstqueue.c:
1251           move queue from core to the elements plugin
1252
1253 2005-11-29  Andy Wingo  <wingo@pobox.com>
1254
1255         * libs/gst/base/gstbasetransform.h: 
1256         * libs/gst/base/gstbasesrc.h: 
1257         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1258
1259         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1260         of pointers by which to pad very extensible base classes (like the
1261         ones in libs/gst/base).
1262
1263 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1264
1265         * docs/gst/gstreamer-docs.sgml:
1266         * docs/gst/gstreamer-sections.txt:
1267         * docs/libs/gstreamer-libs-docs.sgml:
1268         * docs/libs/gstreamer-libs-sections.txt:
1269           moving documentation from core to lib
1270
1271 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1272
1273         * check/Makefile.am:
1274         * configure.ac:
1275         * docs/gst/Makefile.am:
1276         * gst/Makefile.am:
1277         * gst/base/.cvsignore:
1278         * gst/base/Makefile.am:
1279         * gst/base/README:
1280         * gst/base/gstadapter.c:
1281         * gst/base/gstadapter.h:
1282         * gst/base/gstbasesink.c:
1283         * gst/base/gstbasesink.h:
1284         * gst/base/gstbasesrc.c:
1285         * gst/base/gstbasesrc.h:
1286         * gst/base/gstbasetransform.c:
1287         * gst/base/gstbasetransform.h:
1288         * gst/base/gstcollectpads.c:
1289         * gst/base/gstcollectpads.h:
1290         * gst/base/gstpushsrc.c:
1291         * gst/base/gstpushsrc.h:
1292         * gst/base/gsttypefindhelper.c:
1293         * gst/base/gsttypefindhelper.h:
1294         * gst/check/Makefile.am:
1295         * gst/check/gstcheck.c:
1296         * gst/check/gstcheck.h:
1297         * gst/net/Makefile.am:
1298         * gst/net/gstnet.h:
1299         * gst/net/gstnetclientclock.c:
1300         * gst/net/gstnetclientclock.h:
1301         * gst/net/gstnettimepacket.c:
1302         * gst/net/gstnettimepacket.h:
1303         * gst/net/gstnettimeprovider.c:
1304         * gst/net/gstnettimeprovider.h:
1305         * libs/gst/Makefile.am:
1306         * libs/gst/base/Makefile.am:
1307         * libs/gst/base/gstbasetransform.c:
1308         * libs/gst/check/Makefile.am:
1309         * plugins/elements/Makefile.am:
1310         * po/POTFILES.in:
1311           CVS surgery + support to move base, check, and net out of gst
1312           and into libs/gst
1313
1314 2005-11-29  Andy Wingo  <wingo@pobox.com>
1315
1316         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1317
1318         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1319         padding.
1320
1321         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1322
1323         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1324
1325         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1326
1327         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1328         padding; reduces object size by about 30%. We don't expect
1329         anything else to go into gstobject.
1330
1331         * gst/gstminiobject.h (struct _GstMiniObject)
1332         (struct _GstMiniObjectClass): Only one pointer of padding; the
1333         payload is only a pointer and two ints anyway. For the class there
1334         are only two methods as well.
1335         
1336         * gst/gstelement.h (struct _GstElementClass): Removed
1337         the state_changed signal callback, it is not used.
1338
1339 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1340
1341         * docs/gst/gstreamer.types:
1342           fix includes, though they are a little dinky
1343
1344 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1345
1346         * check/Makefile.am:
1347           look in the right place for elements, a lot more chance of
1348           success
1349         * gst/Makefile.am:
1350           remove indexers and elements subdirs
1351         * plugins/Makefile.am:
1352           make indexers conditional
1353
1354 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1355
1356         * Makefile.am:
1357         * configure.ac:
1358         * plugins/elements/Makefile.am:
1359         * plugins/elements/gstcapsfilter.c:
1360         * plugins/elements/gstfilesink.c:
1361         * plugins/elements/gstfilesrc.c:
1362         * plugins/elements/gstidentity.c:
1363         * plugins/indexers/Makefile.am:
1364           do CVS surgery and related build fixery to move elements
1365           and indexers in a new gstreamer/plugins directory, out of the
1366           gst/ directory
1367
1368 2005-11-29  Andy Wingo  <wingo@pobox.com>
1369
1370         * check/Makefile.am:
1371         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1372         * pkgconfig/gstreamer-net.pc.in:
1373         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1374         #322257.
1375
1376 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1377
1378         * tools/Makefile.am:
1379         * tools/gst-complete.1.in:
1380         * tools/gst-complete.c:
1381         * tools/gst-compprep.1.in:
1382         * tools/gst-compprep.c:
1383           removing -compprep and -complete
1384
1385 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1386
1387         * gst/gstevent.c: (gst_event_new_new_segment),
1388         (gst_event_parse_new_segment):
1389         * gst/gstevent.h:
1390           fix #320529 - clean up new_segment API and structure.
1391           Let's hope everyone was using the methods, and not the structure.
1392
1393 2005-11-29  Edward Hervey  <edward@fluendo.com>
1394
1395         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1396         (gst_base_sink_event), (gst_base_sink_do_sync),
1397         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1398         Properly handle non GST_FORMAT_TIME segment
1399         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1400         Properly handle non GST_FORMAT_TIME segment
1401         * gst/gstsegment.c:
1402         This function is valid if the accumulator is 0 and the format
1403         is different from the requested format.
1404         
1405 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1406
1407         * docs/gst/gstreamer-sections.txt:
1408         Add gst_query_new_seeking and gst_query_parse_seeking to the
1409         docs.
1410
1411 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1412
1413         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1414           Treat a pad alloc with new caps the same as if we were not
1415           negotiated, in order to allow a changing upstream output
1416           to produce a new format of data.
1417
1418 2005-11-29  Edward Hervey  <edward@fluendo.com>
1419
1420         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1421         (gst_base_transform_event), (gst_base_transform_eventfunc):
1422         The event virtual method is now properly implemented, with a default
1423         handler
1424         Sub classes should call the parent_class event method. They should
1425         return FALSE if they had a problem handling the given event, or don't
1426         want GstBaseTransform to send that even downstream
1427         * gst/elements/gstidentity.c: (gst_identity_class_init),
1428         (gst_identity_init), (gst_identity_event),
1429         (gst_identity_transform_ip), (gst_identity_set_property),
1430         (gst_identity_get_property):
1431         * gst/elements/gstidentity.h:
1432         Added the single-segment boolean property.
1433         If set to TRUE, it will output a single segment of data, starting from
1434         0, will eat up all incoming newsegment, and modify the timestamp of the
1435         buffers accordingly
1436
1437 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1438
1439         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1440           Don't ref NULL target pad (#322751). Improve docs.
1441
1442 2005-11-29  Michael Smith  <msmith@fluendo.com>
1443
1444         * gst/gstregistryxml.c: (load_plugin):
1445           Don't crash if we failed to load a feature from a plugin. 
1446
1447 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1448
1449         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1450         (GST_START_TEST):
1451           use more check API and less GLib API
1452
1453 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1454
1455         * Makefile.am:
1456           don't run checks if we don't have check
1457         * common/check.mak:
1458           remove the registry when running make torture
1459         * docs/gst/gstreamer-sections.txt:
1460           remove second multiply
1461         * gst/gstqueue.c: (gst_queue_loop):
1462           fix a compile warning when disabling debug
1463
1464 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1465
1466         * gst/gstinfo.h:
1467         Hey! Let's print the pad name if the pointer != NULL instead
1468         of when it == NULL :-)
1469
1470 2005-11-28  Wim Taymans  <wim@fluendo.com>
1471
1472         * check/gst/gstutils.c: (GST_START_TEST):
1473         Updated check, add some scaling accuracy checking code.
1474
1475         * gst/gstutils.c: (gst_util_div128_64),
1476         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1477         (gst_util_uint64_scale_int):
1478         Fix 6 times faster division code. Optimize for common 
1479         1/1 and less common X/1 cases.
1480
1481 2005-11-28  Wim Taymans  <wim@fluendo.com>
1482
1483         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1484         More checks.
1485
1486         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1487         (do_linear_regression), (gst_clock_add_observation):
1488         Cleanups.
1489         Release lock when the clock cannot be slaved.
1490         Catch the case where the regression returned an invalid denominator.
1491
1492         * gst/gstutils.c: (gst_util_div128_64_iterate),
1493         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1494         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1495         Add protentially more performant non-iterative 128/64 divide function
1496         that unfortunatly does not work yet.
1497         Shortcut the trivial 0/X = 0 case.
1498         Remove the warnings on overflow.
1499
1500 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1501
1502         * gst/gstplugin.c: (gst_plugin_register_func):
1503           everything causing a plugin not to load should be at least a WARNING
1504
1505 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1506
1507         * docs/random/ensonic/dparams.txt:
1508           some TODOs for the next dev cycle
1509         * libs/gst/controller/gstcontroller.c:
1510         (gst_controlled_property_set_interpolation_mode),
1511         (gst_controlled_property_new):
1512         * libs/gst/controller/gstcontroller.h:
1513           use base type to assign acccessor functions
1514
1515 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1516
1517         * check/Makefile.am:
1518         Oops, that should have been top_srcdir
1519
1520 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1521
1522         * check/Makefile.am:
1523         * check/elements/fdsrc.c: (GST_START_TEST):
1524         Use a cmdline define to specify the location of a file to use for
1525         testing, to avoid breaking distcheck.
1526
1527 2005-11-28  Andy Wingo  <wingo@pobox.com>
1528
1529         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1530
1531 2005-11-28  Edward Hervey  <edward@fluendo.com>
1532
1533         * tools/gst-launch.c: (main):
1534         Clarify the output strings, makes it easier to translate.
1535         Fixes #322626
1536
1537 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1538
1539         * gst/Makefile.am:
1540           don't try and build net if we don't even have <sys/socket.h>
1541
1542 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1543
1544         * check/Makefile.am:
1545         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1546         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1547           Add tests for fdsrc seekability
1548
1549         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1550         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1551         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1552         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1553         * gst/elements/gstfdsrc.h:
1554           fdsrc should not be a 'live' source.
1555           Implement seeking on seekable fd's.
1556
1557         * gst/gstquery.c: (gst_query_new_seeking),
1558         (gst_query_parse_seeking):
1559         * gst/gstquery.h:
1560           Implement SEEKING query functions: 
1561             *_new_seeking and *_parse_seeking
1562
1563 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1564
1565         * gst/gstelement.c: (gst_element_dispose):
1566           don't loop forever
1567
1568         * gst/gstiterator.c:
1569         * gst/gststructure.c:
1570           doc fixes
1571
1572         * libs/gst/controller/gstcontroller.c:
1573         (gst_controlled_property_set_interpolation_mode):
1574         * libs/gst/controller/gstcontroller.h:
1575         * libs/gst/controller/gstinterpolation.c:
1576         (interpolate_none_get_enum_value_array):
1577           support controlling enums
1578
1579 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1580
1581         * gst/gstvalue.c:
1582           Improve documentation for gst_value_union().
1583
1584         * gst/gstvalue.h:
1585           Change return value for union, intersect and subtract functions
1586           from gint to gboolean.
1587
1588 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1589
1590         * gst/gstvalue.c: (gst_value_serialize_any_list),
1591         (gst_value_transform_any_list_string),
1592         (gst_value_deserialize_list), (gst_value_deserialize_array),
1593         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1594         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1595         (gst_value_set_fraction_range_full),
1596         (gst_value_deserialize_fraction_range),
1597         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1598         (gst_value_deserialize_boolean),
1599         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1600         (gst_value_serialize_float), (gst_value_deserialize_float),
1601         (gst_string_wrap), (gst_value_deserialize_string),
1602         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1603         (gst_value_union_int_range_int_range),
1604         (gst_value_intersect_int_range_int_range),
1605         (gst_value_intersect_double_range_double_range),
1606         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1607         (gst_value_subtract_int_range_int_range),
1608         (gst_value_subtract_double_double_range),
1609         (gst_value_subtract_double_range_double_range),
1610         (gst_value_deserialize_fraction):
1611         * gst/gstvalue.h:
1612           Use gint, gdouble and gchar in our API instead of int, double and
1613           char (and make usage in gstvalue.c more consistent).
1614
1615 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1616
1617         * check/Makefile.am:
1618         * libs/gst/controller/Makefile.am:
1619         * libs/gst/dataprotocol/Makefile.am:
1620           fix up Makefile.am and remove GST_ENABLE_NEW
1621
1622 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1623
1624         * configure.ac:
1625         * gst/Makefile.am:
1626         * gst/base/Makefile.am:
1627         * gst/check/Makefile.am:
1628         * gst/elements/Makefile.am:
1629         * gst/net/Makefile.am:
1630           update LDFLAGS use some more
1631
1632 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1633
1634         * common/m4/gst-doc.m4:
1635           Fixes #312589
1636
1637 2005-11-26  Edward Hervey  <edward@fluendo.com>
1638
1639         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1640         This shouldn't issue a g_warning since it returns NULL if it
1641         couldn't find the plugin, and all functions using this behave
1642         properly on a NULL return. Switching to a GST_WARNING.
1643
1644 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1645
1646         * gst/gstbin.c: (gst_bin_handle_message_func):
1647         Don't leak clock messages.
1648
1649 2005-11-25  Wim Taymans  <wim@fluendo.com>
1650
1651         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1652         (gst_util_uint64_scale_int):
1653         Optimisations, remove unneeded vars.
1654
1655 2005-11-25  Wim Taymans  <wim@fluendo.com>
1656
1657         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1658         Added more checks for the high precision uint64 cases.
1659
1660         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1661         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1662         Implement high precision (guint64 * guint64) / guint64.
1663
1664 2005-11-24  Wim Taymans  <wim@fluendo.com>
1665
1666         * gst/base/gstbasesrc.c: (gst_base_src_query):
1667         Fix wrong percentage query.
1668
1669         * gst/gstutils.c: (gst_util_uint64_scale),
1670         (gst_util_uint64_scale_int):
1671         Add some more common cases that can be handled 
1672         efficiently to _scale.
1673
1674 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1675
1676         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1677         (gst_mini_object_suite):
1678           don't use check calls from threads; check probably isn't
1679           threadsafe and using a lock to make it threadsafe would
1680           defeat the purpose of this check
1681         * gst/check/gstcheck.c:
1682         * gst/check/gstcheck.h:
1683           use GST_DEBUG some more
1684
1685 2005-11-24  Wim Taymans  <wim@fluendo.com>
1686
1687         * gst/gstutils.c: (gst_util_uint64_scale),
1688         (gst_util_uint64_scale_int):
1689         Chain trivial case to _scale_int.
1690
1691 2005-11-24  Wim Taymans  <wim@fluendo.com>
1692
1693         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1694         Added test for scaling.
1695
1696         * gst/gstclock.h:
1697         Small doc fix.
1698
1699         * gst/gstutils.c: (gst_util_uint64_scale_int):
1700         Implemented high precision scaling code.
1701
1702 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1703
1704         * gst/gstinfo.h:
1705           do not crash on pad==NULL
1706
1707 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1708
1709         Patch by: Stefan Kost
1710
1711         * common/gtk-doc.mak:
1712         * docs/gst/Makefile.am:
1713         * docs/libs/Makefile.am:
1714           Fix distcheck issues for the libraries docs build
1715           Closes #319599.
1716
1717 2005-11-24  Michael Smith <msmith@fluendo.com>
1718
1719         * docs/manual/basics-helloworld.xml:
1720           Fix bug #315027: memory leak in example code in docs.
1721
1722 2005-11-24  Michael Smith <msmith@fluendo.com>
1723
1724         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1725           Unlock the PREROLL_LOCK in a failure case.
1726
1727 2005-11-24  Wim Taymans  <wim@fluendo.com>
1728
1729         * docs/gst/gstreamer-sections.txt:
1730         * gst/base/gstadapter.h:
1731         * gst/base/gstbasesink.h:
1732         * gst/base/gstbasesrc.h:
1733         * gst/base/gstbasetransform.h:
1734         * gst/base/gstpushsrc.h:
1735         * gst/elements/gstfakesink.h:
1736         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1737         * gst/elements/gstfakesrc.h:
1738         * gst/elements/gstfilesink.h:
1739         * gst/elements/gstfilesrc.h:
1740         * gst/gst.c:
1741         * gst/gstbin.c:
1742         * gst/gstbuffer.c: (_gst_buffer_copy):
1743         * gst/gstbus.h:
1744         * gst/gstcaps.c:
1745         * gst/gstchildproxy.c:
1746         * gst/gstclock.c:
1747         * gst/gstelement.c:
1748         * gst/gstelementfactory.c:
1749         * gst/gstelementfactory.h:
1750         * gst/gstevent.c:
1751         * gst/gstghostpad.h:
1752         * gst/gstindex.h:
1753         * gst/gstinterface.h:
1754         * gst/gstminiobject.c:
1755         * gst/gstminiobject.h:
1756         * gst/gstpad.c:
1757         * gst/gstpad.h:
1758         * gst/gstpadtemplate.h:
1759         * gst/gstpipeline.h:
1760         * gst/gstpluginfeature.h:
1761         * gst/gstquery.h:
1762         * gst/gstqueue.h:
1763         * gst/gsttaglist.c:
1764         * gst/gsttaglist.h:
1765         * gst/gsttagsetter.c:
1766         * gst/gsttagsetter.h:
1767         * gst/gsttrace.c:
1768         * gst/gsttrace.h:
1769         * gst/gsttypefind.h:
1770         * gst/gsturi.h:
1771         * gst/gstvalue.c:
1772         * gst/net/gstnetclientclock.c:
1773         * gst/net/gstnetclientclock.h:
1774         * gst/net/gstnettimepacket.c:
1775         * gst/net/gstnettimeprovider.c:
1776         * gst/net/gstnettimeprovider.h:
1777         Doc fixes.
1778
1779 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1780
1781         * configure.ac: back to HEAD
1782
1783 === release 0.9.6 ===
1784
1785 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1786
1787         * configure.ac:
1788           releasing 0.9.6, "Always On Time"
1789
1790 2005-11-23  Wim Taymans  <wim@fluendo.com>
1791
1792         * docs/gst/gstreamer-sections.txt:
1793         * gst/glib-compat.c:
1794         * gst/gsttagsetter.c:
1795         * gst/gstvalue.c:
1796         * gst/net/gstnetclientclock.c:
1797         * gst/net/gstnettimepacket.h:
1798         Doc updates.
1799
1800 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1801
1802         * docs/faq/using.xml:
1803         * docs/libs/tmpl/gstcontrol.sgml:
1804         * docs/manual/advanced-dparams.xml:
1805         * docs/manual/appendix-checklist.xml:
1806         * docs/manual/basics-elements.xml:
1807         * docs/pwg/other-source.xml:
1808         * docs/random/moving-plugins:
1809         * gst/gstpad.c:
1810         * tools/gst-launch.1.in:
1811           remove mentions of sinesrc
1812
1813 2005-11-23  Michael Smith <msmith@fluendo.com>
1814
1815         * docs/gst/gstreamer-sections.txt:
1816           Update for new API and API changes.
1817         * gst/gstobject.h:
1818           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1819         * gst/gstvalue.c:
1820           Documentation typo fix.
1821         * gst/net/gstnettimepacket.c:
1822           Documentation fixes for arguments.
1823
1824 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1825
1826         * gst/gststructure.c: (gst_structure_get_fraction),
1827         (gst_structure_parse_value),
1828         (gst_structure_fixate_field_nearest_fraction):
1829         * gst/gststructure.h:
1830         * gst/gstutils.c: (gst_util_uint64_scale_int):
1831         * gst/gstutils.h:
1832         * scripts/update-funcnames:
1833         API Changes. 
1834         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1835         Make gst_structure_fixate_field_nearest_fraction take a numerator
1836         and denominator argument instead of a GValue
1837         add gst_structure_get_fraction helper function.
1838
1839 2005-11-23  Wim Taymans  <wim@fluendo.com>
1840
1841         * docs/design/part-TODO.txt:
1842         Update TODO.
1843
1844         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1845         * gst/net/gstnetclientclock.h:
1846         Use parent fields for timeout and window_size.
1847
1848 2005-11-23  Andy Wingo  <wingo@pobox.com>
1849
1850         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1851         rate_num/rate_denom change.
1852
1853         * gst/net/gstnetclientclock.c
1854         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1855         OBJECT_LOCK. Don't call add_observation with the lock.
1856
1857         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1858         fraction.
1859         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1860         rate fraction.
1861         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1862         deal with rate as a fraction whose numerator and denominator are
1863         GstClockTime values.
1864         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1865         master; the other fields are protected by the SLAVE_LOCK.
1866         (do_linear_regression): Note that this must be called with the
1867         SLAVE_LOCK.
1868         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1869         OBJECT_LOCK. Call set_calibration instead of touching the
1870         variables directly.
1871         (gst_clock_set_property, gst_clock_get_property): Protect
1872         master/slave parameters with the SLAVE_LOCK.
1873
1874         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1875         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1876         note that all of the instance variables that add_observation and
1877         the set_master functions use are protected by that lock and not
1878         the OBJECT_LOCK.
1879         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1880
1881         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1882         the caller to take the object lock.
1883
1884 2005-11-23  Wim Taymans  <wim@fluendo.com>
1885
1886         * gst/gsterror.c: (_gst_core_errors_init):
1887         * gst/gsterror.h:
1888         Add error for clock stuff.
1889
1890         * gst/gstpipeline.c: (gst_pipeline_change_state),
1891         (gst_pipeline_set_clock):
1892         Post clock error when clock cannot be used in a pipeline.
1893
1894 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1895
1896         * docs/gst/gstreamer-sections.txt:
1897           make two symbols from gstinfo private for the docs
1898         * gst/base/gstcollectpads.h:
1899         * gst/gstutils.c:
1900           fix doc typos, update docs
1901
1902 2005-11-22  Wim Taymans  <wim@fluendo.com>
1903
1904         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1905         (gst_base_sink_wait), (gst_base_sink_do_sync),
1906         (gst_base_sink_handle_event):
1907         * gst/base/gstbasesink.h:
1908         No need to store the clock, the parent element class already
1909         has it.
1910
1911         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1912         Updates for clock_set returning a gboolean
1913
1914         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1915         (gst_clock_id_wait_async), (gst_clock_class_init),
1916         (gst_clock_init), (gst_clock_finalize),
1917         (gst_clock_get_internal_time), (gst_clock_get_time),
1918         (gst_clock_slave_callback), (gst_clock_set_master),
1919         (gst_clock_get_master), (do_linear_regression),
1920         (gst_clock_add_observation), (gst_clock_set_property),
1921         (gst_clock_get_property):
1922         * gst/gstclock.h:
1923         Implement master/slave. When setting a clock as a slave, a
1924         periodic timeout is scheduled to sample master and slave times.
1925         Then the slave clock is recalibrated to match offset and rate
1926         of the master clock.
1927         Update logging a bit.
1928         Add flag so that a clock can state that is cannot be slaved to
1929         another clock.
1930
1931         * gst/gstelement.c: (gst_element_set_clock):
1932         * gst/gstelement.h:
1933         The set clock returns a gboolean for when an element cannot
1934         deal with the selected clock in the pipeline. 
1935
1936         * gst/gstpipeline.c: (gst_pipeline_change_state),
1937         (gst_pipeline_set_clock):
1938         * gst/gstpipeline.h:
1939         Handle the case where the selected clock cannot be set on
1940         the pipeline.
1941
1942         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1943         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1944         (gst_net_client_clock_set_property),
1945         (gst_net_client_clock_get_property),
1946         (gst_net_client_clock_observe_times):
1947         * gst/net/gstnetclientclock.h:
1948         Use regression code in GstClock parent, remove duplicated
1949         functionality.
1950
1951 2005-11-22  Michael Smith <msmith@fluendo.com>
1952
1953         * gst/gstutils.c: (gst_util_clock_time_scale):
1954         * gst/gstutils.h:
1955         * docs/gst/gstreamer-sections.txt:
1956           Rename method to have extra underscore.
1957
1958 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1959
1960         * gst/elements/Makefile.am:
1961         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1962         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1963         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1964         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1965         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1966         * gst/elements/gstfakesrc.h:
1967         * gst/gstqueue.c: (queue_leaky_get_type):
1968           correctly fix GEnumValues so that nick is the short lowercase
1969           dashed tag
1970         * tools/gst-inspect.c: (print_element_properties_info):
1971           also show the nick, since it's useful to use from parse_launch
1972           syntax
1973           Fixes #322139
1974
1975 2005-11-22  Michael Smith <msmith@fluendo.com>
1976
1977         * gst/gstutils.c: (gst_util_clocktime_scale):
1978         * gst/gstutils.h:
1979         * docs/gst/gstreamer-sections.txt:
1980           Add util method for scaling a clocktime by a fraction. Useful 
1981           implementation is left as an exercise for the reader.
1982
1983 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1984
1985         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1986         If needed, allocate storage in the destination value during
1987         collection.
1988
1989 2005-11-22  Edward Hervey  <edward@fluendo.com>
1990
1991         * docs/gst/gstreamer-sections.txt:
1992         * gst/Makefile.am:
1993         * gst/gst.h:
1994         * gst/gsturitype.c:
1995         * gst/gsturitype.h:
1996         * gst/gstutils.c: (gst_util_set_object_arg):
1997         * tools/gst-compprep.c: (main):
1998         * tools/gst-inspect.c: (print_element_properties_info):
1999         Removed GstURI, closes bug #321061
2000
2001 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2002
2003         * check/gst/gststructure.c: (GST_START_TEST):
2004         * gst/gststructure.c: (gst_structure_parse_value):
2005           Oops, broke automatic string type parsing.
2006           Add a test to catch it in future.
2007
2008 2005-11-22  Andy Wingo  <wingo@pobox.com>
2009
2010         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
2011         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
2012         Actually rename the function implementations. Grr.
2013
2014 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2015
2016         * check/gst/capslist.h:
2017           Comment test cases
2018         * check/gst/gststructure.c: (GST_START_TEST),
2019         (gst_structure_suite):
2020           Test automatic value type detection in gst_structure_from_string.
2021         * gst/gststructure.c: (gst_structure_parse_value):
2022           Add fraction as a type we try and guess automatically in
2023           caps/structure strings.
2024
2025 2005-11-22  Andy Wingo  <wingo@pobox.com>
2026
2027         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2028
2029         * gst/gsttagsetter.h:
2030         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2031         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2032         (gst_tag_setter_add_tag_valist)
2033         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2034         _add_values, _add_valist, and _add_valist_values. Since this is an
2035         interface the function suffixes should be more explicit so
2036         language binding don't end up with element.add_valist ->
2037         gst_tag_setter_add_valist, for example. Fixes #322069.
2038
2039 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2040
2041         * check/gst/gstcaps.c: (GST_START_TEST):
2042           Extend caps string tests to check that a caps to string
2043           conversion is reversible and produces the same caps.
2044
2045         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2046           Output "fraction" as the generic type fraction range, so caps
2047           serialisation and deserialisation works.
2048         * check/gst/capslist.h:
2049         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2050           Support 'MIN' and 'MAX' for deserialising fractions.
2051
2052 2005-11-22  Andy Wingo  <wingo@pobox.com>
2053
2054         * gst/gstevent.h (gst_event_new_new_segment)
2055         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2056         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2057         Renamed from *_newsegment, *_buffersize, *_notarget.
2058
2059         * scripts/update-funcnames: New script, performs the changes
2060         listed above.
2061
2062 2005-11-22  Wim Taymans  <wim@fluendo.com>
2063
2064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2065         Make sure the GstFlowReturn is returned.
2066
2067         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2068         (gst_bus_add_signal_watch):
2069         * gst/gstbus.h:
2070         add gst_bus_add_signal_watch_full.
2071
2072         * gst/gstplugin.c: (gst_plugin_load_file):
2073         Small style cleanup.
2074
2075 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2076
2077         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2078           Block the fakesrc srcpad when we send an event, to avoid
2079           contention on the stream_lock causing random test failures.
2080
2081 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2082
2083         * check/gst/gstvalue.c: (GST_START_TEST):
2084         * gst/gstvalue.c: (gst_value_fraction_subtract):
2085           Fix subtraction.
2086
2087 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2088
2089         * gst/gst.h:
2090           include "gstchildproxy.h"
2091         * gst/gstchildproxy.h:
2092         * libs/gst/controller/gstcontroller.h:
2093           use G_GNUC_NULL_TERMINATED
2094
2095 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2096
2097         * check/gst/capslist.h:
2098         * check/gst/gstcaps.c: (GST_START_TEST):
2099         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2100         * gst/gststructure.c: (gst_structure_parse_range),
2101         (gst_structure_fixate_field_nearest_fraction):
2102         * gst/gststructure.h:
2103         * gst/gstvalue.c: (gst_value_init_fraction_range),
2104         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2105         (gst_value_collect_fraction_range),
2106         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2107         (gst_value_set_fraction_range_full),
2108         (gst_value_get_fraction_range_min),
2109         (gst_value_get_fraction_range_max),
2110         (gst_value_serialize_fraction_range),
2111         (gst_value_transform_fraction_range_string),
2112         (gst_value_compare_fraction_range),
2113         (gst_value_deserialize_fraction_range),
2114         (gst_value_intersect_fraction_fraction_range),
2115         (gst_value_intersect_fraction_range_fraction_range),
2116         (gst_value_subtract_fraction_fraction_range),
2117         (gst_value_subtract_fraction_range_fraction),
2118         (gst_value_subtract_fraction_range_fraction_range),
2119         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2120         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2121         (gst_value_transform_string_fraction), (_gst_value_initialize):
2122         * gst/gstvalue.h:
2123           Implement fraction ranges and extend GstFraction to support
2124           arithmetic subtraction, as well as deserialization from integer
2125           strings such as "100"
2126           Add a testsuite as for int and double range set operations
2127
2128 2005-11-21  Andy Wingo  <wingo@pobox.com>
2129
2130         * gst/gsttaglist.h: 
2131         * gst/gstcaps.h: 
2132         * gst/gststructure.h: Add glib-compat.h.
2133
2134 2005-11-21  Wim Taymans  <wim@fluendo.com>
2135
2136         * gst/gstbin.c: (gst_bin_change_state_func):
2137         Fix for #321595
2138
2139 2005-11-21  Wim Taymans  <wim@fluendo.com>
2140
2141         * gst/gstsegment.h:
2142         And add a nice define too.
2143
2144 2005-11-21  Wim Taymans  <wim@fluendo.com>
2145
2146         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2147         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2148         (gst_segment_set_duration), (gst_segment_set_last_stop),
2149         (gst_segment_set_seek), (gst_segment_set_newsegment),
2150         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2151         (gst_segment_clip):
2152         * gst/gstsegment.h:
2153         Make binding friendly.
2154
2155 2005-11-21  Andy Wingo  <wingo@pobox.com>
2156
2157         * gst/gsttagsetter.h: 
2158         * gst/gsttaglist.h: 
2159         * gst/gststructure.h: 
2160         * gst/gstcaps.h: 
2161         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2162         #319940.
2163
2164         * gst/gsterror.c (_gst_core_errors_init):
2165         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2166         category.
2167
2168         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2169         (noinst_HEADERS): noinst the -private.
2170
2171 2005-11-21  Michael Smith <msmith@fluendo.com>
2172
2173         * gst/gstplugin.h:
2174         * gst/gstregistry.h:
2175           Remove unimplemented declarations for which we can see no sensible
2176           use.
2177
2178 2005-11-21  Andy Wingo  <wingo@pobox.com>
2179
2180         * gst/gst.h: Include glib-compat.h.
2181
2182         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2183
2184         * gst/glib-compat.c: Include the public and the private header.
2185
2186         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2187
2188         * gst/gstvalue.c: 
2189         * gst/gstpad.c: 
2190         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2191
2192         * check/gst/gstevent.c (create_custom_events): Check that
2193         FLUSH_STOP is serialized.
2194
2195         * check/elements/identity.c (event_func): 
2196         * check/elements/fakesrc.c (event_func): No stream lock, the core
2197         takes it.
2198
2199         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2200         stream lock taking, yay.
2201
2202         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2203         ensure that core takes the stream lock.
2204
2205         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2206         lock name change.
2207
2208         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2209         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2210         it already. For the flush start we do take it though so we get the
2211         right preroll state change messages.
2212
2213         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2214         the stream lock here, the core does it for us.
2215
2216         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2217         GST_STREAM_GET_LOCK.
2218         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2219         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2220         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2221         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2222         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2223         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2224
2225         * gst/gstpad.c: Update for stream lock name change.
2226
2227         * gst/base/gstbasesink.c: Update for preroll lock name change.
2228
2229 2005-11-21  Wim Taymans  <wim@fluendo.com>
2230
2231         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2232         (gst_clock_get_master):
2233         * gst/gstclock.h:
2234         * gst/gstsystemclock.c: (gst_system_clock_init):
2235         Convert Clock flags to object flags.
2236         Added methods to manage master/slave clocks.
2237
2238 2005-11-21  Wim Taymans  <wim@fluendo.com>
2239
2240         * check/gst/gstsegment.c: (GST_START_TEST):
2241         * docs/design/part-TODO.txt:
2242         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2243         (gst_base_sink_event), (gst_base_sink_do_sync),
2244         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2245         (gst_base_sink_query), (gst_base_sink_change_state):
2246         * gst/base/gstbasesink.h:
2247         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2248         (gst_base_src_default_newsegment),
2249         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2250         (gst_base_src_get_range), (gst_base_src_loop),
2251         (gst_base_src_change_state):
2252         * gst/base/gstbasesrc.h:
2253         * gst/base/gstbasetransform.c:
2254         (gst_base_transform_prepare_output_buf),
2255         (gst_base_transform_event), (gst_base_transform_change_state):
2256         * gst/base/gstbasetransform.h:
2257         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2258         (gst_collect_pads_event):
2259         * gst/base/gstcollectpads.h:
2260         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2261         (gst_fake_src_create):
2262         * gst/elements/gstfakesrc.h:
2263         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2264         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2265         (gst_segment_set_last_stop), (gst_segment_set_seek),
2266         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2267         (gst_segment_to_running_time), (gst_segment_clip):
2268         * gst/gstsegment.h:
2269         More segment updates, replace code in plugins with segment
2270         helper functions.
2271
2272 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2273
2274         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2275         Don't ignore sscanf results
2276
2277 2005-11-21  Andy Wingo  <wingo@pobox.com>
2278
2279         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2280
2281         * *.h:
2282         * *.c: Ran scripts/update-macros. Oh yes.
2283
2284         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2285         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2286         GST_GET_LOCK, etc.
2287
2288         * scripts/update-macros: New script. Run it on your files to
2289         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2290         well.
2291
2292 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2293
2294         * docs/gst/Makefile.am:
2295         * docs/gst/gstreamer-docs.sgml:
2296         * docs/gst/gstreamer-sections.txt:
2297         * docs/gst/gstreamer.types:
2298         * gst/gstinfo.h:
2299           more docs fixes, add new api to the docs
2300
2301 2005-11-21  Andy Wingo  <wingo@pobox.com>
2302
2303         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2304         state_broadcast call.
2305
2306         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2307
2308 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2309
2310         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2311         function calls for arrays.
2312
2313 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2314
2315         * docs/random/ensonic/media-device-daemon.txt:
2316           wild idea, can this be done?
2317         * docs/gst/gstreamer-sections.txt:
2318         * gst/gsterror.h:
2319         * gst/gstfilter.c:
2320         * gst/gstfilter.h:
2321         * gst/gstplugin.h:
2322         * gst/gstpluginfeature.c:
2323         * gst/gsttrace.c:
2324         * gst/gstvalue.c:
2325         * gst/gstvalue.h:
2326           doc fixes and additions
2327
2328 2005-11-21  Andy Wingo  <wingo@pobox.com>
2329
2330         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2331         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2332         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2333         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2334         private to the basesrc implementation.
2335
2336         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2337         behalf of event function if necessary. It should no longer be
2338         necessary to take the stream lock in pad's event functions. Fixes
2339         #320299.
2340
2341 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2342         * docs/gst/gstreamer-sections.txt:
2343         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2344         (gst_structure_fixate_field_nearest_double),
2345         (gst_structure_fixate_field_boolean):
2346         * gst/gststructure.h:
2347         * win32/common/libgstreamer.def:
2348         * win32/gstreamer.def:
2349
2350         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2351         (#322027)
2352
2353 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2354
2355         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2356         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2357         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2358         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2359         (gst_fdsrc_uri_handler_init):
2360         * gst/elements/gstfdsrc.h:
2361           Port fd:// URI handler from 0.8 to fdsrc
2362
2363 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2364
2365         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2366         (gst_value_serialize_fourcc):
2367         * gst/gstvalue.h:
2368           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2369           consistent with our other format defines (#320324).
2370
2371 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2372
2373         * gst/gstvalue.c: (gst_value_is_fixed):
2374           Revert previous commit. Value lists are by definition
2375           not fixed, as they are a list of possible values.
2376
2377 2005-11-21  Andy Wingo  <wingo@pobox.com>
2378
2379         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2380         during the stable series if we need it. Fixes #319178.
2381
2382         * gst/gstevent.c (gst_event_new_filler): Removed.
2383
2384         * check/gst/gstevent.c: Update comment about filler events.
2385
2386 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2387
2388         * gst/gstvalue.c: (gst_value_is_fixed):
2389           Should handle both value arrays and value lists.
2390
2391 2005-11-21  Andy Wingo  <wingo@pobox.com>
2392
2393         patch by: Alessandro Dessina <alessandro nnva org>
2394
2395         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2396         functions to access arrays. Fixes #321962.
2397
2398 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2399
2400         * docs/gst/gstreamer.types:
2401           gst_collectpads_get_type => gst_collect_pads_get_type.
2402           
2403         * gst/base/gstbasetransform.c:
2404           Remove unused SIGNAL_HANDOFF enum.
2405
2406 2005-11-21  Andy Wingo  <wingo@pobox.com>
2407
2408         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2409         the event type (upstream, downstream, serialized). Renamed
2410         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2411         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2412         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2413
2414         * gst/gstevent.c: Update for new CUSTOM event names.
2415
2416         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2417
2418         * gst/gstevent.h:
2419         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2420         bug #319392.
2421
2422 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2423
2424         * docs/gst/gstreamer-sections.txt:
2425         * win32/common/libgstbase.def:
2426         * win32/libgstbase.def:
2427         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2428         (gst_collect_pads_class_init), (gst_collect_pads_init),
2429         (gst_collect_pads_finalize), (gst_collect_pads_new),
2430         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2431         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2432         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2433         (gst_collect_pads_start), (gst_collect_pads_stop),
2434         (gst_collect_pads_peek), (gst_collect_pads_pop),
2435         (gst_collect_pads_available), (gst_collect_pads_read),
2436         (gst_collect_pads_flush), (gst_collect_pads_event),
2437         (gst_collect_pads_chain):
2438         * gst/base/gstcollectpads.h:
2439           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2440           unimplemented functions as unimplemented. Add padding to
2441           GstCollectData. (#320766, #320423)
2442
2443 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2444
2445         * gst/gstmessage.c:
2446           Improve docs for DURATION message (usage of duration parameter)
2447           (#320113)
2448
2449 2005-11-20  Wim Taymans  <wim@fluendo.com>
2450
2451         * check/Makefile.am:
2452         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2453         (main):
2454         * gst/Makefile.am:
2455         * gst/gst.h:
2456         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2457         (gst_segment_set_seek), (gst_segment_set_newsegment),
2458         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2459         (gst_segment_clip):
2460         * gst/gstsegment.h:
2461         Added segment helper structure and methods. Not fully implemented
2462         yet.
2463         Added segment check.
2464
2465 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2466
2467         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2468           Add a deserialisation test for fractions
2469         * examples/metadata/read-metadata.c: (message_loop),
2470         (make_pipeline), (main):
2471           Fix up metadata reading sample.
2472         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2473           Debug format fix
2474         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2475           Don't try and fixate empty caps
2476         * gst/gst_private.h:
2477           Wrap in G_BEGIN_DECLS/G_END_DECLS
2478         * gst/gstvalue.c: (gst_value_collect_fraction),
2479         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2480         (gst_value_transform_string_fraction),
2481         (gst_value_compare_fraction):
2482           Add some extra guards to ensure that we don't end up 
2483           with an invalid denominator of 0 in a gstfraction and
2484           that fractions always get reduced.
2485
2486 2005-11-20  Wim Taymans  <wim@fluendo.com>
2487
2488         * docs/gst/gstreamer-sections.txt:
2489         * gst/gstbuffer.h:
2490         * gst/gstelement.c:
2491         * gst/gstformat.c:
2492         * gst/gstformat.h:
2493         * gst/gstindex.h:
2494         * gst/gstquery.c:
2495         * gst/gstquery.h:
2496         * gst/gstvalue.c:
2497         Doc fixes.
2498
2499 2005-11-20  Wim Taymans  <wim@fluendo.com>
2500
2501         * docs/design/part-TODO.txt:
2502         * gst/gstcaps.h:
2503         Make a proper enum of the flag.
2504
2505 2005-11-19  Wim Taymans  <wim@fluendo.com>
2506
2507         * docs/design/part-TODO.txt:
2508         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2509         (gst_format_to_quark), (gst_format_register):
2510         * gst/gstformat.h:
2511         * gst/gstquery.c: (_gst_query_initialize),
2512         (gst_query_type_get_name), (gst_query_type_to_quark),
2513         (gst_query_type_register):
2514         * gst/gstquery.h:
2515         Add type to quark and type to string conversions.
2516
2517 2005-11-19  Andy Wingo  <wingo@pobox.com>
2518
2519         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2520         #320097.
2521
2522 2005-11-19  Wim Taymans  <wim@fluendo.com>
2523
2524         * docs/design/part-TODO.txt:
2525         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2526         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2527         (gst_bin_handle_message_func):
2528         * gst/gstbin.h:
2529         Make message handling overridable.
2530
2531 2005-11-19  Andy Wingo  <wingo@pobox.com>
2532
2533         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2534
2535         * gst/gstclock.h:
2536         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2537         be a GstClockTime.
2538         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2539         is a GstClockTime. Fixes #321710.
2540
2541         * gst/gstclock.h (GstClock): Remove offset property. Add
2542         internal_calibration and external_calibration. Fix padding. Pad
2543         also by GstClockTime so we don't run into problems.
2544
2545         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2546         (gst_clock_get_rate_offset): Remove.
2547         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2548
2549         * gst/gstutils.h:
2550         * gst/gstutils.c (g_static_rec_cond_wait)
2551         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2552
2553         * gst/gstbin.c: Remove terrible continue_state prototype.
2554
2555         * gst/gstelement.h (gst_element_continue_state): Make public.
2556
2557         * gst/gstelement.h:
2558         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2559         by continue_state. Fixes #319389.
2560
2561         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2562         Really fixes #168438. However I don't see anywhere where the
2563         filter function is called... stupid GStreamer...
2564         
2565         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2566         don't have a dispose function, so it won't get called when the
2567         object is unreffed, but oh well!
2568
2569         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2570         allows a destroy function to be set so user_data can be freed.
2571         Fixes #168438.
2572         (gst_index_set_filter): Call gst_index_set_filter_full.
2573
2574         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2575
2576         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2577         string should produce an error, given the lack of a way to
2578         represent NULL strings. Fixes #165650.
2579         
2580         * gst/gstvalue.h: 
2581         * gst/gstvalue.c (gst_value_array_append_value) 
2582         (gst_value_array_prepend_value, gst_value_array_get_size) 
2583         (gst_value_array_get_value): New API, copied from
2584         gst_value_list_*, only operates on arrays.
2585         (gst_value_list_append_value, gst_value_list_prepend_value) 
2586         (gst_value_list_concat, gst_value_list_get_size) 
2587         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2588
2589         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2590         init_list, because it works on both.
2591         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2592         (gst_value_copy_list_or_array): Renamed from copy_list.
2593         (gst_value_free_list_or_array): Renamed from free_list.
2594         (gst_value_collect_list_or_array): Renamed from collect_list.
2595         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2596         (gst_value_list_or_array_peek_pointer): Renamed from
2597         list_peek_pointer.
2598         (_gst_value_array_value_table, _gst_value_list_value_table):
2599         Update value table functions.
2600         (gst_value_compare_list_or_array): Renamed from compare_list.
2601
2602         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2603         some constness.
2604
2605         * gst/gsttaglist.c:
2606         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2607         GstTagList*. Fixes #143472.
2608
2609         * gst/gststructure.h: Clarify what the foreach/map functions can
2610         or can't do to their arguments.
2611
2612 2005-11-18  Wim Taymans  <wim@fluendo.com>
2613
2614         * gst/gstclock.c: (gst_clock_set_calibration),
2615         (gst_clock_get_calibration):
2616         Doc and API fixes.
2617         Calibration can be set with internal time equal to current
2618         internal time too.
2619
2620 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2621
2622         * gst/gsterror.c:
2623         * gst/gsterror.h:
2624           document
2625
2626 2005-11-18  Andy Wingo  <wingo@pobox.com>
2627
2628         * configure.ac: 
2629         * pkgconfig/gstreamer-net.pc.in:
2630         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2631         * pkgconfig/Makefile.am: Add net pkgconfig files.
2632
2633 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2634
2635         * gst/gstcaps.c:
2636         * gst/gstghostpad.c:
2637         * gst/gsttrace.c:
2638         * gst/gstvalue.c:
2639         * gst/gstvalue.h:
2640           docs fixes
2641
2642 2005-11-18  Andy Wingo  <wingo@pobox.com>
2643
2644         * gst/net/gstnetclientclock.c: Turn off debugging.
2645
2646         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2647         times connverge somewhat. Can't make a real test.
2648
2649         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2650         integer arithmetic. Return the minimum of the domain, which can be
2651         set as "internal" for gst_clock_set_calibration.
2652         (gst_net_client_clock_observe_times): Call _set_calibration.
2653         (gst_net_client_clock_new): Call _set_calibration instead of
2654         rate_offset.
2655
2656         * check/net/gstnetclientclock.c (test_functioning): Use the right
2657         adjustment api.
2658
2659         * gst/gstclock.h:
2660         * gst/gstclock.c (gst_clock_get_calibration) 
2661         (gst_clock_set_calibration): New functions, obsolete the ones I
2662         added yesterday. Doh. Precision issues mean we have to extrapolate
2663         from a point in the more recent past than 1970.
2664         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2665         obsolete.
2666         (gst_clock_adjust_unlocked): Use the right calibration data.
2667
2668 2005-11-18  Edward Hervey  <edward@fluendo.com>
2669
2670         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2671         Also reset the ->current_* values in READY->PAUSED
2672
2673 2005-11-18  Andy Wingo  <wingo@pobox.com>
2674
2675         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2676         Whoops, check the right fd. Also add some debugging.
2677         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2678         (do_linear_regression): Add a crapload of debugging. Subtract off
2679         the minimum values from the input series to discard unneeded bits.
2680         Use only int arithmetic. There is still double arithmetic when
2681         calculating the intercept that needs fixing. Return boolean to
2682         indicate success; FALSE would mean the domain or range is too
2683         great. Still needs fixes.
2684
2685 2005-11-18  Wim Taymans  <wim@fluendo.com>
2686
2687         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2688         For the current position in stream time, we need to subtract
2689         accumulated time.
2690         
2691         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2692         Release lock before calling the callback function of async
2693         entries.
2694
2695 2005-11-18  Andy Wingo  <wingo@pobox.com>
2696
2697         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2698         Port goes all the way to MAXUINT16.
2699
2700         * gst/net/gstnettimeprovider.c: Make the port range the same as
2701         for the kernel: 0 assigns, otherwise ports are less than
2702         MAXUINT16.
2703
2704         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2705         port change.
2706
2707         * check/net/gstnetclientclock.c (test_functioning): Add the start
2708         of another test. 
2709
2710 2005-11-18  Wim Taymans  <wim@fluendo.com>
2711
2712         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2713         (gst_bin_remove_func), (bin_bus_handler):
2714         * gst/gstbin.h:
2715         Removing a clock provider from a bin, triggers a clock lost message
2716         so that a new clock will be selected.
2717         Adding a clock to a bin triggers a clock provider message.
2718         Make sure we reselect a clock when we received a clock lost message.
2719         Keep a reference to the element that provided the clock.
2720
2721 2005-11-18  Andy Wingo  <wingo@pobox.com>
2722
2723         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2724         the clock initially so it produces values around the base time.
2725         (gst_net_client_clock_class_init): Typo fix.
2726         (gst_net_client_clock_thread): Add note on when the socket gets
2727         closed.
2728
2729 2005-11-17  Wim Taymans  <wim@fluendo.com>
2730
2731         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2732         Free remote and local time arrays.
2733
2734 2005-11-17  Wim Taymans  <wim@fluendo.com>
2735
2736         * gst/net/gstnetclientclock.c: (do_linear_regression),
2737         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2738         Fix compilation, uninitialized vars and a forgotten continue.
2739
2740 2005-11-17  Andy Wingo  <wingo@pobox.com>
2741
2742         * check/Makefile.am (check_PROGRAMS): 
2743         * check/net/gstnetclientclock.c: Add a most minimal test for the
2744         net client clock. More to come later.
2745
2746         * gst/net/gstnet.h: 
2747         * gst/net/Makefile.am: Add netclientclock.
2748
2749         * gst/net/gstnetclientclock.h:
2750         * gst/net/gstnetclientclock.c: New files, implement an untested
2751         GstClock that takes its time from a network time provider.
2752         Implements the algorithm in network-clock.scm.
2753
2754         * tests/network-clock.scm (*window-size*): Rename from
2755         *queue-length*.
2756         * tests/network-clock.scm (network-time): 
2757         * tests/network-clock-utils.scm (q-push): Update callers.
2758
2759 2005-11-17  Wim Taymans  <wim@fluendo.com>
2760
2761         * gst/gstbin.c: (gst_bin_provide_clock_func),
2762         (gst_bin_sort_iterator_new):
2763         And unref the child too..
2764
2765 2005-11-17  Wim Taymans  <wim@fluendo.com>
2766
2767         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2768         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2769         Refactor the sort iterator so it can be used while holding the
2770         LOCK too.
2771         Make clock selection select a clock closest to the source.
2772
2773 2005-11-17  Michael Smith <msmith@fluendo.com>
2774
2775         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2776         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2777         * gst/gstclock.h:
2778           Anonymous structs are a gcc (and some other compilers) extension, so
2779           don't use them. Since this is only for ABI-compatibility, and our
2780           API/ABI freeze is over in a few days, this whole thing will only
2781           last a few days, so don't bother trying to think up a meaningful
2782           name for the struct.
2783
2784 2005-11-17  Andy Wingo  <wingo@pobox.com>
2785
2786         * gst/gstclock.h (GstClock): Add rate and offset properties,
2787         preserving ABI stability. Add rate/offset accessors. Will file bug
2788         for the freeze break.
2789
2790         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2791         and offset, trying to keep precision and avoiding
2792         underflow/overflow.
2793         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2794         functions. Make gst_clock_set_time_adjust obsolete.
2795         (gst_clock_set_time_adjust): Note that this function is obsolete.
2796         Will file bug soon.
2797
2798         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2799         greppable by using GST_PADDING-1+1.
2800
2801 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2802
2803         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2804
2805         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2806           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2807
2808         * gst/gstpadtemplate.h:
2809         * gst/gstpluginfeature.h:
2810           Don't use c++ style comments in headers (#321638).
2811
2812 2005-11-16  Andy Wingo  <wingo@pobox.com>
2813
2814         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2815         buffer.
2816
2817         * check/net/gstnettimeprovider.c: Check to see that the time
2818         provider actually provides times. Works, yo!
2819
2820 2005-11-16  Wim Taymans  <wim@fluendo.com>
2821
2822         * check/Makefile.am:
2823         Enable more tests.
2824
2825         * check/elements/fakesrc.c: (GST_START_TEST):
2826         Set element to NULL before disposing it.
2827
2828 2005-11-16  Andy Wingo  <wingo@pobox.com>
2829
2830         * gst/net/Makefile.am:
2831         * gst/net/gstnet.h:
2832         * gst/net/gstnettimeprovider.c: 
2833         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2834         provider, include it from gstnet.h, and add it to the build.
2835
2836         * gst/net/gstnettimepacket.h: 
2837         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2838         sending and receiving.
2839
2840 2005-11-16  Wim Taymans  <wim@fluendo.com>
2841
2842         * check/Makefile.am:
2843         Enable valgrind check.
2844
2845         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2846         (gst_fake_src_alloc_buffer):
2847         Fix memleak.
2848
2849 2005-11-16  Wim Taymans  <wim@fluendo.com>
2850
2851         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2852         Call parent finalize too.
2853
2854 2005-11-16  Wim Taymans  <wim@fluendo.com>
2855
2856         * check/Makefile.am:
2857         Enable valgrind check that should work fine now.
2858
2859         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2860         * gst/gstqueue.c: (gst_queue_init):
2861         Fix memleaks in pad allocation.
2862
2863 2005-11-16  Andy Wingo  <wingo@pobox.com>
2864
2865         * gst/net/Makefile.am:
2866         * gst/net/gstnet.h: New part of core to hold network elements and
2867         objects. Put in core because it exposes API that applications want
2868         to use. The library is named libgstnet-tempname right now because
2869         of the existing libgstnet in gst-plugins-base. Solution is
2870         probably to rename the one in plugins-base; will file a bug for
2871         the freeze break.
2872
2873         * gst/net/gstnettimeprovider.c: 
2874         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2875         get_time call over the network.
2876
2877         * configure.ac: 
2878         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2879
2880         * check/Makefile.am:
2881         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2882         get additions shortly.
2883
2884 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2885
2886         * gst/gstpad.c: (gst_pad_new_from_static_template):
2887         * gst/gstpad.h:
2888           add gst_pad_new_from_static_template functions
2889         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2890         (gst_check_setup_sink_pad):
2891         * gst/elements/gsttee.c: (gst_tee_init):
2892           and use them
2893
2894 2005-11-16  Wim Taymans  <wim@fluendo.com>
2895
2896         * gst/gstpad.c: (gst_pad_pause_task):
2897         Removed warning, it's not really an error either.
2898
2899 2005-11-16  Wim Taymans  <wim@fluendo.com>
2900
2901         * gst/base/gstbasetransform.c:
2902         (gst_base_transform_prepare_output_buf),
2903         (gst_base_transform_event):
2904         Check if the caps are NULL, this can happen if the element
2905         is shutting down and the pad caps are set to NULL.
2906
2907 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2908
2909         * gst/elements/gsttee.c: (gst_tee_init):
2910           fix pad template leak in tee
2911
2912 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2913
2914         * gst/glib-compat.c: (g_value_dup_gst_object):
2915         * gst/glib-compat.h:
2916         * gst/gstpad.c: (gst_pad_set_property):
2917           use gst_object_ref when setting the pad template; this will
2918           trigger the pad template leaks on GLib 2.6 and the slaves
2919
2920 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2921
2922         * gst/glib-compat.c: (gst_flags_get_first_value):
2923         * gst/glib-compat.h:
2924         * gst/gstregistryxml.c:
2925           remove functions copied from GLib 2.6
2926
2927 2005-11-16  Michael Smith <msmith@fluendo.com>
2928
2929         * gst/Makefile.am:
2930           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2931           do, but only breaks with newer valgrind versions. We're not a
2932           valgrind tool, we have no link-time dependencies on libcoregrind.
2933
2934 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2935
2936         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2937           some debug changes
2938         * gst/gstmessage.h:
2939           typo fixes
2940
2941 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2942
2943         * gst/base/gstbasesrc.c: (gst_base_src_init):
2944         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2945         * gst/gstqueue.c: (gst_queue_init):
2946         * gst/gstregistryxml.c: (load_feature):
2947           Revert all these unrefs, they don't even pass make check !
2948
2949 2005-11-15  Johan Dahlin  <johan@gnome.org>
2950
2951         * gst/base/gstbasesrc.c: (gst_base_src_init):
2952         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2953         * gst/gstqueue.c: (gst_queue_init): 
2954         Free pad templates, fixes a couple of leaks.
2955
2956 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2957
2958         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2959
2960         * gst/gstpad.c: (gst_pad_get_property):
2961           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2962           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2963           (#321452)
2964
2965 2005-11-15  Wim Taymans  <wim@fluendo.com>
2966
2967         * gst/gstevent.c:
2968         Small doc update.
2969
2970 2005-11-15  Andy Wingo  <wingo@pobox.com>
2971
2972         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2973
2974         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2975         using GST_CLOCK_TIME_NONE to disable base time management.
2976         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2977         time if it was NONE before.
2978         (gst_pipeline_change_state): Only munge the base time if
2979         stream_time != GST_CLOCK_TIME_NONE.
2980
2981         * check/gst/gstpipeline.c (test_base_time): Punt around the
2982         problem of the probe not being called, because that's not the
2983         issue I'm looking at. Add a check that setting stream_time to NONE
2984         disables base time management.
2985         
2986 2005-11-15  Wim Taymans  <wim@fluendo.com>
2987
2988         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2989         segment_stop == -1 at startup.
2990
2991         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2992         (gst_base_transform_change_state):
2993         Init segment values at start.
2994
2995 2005-11-15  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2998         0 segment values are 0 in any format.
2999
3000         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3001         * gst/base/gstbasetransform.h:
3002         Parse newsegment correctly in basetransform
3003
3004         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3005         Sync to clock using updated segment values.
3006
3007 2005-11-15  Andy Wingo  <wingo@pobox.com>
3008
3009         * check/gst/gstpipeline.c (test_base_time): Add check that the
3010         base time and stream time are reset correctly.
3011
3012 2005-11-15  Wim Taymans  <wim@fluendo.com>
3013
3014         * docs/design/part-TODO.txt:
3015         Some more TODO items.
3016
3017 2005-11-15  Andy Wingo  <wingo@pobox.com>
3018
3019         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
3020         error if the user selected "no clock" as the clocking method.
3021
3022         * check/gst/gstpipeline.c (test_base_time): New test for buffer
3023         timestamps with live capture.
3024
3025         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
3026         is 0 but we are a live source, timestamp the buffers using the
3027         element's clock.
3028
3029 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3030
3031         * docs/gst/gstreamer-sections.txt:
3032         * gst/gsterror.c:
3033         * gst/gstghostpad.c:
3034         * gst/gstobject.h:
3035         * gst/gstxml.c:
3036           more section docs
3037
3038 2005-11-14  Wim Taymans  <wim@fluendo.com>
3039
3040         * common/gst.supp:
3041           add suppressions from Wim's Debian machine
3042
3043 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3044
3045         * common/gst.supp:
3046           add suppressions from Andy's AMD64 Ubuntu machine
3047
3048 2005-11-14  Andy Wingo  <wingo@pobox.com>
3049
3050         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3051         STATE_LOCK not necessary. Fixes #311489.
3052
3053         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3054         #305291.
3055
3056         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3057         this function is not implemented.
3058
3059 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3060
3061         * gst/base/gstbasetransform.c:
3062         (gst_base_transform_prepare_output_buf):
3063         Ref the source pad caps while we need them.
3064         Fixes (#321386)
3065
3066 2005-11-11  Wim Taymans  <wim@fluendo.com>
3067
3068         * docs/gst/gstreamer-sections.txt:
3069         Added some docs for GstCollectData.
3070
3071         * gst/base/gstadapter.c:
3072         Some small code example fix.
3073
3074         * gst/base/gstcollectpads.c:
3075         * gst/base/gstcollectpads.h:
3076         Document some more.
3077
3078 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3079
3080         * configure.ac: back to HEAD
3081
3082 === release 0.9.5 ===
3083
3084 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3085
3086         * configure.ac:
3087           releasing 0.9.5, "Bike Lunch Day"
3088
3089 2005-11-11  Wim Taymans  <wim@fluendo.com>
3090
3091         * gst/gstbuffer.c: (_gst_buffer_copy):
3092         Copy more flags.
3093
3094         * gst/gstcaps.c: (gst_caps_is_equal):
3095         Fix some docs.
3096         Make _is_equal fast in the trivial cases.
3097
3098         * gst/gstminiobject.c:
3099         * gst/gstminiobject.h:
3100         More docs. Spifify .h file.
3101
3102         * gst/gstutils.c:
3103         Small doc update.
3104
3105 2005-11-11  Wim Taymans  <wim@fluendo.com>
3106
3107         * gst/base/gstbasetransform.c:
3108         (gst_base_transform_prepare_output_buf),
3109         (gst_base_transform_handle_buffer):
3110         Small cleanups.
3111         If we're processing a buffer and need to allocate an output
3112         buffer, we cannot accept a format change. If we did get a 
3113         format change, we have to alloc a buffer ourselves of the 
3114         right size.
3115
3116 2005-11-11  Wim Taymans  <wim@fluendo.com>
3117
3118         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3119         While checking the flag for reentrancy in the gstcaps function
3120         is nice to detect recursive invocations, it also makes it 
3121         impossible to call getcaps from multiple threads, which must be
3122         possible. So, checking for recursive calls has to go.
3123
3124 2005-11-11  Michael Smith <msmith@fluendo.com>
3125
3126         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3127           Don't sync on buffers that fall partially outside our current
3128           segment. Prevents an assertion failure/abort playing some files.
3129
3130 2005-11-10  Andy Wingo  <wingo@pobox.com>
3131
3132         * check/gst/gstbin.c (test_message_state_changed_children): Style
3133         fix..
3134
3135         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3136         gst_bus_poll with the signal watch. Ensures that poll and a signal
3137         watch see the same messages.
3138
3139         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3140         a poll and a watch at the same time get the same messages.
3141
3142 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3143
3144         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3145         * gst/gstcaps.c: (gst_caps_intersect):
3146           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3147           and it's not needed.
3148
3149 2005-11-10  Wim Taymans  <wim@fluendo.com>
3150
3151         * docs/design/part-TODO.txt:
3152         Updated todo.
3153
3154 2005-11-10  Wim Taymans  <wim@fluendo.com>
3155
3156         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3157         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3158         (gst_base_src_do_sync), (gst_base_src_get_range):
3159         Implement clock sync in base class.
3160
3161 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3162
3163         patch by: Tim-Philipp Müller <tim at centricular dot net>
3164
3165         * gst/gststructure.c: (gst_structure_parse_field),
3166         (gst_structure_from_string):
3167           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3168           so that gst_parse_launch() can deal with spaces in filtered link
3169           caps (fixes #164479)
3170         * check/gst/capslist.h:
3171         * check/gst/gststructure.c: (GST_START_TEST):
3172           add unit tests for this change
3173
3174 2005-11-10  Wim Taymans  <wim@fluendo.com>
3175
3176         * docs/gst/gstreamer-sections.txt:
3177         * gst/gstelement.c:
3178         * gst/gstelement.h:
3179         Fix docs, move some STATE macros to private.
3180
3181 2005-11-10  Wim Taymans  <wim@fluendo.com>
3182
3183         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3184         Added check for bug #317341
3185
3186         * gst/gstbuffer.c:
3187         * gst/gstbuffer.h:
3188         Some more spiffifying.
3189
3190         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3191         Call peer linkfunction if we are a source pad. Totally fixes
3192         #317341
3193
3194         * gst/gstpad.c:
3195         Update docs, source pads should call the peer linkfunction
3196         so they can atomically perform the pad link.
3197
3198 2005-11-09  Wim Taymans  <wim@fluendo.com>
3199
3200         * gst/gstbuffer.c:
3201         * gst/gstbuffer.h:
3202         Uber-spiffy-spiffify some more.
3203
3204 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3205
3206         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3207         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3208         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3209         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3210         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3211         * gst/gstpad.c: (gst_pad_init):
3212           Use GST_DEBUG_FUNCPTR() more extensively.
3213
3214 2005-11-09  Wim Taymans  <wim@fluendo.com>
3215
3216         * gst/gstobject.c: (gst_object_class_init):
3217         * gst/gstobject.h:
3218         Documentation fixes.
3219
3220 2005-11-09  Edward Hervey  <edward@fluendo.com>
3221
3222         * gst/gsttypefindfactory.c:
3223         Fix docs.
3224         
3225 2005-11-09  Edward Hervey  <edward@fluendo.com>
3226
3227         * gst/base/gsttypefindhelper.c:
3228         * gst/gsttypefind.c:
3229         * gst/gsttypefind.h:
3230         Fix docs.
3231
3232 2005-11-09  Wim Taymans  <wim@fluendo.com>
3233
3234         * gst/gstiterator.c:
3235         Fix revision data.
3236
3237         * gst/gsttask.c:
3238         * gst/gsttask.h:
3239         Fix docs.
3240
3241 2005-11-09  Wim Taymans  <wim@fluendo.com>
3242
3243         * gst/gstevent.h:
3244         * gst/gsturi.h:
3245         Fix docs.
3246
3247 2005-11-09  Wim Taymans  <wim@fluendo.com>
3248
3249         * docs/gst/gstreamer-sections.txt:
3250         Moved the message async delivery private lock and cond
3251         to the private section.
3252
3253         * gst/gstmessage.c:
3254         * gst/gstmessage.h:
3255         Fixed docs.
3256
3257 2005-11-09  Edward Hervey  <edward@fluendo.com>
3258
3259         * docs/gst/gstreamer-sections.txt:
3260         * gst/gsturi.c:
3261         * gst/gsturi.h:
3262         Document GstURIHandler
3263
3264 2005-11-09  Wim Taymans  <wim@fluendo.com>
3265
3266         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3267         (gst_iterator_find_custom):
3268         * gst/gstiterator.h:
3269         Fix iterator docs.
3270
3271 2005-11-09  Wim Taymans  <wim@fluendo.com>
3272
3273         * gst/gstbin.h:
3274         Document another field.
3275
3276         * gst/gststructure.c:
3277         * gst/gststructure.h:
3278         Document.
3279
3280 2005-11-09  Wim Taymans  <wim@fluendo.com>
3281
3282         * gst/gstbin.h:
3283         Documented structs.
3284
3285 2005-11-09  Wim Taymans  <wim@fluendo.com>
3286
3287         * docs/gst/gstreamer-sections.txt:
3288         Added some new macros.
3289
3290         * gst/gstclock.c:
3291         * gst/gstclock.h:
3292         * gst/gstobject.h:
3293         Docs updates.
3294
3295 2005-11-09  Wim Taymans  <wim@fluendo.com>
3296
3297         * docs/design/part-TODO.txt:
3298         Some more items for the TODO
3299
3300         * gst/gstcaps.c:
3301         * gst/gstcaps.h:
3302         Document GstCaps.
3303
3304 2005-11-09  Andy Wingo  <wingo@pobox.com>
3305
3306         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3307         to work on something else now tho...
3308
3309         * gst/base/gstadapter.c: More adapter docs.
3310
3311         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3312         (gst_file_sink_stop): New functions, replace the state change
3313         handler.
3314         (gst_file_sink_class_init): Hook up the start and stop functions.
3315         (gst_file_sink_base_init): Don't set the state change handler any
3316         more. It was a bit ugly too, being set from here...
3317         (gst_file_sink_get_property, gst_file_sink_set_property):
3318         Cleanups...
3319         (gst_file_sink_set_location): More robust check that doesn't call
3320         GST_STATE. Ugggggg.
3321
3322 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3323
3324         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3325           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3326
3327 2005-11-08  Wim Taymans  <wim@fluendo.com>
3328
3329         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3330         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3331         (gst_base_sink_chain), (gst_base_sink_change_state):
3332         * gst/base/gstbasesink.h:
3333         * gst/base/gstbasesrc.h:
3334         * gst/gstelement.h:
3335         * gst/gstevent.h:
3336         Avoid excessive typechecking in macros.
3337
3338         * gst/gstminiobject.c: (gst_mini_object_get_type),
3339         (gst_mini_object_init), (gst_mini_object_new),
3340         (gst_mini_object_free):
3341         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3342         (gst_object_finalize):
3343         Remove cruft code, optimize alloc_trace.
3344
3345 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3346
3347         * docs/faq/gst-uninstalled:
3348           fix up PS1 for systems that try to reset it
3349
3350 2005-11-07  Wim Taymans  <wim@fluendo.com>
3351
3352         * gst/base/gstbasesrc.c: (gst_base_src_init),
3353         (gst_base_src_get_range):
3354         Set the segment_end to -1 initially. Fixed typefind.
3355
3356 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3357
3358         * gst/base/gstadapter.c:
3359           Debug category should be 'adapter', not 'GstAdapter'.
3360           
3361         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3362         (gst_collectpads_class_init), (gst_collectpads_init),
3363         (gst_collectpads_peek), (gst_collectpads_pop),
3364         (gst_collectpads_event), (gst_collectpads_chain):
3365           Add debug category and some debugging output. Use boilerplate
3366           macros. Remove some extraneous words from docs.
3367
3368 2005-11-05  Andy Wingo  <wingo@pobox.com>
3369
3370         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3371         macro.
3372
3373 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3374
3375         * docs/gst/gstreamer-sections.txt:
3376         * gst/gstcaps.h:
3377         * gst/gstinfo.c:
3378         * gst/gstminiobject.h:
3379         * gst/gstobject.h:
3380         * gst/gstutils.h:
3381           more docs added
3382
3383 2005-11-04  Wim Taymans  <wim@fluendo.com>
3384
3385         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3386         Small update to stop at the configured segment_end
3387         position.
3388
3389 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3390
3391         * gst/gstregistry.c:
3392         * gst/gstregistry.h:
3393           added missing docs
3394
3395 2005-11-04  Edward Hervey  <edward@fluendo.com>
3396
3397         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3398         Check if we are doing a segment seek and have arrived at the
3399         end of that segment.
3400
3401 2005-11-04  Wim Taymans  <wim@fluendo.com>
3402
3403         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3404         Don't leak a mutex unlock in case of an error.
3405
3406         * gst/gstbus.h:
3407         Doc fixes.
3408
3409 2005-11-04  Wim Taymans  <wim@fluendo.com>
3410
3411         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3412         (gst_bus_post):
3413         Get the context to wake up only once.
3414
3415 2005-11-03  Wim Taymans  <wim@fluendo.com>
3416
3417         * check/states/sinks.c: (GST_START_TEST):
3418         Uncomment fixed check.
3419
3420         * docs/design/part-TODO.txt:
3421         Updated TODO.
3422
3423         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3424         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3425         (gst_base_sink_get_position):
3426         If we are going to PLAYING, post the right pending state
3427         when we post the intermediate paused message.
3428
3429         * gst/gstelement.c: (gst_element_continue_state),
3430         (gst_element_set_state_func), (gst_element_change_state):
3431         Don't post state changes that were between the same state
3432         and were not ASYNC.
3433
3434 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3435
3436         * docs/gst/gstreamer-sections.txt:
3437         * gst/gstcaps.h:
3438         * gst/gstinfo.c:
3439         * gst/gstminiobject.h:
3440         * gst/gstobject.h:
3441         * gst/gstutils.h:
3442           more docs and doc style fixes
3443
3444 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3445
3446         * docs/gst/gstreamer-sections.txt:
3447         * gst/gstelement.c:
3448         * gst/gstminiobject.c:
3449         doc fixes
3450
3451 2005-11-03  Andy Wingo  <wingo@pobox.com>
3452
3453         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3454         state-changed messages actually have the right order and the right
3455         values.
3456
3457 2005-11-03  Wim Taymans  <wim@fluendo.com>
3458
3459         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3460         Added some more checks. Specifically the case where NO_PREROLL
3461         elements are in the pipeline.
3462
3463         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3464         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3465         (gst_base_sink_get_position):
3466         Post READY->PAUSED state change messages too.
3467         Fix bug where VOID was posted as pending state...
3468
3469         * gst/gstbin.c: (gst_bin_recalc_state):
3470         use _element_continue_state() to continue the state change.
3471
3472         * gst/gstelement.c: (gst_element_continue_state),
3473         (gst_element_commit_state), (gst_element_set_state_func),
3474         (gst_element_change_state), (gst_element_change_state_func):
3475         Lots of state change cleanups, assign the STATE_RETURN in
3476         a new continue_state() function that also propagates the
3477         last return value from a state change to the app.
3478         Update some debug statements with proper category.
3479
3480 2005-11-03  Wim Taymans  <wim@fluendo.com>
3481
3482         * docs/design/part-events.txt:
3483         * docs/design/part-gstpipeline.txt:
3484         * docs/design/part-messages.txt:
3485         * docs/design/part-overview.txt:
3486         * docs/design/part-seeking.txt:
3487         * docs/design/part-states.txt:
3488         * docs/design/part-trickmodes.txt:
3489         * docs/manual/advanced-position.xml:
3490         Small docs updates.
3491
3492         * gst/gstobject.h:
3493         People think !! is ugly, this looks better.
3494
3495         * gst/gstpad.c: (gst_pad_set_blocked_async):
3496         Remove !! since it's fixed elsewhere now.
3497
3498 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3499
3500         * gst/gstminiobject.h:
3501         * gst/gstobject.h:
3502           Add !! to _FLAG_IS_SET macros to make the result boolean.
3503
3504 2005-11-03  Edward Hervey  <edward@fluendo.com>
3505
3506         * gst/gstpad.c: (gst_pad_set_blocked_async):
3507         comparing a flag and a gboolean rarely returns coherent results...
3508         Added two characters (!!) to make that work correctly.
3509         
3510 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3511
3512         * gst/gstbus.c: (gst_bus_class_init):
3513           Fix some typos.
3514           
3515         * gst/gstqueue.c: (gst_queue_loop):
3516           Don't assume a miniobject that isn't a buffer is an
3517           event (it could be that there is a refcounting
3518           problem somewhere and the pointer is stale and
3519           refers to an already destroyed miniobject).
3520
3521 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3522
3523         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3524
3525 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3526
3527         * docs/manual/advanced-position.xml:
3528           Update seek example and explanations to current 0.9 API.
3529
3530         * gst/elements/gsttypefindelement.c:
3531         (gst_type_find_element_activate):
3532           Remove FIXME comment now that the found caps
3533           are unreffed.
3534
3535 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3536
3537         * gst/gstregistryxml.c: (load_feature):
3538           Add another GST_STR_NULL instance
3539
3540 2005-11-02  Edward Hervey  <edward@fluendo.com>
3541
3542         * gst/gstpad.c: (handle_pad_block):
3543         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3544         
3545 2005-11-02  Wim Taymans  <wim@fluendo.com>
3546
3547         * gst/gstbin.c:
3548         Fix typo in docs.
3549
3550         * gst/gstelement.c: (gst_element_commit_state):
3551         Remove unused value.
3552
3553         * gst/gstiterator.c:
3554         Mention that the returned element is reffed in the docs.
3555
3556 2005-11-02  Wim Taymans  <wim@fluendo.com>
3557
3558         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3559         (gst_pad_push), (gst_pad_push_event):
3560         Unlock blocked pads when they are flushed.
3561
3562 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3563
3564         * docs/README:
3565         * docs/gst/gstreamer-sections.txt:
3566         * gst/gstbin.c:
3567           doc updates
3568         * gst/gstregistry.c: (gst_registry_scan_path_level):
3569           fix for a nasty little missed situation where an installed plug-in
3570           which was in the cache did not get overridden by an uninstalled one
3571           which was earlier in the plugin path because the newly created plugin
3572           for the uninstalled one (not in the registry) didn't get its
3573           ->registered set to TRUE
3574
3575 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3576
3577         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3578         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3579         (gst_collectpads_is_active), (gst_collectpads_collect),
3580         (gst_collectpads_collect_range), (gst_collectpads_start),
3581         (gst_collectpads_stop), (gst_collectpads_peek),
3582         (gst_collectpads_pop), (gst_collectpads_available),
3583         (gst_collectpads_read), (gst_collectpads_flush):
3584           Guard public API with assertions.
3585         
3586         * gst/gstpad.c:
3587           Fix docs for gst_pad_set_link_function().
3588
3589 2005-11-02  Johan Dahlin  <johan@gnome.org>
3590
3591         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3592         Unref found_caps after we used it.
3593
3594 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3595
3596         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3597           Don't try to ref NULL.
3598
3599 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3600
3601         * win32/common/config.h.in:
3602           provide a GST_FUNCTION that just gives a string for now
3603
3604 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3605
3606         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3607         (gst_object_flags_get_type), (register_gst_bin_flags),
3608         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3609         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3610         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3611         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3612         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3613         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3614         (gst_clock_flags_get_type), (register_gst_state),
3615         (gst_state_get_type), (register_gst_state_change_return),
3616         (gst_state_change_return_get_type), (register_gst_state_change),
3617         (gst_state_change_get_type), (register_gst_element_flags),
3618         (gst_element_flags_get_type), (register_gst_core_error),
3619         (gst_core_error_get_type), (register_gst_library_error),
3620         (gst_library_error_get_type), (register_gst_resource_error),
3621         (gst_resource_error_get_type), (register_gst_stream_error),
3622         (gst_stream_error_get_type), (register_gst_event_type),
3623         (gst_event_type_get_type), (register_gst_seek_type),
3624         (gst_seek_type_get_type), (register_gst_seek_flags),
3625         (gst_seek_flags_get_type), (register_gst_format),
3626         (gst_format_get_type), (register_gst_index_certainty),
3627         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3628         (gst_index_entry_type_get_type),
3629         (register_gst_index_lookup_method),
3630         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3631         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3632         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3633         (gst_index_flags_get_type), (register_gst_debug_level),
3634         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3635         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3636         (gst_iterator_result_get_type), (register_gst_iterator_item),
3637         (gst_iterator_item_get_type), (register_gst_message_type),
3638         (gst_message_type_get_type), (register_gst_mini_object_flags),
3639         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3640         (gst_pad_link_return_get_type), (register_gst_flow_return),
3641         (gst_flow_return_get_type), (register_gst_activate_mode),
3642         (gst_activate_mode_get_type), (register_gst_pad_direction),
3643         (gst_pad_direction_get_type), (register_gst_pad_flags),
3644         (gst_pad_flags_get_type), (register_gst_pad_presence),
3645         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3646         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3647         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3648         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3649         (gst_plugin_flags_get_type), (register_gst_rank),
3650         (gst_rank_get_type), (register_gst_query_type),
3651         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3652         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3653         (gst_tag_flag_get_type), (register_gst_task_state),
3654         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3655         (gst_alloc_trace_flags_get_type),
3656         (register_gst_type_find_probability),
3657         (gst_type_find_probability_get_type), (register_gst_uri_type),
3658         (gst_uri_type_get_type), (register_gst_parse_error),
3659         (gst_parse_error_get_type):
3660         * win32/common/gstversion.h:
3661           update win32 copies
3662
3663 2005-11-01  Luca Ognibene  <luogni@tin.it>
3664
3665         * gst/gst.c:
3666           fix docs. popt is dead, long live GOption.
3667
3668 2005-10-31  Wim Taymans  <wim@fluendo.com>
3669
3670         * gst/gstbuffer.h:
3671         Small doc fix.
3672
3673 2005-10-31  Andy Wingo  <wingo@pobox.com>
3674
3675         * Boo!
3676
3677         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3678
3679         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3680         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3681         the possibility of deadlocks here if code calling notify() or
3682         set() has a lock that can be taken in another notify handler (ABBA
3683         with class lock and e.g. python GIL state lock).
3684
3685 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3686
3687         * gst/gstbus.c: Doc updates.
3688
3689 2005-10-28  Wim Taymans  <wim@fluendo.com>
3690
3691         * docs/design/part-TODO.txt:
3692         * gst/gstiterator.c:
3693         * gst/gstsystemclock.c:
3694         * gst/gstsystemclock.h:
3695         Doc updates.
3696
3697 2005-10-28  Edward Hervey  <edward@fluendo.com>
3698
3699         * docs/gst/gstreamer-docs.sgml:
3700         * docs/gst/gstreamer-sections.txt:
3701         the GstURIType documentation page is private, it only defines GstURIType
3702         which should be defined in the GstURIHandler page
3703         
3704 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         * gst/gstbin.c: (gst_bin_class_init):
3707         * gst/gstbin.h:
3708         * gst/gstutils.c:
3709         Documentation updates.
3710
3711 2005-10-28  Wim Taymans  <wim@fluendo.com>
3712
3713         * docs/gst/gstreamer-sections.txt:
3714         * gst/gstclock.c:
3715         * gst/gstclock.h:
3716         Documented the clocks.
3717
3718 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3719
3720         * docs/gst/gstreamer-sections.txt:
3721           move some macros to private sections
3722         * gst/gstminiobject.c:
3723         * gst/gstminiobject.h:
3724           add descriptions provided by ds and some more
3725         * gst/gstpad.h:
3726           mark macro as to be removed
3727
3728 2005-10-28  Wim Taymans  <wim@fluendo.com>
3729
3730         * docs/design/part-TODO.txt:
3731         Add an item to TODO.
3732
3733         * gst/gstiterator.c: (gst_iterator_fold),
3734         (gst_iterator_find_custom):
3735         * gst/gstiterator.h:
3736         Add iterator docs.
3737
3738 2005-10-28  Wim Taymans  <wim@fluendo.com>
3739
3740         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3741         (gst_base_transform_init):
3742         Don't leak class.
3743
3744         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3745         An EOS event marks the queue as completely filled.
3746
3747 2005-10-27  Wim Taymans  <wim@fluendo.com>
3748
3749         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3750         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3751         Some more debugging.
3752
3753         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3754         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3755         (gst_base_transform_event), (gst_base_transform_getrange),
3756         (gst_base_transform_chain):
3757         * gst/base/gstbasetransform.h:
3758         Fix debugging,
3759         Protect transform and concurrent buffer alloc with a new lock.
3760         Try not to break ABI/API.
3761
3762 2005-10-27  Wim Taymans  <wim@fluendo.com>
3763
3764         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3765         (gst_base_src_init), (gst_base_src_query),
3766         (gst_base_src_default_newsegment),
3767         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3768         (gst_base_src_send_event), (gst_base_src_event_handler),
3769         (gst_base_src_pad_get_range), (gst_base_src_loop),
3770         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3771         (gst_base_src_start), (gst_base_src_deactivate),
3772         (gst_base_src_activate_push), (gst_base_src_change_state):
3773         Move some stuff around and cleanup things.
3774
3775 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3776
3777         * gst/base/gstbasesrc.c: (gst_base_src_query):
3778           Add missing break statements.
3779
3780 2005-10-27  Wim Taymans  <wim@fluendo.com>
3781
3782         * check/gst/gstbin.c: (GST_START_TEST):
3783         An extra refcount is taken in basesrc.
3784
3785         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3786         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3787         (gst_base_src_loop):
3788         Small cleanups, check for flushing after being unlocked from the 
3789         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3790         Don't send out EOS when going to READY.
3791
3792 2005-10-27  Wim Taymans  <wim@fluendo.com>
3793
3794         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3795         (gst_base_sink_get_position):
3796         Some more debug.
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         * tools/gst-launch.c: (main):
3805         Remove old option.
3806
3807 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3808
3809         * examples/controller/audio-example.c: (main):
3810         * examples/queue/queue.c: (event_loop):
3811         * gst/base/gstbasetransform.h:
3812         * gst/gstelement.c: (gst_element_send_event):
3813         * gst/gstevent.h:
3814         * gst/gstpad.c: (gst_pad_send_event):
3815           fixing examples
3816           fixing docs typos
3817           changing log priority in error situations
3818
3819 2005-10-25  Wim Taymans  <wim@fluendo.com>
3820
3821         * gst/gstbin.c: (message_check), (bin_replace_message),
3822         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3823         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3824         (bin_query_duration_init), (bin_query_duration_fold),
3825         (bin_query_duration_done), (bin_query_generic_fold),
3826         (gst_bin_query):
3827         Some doc and debug updates.
3828         Cache previously requested query DURATION for speed. invalidate
3829         cached duration if element posts a DURATION message.
3830
3831 2005-10-25  Wim Taymans  <wim@fluendo.com>
3832
3833         * docs/design/part-TODO.txt:
3834         Update TODO.
3835
3836         * gst/gstbin.c: (message_check), (bin_replace_message),
3837         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3838         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3839         (bin_query_duration_init), (bin_query_duration_fold),
3840         (bin_query_duration_done), (bin_query_generic_fold),
3841         (gst_bin_query):
3842         Handle SEGMENT_START/DONE messages correctly.
3843         More evolved query algorithm that handles duration queries
3844         correctly.
3845
3846         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3847         (gst_element_get_state_func), (gst_element_abort_state),
3848         (gst_element_commit_state), (gst_element_lost_state):
3849         Some more debugging.
3850
3851         * gst/gstmessage.h:
3852         Added doc.
3853
3854 2005-10-25  Wim Taymans  <wim@fluendo.com>
3855
3856         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3857         Don't use invalid stream_time.
3858
3859         * gst/gstevent.c: (gst_event_new_newsegment):
3860         stream_time in newsegment cannot be undefined.
3861
3862 2005-10-24  Wim Taymans  <wim@fluendo.com>
3863
3864         * gst/gstbus.c:
3865         Doc fix.
3866
3867         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3868         (gst_queue_loop):
3869         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3870
3871 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3872
3873         * docs/libs/tmpl/gstdparam.sgml:
3874         * docs/libs/tmpl/gstdplinint.sgml:
3875         * docs/libs/tmpl/gstdpman.sgml:
3876         * docs/libs/tmpl/gstdpsmooth.sgml:
3877         * docs/libs/tmpl/gstunitconvert.sgml:
3878           these are obsolete
3879
3880 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3881
3882         * configure.ac:
3883           back to HEAD
3884
3885 === release 0.9.4 ===
3886
3887 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3888
3889         * configure.ac:
3890           releasing 0.9.4, "Tyrannosaurus Rex"
3891
3892 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3893
3894         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3895         (gst_file_sink_get_current_offset):
3896           Use fseeko() and ftello() if available. When falling back on
3897           lseek() to get the current offset, fflush() first to make sure
3898           everything is up-to-date and we get the right offset.
3899
3900 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3901
3902         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3903         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3904         * gst/gsterror.c: (_gst_stream_errors_init):
3905         * gst/gsterror.h:
3906         * gst/gstqueue.c: (gst_queue_loop):
3907         * po/POTFILES.in:
3908           remove prematurely added error category and clean up the instances
3909
3910 2005-10-21  Wim Taymans  <wim@fluendo.com>
3911
3912         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3913         (gst_base_sink_get_position), (gst_base_sink_query),
3914         (gst_base_sink_change_state):
3915         Simply set the right flag when going to playing, that's all
3916         we need to do instead of calling a function inside the object
3917         lock (that could take the lock as well and deadlock)
3918
3919 2005-10-21  Wim Taymans  <wim@fluendo.com>
3920
3921         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3922         (gst_base_src_loop):
3923         Don't warn, the peer element knows what to do best when
3924         the seek failed, it might try something else.
3925
3926 2005-10-21  Wim Taymans  <wim@fluendo.com>
3927
3928         * gst/base/gstbasesrc.c: (gst_base_src_init),
3929         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3930         Fix seeking.
3931
3932 2005-10-21  Wim Taymans  <wim@fluendo.com>
3933
3934         * docs/design/part-segments.txt:
3935         More docs.
3936
3937         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3938         Correctly set caps, even on the subbufer.
3939
3940 2005-10-21  Wim Taymans  <wim@fluendo.com>
3941
3942         * docs/gst/gstreamer-docs.sgml:
3943         * docs/gst/gstreamer-sections.txt:
3944         * gst/gstelement.h:
3945         * gst/gstevent.c:
3946         * gst/gstevent.h:
3947         * gst/gstmessage.h:
3948         * gst/gstpad.h:
3949         * gst/gstparse.h:
3950         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3951         * gst/gsttask.h:
3952         * gst/gstutils.c:
3953         * gst/gstutils.h:
3954         And 2% more doc coverage.
3955
3956 2005-10-21  Andy Wingo  <wingo@pobox.com>
3957
3958         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3959         position reporting.
3960
3961 2005-10-20  Wim Taymans  <wim@fluendo.com>
3962
3963         * gst/gsterror.c: (gst_error_get_message):
3964         * gst/gstparse.h:
3965         * gst/gstquery.h:
3966         * gst/gststructure.c:
3967         * gst/gsttrace.c:
3968         * gst/gstutils.c:
3969         More docs.
3970
3971 2005-10-20  Wim Taymans  <wim@fluendo.com>
3972
3973         * gst/gstbuffer.h:
3974         * gst/gstpad.c:
3975         * gst/gstparse.c:
3976         Another 1% more coverage.
3977
3978 2005-10-20  Wim Taymans  <wim@fluendo.com>
3979
3980         * docs/gst/gstreamer-sections.txt:
3981         * gst/gstelement.c: (gst_element_get_state_func),
3982         (gst_element_abort_state), (gst_element_commit_state),
3983         (gst_element_lost_state):
3984         * gst/gstevent.h:
3985         * gst/gstquery.c: (gst_query_set_position),
3986         (gst_query_parse_position), (gst_query_set_duration),
3987         (gst_query_parse_duration), (gst_query_new_convert):
3988         * gst/gstutils.c:
3989         Yay! 1% more docs coverage.
3990
3991 2005-10-20  Wim Taymans  <wim@fluendo.com>
3992
3993         * gst/gstpad.h:
3994         * gst/gstquery.c: (gst_query_set_position),
3995         (gst_query_parse_position), (gst_query_set_duration),
3996         (gst_query_parse_duration), (gst_query_new_convert):
3997         * gst/gstquery.h:
3998         * gst/gstutils.c: (gst_element_query_convert):
3999         * gst/gstutils.h:
4000         Docs and consistency fixes.
4001
4002 2005-10-20  Wim Taymans  <wim@fluendo.com>
4003
4004         * gst/gsttask.c:
4005         * gst/gsttask.h:
4006         More docs.
4007
4008 2005-10-20  Wim Taymans  <wim@fluendo.com>
4009
4010         * gst/gstbin.c: (message_check), (bin_replace_message),
4011         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4012         (update_degree), (gst_bin_sort_iterator_next),
4013         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
4014         Reworked the message handling a bit, cache the messages instead of
4015         only the senders. alows us to do more in the future.
4016
4017 2005-10-20  Wim Taymans  <wim@fluendo.com>
4018
4019         * docs/design/part-TODO.txt:
4020         Update TODO
4021
4022         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4023         (gst_base_sink_query):
4024         Don't use clock time to report position when in EOS.
4025
4026 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
4027
4028         * tools/gst-inspect.c: (print_interfaces),
4029         (print_element_properties_info), (print_element_info):
4030           Fix interface output with gst-inspect -a; don't print
4031           newlines after double/float properties.
4032
4033 2005-10-20  Wim Taymans  <wim@fluendo.com>
4034
4035         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4036         (gst_base_sink_query):
4037         Speed up current position calculation.
4038
4039         * gst/base/gstbasesrc.c: (gst_base_src_query),
4040         (gst_base_src_default_newsegment):
4041         Correctly set stream position in newsegment.
4042
4043         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4044         (update_degree), (gst_bin_sort_iterator_next),
4045         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4046         * gst/gstmessage.c: (gst_message_new_custom):
4047         Clean up debugging info
4048
4049         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4050         (gst_queue_loop), (gst_queue_handle_src_query):
4051         Pause task faster.
4052
4053 2005-10-19  Wim Taymans  <wim@fluendo.com>
4054
4055         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4056         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4057         Fix query handling again.
4058
4059 2005-10-19  Wim Taymans  <wim@fluendo.com>
4060
4061         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4062         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4063         * gst/base/gstbasesrc.c: (gst_base_src_query):
4064         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4065         * gst/elements/gsttypefindelement.c:
4066         (gst_type_find_handle_src_query), (find_element_get_length),
4067         (gst_type_find_element_activate):
4068         API change fix.
4069
4070         * gst/gstquery.c: (gst_query_new_position),
4071         (gst_query_set_position), (gst_query_parse_position),
4072         (gst_query_new_duration), (gst_query_set_duration),
4073         (gst_query_parse_duration), (gst_query_set_segment),
4074         (gst_query_parse_segment):
4075         * gst/gstquery.h:
4076         Bundling query position/duration is not a good idea since duration
4077         does not change much and we don't want to recalculate it for every
4078         position query, so they are separated again..
4079         Base value in segment query is not needed.
4080
4081         * gst/gstqueue.c: (gst_queue_handle_src_query):
4082         * gst/gstutils.c: (gst_element_query_position),
4083         (gst_element_query_duration), (gst_pad_query_position),
4084         (gst_pad_query_duration):
4085         * gst/gstutils.h:
4086         Updates for query API change.
4087         Added some docs here and there.
4088
4089 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4090
4091         * check/gst/gstbin.c: (GST_START_TEST):
4092         * check/gst/gstghostpad.c: (GST_START_TEST):
4093         * check/pipelines/cleanup.c: (GST_START_TEST):
4094           wait on thread to die so we can check refcount correctly
4095
4096 2005-10-18  Wim Taymans  <wim@fluendo.com>
4097
4098         * check/pipelines/stress.c: (GST_START_TEST):
4099         Make check a little more time consuming.
4100
4101 2005-10-18  Wim Taymans  <wim@fluendo.com>
4102
4103         * check/Makefile.am:
4104         * check/pipelines/stress.c: (GST_START_TEST),
4105         (simple_launch_lines_suite), (main):
4106         Small state change torture test.
4107
4108         * docs/design/part-states.txt:
4109         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4110         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4111         (gst_base_sink_change_state):
4112         Never take state lock from streaming thread, clean up ugly
4113         hacks. Unfortunatly core does not yet support nice ways to
4114         async commit state.
4115         
4116         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4117         (bin_bus_handler):
4118         Start state recalc if a STATE_DIRTY message is posted, but only
4119         on the toplevel bin.
4120
4121         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4122         (gst_element_get_state_func), (gst_element_abort_state),
4123         (gst_element_commit_state), (gst_element_lost_state),
4124         (gst_element_set_state_func), (gst_element_change_state):
4125         * gst/gstelement.h:
4126         State variables are now protected with the LOCK, the state
4127         lock is only used to serialize _set_state().
4128
4129 2005-10-18  Wim Taymans  <wim@fluendo.com>
4130
4131         * check/gst/gstbin.c: (GST_START_TEST):
4132         * check/gst/gstmessage.c: (GST_START_TEST):
4133         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4134         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4135         (bin_bus_handler):
4136         * gst/gstelement.c: (gst_element_abort_state),
4137         (gst_element_commit_state), (gst_element_lost_state):
4138         * gst/gstmessage.c: (gst_message_new_state_changed),
4139         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4140         (gst_message_new_segment_done), (gst_message_new_duration),
4141         (gst_message_parse_state_changed),
4142         (gst_message_parse_segment_start),
4143         (gst_message_parse_segment_done), (gst_message_parse_duration):
4144         * gst/gstmessage.h:
4145         * tools/gst-launch.c: (event_loop):
4146         Seriously, this is better than a previous commit as we only need
4147         to notify the fact that an element changed state in a streaming
4148         thread, marking the state of the parents dirty, hence the 
4149         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4150         message.
4151
4152 2005-10-18  Wim Taymans  <wim@fluendo.com>
4153
4154         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4155         (gst_bin_recalc_func):
4156         * gst/gstelement.c: (gst_element_set_clock),
4157         (gst_element_abort_state), (gst_element_lost_state):
4158         Cleanups, prepare for state change fixes.
4159
4160 2005-10-18  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/gstbin.h:
4163         * gst/gstelement.c: (gst_element_class_init),
4164         (gst_element_set_state), (gst_element_set_state_func):
4165         * gst/gstelement.h:
4166         Pending ABI changes.
4167         GThreadPool in GstBinClass to monitor async state changes.
4168         state_cookie in GstElement to detect concurrent gst/set state.
4169         set_state is now virtual too in case a very complicated element
4170         has to be constructed.
4171
4172 2005-10-18  Wim Taymans  <wim@fluendo.com>
4173
4174         * check/gst/gstbin.c: (GST_START_TEST):
4175         * check/gst/gstmessage.c: (GST_START_TEST):
4176         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4177         * gst/gstbin.c: (bin_bus_handler):
4178         * gst/gstelement.c: (gst_element_commit_state),
4179         (gst_element_lost_state):
4180         * gst/gstmessage.c: (gst_message_new_state_changed),
4181         (gst_message_new_segment_start), (gst_message_new_segment_done),
4182         (gst_message_new_duration), (gst_message_parse_state_changed),
4183         (gst_message_parse_segment_start),
4184         (gst_message_parse_segment_done), (gst_message_parse_duration):
4185         * gst/gstmessage.h:
4186         * tools/gst-launch.c: (event_loop):
4187         Make messages future proof.
4188         state-change gets a flag if it was a message comming from the
4189         streaming thread.
4190         segment-start/stop can also be specified in other formats.
4191         A message to notify an app that a pipeline changed playback 
4192         duration.
4193         Also fix a GstMessage leak in -launch
4194
4195 2005-10-18  Andy Wingo  <wingo@pobox.com>
4196
4197         * gst/gstelement.c (gst_element_dispose): More helpful message.
4198
4199 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4200
4201         reviewed by: <delete if not using a buddy>
4202
4203         * common/gtk-doc.mak:
4204
4205 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4206
4207         * gst/gstregistry.c: (gst_registry_scan_path_level):
4208           unref a plug-in we get that was already initialized
4209
4210 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4211
4212         * docs/gst/gstreamer-sections.txt:
4213         * docs/libs/gstreamer-libs-sections.txt:
4214         * gst/gstelement.h:
4215           add new api entries
4216           hide internal macro
4217
4218 2005-10-17  Andy Wingo  <wingo@pobox.com>
4219
4220         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4221         cleanup.
4222
4223         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4224
4225         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4226
4227         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4228         (gst_element_get_state_func): Better debug message.
4229         (gst_element_commit_state): s/INFO/DEBUG/.
4230         (gst_element_lost_state, gst_element_change_state): 
4231
4232         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4233         (gst_message_new_custom): s/INFO/LOG/.
4234
4235 2005-10-17  Michael Smith <msmith@fluendo.com>
4236
4237         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4238           Check if end time is valid using end time, not start time.
4239
4240 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4241
4242         * check/gst-libs/controller.c: (GST_START_TEST),
4243         (gst_controller_suite):
4244         * libs/gst/controller/gstcontroller.c:
4245         (gst_controlled_property_set_interpolation_mode):
4246         * libs/gst/controller/gstcontroller.h:
4247         * libs/gst/controller/gstinterpolation.c:
4248         * testsuite/controller/.cvsignore:
4249         * testsuite/controller/Makefile.am:
4250         * testsuite/controller/interpolator.c:
4251           merge controller testsuites
4252           fix broken tests
4253           remove mem-chunk from docs
4254
4255 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4256
4257         * gst/gstmemchunk.c:
4258         * gst/gstmemchunk.h:
4259         * gst/gsttrashstack.c:
4260         * gst/gsttrashstack.h:
4261           out.  get out.  you're fired.  to the Attic !
4262
4263 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4264
4265         * gst/gstcaps.c: (gst_caps_intersect):
4266           fix signedness issues in a (hopefully) correct way
4267         * gst/gstelement.c: (gst_element_pads_activate):
4268           some debugging
4269         * gst/gstobject.c: (gst_object_set_parent):
4270           some debugging
4271
4272 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4273
4274         * gst/gstvalue.h: Fix prototypes.
4275
4276 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4277
4278         * docs/gst/gstreamer-sections.txt:
4279         * gst/gst.c: (gst_version_string):
4280         * gst/gst.h:
4281         * gst/gstversion.h.in:
4282         * win32/common/libgstreamer.def:
4283           add gst_version_string ()
4284
4285 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4286
4287         * configure.ac:
4288           clean up further
4289         * gst/gst.c: (init_post):
4290         * win32/common/config.h.in:
4291           it's PLUGINDIR now
4292         * gst/gstcaps.c: (gst_caps_intersect):
4293           use gint64, the range could be bigger than a guint
4294
4295 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4296
4297         * gst/gstclock.h:
4298           document potential problem in 2038
4299
4300 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4301
4302         * gst/gstcaps.c: (gst_caps_intersect):
4303           Fix guint j diving under 0
4304
4305 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4306
4307         * configure.ac:
4308         * win32/common/config.h:
4309         * win32/common/config.h.in:
4310           check for process.h, declares getpid() on Windows
4311         * gst/gstinfo.c:
4312           include process.h if we have it
4313         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4314         * gst/gstmemchunk.h:
4315           fix signedness issues
4316         * win32/common/libgstreamer.def:
4317           fix get_type's
4318
4319 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4320
4321         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4322         fix. Because of unsigned ints, caps intersection was going nuts and
4323         trying to access structures with G_MAXUINT index. That fixes
4324         videotestsrc ! ffmpegcolorspace ! fakesink
4325         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4326         consistency.
4327
4328 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4329
4330         * configure.ac:
4331           use the gettext macro
4332         * gst/elements/gstelements.c:
4333         * gst/gst.c:
4334         * gst/indexers/gstindexers.c:
4335           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4336         * win32/common/config.h:
4337           updated config.h
4338         * win32/common/config.h.in:
4339           add the template to generate config.h
4340         * win32/common/gstenumtypes.c:
4341         * win32/common/gstversion.h:
4342           updated copies
4343
4344 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4345
4346         * gst/gst.c: (gst_version):
4347         * gst/gstversion.h.in:
4348           add the nano
4349
4350 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4351
4352         * gst/gstevent.h:
4353           Oops, add missing closing bracket.
4354
4355 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         * configure.ac:
4358           use common m4's for argument checking
4359
4360 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4361
4362         * docs/gst/gstreamer-sections.txt:
4363         * gst/gstevent.h:
4364           Add GST_EVENT_TYPE_NAME() macro.
4365
4366 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4367
4368         * gst/gstinfo.c:
4369         * gst/gstpluginfeature.c:
4370         * gst/gsttask.c:
4371           privatize more symbols
4372
4373 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4374
4375         * configure.ac:
4376           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4377           everything that uses GStreamer API should have the includes
4378
4379 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4380
4381         * docs/gst/gstreamer-sections.txt:
4382         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4383         * gst/gstvalue.h:
4384           give each value a _get_type, removes the DATA exports
4385
4386 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4387
4388         * gst/gst.c:
4389         * gst/gst.h:
4390           remove _gst_registry_auto_load, not used anymore
4391         * gst/gstbin.c: (gst_bin_get_type):
4392         * gst/gstbin.h:
4393         * gst/gstelement.c: (gst_element_get_type):
4394         * gst/gstelement.h:
4395         * gst/gstobject.c: (gst_object_get_type):
4396         * gst/gstobject.h:
4397         * gst/gstpad.c: (gst_pad_get_type):
4398         * gst/gstpad.h:
4399           make _get_type functions similar, fixes data export from library
4400
4401 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4402
4403         * configure.ac:
4404           correctly make conditionals
4405         * gst/elements/Makefile.am:
4406         * gst/elements/gstelements.c:
4407           fix typo causing fdsrc not to build
4408
4409 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4410
4411         * testsuite/Makefile.am:
4412         * testsuite/bytestream/.cvsignore:
4413         * testsuite/bytestream/Makefile.am:
4414         * testsuite/bytestream/filepadsink.c:
4415         * testsuite/bytestream/gstbstest.c:
4416         * testsuite/bytestream/test1.c:
4417         * testsuite/bytestream/testfile1:
4418         * testsuite/caps/normalisation.c:
4419         * testsuite/caps/random.c: (main):
4420         * testsuite/cleanup/.cvsignore:
4421         * testsuite/cleanup/Makefile.am:
4422         * testsuite/cleanup/cleanup1.c:
4423         * testsuite/cleanup/cleanup2.c:
4424         * testsuite/cleanup/cleanup3.c:
4425         * testsuite/cleanup/cleanup4.c:
4426         * testsuite/cleanup/cleanup5.c:
4427         * testsuite/controller/interpolator.c:
4428         * testsuite/debug/printf_extension.c: (main):
4429         * testsuite/elements/tee.c:
4430         * testsuite/negotiation/.cvsignore:
4431         * testsuite/negotiation/Makefile.am:
4432         * testsuite/negotiation/pad_link.c:
4433         * testsuite/pad/Makefile.am:
4434         * testsuite/pad/chainnopull.c:
4435         * testsuite/pad/getnopush.c:
4436         * testsuite/pad/link.c:
4437         * testsuite/refcounting/sched.c: (create_pipeline):
4438         * testsuite/registry/Makefile.am:
4439         * testsuite/registry/gst-print-formats.c:
4440         * testsuite/schedulers/.cvsignore:
4441         * testsuite/schedulers/142183-2.c:
4442         * testsuite/schedulers/142183.c:
4443         * testsuite/schedulers/143777-2.c:
4444         * testsuite/schedulers/143777.c:
4445         * testsuite/schedulers/147713.c:
4446         * testsuite/schedulers/147819.c:
4447         * testsuite/schedulers/147894-2.c:
4448         * testsuite/schedulers/147894.c:
4449         * testsuite/schedulers/Makefile.am:
4450         * testsuite/schedulers/group_link.c:
4451         * testsuite/schedulers/queue_link.c:
4452         * testsuite/schedulers/relink.c:
4453         * testsuite/schedulers/unlink.c:
4454         * testsuite/schedulers/unref.c:
4455         * testsuite/schedulers/useless_iteration.c:
4456         * testsuite/states/bin.c:
4457           clean out/remove some stuff from the testsuite directories
4458
4459 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4460
4461         * configure.ac:
4462           check for some headers
4463         * gst/elements/Makefile.am:
4464         * gst/elements/gstelements.c:
4465           don't compile fdsrc without sys/socket.h
4466         * gst/indexers/Makefile.am:
4467         * gst/indexers/gstindexers.c: (plugin_init):
4468           don't compile fileindex without mmap
4469
4470 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4471
4472         * configure.ac:
4473           reorganize
4474           clean up
4475           document more
4476           remove cruft
4477         * check/Makefile.am:
4478         * docs/gst/Makefile.am:
4479         * examples/helloworld/Makefile.am:
4480         * gst/Makefile.am:
4481         * gst/base/Makefile.am:
4482         * gst/check/Makefile.am:
4483         * gst/elements/Makefile.am:
4484         * gst/indexers/Makefile.am:
4485         * gst/parse/Makefile.am:
4486         * libs/gst/controller/Makefile.am:
4487         * libs/gst/dataprotocol/Makefile.am:
4488         * examples/helloworld/helloworld.c: (event_loop):
4489           compile fixes, though it's not being compiled currently
4490
4491 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4492
4493         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4494           Add some simple tests for the new taglist date API.
4495
4496 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4497
4498         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4499         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4500           Beautify 'last-message' output: print 'none' for buffer timestamps
4501           and durations if none is set; improve alignment with next messages.
4502
4503 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4504
4505         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4506         * gst/gstpluginfeature.h:
4507         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4508         * gst/gstregistry.h:
4509         * docs/gst/gstreamer-sections.txt:
4510           Add new API to check plugin feature version requirements.
4511
4512         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4513           Some basic tests for the above.         
4514
4515 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4516
4517         * gst/gststructure.c: (gst_structure_to_string):
4518           guard against NULL printf - happens when for example
4519           a message structure with GstClock gets serialized
4520
4521 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4522
4523         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4524           Fix presumable copy'n'pasto.
4525
4526 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4527
4528         * gst/elements/gstfakesrc.h:
4529         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4530         * gst/elements/gsttypefindelement.c:
4531           fix some signedness
4532         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4533           I wonder if this could actually write +2GB files before
4534
4535 2005-10-13  Andy Wingo  <wingo@pobox.com>
4536
4537         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4538         Fix Timmeke Waymans bug.
4539         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4540         string of the proper length to gst_caps_from_string. There's a
4541         potential for, before this fix, that this could cause someone
4542         connecting over the network to cause a segfault if the payload is
4543         not NUL-terminated.
4544
4545 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4546
4547         * docs/design/draft-push-pull.txt:
4548         * docs/design/part-overview.txt:
4549         * docs/random/TODO-pre-0.9:
4550         * docs/random/old/ChangeLog.gstreamer:
4551         * gst/base/gstpushsrc.c:
4552         * gst/gstclock.c:
4553           fixed typos
4554
4555 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4556
4557         * gst/glib-compat.c: (gst_flags_get_first_value):
4558         * gst/glib-compat.h:
4559         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4560         (gst_value_compare_double), (gst_value_serialize_flags):
4561           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4562           infinite loop
4563
4564 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4565
4566         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4567         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4568           fix up debugging
4569         * tools/gst-launch.c: (event_loop):
4570           print out clock nicely
4571
4572 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4573
4574         * docs/gst/gstreamer-sections.txt:
4575         * gst/gsttaglist.h:
4576         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4577         (gst_tag_list_get_date_index):
4578           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4579           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4580
4581 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4582
4583         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4584         (gst_collectpads_chain):
4585         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4586         in CollectData.
4587
4588 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4589
4590         * docs/gst/gstreamer-sections.txt:
4591         * gst/gst.c:
4592         * gst/gsterror.h:
4593         * tools/gst-inspect.c: (main):
4594         * tools/gst-launch.c: (main):
4595         * tools/gst-run.c: (main):
4596         * tools/gst-xmlinspect.c: (main):
4597           fix GOption context leaks
4598           doc fixes
4599
4600 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4601
4602         * gst/gstbus.c:
4603           use HAVE_UNISTD_H
4604         * win32/common/config.h:
4605           update config
4606         * win32/vs6/grammar.dsp:
4607         * win32/vs6/libgstelements.dsp:
4608         * win32/vs6/libgstreamer.dsp:
4609           update vs6 files
4610
4611 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4612
4613         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4614         * gst/base/gstbasesrc.c: (gst_base_src_query):
4615           fix more guint64<->gdouble conversions
4616
4617 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4618
4619         * Makefile.am:
4620           add win32-update target
4621         * win32/common/gstconfig.h:
4622         * win32/common/gstenumtypes.c:
4623         * win32/common/gstenumtypes.h:
4624         * win32/common/gstversion.h:
4625           add files that visual studio can't generate
4626
4627 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4628
4629         * Makefile.am:
4630           add a win32-update target
4631         * configure.ac:
4632
4633 2005-10-12  Wim Taymans  <wim@fluendo.com>
4634
4635         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4636         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4637         * gst/gstelement.c: (gst_element_commit_state),
4638         (gst_element_set_state):
4639         Protect flags with proper lock.
4640         unref provided cached clock in dispose.
4641
4642 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4643
4644         * gst/gst.c:
4645         * gst/gstminiobject.h:
4646         * gst/gstpad.h:
4647         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4648           removed unused flags from miniobject
4649           doc fixes
4650
4651 2005-10-12  Wim Taymans  <wim@fluendo.com>
4652
4653         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4654         (gst_file_sink_event), (gst_file_sink_render):
4655         Flush before seeking.
4656
4657 2005-10-12  Andy Wingo  <wingo@pobox.com>
4658
4659         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4660         always been the case.
4661
4662 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4663
4664         * check/gst/gstbin.c: (GST_START_TEST):
4665         * docs/gst/gstreamer-sections.txt:
4666         * gst/base/gstbasesink.c: (gst_base_sink_init):
4667         * gst/base/gstbasesrc.c: (gst_base_src_init),
4668         (gst_base_src_get_range), (gst_base_src_check_get_range),
4669         (gst_base_src_start), (gst_base_src_stop):
4670         * gst/base/gstbasesrc.h:
4671         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4672         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4673         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4674         (bin_bus_handler):
4675         * gst/gstbin.h:
4676         * gst/gstbuffer.h:
4677         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4678         * gst/gstbus.h:
4679         * gst/gstelement.c: (gst_element_is_locked_state),
4680         (gst_element_set_locked_state), (gst_element_commit_state),
4681         (gst_element_set_state):
4682         * gst/gstelement.h:
4683         * gst/gstindex.c: (gst_index_init):
4684         * gst/gstindex.h:
4685         * gst/gstminiobject.h:
4686         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4687         (gst_object_set_parent):
4688         * gst/gstobject.h:
4689         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4690         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4691         * gst/gstpad.h:
4692         * gst/gstpadtemplate.h:
4693         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4694         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4695         * gst/gstpipeline.h:
4696         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4697         (gst_file_index_commit):
4698         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4699         * testsuite/pad/link.c: (gst_test_src_init),
4700         (gst_test_filter_init), (gst_test_sink_init):
4701         * testsuite/states/locked.c: (main):
4702           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4703           moved bitshift from macro to enum definition
4704
4705 2005-10-12  Wim Taymans  <wim@fluendo.com>
4706
4707         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4708         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4709         (gst_file_sink_render):
4710         Some more debugging info.
4711
4712 2005-10-12  Wim Taymans  <wim@fluendo.com>
4713
4714         * docs/design/part-states.txt:
4715         * tools/gst-launch.c: (main):
4716         Some doc updates.
4717         Revert non-intentional change.
4718
4719 2005-10-12  Wim Taymans  <wim@fluendo.com>
4720
4721         * check/gst/gstbin.c: (GST_START_TEST):
4722         * check/gst/gstelement.c: (GST_START_TEST):
4723         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4724         * check/gst/gstghostpad.c: (GST_START_TEST):
4725         * check/gst/gstpipeline.c: (GST_START_TEST):
4726         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4727         * check/states/sinks.c: (GST_START_TEST):
4728         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4729         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4730         (gst_bin_remove_func), (gst_bin_get_state_func),
4731         (gst_bin_recalc_state), (gst_bin_change_state_func),
4732         (bin_bus_handler):
4733         * gst/gstelement.c: (gst_element_get_state_func),
4734         (gst_element_get_state), (gst_element_abort_state),
4735         (gst_element_commit_state), (gst_element_set_state),
4736         (gst_element_change_state), (gst_element_change_state_func):
4737         * gst/gstelement.h:
4738         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4739         (gst_pipeline_provide_clock_func):
4740         * gst/gstutils.c: (gst_element_link_pads_filtered):
4741         * tools/gst-launch.c: (main):
4742         * tools/gst-typefind.c: (main):
4743         Use GstClockTime in _get_state() instead of GTimeVal.
4744         Remove old code in gstutils.c
4745
4746 2005-10-12  Andy Wingo  <wingo@pobox.com>
4747
4748         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4749         removed.
4750
4751         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4752         there is no task. Shouldn't affect any code, as nothing in our
4753         plugins checks this return value.
4754         (gst_pad_stop_task): Also take the stream lock if the pad has no
4755         task. Docs updated.
4756
4757 2005-10-12  Wim Taymans  <wim@fluendo.com>
4758
4759         * gst/gstpad.c: (pre_activate), (post_activate),
4760         (gst_pad_activate_pull), (gst_pad_activate_push):
4761         Cleanup activation code. Reset old state if
4762         activation failed.
4763
4764 2005-10-12  Wim Taymans  <wim@fluendo.com>
4765
4766         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4767         (gst_base_sink_change_state):
4768         No need to prerol after receiving EOS.
4769
4770         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4771         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4772         * gst/elements/gstidentity.c: (gst_identity_event):
4773         Print events more verbosely.
4774
4775 2005-10-12  Wim Taymans  <wim@fluendo.com>
4776
4777         * check/Makefile.am:
4778         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4779         * check/states/sinks2.c:
4780         Moved sinks2 testcode in sinks check.
4781
4782         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4783         (gst_bin_remove_func), (gst_bin_recalc_state),
4784         (gst_bin_change_state_func), (bin_bus_handler):
4785         Fix potential race condition when _get_state() iterated over an
4786         ASYNC element right before it posted a state completion.
4787
4788         * gst/gstclock.h:
4789         Do proper cast here.
4790
4791         * gst/gstevent.c: (gst_event_new_newsegment),
4792         (gst_event_parse_newsegment):
4793         A playback rate of 0.0 is not allowed.
4794
4795 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         * win32/common/config.h:
4798         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4799         (_trewinddir), (_ttelldir), (_tseekdir):
4800         * win32/common/dirent.h:
4801         * win32/common/gtchar.h:
4802         * win32/common/libgstbase.def:
4803         * win32/common/libgstreamer.def:
4804         * win32/vs6/grammar.dsp:
4805         * win32/vs6/gst_inspect.dsp:
4806         * win32/vs6/gst_launch.dsp:
4807         * win32/vs6/gstreamer.dsw:
4808         * win32/vs6/libgstbase.dsp:
4809         * win32/vs6/libgstelements.dsp:
4810         * win32/vs6/libgstreamer.dsp:
4811           Visual Studio 6 project files, and a new common directory.
4812           Phear.
4813
4814 2005-10-11  Wim Taymans  <wim@fluendo.com>
4815
4816         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4817         (gst_base_sink_do_sync), (gst_base_sink_query),
4818         (gst_base_sink_change_state):
4819         * gst/base/gstbasesink.h:
4820         Correctly parse newsegment info.
4821
4822 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4823
4824         * gst/gst.c: (init_post):
4825           split plugin paths correctly
4826
4827 2005-10-11  Wim Taymans  <wim@fluendo.com>
4828
4829         * check/gst/gstevent.c: (GST_START_TEST):
4830         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4831         (gst_base_sink_change_state):
4832         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4833         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4834         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4835         * gst/gstevent.c: (gst_event_new_newsegment),
4836         (gst_event_parse_newsegment):
4837         * gst/gstevent.h:
4838         Added extra flag to newsegment for future API freeze.
4839         Updated check and base elements.
4840
4841 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4842
4843         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4844         (gst_collectpads_add_pad), (gst_collectpads_pop),
4845         (gst_collectpads_event), (gst_collectpads_chain):
4846         * gst/base/gstcollectpads.h: Handle EOS correctly.
4847
4848 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4849
4850         * tools/gst-launch.c: (main):
4851           more null protecting
4852
4853 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4854
4855         * gst/gst-i18n-lib.h:
4856           check for ENABLE_NLS, not GETTEXT_PACKAGE
4857         * gst/gstregistry.c: (gst_registry_add_plugin),
4858         (gst_registry_scan_path_level),
4859         (_gst_registry_remove_cache_plugins):
4860           protect possibly NULL strings
4861         * gst/parse/types.h:
4862           config.h already included before
4863         * tools/gst-inspect.c: (main):
4864           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4865           check for ENABLE_NLS, not GETTEXT_PACKAGE
4866         * tools/gst-launch.c: (main):
4867           check for ENABLE_NLS, not GETTEXT_PACKAGE
4868
4869 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4870
4871         * configure.ac:
4872           if we don't have glib, fail before testing 2.8
4873         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4874           fix a leak, should fix plugins-base testsuite
4875
4876 2005-10-11  Andy Wingo  <wingo@pobox.com>
4877
4878         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4879         take the mode we're going to as an arg. Go head and set the mode
4880         and flushing flags now, so that if the activate function starts a
4881         thread all the flags will be in the right state.
4882         (post_activate): Renamed also. Just handle making sure streaming
4883         finishes for the deactivation case, and setting the deactivated
4884         mode.
4885         (gst_pad_set_active): Complain loudly if deactivation fails.
4886         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4887         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4888         remove the terrible hack.
4889
4890 2005-10-11  Wim Taymans  <wim@fluendo.com>
4891
4892         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4893         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4894         (gst_bin_recalc_state), (gst_bin_change_state_func),
4895         (gst_bin_dispose), (bin_bus_handler):
4896         * gst/gstbin.h:
4897         Prepare to make current EOS message queue more generic.
4898         Fix some typos.
4899
4900         * gst/gstevent.c: (gst_event_new_newsegment),
4901         (gst_event_parse_newsegment):
4902         * gst/gstevent.h:
4903         Rename base to stream_time.
4904
4905         * gst/gstmessage.h:
4906         Fix typo in docs.
4907
4908 2005-10-11  Wim Taymans  <wim@fluendo.com>
4909
4910         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4911         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4912         (gst_bin_change_state_func), (bin_bus_handler):
4913         * gst/gstbin.h:
4914         Work on proper clock selection.
4915
4916 2005-10-11  Edward Hervey  <edward@fluendo.com>
4917
4918         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4919         * libs/gst/controller/gstcontroller.h:
4920         Added GList* version of _remove_properties() in order to be able to wrap
4921         it in bindings.
4922
4923 2005-10-11  Wim Taymans  <wim@fluendo.com>
4924
4925         * docs/design/part-states.txt:
4926         Some more docs.
4927
4928         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4929         (gst_bin_change_state_func), (bin_bus_handler):
4930         Doc updates. Don't distribute the same clock over and over again.
4931
4932         * gst/gstclock.c:
4933         * gst/gstclock.h:
4934         Doc updates.
4935
4936         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4937         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4938         (gst_pad_send_event):
4939         * gst/gstpad.h:
4940         Make probe emission threadsafe again.
4941         Register quarks and move _get_name() from utils.
4942         Doc updates.
4943
4944         * gst/gstpipeline.c: (gst_pipeline_class_init),
4945         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4946         Only redistribute the clock of it changed.
4947
4948         * gst/gstsystemclock.h:
4949         Doc updates. 
4950
4951         * gst/gstutils.c:
4952         * gst/gstutils.h:
4953         Moved the _flow_get_name() to GstPad.
4954
4955 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4956
4957         * check/gst-libs/gdp.c: (GST_START_TEST):
4958         * check/gst/gstcaps.c: (GST_START_TEST):
4959         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4960         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4961         (gst_dp_packet_from_caps):
4962           fix more valgrind warnings before turning up the heat
4963
4964 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4965
4966         * gst/parse/grammar.y:
4967           some cleanup before the hacking
4968
4969 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4970
4971         * gst/base/gstbasesrc.c: (gst_base_src_query):
4972           use conversions
4973         * gst/gstutils.c: (gst_guint64_to_gdouble),
4974         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4975         * gst/gstutils.h:
4976           externalize, basesrc uses it
4977           obviously the implementation needs testing
4978
4979 2005-10-10  Wim Taymans  <wim@fluendo.com>
4980
4981         * tests/sched/Makefile.am:
4982         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4983         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4984
4985 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4986
4987         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4988           apparently converting from guint64 to double is not implemented
4989           on MSVC
4990
4991 2005-10-10  Wim Taymans  <wim@fluendo.com>
4992
4993         * check/Makefile.am:
4994         * check/generic/states.c: (GST_START_TEST):
4995         * check/gst/gstbin.c: (GST_START_TEST):
4996         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4997         * check/states/sinks.c: (GST_START_TEST):
4998         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4999         (main):
5000         Check fixes, use API as stated in design docs, remove hacks.
5001
5002         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5003         (gst_base_sink_change_state):
5004         Catch stopping our task while we're shutting down.
5005
5006         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
5007         (gst_bin_remove_func), (gst_bin_get_state_func),
5008         (gst_bin_recalc_state), (gst_bin_change_state_func),
5009         (bin_bus_handler):
5010         * gst/gstbin.h:
5011         * gst/gstelement.c: (gst_element_init),
5012         (gst_element_get_state_func), (gst_element_abort_state),
5013         (gst_element_commit_state), (gst_element_lost_state),
5014         (gst_element_set_state), (gst_element_change_state),
5015         (gst_element_change_state_func):
5016         * gst/gstelement.h:
5017         New state change algorithm (see #318116)
5018
5019         * gst/gstpipeline.c: (gst_pipeline_class_init),
5020         (gst_pipeline_init), (gst_pipeline_set_property),
5021         (gst_pipeline_get_property), (do_pipeline_seek),
5022         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
5023         * gst/gstpipeline.h:
5024         Remove crude state change hacks.
5025
5026         * gst/gstutils.h:
5027         Remove crude hacks.
5028
5029         * tools/gst-launch.c: (main):
5030         Fixes for state change. Needs some more work to fully use the
5031         new stuff.
5032
5033 2005-10-10  Andy Wingo  <wingo@pobox.com>
5034
5035         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5036
5037         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5038         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5039         issue.
5040
5041 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5042
5043         * gst/gstiterator.c: (gst_iterator_new):
5044           Fix my previous commit: GTypes passed to gst_iterator_new()
5045           can be fundamental types.
5046
5047 2005-10-10  Wim Taymans  <wim@fluendo.com>
5048
5049         * gst/gstelement.c: (gst_element_iterate_pad_list),
5050         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5051         (gst_element_iterate_sink_pads):
5052         Use src/sink pads lists for the respective iterators instead
5053         of filtering.
5054
5055 2005-10-10  Andy Wingo  <wingo@pobox.com>
5056
5057         Merged in popt removal + GOption addition patch from Ronald, bug
5058         #169772.
5059
5060         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5061         GstElement macros around, remove popt-related symbols, add goption
5062         stuff.
5063
5064         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5065         
5066         * docs/gst/Makefile.am:
5067         * docs/libs/Makefile.am: No POPT_CFLAGS.
5068         
5069         * examples/manual/Makefile.am:
5070         * docs/manual/basics-init.xml: Doc updates with an example.
5071         
5072         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5073         (gst_init), (parse_one_option), (parse_goption_arg):
5074         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5075         bit of hand merging and debugging to get the GOption stuff working
5076         tho.
5077         
5078         * tests/Makefile.am:
5079         * tools/Makefile.am:
5080         * tools/gst-inspect.c: (main):
5081         * tools/gst-launch.c: (main):
5082         * tools/gst-run.c: (main):
5083         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5084
5085 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5086
5087         * gst/gstiterator.c: (gst_iterator_new):
5088           Add assertions to make sure passed GType is likely to really
5089           be a GType (as the compiler won't catch it if the size and
5090           GType arguments get mixed up, see #318447).
5091
5092 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5093
5094         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5095
5096         * gst/gstbin.c: (gst_bin_iterate_sorted):
5097           Pass GType and size arguments to gst_iterator_new() in the right
5098           order (maybe we should make _new() take the GType as first argument
5099           just like _new_list()?) (#318447).
5100           
5101
5102 2005-10-10  Wim Taymans  <wim@fluendo.com>
5103
5104         * gst/gstelement.c: (gst_element_finalize):
5105         And free the GStaticRecMutex too
5106
5107 2005-10-10  Andy Wingo  <wingo@pobox.com>
5108
5109         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5110         Allocate and free the mutex properly.
5111
5112         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5113         New macros.
5114         (GstElement): The state_lock is now recursive. Rebuild your
5115         plugins, suckers. Old macros adapted.
5116
5117         * docs/gst/gstreamer-sections.txt: Doc updates.
5118
5119         * gst/gstutils.h:
5120         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5121         (g_static_rec_cond_wait): Ported from state changes patch, while
5122         we wait on bug #317802 to be solved in a well-distributed GLib.
5123
5124         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5125         gst_element_change_state, variable name changes.
5126         (gst_element_change_state): Split out of gst_element_set_state in
5127         preparation for the state change merge. Doesn't pay attention to
5128         the 'transition' argument.
5129         (gst_element_set_state): Updates, hopefully purely cosmetic.
5130         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5131         state change patch.
5132         (gst_element_get_state_func): Renamed from get_state, cosmetic
5133         changes.
5134
5135 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5136
5137         * gst/elements/gstelements.c:
5138         * win32/GStreamer.vcproj:
5139         * win32/config.h:
5140         * win32/dirent.c: (_tseekdir):
5141         * win32/gst-inspect.vcproj:
5142         * win32/gst-launch.vcproj:
5143         * win32/gstconfig.h:
5144         * win32/gstelements.vcproj:
5145         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5146         * win32/gstreamer.def:
5147         * win32/msvc71.sln:
5148           updates for the win32 build (patch from Sebastien Moutte)
5149
5150 2005-10-10  Andy Wingo  <wingo@pobox.com>
5151
5152         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5153         gst_bin_get_state, cleaned up (but no logic changes).
5154         (bin_element_is_sink): Comment updates.
5155         (sink_iterator_filter): Remove needless cast.
5156         (gst_bin_iterate_sinks): Doc update.
5157         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5158         cleaned up (but no logic changes).
5159
5160         * check/states/sinks.c (test_src_sink): Cleanups from the state
5161         change patch.
5162         (test_livesrc_sink): Sync on the state.
5163
5164         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5165         the state change patch.
5166
5167         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5168         change patch.
5169
5170         * check/gst/gstbin.c: Merge in some style fixes and additional
5171         checks from Wim's state change patch.
5172
5173 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5174
5175         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5176         (gst_type_find_helper):
5177           Check whether we have the requested data already in our list of
5178           cached buffers before pulling a new buffer; also make the buffer
5179           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5180
5181 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5182
5183         * gst/gstcaps.c:
5184         * gst/gstevent.c:
5185           doc updates
5186         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5187           don't use long long, it's not portable.  Replacing with
5188           gint64 seems to work; let's hope no skeletons fall out of the closet.
5189
5190 2005-10-10  Andy Wingo  <wingo@pobox.com>
5191
5192         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5193
5194 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5195
5196         * docs/gst/gstreamer-sections.txt:
5197         * gst/gstevent.c:
5198         * gst/gstevent.h:
5199         * gst/gstinfo.c:
5200         * gst/gstinfo.h:
5201         * gst/gstmessage.c: (gst_message_parse_state_changed):
5202         * gst/gstpad.c:
5203         * gst/gstpad.h:
5204           more docs, fix compilation
5205
5206 2005-10-09  Philippe Khalaf <burger@speedy.org>
5207         * gst/gstmessage.c:
5208           Fixed a few forgotten variables on previous commit
5209
5210 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5211
5212         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5213           Fix evil typefind crasher: getrange() might return a short
5214           buffer at the end of a file, but gst_type_find_peek() must
5215           either return the full data as requested or NULL, but
5216           never a short buffer.
5217
5218 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5219
5220         * gst/gstmessage.c: (gst_message_new_state_changed),
5221         (gst_message_parse_state_changed):
5222         * gst/gstmessage.h:
5223           don't use "new", it's a C++ keyword
5224
5225 2005-10-08  Wim Taymans  <wim@fluendo.com>
5226
5227         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5228         * gst/gstelement.c: (gst_element_post_message):
5229         * gst/gstpipeline.c: (gst_pipeline_change_state):
5230         Small docs and debug updates.
5231
5232 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5233
5234         * docs/gst/gstreamer-sections.txt:
5235         * gst/gstelementfactory.c:
5236         * gst/gstevent.c:
5237         * gst/gsttaglist.c:
5238           more docs
5239
5240 2005-10-08  Wim Taymans  <wim@fluendo.com>
5241
5242         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5243         (gst_bin_dispose), (bin_bus_handler):
5244         Fix typos, add comments.
5245         Clear EOS list when going to PAUSED from any direction and do it
5246         in a threadsafe way.
5247         Get base time in a threadsafe way too.
5248         Fix confusing debug in the change_state function.
5249         Various other small cleanups.
5250         
5251         * gst/gstelement.c: (gst_element_post_message):
5252         Fix very verbose bus posting code.
5253
5254         * gst/gstpipeline.c: (gst_pipeline_class_init),
5255         (gst_pipeline_set_property), (gst_pipeline_get_property),
5256         (gst_pipeline_change_state):
5257         Small ARG_ -> PROP_ cleanup
5258
5259 2005-10-08  Wim Taymans  <wim@fluendo.com>
5260
5261         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5262         Do a less CPU demanding EOS check because we can.
5263
5264 2005-10-08  Wim Taymans  <wim@fluendo.com>
5265
5266         * libs/gst/dataprotocol/dataprotocol.c:
5267         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5268         (gst_dp_packet_from_event):
5269         * libs/gst/dataprotocol/dataprotocol.h:
5270         * libs/gst/dataprotocol/dp-private.h:
5271         It's about time we bump the version number.
5272         Since event types don't fit in the guint8 anymore describing
5273         the payload type, make payload type 16 bits wide.
5274
5275 2005-10-08  Wim Taymans  <wim@fluendo.com>
5276
5277         * docs/design/part-TODO.txt:
5278         * docs/design/part-clocks.txt:
5279         * docs/design/part-events.txt:
5280         * docs/design/part-gstbin.txt:
5281         * docs/design/part-gstelement.txt:
5282         * docs/design/part-gstpipeline.txt:
5283         * docs/design/part-live-source.txt:
5284         * docs/design/part-messages.txt:
5285         * docs/design/part-overview.txt:
5286         * docs/design/part-states.txt:
5287         Many doc updates.
5288
5289 2005-10-08  Wim Taymans  <wim@fluendo.com>
5290
5291         * gst/gstevent.c:
5292         * gst/gstevent.h:
5293         Fix event quark registration.
5294         Add some space between events so we can insert them in the
5295         right groups.
5296
5297 2005-10-08  Wim Taymans  <wim@fluendo.com>
5298
5299         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5300         (gst_base_sink_handle_buffer):
5301         Better log message.
5302
5303         * gst/gstbus.h:
5304         * gst/gstelement.h:
5305         More docs.
5306
5307         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5308         (gst_queue_set_property), (gst_queue_get_property):
5309         * gst/gstqueue.h:
5310         Remove old unused properties.
5311
5312 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5313         * docs/gst/gstreamer-sections.txt:
5314         * gst/gstmessage.c:
5315         * gst/gstmessage.h:
5316         * gst/gstminiobject.c:
5317         * gst/gstminiobject.h:
5318         * gst/gstobject.h:
5319         * gst/gstpad.h:
5320         * gst/gstutils.h:
5321           lots of new docs and doc fixes
5322
5323 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5324
5325         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5326         * gst/gstplugin.h:
5327         * gst/gstregistry.c: (gst_registry_lookup_locked),
5328         (gst_registry_scan_path_level):
5329         * gst/gstregistryxml.c: (load_plugin):
5330           Only ever load one plugin for a given plugin basename.
5331           This ensures correct overriding of GST_PLUGIN_PATH over
5332           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5333           system installed plugins.
5334
5335 2005-10-08  Wim Taymans  <wim@fluendo.com>
5336
5337         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5338         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5339         Prepare for doing QOS.
5340
5341 2005-10-08  Wim Taymans  <wim@fluendo.com>
5342
5343         * check/gst/gstbin.c: (GST_START_TEST):
5344         * check/pipelines/cleanup.c: (GST_START_TEST):
5345         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5346         Allow new clock message too.
5347
5348 2005-10-08  Wim Taymans  <wim@fluendo.com>
5349
5350         * gst/gstmessage.c: (gst_message_new_error),
5351         (gst_message_new_warning), (gst_message_new_tag),
5352         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5353         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5354         (gst_message_new_segment_start), (gst_message_new_segment_done),
5355         (gst_message_parse_state_changed),
5356         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5357         (gst_message_parse_new_clock):
5358         * gst/gstmessage.h:
5359         Also carry the clock in question.
5360
5361 2005-10-08  Wim Taymans  <wim@fluendo.com>
5362
5363         * gst/gstmessage.c: (gst_message_new_custom),
5364         (gst_message_new_eos), (gst_message_new_error),
5365         (gst_message_new_warning), (gst_message_new_tag),
5366         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5367         (gst_message_new_new_clock), (gst_message_new_segment_start),
5368         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5369         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5370         * gst/gstmessage.h:
5371         Clean up.
5372         Added clock related messages.
5373
5374         * gst/gstpipeline.c: (gst_pipeline_change_state):
5375         Post message when the clock changed.
5376
5377         * tools/gst-launch.c: (event_loop):
5378         Print new clock.
5379
5380 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5381
5382         * tools/gst-inspect.c: (print_element_properties_info):
5383           Can't pass NULL strings to g_print() on windows.
5384
5385 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5386
5387         * docs/Makefile.am:
5388         * docs/gst/Makefile.am:
5389         * docs/gst/gstreamer-docs.sgml:
5390         * docs/gst/running.xml:
5391         * docs/version.entities.in:
5392           add a chapter on running GStreamer.
5393           document GST_DEBUG and GST_PLUGIN* env vars
5394
5395 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5396
5397         * Makefile.am:
5398           remove include dir
5399         * configure.ac:
5400           remove PLUGINS_BUILDDIR stuff
5401         * gst/gst.c: (init_post):
5402           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5403         * idiottest.mak:
5404           remove, it was condescending and not needed
5405
5406 2005-10-08  Wim Taymans  <wim@fluendo.com>
5407
5408         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5409         (gst_base_sink_handle_object), (gst_base_sink_event),
5410         (gst_base_sink_wait), (gst_base_sink_handle_event),
5411         (gst_base_sink_change_state):
5412         * gst/base/gstbasesink.h:
5413         Repost EOS message while going to PLAYING if still EOS.
5414         Make sure that when receiving a FLUSH_START we don't attempt
5415         to sync on the clock anymore.
5416
5417 2005-10-08  Wim Taymans  <wim@fluendo.com>
5418
5419         * tools/gst-launch.c: (event_loop):
5420         Better message printout.
5421
5422 2005-10-08  Wim Taymans  <wim@fluendo.com>
5423
5424         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5425         (gst_bin_child_proxy_get_children_count):
5426         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5427         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5428         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5429         (gst_child_proxy_set_valist):
5430         * gst/parse/grammar.y:
5431         Make ChildProxy threadsafe and fix mem leaks.
5432
5433 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5434
5435         * gst/gst.c: (init_post):
5436           debug the GST_PLUGIN_ env vars
5437
5438 2005-10-08  Wim Taymans  <wim@fluendo.com>
5439
5440         * check/gst/gstbin.c: (GST_START_TEST):
5441         * check/gst/gstmessage.c: (GST_START_TEST):
5442         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5443         * gst/gstelement.c: (gst_element_commit_state),
5444         (gst_element_lost_state):
5445         * gst/gstmessage.c: (gst_message_new_state_changed),
5446         (gst_message_parse_state_changed):
5447         * gst/gstmessage.h:
5448         * tools/gst-launch.c: (event_loop):
5449         Added extra field to STATE_CHANGE message with the pending
5450         state, which will be different from the new state soon.
5451
5452 2005-10-08  Wim Taymans  <wim@fluendo.com>
5453
5454         * gst/gstbus.c: (gst_bus_pop):
5455         * gst/gstclock.c:
5456         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5457         Small cleanups and doc updates.
5458
5459 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5460
5461         * gst/gst.c: (init_pre):
5462         * gst/gstbin.c: (gst_bin_add_func):
5463           log distributing clocks and base time
5464         * gst/gstregistry.c: (gst_registry_add_plugin),
5465         (gst_registry_scan_path_level), (gst_registry_scan_path):
5466           clean up the debugging output a little
5467         * gst/gstutils.c: (gst_element_state_get_name):
5468           warn about a memleak (I've actually seen this be used, though
5469           it was probably a bug)
5470
5471 2005-10-07  Wim Taymans  <wim@fluendo.com>
5472
5473         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5474         (gst_base_src_init), (gst_base_src_default_newsegment),
5475         (gst_base_src_newsegment), (gst_base_src_do_seek),
5476         (gst_base_src_loop), (gst_base_src_start):
5477         * gst/base/gstbasesrc.h:
5478         Make the newsegment event customizable by subclasses.
5479
5480 2005-10-07  Wim Taymans  <wim@fluendo.com>
5481
5482         * gst/gstevent.c: (gst_event_new_buffersize),
5483         (gst_event_parse_buffersize):
5484         * gst/gstevent.h:
5485         New event for future idea.
5486
5487 2005-10-07  Andy Wingo  <wingo@pobox.com>
5488
5489         * gst/gstelement.c (gst_element_post_message): Doc update.
5490
5491         * docs/gst/gstreamer-sections.txt: Update.
5492
5493         * gst/gstmessage.c (gst_message_new_application): Made into a
5494         function like honest API calls.
5495         (gst_message_new_element): New message type.
5496
5497         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5498
5499         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5500         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5501         times.
5502
5503         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5504         NO_PREROLL from gst_element_change_state to fall through.
5505
5506 2005-10-07  Wim Taymans  <wim@fluendo.com>
5507
5508         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5509         (gst_ghost_pad_do_activate_push):
5510         Activating a ghostpad with no internal pad in push mode
5511         is ok.
5512
5513 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5514
5515         * gst/gstobject.h:
5516           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5517           Fixes compilation on Windows.
5518
5519 2005-10-07  Michael Smith <msmith@fluendo.com>
5520
5521         * tools/gst-inspect.c:
5522           Print out feature and plugin count at the end when printing out
5523           all features.
5524
5525 2005-10-04  Michael Smith <msmith@fluendo.com>
5526
5527         * gst/gsterror.c: (_gst_stream_errors_init):
5528           Add another error string used in a few existing plugins.
5529
5530         * gst/gstplugin.c:
5531         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5532         * tools/gst-inspect.c: (print_element_info):
5533           When a feature disappears from a plugin (and the feature exists in
5534           the cached registry file), things went horribly wrong. This isn't a
5535           complete fix, we should actually be removing the 'missing' features
5536           from the features list when we load the actual plugin. That's not
5537           yet implemented. 
5538
5539 2005-10-04  Johan Dahlin  <johan@gnome.org>
5540
5541         * check/gst/gstiterator.c: (GST_START_TEST):
5542         * gst/gstbin.c: (gst_bin_iterate_elements),
5543         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5544         * gst/gstelement.c: (gst_element_iterate_pads):
5545         * gst/gstformat.c: (gst_format_iterate_definitions):
5546         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5547         (gst_iterator_new_list), (gst_iterator_filter):
5548         * gst/gstiterator.h:
5549         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5550         Add a GType to GstIterator, update callsites and tests.
5551
5552 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5553
5554         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5555           give events a chance to be handled by event probes when the pad
5556           is not linked
5557
5558 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5559
5560         * gst/gstevent.c: (gst_event_type_get_name),
5561         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5562         * gst/gstevent.h:
5563           add string representations for event types
5564
5565 2005-10-06  Wim Taymans  <wim@fluendo.com>
5566
5567         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5568         Don't use NULL pointers.
5569
5570 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5571
5572         * gst/gst_private.h:
5573         * gst/gstbus.c:
5574         * gst/gstelement.c:
5575         * gst/gstinfo.c:
5576         * gst/gstpluginfeature.c:
5577           widen the debug category in output to fit the biggest one we have
5578           add a bus category and use it
5579           play with the colors
5580           fix up some categories
5581
5582 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5583
5584         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5585           add push activation of sink ghost pads.
5586           Andye, please verify
5587
5588 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5589
5590         * gst/gstutils.c: (gst_element_link_pads):
5591           fix a bug in the case where neither element has a pad
5592         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5593           add a test for that case
5594
5595 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5596
5597         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5598           emit have-data before checking for peers.  This allows
5599           for probe handlers to connect elements.  This helps autopluggers.
5600         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5601         (gst_pad_suite):
5602           add six checks, linked/unlinked with no/true/false probe
5603
5604 2005-10-04  Wim Taymans  <wim@fluendo.com>
5605
5606         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5607         (gst_fake_sink_event), (gst_fake_sink_preroll),
5608         (gst_fake_sink_render), (gst_fake_sink_change_state):
5609         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5610         (gst_fake_src_get_property), (gst_fake_src_create),
5611         (gst_fake_src_stop):
5612         * gst/elements/gstidentity.c: (gst_identity_stop):
5613         Protect last_message with lock.
5614
5615 2005-10-04  Edward Hervey  <edward@fluendo.com>
5616
5617         * gst/gstformat.h: 
5618         Added precision in the comments for GST_FORMAT_DEFAULT
5619
5620 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5621
5622         * tools/gst-launch.c: (main):
5623           Don't try to run erroneous pipelines.
5624
5625 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5626
5627         * gst/gstbus.c: We don't need this header.
5628
5629 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5630
5631         * configure.ac:
5632           back to development
5633
5634 === release 0.9.3 ===
5635
5636 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5637
5638         * README:
5639         * configure.ac:
5640           Releasing 0.9.3, "Unregistered"
5641
5642 2005-10-03  Andy Wingo  <wingo@pobox.com>
5643
5644         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5645         whereby calling a pad's activatepush() function can start a thread
5646         that starts to push or pull before the pad gets the FLUSHING flag
5647         unset. Hack around it by holding the stream lock until the flag is
5648         set. Need to replace this with a proper solution. Together with
5649         the ghost pad fixes, this fixes mp3 playing/tagreading.
5650
5651         * docs/design/part-gstghostpad.txt: Add a note about activation of
5652         proxy pads outside of ghost pads.
5653
5654         * gst/gstghostpad.c: Implement the ghost pad activation design.
5655
5656 2005-10-02  Andy Wingo  <wingo@pobox.com>
5657
5658         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5659         It is volatile, after all.
5660
5661         * docs/design/part-gstghostpad.txt: Flesh out activation with
5662         ghost pads.
5663
5664         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5665         GST_DEBUG_FUNCPTR.
5666
5667 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5668
5669         * configure.ac:
5670           Fix (unused) AM_CONDITIONAL tests.
5671
5672 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5673
5674         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5675
5676         * gst/gstutils.c: (gst_pad_query_convert):
5677           Add assertion that makes sure src_val is >=0, just like
5678           gst_query_new_convert() has. (#315895)
5679
5680 2005-09-30  Edward Hervey  <edward@fluendo.com>
5681
5682         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5683         Let's not iterate pads we're not interested in, it avoids getting 
5684         sky-high refcounts on sinkpad.
5685
5686 2005-09-30  Wim Taymans  <wim@fluendo.com>
5687
5688         * gst/gstelement.c: (gst_element_set_state),
5689         (gst_element_change_state):
5690         Small tweak, element in ASYNC remains ASYNC.
5691
5692 2005-09-30  Wim Taymans  <wim@fluendo.com>
5693
5694         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5695         Only error is an error.
5696
5697         * gst/gstbin.c: (gst_bin_change_state):
5698         Better debugging.
5699
5700         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5701         Also call pad_block in pad alloc.
5702
5703         * gst/gstutils.c: (gst_flow_get_name):
5704         Better debugging.
5705
5706 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5707
5708         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5709         (gst_base_src_get_range):
5710           Fix documentation typos. Add some more debug info.
5711
5712 2005-09-29  David Schleef  <ds@schleef.org>
5713
5714         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5715           more end-user friendly.
5716         * tools/gst-inspect.c: (main): Check if command-line argument is
5717           a file and attempt to load that file as a plugin.
5718
5719 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5720
5721         * check/gst/gstbin.c:
5722         * check/states/sinks.c:
5723           fix tests for the new warning
5724         * check/gst/gstpipeline.c:
5725           add a test for pipeline and bus interaction
5726         * gst/gstelement.c:
5727           elements should be NULL if they get disposed; add a warning if not
5728
5729 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5730
5731         * gst/gstobject.c:
5732           for 2.6 refcounting, make debug log more correct by printing
5733           the actual refcounts at the time of swap (Wim)
5734
5735 2005-09-29  Andy Wingo  <wingo@pobox.com>
5736
5737         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5738         removes signal watches previously added via
5739         gst_bus_add_signal_watch.
5740         (gst_bus_add_signal_watch): Don't return the source id, just store
5741         it on the bus if there wasn't an id already.
5742
5743         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5744         add_signal_watch and remove_signal_watch.
5745
5746 2005-09-29  Edward Hervey  <edward@fluendo.com>
5747
5748         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5749         Better if we actually iterate the list :)
5750
5751 2005-09-29  Wim Taymans  <wim@fluendo.com>
5752
5753         * check/gst/gstbin.c: (GST_START_TEST):
5754         Change for new bus API.
5755
5756         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5757         (send_messages), (GST_START_TEST), (gstbus_suite):
5758         Change for new bus signal API.
5759
5760         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5761         (gst_bus_source_prepare), (gst_bus_source_check),
5762         (gst_bus_create_watch), (gst_bus_add_watch_full),
5763         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5764         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5765         * gst/gstbus.h:
5766         Remove support for multiple GSources operating on different
5767         message types as it is too complex and unneeded when using
5768         signals.
5769         Added support for receiving signals from the bus.
5770
5771 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5772
5773         * docs/libs/tmpl/gstdataprotocol.sgml:
5774         * docs/manual/advanced-dataaccess.xml:
5775         * gst/elements/gstcapsfilter.c:
5776         * gst/gstutils.c:
5777           rename filter-caps to caps property
5778
5779 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5780
5781         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5782           More robust fraction string parsing.
5783
5784         * docs/pwg/appendix-porting.xml:
5785           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5786
5787 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5788
5789         * gst/gstcaps.c: (gst_caps_do_simplify):
5790           Thou shalt not free a structure and then continue using it
5791           in the next loop iteration.
5792
5793         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5794         (gst_caps_suite):
5795           Add test case for caps simplification.
5796
5797 2005-09-29  Wim Taymans  <wim@fluendo.com>
5798
5799         * check/gst/gstbin.c: (GST_START_TEST):
5800         Oops.
5801
5802 2005-09-29  Wim Taymans  <wim@fluendo.com>
5803
5804         * check/gst/gstbin.c: (GST_START_TEST):
5805         Add bus to bin.
5806
5807         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5808         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5809         (find_element), (gst_bin_sort_iterator_next),
5810         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5811         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5812         (gst_bin_change_state), (gst_bin_dispose):
5813         A bin does not have a bus, it gets the bus from the parent.
5814
5815         * gst/gstelement.c: (gst_element_requires_clock),
5816         (gst_element_provides_clock), (gst_element_is_indexable),
5817         (gst_element_is_locked_state), (gst_element_change_state),
5818         (gst_element_set_bus_func):
5819         Small cleanups.
5820
5821         * gst/gstpipeline.c: (gst_pipeline_class_init),
5822         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5823         The pipeline provides a bus.
5824
5825 2005-09-28  Johan Dahlin  <johan@gnome.org>
5826
5827         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5828         gst_structure_get_enum instead of gst_structure_get_int
5829
5830         * gst/gststructure.c (gst_structure_get_enum): Impl.
5831
5832         * gst/gststructure.h (gst_structure_get_enum): Add
5833
5834         * docs/gst/gstreamer-sections.txt: Ditto
5835
5836         * gst/gstmessage.c (gst_message_new_state_changed): Use
5837         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5838         which does introspection.
5839         Reviewed by Christian Schaller
5840
5841 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5842
5843         * gst/gstinfo.c: (gst_debug_log_default):
5844           don't do dummy g_strdup()s
5845         * libs/gst/controller/gstcontroller.c:
5846         (on_object_controlled_property_changed),
5847         (gst_controlled_property_new), (gst_controller_new_valist),
5848         (gst_controller_new_list),
5849         (gst_controller_remove_properties_valist), (gst_controller_set),
5850         (gst_controller_get), (gst_controller_sync_values),
5851         (gst_controller_get_value_array), (_gst_controller_class_init),
5852         (gst_controller_get_type):
5853         * libs/gst/controller/gstcontroller.h:
5854         * libs/gst/controller/gstinterpolation.c:
5855         (gst_controlled_property_find_timed_value_node):
5856           convert // to /**/ comments
5857
5858 2005-09-28  Wim Taymans  <wim@fluendo.com>
5859
5860         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5861         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5862         (gst_bus_sync_signal_handler):
5863         * gst/gstbus.h:
5864         Added async-message and sync-message signals to the bus.
5865         Added helper BusFunc to emit signals for all posted messages.
5866
5867         * gst/gstmessage.c: (gst_message_type_get_name),
5868         (gst_message_type_to_quark), (gst_message_get_type):
5869         * gst/gstmessage.h:
5870         Register quarks for message names.
5871
5872 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5873
5874         * docs/libs/gstreamer-libs-sections.txt:
5875         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5876         (gst_controller_new_list):
5877         * libs/gst/controller/gstcontroller.h:
5878           added another constructor for language bindings
5879
5880 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5881
5882         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5883           add another check
5884         * gst/gstbus.c:
5885           add some doc
5886         * gst/gstinfo.c: (_gst_debug_init):
5887           slightly more readable color for refcount debugging
5888
5889 2005-09-28  Wim Taymans  <wim@fluendo.com>
5890
5891         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5892         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5893         (find_element), (gst_bin_sort_iterator_next),
5894         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5895         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5896         (gst_bin_change_state), (gst_bin_dispose):
5897         Small doc fixes. get_clock -> provide_clock.
5898
5899         * gst/gstelement.c: (gst_element_class_init),
5900         (gst_element_provides_clock), (gst_element_provide_clock),
5901         (gst_element_get_clock), (gst_element_commit_state),
5902         (gst_element_lost_state):
5903         * gst/gstelement.h:
5904         Make get/set_clock() symetric. Add provide_clock vmethod since
5905         that is actually what this function does.
5906
5907         * gst/gstpipeline.c: (gst_pipeline_class_init),
5908         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5909         (gst_pipeline_get_clock):
5910         get_clock -> provide_clock.
5911
5912 2005-09-28  Andy Wingo  <wingo@pobox.com>
5913
5914         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5915         lieu of real docs...
5916
5917         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5918
5919 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5920
5921         * gst/elements/gstcapsfilter.c:
5922         * gst/elements/gstfakesink.c:
5923         * gst/elements/gstfakesrc.c:
5924         * gst/elements/gstfdsink.c:
5925         * gst/elements/gstfdsrc.c:
5926         * gst/elements/gstfilesink.c:
5927         * gst/elements/gstfilesrc.c:
5928         * gst/elements/gstidentity.c:
5929         * gst/elements/gsttee.c:
5930         * gst/elements/gsttypefindelement.c:
5931           Make element details static.
5932
5933 2005-09-28  Wim Taymans  <wim@fluendo.com>
5934
5935         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5936         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5937         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5938         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5939         (gst_bin_change_state), (gst_bin_dispose):
5940         Some documentation updates.
5941         Clean up dispose handlers.
5942
5943         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5944         * gst/gstpad.c: (gst_pad_dispose):
5945         Clean up dispose handler.
5946
5947         * gst/gstpipeline.c: (gst_pipeline_change_state):
5948         Removed spurious UNLOCK.
5949
5950 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5951
5952         * docs/gst/gstreamer-sections.txt:
5953         * gst/base/gstbasesrc.h:
5954         * gst/gstelement.h:
5955         * gst/gstevent.h:
5956         * gst/gstobject.h:
5957         * gst/gstpad.h:
5958         * gst/gstpipeline.c:
5959         * gst/gstpipeline.h:
5960         * gst/gstutils.h:
5961         * gst/gstxml.h:
5962           added two new functions to the docs
5963                 documents all undocumented GstXXXFlags
5964                 completed some incomplete docs 
5965
5966 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5967
5968         * gst/gstbin.c: (gst_bin_dispose):
5969         * gst/gstelement.c: (gst_element_dispose):
5970           remove now useless and leaky resurrection code in dispose
5971         * gst/base/gstbasesrc.c: (gst_base_src_init):
5972         * gst/gstelementfactory.c: (gst_element_factory_create):
5973         * gst/gstobject.c: (gst_object_set_parent):
5974           add some debugging
5975
5976 2005-09-27  Wim Taymans  <wim@fluendo.com>
5977
5978         * docs/design/part-TODO.txt:
5979         Update TODO.
5980
5981         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5982         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5983         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5984         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5985         (gst_bin_change_state):
5986         * gst/gstelement.h:
5987         Remove element variable, we keep element info in the iterator now.
5988
5989 2005-09-27  Andy Wingo  <wingo@pobox.com>
5990
5991         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5992         values.
5993
5994 2005-09-27  Wim Taymans  <wim@fluendo.com>
5995
5996         * check/gst/gstbin.c: (GST_START_TEST):
5997         Enable check that works now.
5998
5999         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
6000         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
6001         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
6002         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
6003         (gst_bin_change_state):
6004         * gst/gstbin.h:
6005         Redid the state change algorithm using a topological sort algo.
6006         Handles all cases correctly.
6007         Exposed iterator for state change order.
6008
6009         * gst/gstelement.h:
6010         Temp storage for state changes. Need to get rid of this soon.
6011
6012 2005-09-27  Wim Taymans  <wim@fluendo.com>
6013
6014         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
6015         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
6016         (link_fold_func), (gst_pad_proxy_setcaps):
6017         Leak fixes, the fold functions need to unref the passed object and
6018         _get_parent_*() returns ref to parent.
6019
6020 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6021
6022         * check/gst/gstbuffer.c: (test_make_writable):
6023           Plug leak in test case and fix 'make check-valgrind'
6024
6025 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6026
6027         * gst/gstbuffer.c: (gst_subbuffer_init):
6028           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6029           works correctly in all circumstances (we could have just copied
6030           the parent buffer's readonly flag, but conceptually it seems
6031           cleaner to mark all subbuffers as read-only). (based on patch
6032           by Alessandro Decina, #314710).
6033         
6034         * check/gst/gstbuffer.c: (create_read_only_buffer),
6035         (test_make_writable), (test_subbuffer_make_writable),
6036         (gst_test_suite):
6037           Add some tests for gst_buffer_make_writable().
6038
6039 2005-09-27  Wim Taymans  <wim@fluendo.com>
6040
6041         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6042         use gst_object_has_ancestor().
6043
6044         * gst/gstobject.c: (gst_object_has_ancestor):
6045         * gst/gstobject.h:
6046         gst_object_has_ancestor() copied from gstbin.c as it is a
6047         usefull function.
6048
6049         * tests/instantiate/create.c: (create_all_elements):
6050         * tests/lat.c: (handoff_src), (handoff_sink):
6051         * tests/sched/runxml.c: (main):
6052         * tests/seeking/seeking1.c: (main):
6053         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6054         (main):
6055         Fix compilation of some tests.
6056
6057 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6058
6059         * gst/gsterror.h:
6060           Remove comment. GST_TYPE_G_ERROR is here to stay,
6061           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6062           (#316961, #300610).
6063
6064 2005-09-26  Wim Taymans  <wim@fluendo.com>
6065
6066         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6067         Added check that shows error in state change order.
6068
6069 2005-09-26  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/gstbin.c: (gst_bin_change_state):
6072         Make state change function use 3 queues again, we were
6073         adding elements in the wrong order.
6074
6075         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6076         Some debug info,
6077
6078         * gst/gstpad.c: (gst_pad_dispose):
6079         Added some debug info first.
6080
6081 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6082
6083         * docs/design/draft-push-pull.txt:
6084         * docs/design/part-events.txt:
6085         * docs/design/part-overview.txt:
6086         * docs/design/part-scheduling.txt:
6087           Replace all _pull_region() with _pull_range()
6088           
6089 2005-09-26  Andy Wingo  <wingo@pobox.com>
6090
6091         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6092
6093         * check/gst-libs/controller.c: Update for controller api change.
6094
6095         * configure.ac: 
6096         * tests/Makefile.am:
6097         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6098         over by GLib bug 118439.
6099         
6100         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6101         routines to a function.
6102
6103         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6104
6105         * libs/gst/controller/gsthelper.c:
6106         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6107         (gst_object_sync_values): Renamed from sink_values. Ugh.
6108
6109         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6110
6111         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6112         Renamed from controller_key, as it is exported.
6113
6114         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6115
6116 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6117
6118         * gst/Makefile.am:
6119         * gst/gst.h:
6120         * gst/gstpad.h:
6121         * gst/gstpadtemplate.h:
6122         * gst/gstquery.c:
6123         * gst/gstquery.h:
6124         * gst/gstqueryutils.c:
6125         * gst/gstqueryutils.h:
6126           remove queryutils headers after moving the two used functions
6127           to gstquery.  also fixes build problem for gstsiddec
6128
6129 2005-09-26  Michael Smith <msmith@fluendo.com>
6130
6131         * tools/gst-launch.1.in:
6132         Correct documentation in manpage of debug syntax
6133
6134 2005-09-26  Wim Taymans  <wim@fluendo.com>
6135
6136         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6137         (gst_base_src_is_seekable), (gst_base_src_change_state):
6138         Some more debugging info.
6139
6140 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6141
6142         * docs/gst/gstreamer-sections.txt:
6143         * gst/base/gstbasetransform.h:
6144         * gst/gstindex.h:
6145           added more docs
6146
6147 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6148
6149         * docs/gst/.cvsignore:
6150         * docs/gst/tmpl/.cvsignore:
6151         * docs/gst/tmpl/gstpipeline.sgml:
6152         * docs/gst/tmpl/gstplugin.sgml:
6153         * gst/gstpipeline.c:
6154         * gst/gstplugin.c:
6155         * gst/gstplugin.h:
6156           inlined the last two docs files
6157           removed the tmpl directory from cvs (no more conflicts here!)
6158
6159 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6160
6161         * docs/gst/gstreamer-sections.txt:
6162         * docs/gst/tmpl/.cvsignore:
6163         * docs/gst/tmpl/gstpad.sgml:
6164         * docs/gst/tmpl/gstpadtemplate.sgml:
6165         * gst/Makefile.am:
6166         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6167         (gst_pad_finalize), (gst_pad_set_pad_template):
6168         * gst/gstpad.h:
6169         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6170         (gst_pad_template_class_init), (gst_pad_template_init),
6171         (gst_pad_template_dispose), (name_is_valid),
6172         (gst_static_pad_template_get), (gst_pad_template_new),
6173         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6174         (gst_pad_template_pad_created):
6175         * gst/gstpadtemplate.h:
6176           inlined two more docs
6177           factored gstpadtemplate out of gstpad
6178
6179 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6180
6181         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6182         (test_children_state_change_order_semi_sink):
6183           Fix test case: we can't rely on a fixed state change order when
6184           going from READY => PAUSED because the sink might commit its 
6185           new state first when the first buffer created by the source 
6186           reaches the sink before the source has finished its change state.
6187           (Test case still fails at times, see #316856, comment 5 onwards)
6188
6189 2005-09-24  Wim Taymans  <wim@fluendo.com>
6190
6191         * docs/design/part-events.txt:
6192         * docs/design/part-gstbus.txt:
6193         * docs/design/part-gstpipeline.txt:
6194         * docs/design/part-messages.txt:
6195         * docs/design/part-overview.txt:
6196         * docs/design/part-segments.txt:
6197         * gst/gstbin.c:
6198         * gst/gstbuffer.c:
6199         * gst/gstclock.c:
6200         * gst/gstelement.c:
6201         * gst/gstevent.c:
6202         * gst/gstfilter.c:
6203         * gst/gstiterator.c:
6204         Various documentation updates.
6205
6206 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6207
6208         * gst/gstclock.h:
6209           Well, that's embarassing.  Luckily we weren't using
6210           GST_CLOCK_DIFF anywhere.
6211
6212 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6213
6214         * common/gtk-doc.mak:
6215           don't fail on building XML, FC4 slave shows a bunch of doc
6216           missing bits that I don't get
6217         * gst/gstpad.c:
6218         * gst/gstpipeline.c:
6219         * gst/gststructure.c:
6220           some doc updates
6221
6222 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6223
6224         * docs/design/part-gstbin.txt:
6225         * docs/design/part-gstbus.txt:
6226         * gst/gstbus.c:
6227           Add blurb about how the bus goes into flushing mode and
6228           drops all messages when its bin goes from READY into NULL 
6229           state.
6230
6231 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6232
6233         * docs/gst/gstreamer-sections.txt:
6234         * gst/gststructure.c: (gst_structure_get_clock_time):
6235         * gst/gststructure.h:
6236           add a method to get a GstClockTime out of a structure
6237
6238 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6239
6240         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6241         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6242           Added test to check state change order in bins (can still be made
6243           to fail here under heavy disk load; bails out with 'Push on pad
6244           fakesink:sink0, but it was not activated in push mode').
6245
6246         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6247           Fix state change order when there is only a semi sink (#316856)
6248
6249         * gst/gstbus.c: (gst_bus_class_init):
6250           Use _class_peek_parent(), not _class_ref(); fix docs to say
6251           'default main context' instead of 'mainloop' where that is
6252           what's meant.
6253
6254         * gst/gstelement.c: (gst_element_commit_state),
6255         (gst_element_set_state):
6256           Fix typos in debug messages
6257
6258 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6259
6260         * docs/README:
6261         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6262         * gst/gstpluginfeature.c:
6263         * gst/gstutils.c:
6264           various doc updates
6265         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6266           change an assert into an error until it gets fixed properly
6267
6268 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6269
6270         * docs/gst/gstreamer-sections.txt:
6271         * docs/gst/tmpl/.cvsignore:
6272         * docs/gst/tmpl/gstelement.sgml:
6273         * docs/gst/tmpl/gstinfo.sgml:
6274         * docs/gst/tmpl/gstobject.sgml:
6275         * gst/gstelement.c:
6276         * gst/gstelement.h:
6277         * gst/gstinfo.c:
6278         * gst/gstinfo.h:
6279         * gst/gstobject.c: (gst_object_class_init):
6280         * gst/gstobject.h:
6281           inlined 3 more biiiig doc files and added some missing docs on the fly
6282
6283 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6284
6285         * check/gst/.cvsignore:
6286         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6287         * gst/gstregistryxml.c: (load_plugin),
6288         (gst_registry_xml_save_plugin):
6289           put back source in registry.  add checks for find_plugin.
6290         * testsuite/states/bin.c: (assert_state), (empty_bin),
6291         (test_adding_one_element), (main):
6292         * testsuite/states/locked.c: (main):
6293           some compile/run fixes
6294
6295 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6296
6297         * check/gst/gstvalue.c: (GST_START_TEST):
6298           fix leaks in the test itself
6299
6300 2005-09-22  Wim Taymans  <wim@fluendo.com>
6301
6302         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6303         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6304         (gst_base_sink_query):
6305         Prepare for more accurate position reporting and query
6306         handling.
6307
6308         * gst/gstelement.c: (gst_element_send_event),
6309         (gst_element_set_state):
6310         Add some comment.
6311
6312 2005-09-22  Wim Taymans  <wim@fluendo.com>
6313
6314         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6315         (gst_query_parse_segment):
6316         * gst/gstquery.h:
6317         More documentation.
6318         Add segment query for future use.
6319
6320 2005-09-22  Wim Taymans  <wim@fluendo.com>
6321
6322         * gst/gstbin.c: (gst_bin_add_func):
6323         Some more debug info.
6324
6325         * gst/gstelement.c: (gst_element_send_event):
6326         Simplify send_event
6327
6328         * gst/gstelement.h:
6329         Don't know how flags got broken.
6330
6331         * gst/gstquery.h:
6332         Added new query.
6333
6334 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6335
6336         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6337           Add simplistic test suite for GST_TYPE_DATE serialisation and
6338           deserialisation.
6339
6340 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6341
6342         * docs/gst/gstreamer-sections.txt:
6343         * gst/gststructure.c: (gst_structure_set_valist),
6344         (gst_structure_get_date):
6345         * gst/gststructure.h:
6346         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6347         (gst_date_copy), (gst_value_compare_date),
6348         (gst_value_serialize_date), (gst_value_deserialize_date),
6349         (gst_value_transform_date_string),
6350         (gst_value_transform_string_date), (_gst_value_initialize):
6351         * gst/gstvalue.h:
6352           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6353           bunch of utility functions along with a hack that checks that
6354           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6355           is required. Part of the grand scheme in #170777.
6356
6357 2005-09-22  Andy Wingo  <wingo@pobox.com>
6358
6359         * gst/gstconfig.h.in: Psych out gtk-doc.
6360
6361         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6362
6363         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6364
6365         * tools/gst-inspect.c (print_element_list): Plug some
6366         inconsequential leaks.
6367
6368         * gst/gstregistry.c (gst_registry_get_default): Doc.
6369
6370         * check/gst/gstplugin.c: 
6371         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6372         * gst/gstelementfactory.c (gst_element_factory_create): 
6373         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6374         refcount changes.
6375
6376         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6377         (gst_plugin_feature_load): Doc, don't eat refs.
6378
6379         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6380         (gst_plugin_list_free): Doc.
6381         (gst_plugin_load_file): Doc updates.
6382
6383         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6384         accessors returning refcounted objects, return a ref.
6385
6386         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6387         accessor for caps. IDEMPOTENCE. Oh yes.
6388
6389 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6390
6391         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6392
6393         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6394         (_gst_debug_register_funcptr):
6395           Add mutex to serialise access to the hash table with
6396           the function pointer => function name string mapping;
6397           make that hash table static scope (#316809).
6398
6399         * gst/registries/.cvsignore:
6400           Remove left-over file.
6401
6402 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6403
6404         * docs/pwg/appendix-porting.xml:
6405           And something about newsegment events and caps-on-buffers to
6406           the porting guide (feel free to improve).
6407
6408 2005-09-21  Andy Wingo  <wingo@pobox.com>
6409
6410         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6411         data and event probes on the same pad.
6412         (test_buffer_probe_once): Test that removing probes from within
6413         the probe functions works.
6414
6415 2005-09-21  Andy Wingo  <wingo@pobox.com>
6416
6417         * check/gst/gstutils.c: New file.
6418         (test_buffer_probe_n_times): A simple buffer probe test. More to
6419         come, foolios.
6420
6421         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6422         have-data::buffer, not have-data.
6423         (gst_pad_add_event_probe): Likewise for have-data::event.
6424         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6425         peer' isn't quite right yet though.
6426         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6427         (gst_pad_remove_data_probe): Change to take the guint handler_id
6428         as their arg, not the function+data, which is more glib-like.
6429
6430         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6431         the signal emission to indicate if the data is a buffer or an
6432         event.
6433         (gst_pad_get_type): Initialize buffer and event quarks.
6434         (gst_pad_class_init): have-data is now a detailed signal, yes it
6435         is.
6436
6437 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6438
6439         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6440         * gst/gstutils.c: (gst_util_set_value_from_string),
6441         (gst_util_set_object_arg):
6442           Don't put functional code in g_return_if_fail() or
6443           g_return_val_if_fail() statements, otherwise things will 
6444           break when G_DISABLE_CHECKS is defined during compilation.
6445
6446 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6447
6448         * docs/gst/tmpl/.cvsignore:
6449         * docs/gst/tmpl/gstvalue.sgml:
6450         * gst/gstvalue.c:
6451         * gst/gstvalue.h:
6452           inlied another one and added  some obvious docs
6453
6454 2005-09-21  Wim Taymans  <wim@fluendo.com>
6455
6456         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6457         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6458         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6459         (gst_fdsrc_get_property), (gst_fdsrc_create):
6460         * gst/elements/gstfdsrc.h:
6461         Properly implement fdsrc. Removed signal and timeout,
6462         better implemented somewhere else.
6463
6464 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6465
6466         * docs/gst/tmpl/.cvsignore:
6467         * docs/gst/tmpl/gstimplementsinterface.sgml:
6468         * gst/gstinterface.c:
6469           inlined more docs
6470
6471 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6472
6473         * docs/gst/gstreamer-sections.txt:
6474         * docs/gst/tmpl/.cvsignore:
6475         * docs/gst/tmpl/gstenumtypes.sgml:
6476           remove obsolete doc file
6477
6478 2005-09-21  David Schleef  <ds@schleef.org>
6479
6480         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6481         little beer, fix a little leak.
6482
6483 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6484
6485         * docs/gst/gstreamer-docs.sgml:
6486         * docs/gst/gstreamer-sections.txt:
6487         * docs/gst/tmpl/.cvsignore:
6488         * gst/Makefile.am:
6489         * gst/gst.h:
6490         * gst/gstbin.c:
6491         * gst/gstelement.h:
6492         * gst/gstindex.c: (gst_index_class_init):
6493         * gst/gstindex.h:
6494         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6495         (gst_index_factory_class_init), (gst_index_factory_init),
6496         (gst_index_factory_finalize), (gst_index_factory_new),
6497         (gst_index_factory_destroy), (gst_index_factory_find),
6498         (gst_index_factory_create), (gst_index_factory_make):
6499         * gst/gstindexfactory.h:
6500         * gst/gstpluginfeature.c:
6501         * gst/gstpluginfeature.h:
6502         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6503           more docs inlined, splitted gstindex.{c,h}
6504
6505 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6506
6507         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6508           fix a leak
6509
6510 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6511
6512         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6513           Set sync to FALSE by default.
6514
6515 2005-09-20  Wim Taymans  <wim@fluendo.com>
6516
6517         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6518         (gst_base_sink_init):
6519         Make sync property settable from subclass.
6520
6521         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6522         (gst_fake_sink_change_state):
6523         Set sync to FALSE by default.
6524
6525 2005-09-20  Wim Taymans  <wim@fluendo.com>
6526
6527         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6528         * tools/gst-launch.c: (main):
6529         The timeout handler should have lower priority than the source
6530         so we don't timeout before popping a message with 0 timeout.
6531         Dump error messages after failed state change.
6532
6533 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6534
6535         * tools/gst-inspect.c: (print_element_properties_info):
6536           Fix two typos.
6537
6538 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6539
6540         * check/gst/gstevent.c:
6541         * gst/elements/gstfakesink.c:
6542         * gst/elements/gstfakesink.h:
6543           remove the sync property from fakesink.
6544           has the side effect of setting sync TRUE
6545           for fakesink, which is a change.  Anyone who knows how
6546           to fix this nicely in a GObject-y way, feel free.
6547
6548 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6549
6550         * docs/gst/gstreamer-docs.sgml:
6551           remove probe refsection
6552
6553 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6554
6555         * check/Makefile.am:
6556           disable valgrinding the controller test again
6557         * docs/gst/gstreamer-sections.txt:
6558           update for api-changes
6559
6560 2005-09-20  Wim Taymans  <wim@fluendo.com>
6561
6562         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6563         (gst_base_sink_set_property), (gst_base_sink_get_property),
6564         (gst_base_sink_do_sync):
6565         * gst/base/gstbasesink.h:
6566         Added sync property to basesink to disable clock sync.
6567
6568 2005-09-20  Andy Wingo  <wingo@pobox.com>
6569
6570         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6571         eating the caller's refcount.
6572
6573         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6574         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6575         refcount.
6576
6577         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6578         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6579         of GLib 2.8 public, so we can know which refcount to check in
6580         tests.
6581
6582         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6583         (gst_object_init): Only set the gst refcount if we're going ahead
6584         with the refcount hack.
6585
6586 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6587
6588         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6589         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6590           more leaks plumbed, added more debug-logging
6591         * gst/gstmacros.h:
6592           whitespace fix
6593
6594 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6595
6596         * gst/gstmessage.c:
6597           remove include of gstmemchunk.h
6598
6599 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6600
6601         * gst/gstclock.c: (_gst_clock_id_free):
6602           Commit from the Political Party For More Atomic CVS Commits,
6603           so that people don't waste too much of their day fishing
6604           out obvious leaks out of massive commits.
6605           Oh, and fix a pretty damn obvious leak in the memchunk
6606           removal code.
6607
6608 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6609
6610         * check/Makefile.am:
6611         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6612           plug mem-leak, re-add to valgrindable tests
6613
6614 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6615
6616         * gst/gstplugin.h:
6617           unbreak the build for those who have chronic arthritis
6618           and typing "make check" is just too taxing on the hands
6619
6620 2005-09-20  Andy Wingo  <wingo@pobox.com>
6621
6622         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6623         really want it out, you should fix plugins at the same time.
6624
6625 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6626
6627         * configure.ac:
6628         * docs/gst/gstreamer-sections.txt:
6629         * gst/gstobject.c:
6630           added missing symbols to api docs
6631           disable ref-count hack if we have glib >= 2.8
6632
6633 2005-09-19  David Schleef  <ds@schleef.org>
6634
6635         * docs/gst/Makefile.am: Ignore a few more internal headers
6636         * docs/gst/gstreamer-docs.sgml: Remove old sections
6637         * docs/gst/gstreamer-sections.txt: Remove old sections
6638         * docs/gst/tmpl/gstobject.sgml: update
6639         * docs/gst/tmpl/gstplugin.sgml: update
6640         * docs/gst/tmpl/gstpluginfeature.sgml: update
6641         * docs/random/ds/0.9-suggested-changes: update.
6642         * gst/Makefile.am: remove memchunk and trashstack, since they're
6643           not used.
6644         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6645         * gst/gst.h: don't include some headers
6646         * gst/gstchildproxy.c: add gstmarshal.h
6647         * gst/gstclock.c: Don't use memchunks
6648         * gst/gstminiobject.c: Add some docs
6649         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6650         * gst/gstobject.h: same
6651         * gst/gstplugin.c: include gstmacros.h
6652         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6653         * gst/gstquery.c: don't use memchunks
6654         * gst/gstregistry.c: rename gst_registry_deinit()
6655         * gst/gstregistry.h: same
6656
6657 2005-09-19  David Schleef  <ds@schleef.org>
6658
6659         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6660         * docs/libs/gstreamer-libs-sections.txt:
6661         * docs/libs/tmpl/gstgetbits.sgml:
6662         * docs/libs/tmpl/gstputbits.sgml:
6663
6664 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6665
6666         * win32/gstenumtypes.c:
6667         * win32/gstenumtypes.h:
6668           Update.
6669
6670 2005-09-19  Wim Taymans  <wim@fluendo.com>
6671
6672         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6673         Automatically PAUSE and RESUME a pipeline when a flushing seek
6674         is performed.
6675
6676 2005-09-19  Andy Wingo  <wingo@pobox.com>
6677
6678         * gst/gstregistry.h: Spacing fixen.
6679
6680 2005-09-19  Wim Taymans  <wim@fluendo.com>
6681
6682         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6683         Handle state change failure more correctly.
6684
6685 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6686
6687         * check/Makefile.am:
6688         * check/pipelines/cleanup.c: (run_pipeline):
6689         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6690         (GST_START_TEST):
6691           enable cleanup again after fixing the leak
6692         * docs/README:
6693           some more info on docs
6694
6695 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6696
6697         * check/Makefile.am:
6698           re-enable tests now that leaks are plugged
6699         * check/gst/gst.c:
6700         * check/gst/gstbin.c:
6701         * check/gst/gstpipeline.c:
6702           add some more tests while fixing leaks
6703         * common/check.mak:
6704           make sure binaries are uptodate when valgrinding/gdbing
6705         * gst/gst.c:
6706         * gst/gstelementfactory.c:
6707           remove a ref too many, and add a FIXME for when we get
6708           round to disposing of classes
6709         * gst/gstplugin.c:
6710           fix the refcounting when loading a plugin from a file and
6711           the code pretends that the pointer is the same even though
6712           of course it can change
6713         * gst/gstpluginfeature.c:
6714           unref plugins marked cached (a bit confusing as a name)
6715           as the docs state should be done
6716           various doc additions to explain refcounting
6717         * gst/gstregistry.c:
6718         * gst/gstregistryxml.c:
6719           debugging
6720
6721 2005-09-19  Wim Taymans  <wim@fluendo.com>
6722
6723         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6724         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6725         (send_messages), (GST_START_TEST), (gstbus_suite):
6726         * check/gst/gstpipeline.c: (GST_START_TEST):
6727         * check/pipelines/cleanup.c: (run_pipeline):
6728         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6729         (GST_START_TEST):
6730         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6731         (gst_bus_source_check), (gst_bus_source_dispatch),
6732         (gst_bus_create_watch), (gst_bus_add_watch_full),
6733         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6734         * gst/gstbus.h:
6735         * tools/gst-launch.c: (event_loop):
6736         * tools/gst-md5sum.c: (event_loop):
6737         GstBusHandler -> GstBusFunc, return value has the same meaning as
6738         any other GSource (FALSE == remove source).
6739         _add_watch() and _add_watch_full() now take a MessageType mask to
6740         only handle specific types of messages.
6741         _poll() returns the GstMessage instead of the message type to avoid
6742         race conditions.
6743         _have_pending() takes a MessageType mask now too.
6744         Added testsuite for multiple bus watches.
6745         Fix testsuites and applications for new bus API.
6746
6747 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6748
6749         * check/Makefile.am:
6750           mark a bunch of the tests as to fix until we fix them
6751
6752 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6753
6754         * common/check.mak:
6755           use GST_PLUGIN settings for valgrind tests as well, so we're
6756           valgrinding the correct thing
6757         * gst/gst.c: (init_post):
6758           plug another leak
6759
6760 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6761
6762         * gst/gst.c: (init_post), (gst_deinit):
6763         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6764         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6765         * gst/gstindex.c: (gst_index_factory_class_init),
6766         (gst_index_factory_finalize):
6767         * gst/gstobject.c: (gst_object_dispose):
6768         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6769         (gst_plugin_load_file), (gst_plugin_desc_free):
6770         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6771         (gst_plugin_feature_finalize):
6772         * gst/gstregistry.c: (gst_registry_class_init),
6773         (gst_registry_init), (gst_registry_finalize),
6774         (gst_registry_get_default), (gst_registry_deinit):
6775         * gst/gstregistry.h:
6776         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6777           various cleanups and memleak plugging.  make valgrind is happy now.
6778
6779 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6780
6781         * common/check.mak:
6782           add a check-valgrind target
6783
6784 2005-09-18  David Schleef  <ds@schleef.org>
6785
6786         * tools/gst-inspect.c: Revert the GOption code.
6787
6788 2005-09-17  David Schleef  <ds@schleef.org>
6789
6790         * check/Makefile.am: Fix environment variables.
6791         * check/gst/gstplugin.c: Fix for API changes.
6792         * tools/gst-inspect.c: Fix for API changes.
6793         * tools/gst-xmlinspect.c: Fix for API changes.
6794         * gst/gstelementfactory.c:
6795         * gst/gstplugin.c:
6796         * gst/gstplugin.h:
6797         * gst/gstpluginfeature.c:
6798         * gst/gstpluginfeature.h:
6799         * gst/gstregistry.c:
6800         * gst/gstregistry.h:
6801         * gst/gstregistryxml.c:
6802         * gst/gsttypefind.c:
6803         * gst/gsttypefindfactory.c:
6804         * gst/indexers/gstfileindex.c:
6805         * gst/indexers/gstmemindex.c:
6806         * gst/schedulers/Makefile.am:
6807           Change registry to keep track of both plugins and features,
6808           removing the feature tracking from plugins themselves.
6809
6810 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6811
6812         * check/Makefile.am:
6813         * tools/gst-register.1.in:
6814           remove gst-register
6815
6816 2005-09-15  David Schleef  <ds@schleef.org>
6817
6818         * check/gst/gstplugin.c:
6819         * gst/gstelementfactory.c:
6820         * gst/gstplugin.c:
6821         * gst/gstpluginfeature.c:
6822         * gst/gstregistry.c:
6823           Getting tired of debugging.  Disabled all the unreffing of
6824           plugins and features, which fixes the segfaults, but of
6825           course leaks like crazy.  At least playbin works.
6826
6827 2005-09-15  David Schleef  <ds@schleef.org>
6828
6829         * check/gst/gstplugin.c: (register_check_elements),
6830         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6831         More testing
6832         * gst/elements/gsttypefindelement.c: Fix refcounting.
6833         * gst/gsttypefind.c:
6834         * gst/gsttypefindfactory.c:
6835         * gst/gsttypefindfactory.h:
6836
6837 2005-09-15  David Schleef  <ds@schleef.org>
6838
6839         * gst/gstindex.c: get refcounting correct.
6840         * gst/gstregistry.c: Handle the case where a feature/plugin is
6841           not found.
6842
6843 2005-09-15  David Schleef  <ds@schleef.org>
6844
6845         * check/Makefile.am:
6846         * check/gst/gstplugin.c: Add test
6847         * gst/gstplugin.c: Fix problems noticed by testsuite
6848         * gst/gstplugin.h:
6849         * gst/gstregistry.c: 
6850         * gst/gstregistry.h:
6851
6852 2005-09-15  David Schleef  <ds@schleef.org>
6853
6854         * gst/gstplugin.c: Implement semi-decent recounting and locking
6855           in plugins and plugin features.
6856         * gst/gstplugin.h:
6857         * gst/gstpluginfeature.c:
6858         * gst/gstpluginfeature.h:
6859         * gst/gstregistry.c:
6860
6861 2005-09-15  Michael Smith <msmith@fluendo.com>
6862
6863         * gst/gstregistry.c: (gst_registry_get_feature_list):
6864           Implement this. Makes oggdemux work; decodebin still broken.
6865
6866 2005-09-14  David Schleef  <ds@schleef.org>
6867
6868         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6869           #316076)
6870         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6871         * gst/check/Makefile.am:
6872         * libs/gst/controller/Makefile.am:
6873         * libs/gst/dataprotocol/Makefile.am:
6874
6875 2005-09-14  David Schleef  <ds@schleef.org>
6876
6877         * configure.ac: Remove getbits library.  Nothing uses it, and
6878           it should be in something like liboil if someone did want
6879           to use it.
6880         * libs/gst/Makefile.am:
6881         * libs/gst/getbits/Makefile.am:
6882         * libs/gst/getbits/gbtest.c:
6883         * libs/gst/getbits/getbits.c:
6884         * libs/gst/getbits/getbits.h:
6885         * libs/gst/getbits/gstgetbits_generic.c:
6886         * libs/gst/getbits/gstgetbits_i386.s:
6887         * libs/gst/getbits/gstgetbits_inl.h:
6888
6889 2005-09-14  David Schleef  <ds@schleef.org>
6890
6891         * gst/Makefile.am: Dist glib-compat.h
6892
6893 2005-09-14  David Schleef  <ds@schleef.org>
6894
6895         * configure.ac: Remove gst/registries, since it's no longer used.
6896         * gst/registries/Makefile.am:
6897         * gst/registries/gstlibxmlregistry.c:
6898         * gst/registries/gstlibxmlregistry.h:
6899         * gst/registries/gstxmlregistry.c:
6900         * gst/registries/gstxmlregistry.h:
6901         * gst/registries/registrytest.c:
6902
6903 2005-09-14  David Schleef  <ds@schleef.org>
6904
6905         * gst/glib-compat.h:
6906         * gst/gstregistryxml.c:
6907           Convergence is near.  Seriously.
6908
6909 2005-09-14  David Schleef  <ds@schleef.org>
6910
6911         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6912         * gst/glib-compat.h:
6913           Attempt #4 to appease the buildbots.
6914
6915 2005-09-14  David Schleef  <ds@schleef.org>
6916
6917         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6918           Attempt #3.
6919
6920 2005-09-14  David Schleef  <ds@schleef.org>
6921
6922         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6923         Attempt #2.
6924
6925 2005-09-14  David Schleef  <ds@schleef.org>
6926
6927         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6928           the new functions.
6929
6930 2005-09-14  David Schleef  <ds@schleef.org>
6931
6932         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6933         * gst/glib-compat.h: Add some functions that are in newer versions
6934           of glib than we care to require.
6935         * gst/gstregistryxml.c: Use them.
6936
6937 2005-09-14  David Schleef  <ds@schleef.org>
6938
6939         * po/POTFILES.in: remove gst-register.c
6940
6941 2005-09-14  David Schleef  <ds@schleef.org>
6942
6943         * docs/gst/gstreamer-docs.sgml:
6944         * docs/gst/gstreamer-sections.txt:
6945         * docs/gst/gstreamer.types:
6946         * docs/gst/tmpl/gstelement.sgml:
6947         * docs/gst/tmpl/gstplugin.sgml:
6948         * docs/gst/tmpl/gstpluginfeature.sgml:
6949           Documentation updates for registry changes.
6950
6951 2005-09-14  David Schleef  <ds@schleef.org>
6952
6953         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6954           because we don't require glib-2.8.
6955
6956 2005-09-14  David Schleef  <ds@schleef.org>
6957
6958         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6959           registries directory.
6960
6961 2005-09-14  David Schleef  <ds@schleef.org>
6962
6963         * check/Makefile.am:
6964         * check/generic/states.c:
6965         * gst/Makefile.am:
6966         * gst/gst.c:
6967         * gst/gst.h:
6968         * gst/gst_private.h:
6969         * gst/gstelementfactory.c:
6970         * gst/gstindex.c:
6971         * gst/gstinfo.c:
6972         * gst/gstplugin.c:
6973         * gst/gstplugin.h:
6974         * gst/gstpluginfeature.c:
6975         * gst/gstpluginfeature.h:
6976         * gst/gstregistry.c:
6977         * gst/gstregistry.h:
6978         * gst/gstregistrypool.c: remove
6979         * gst/gstregistrypool.h: remove
6980         * gst/gsttypefind.c:
6981         * gst/gsttypefindfactory.c:
6982         * gst/gsturi.c:
6983         * tools/Makefile.am:
6984         * tools/gst-compprep.c:
6985         * tools/gst-inspect.c:
6986         * tools/gst-register.c: remove
6987         * tools/gst-xmlinspect.c:
6988           Registry rewrite.  Changes registry from being a file created
6989           by a tool into a simple cache file created automatically by 
6990           libgstreamer.  Removed gst-register (because it's no longer
6991           needed).  Remove registry pools, because we only have one
6992           registry implementation (XML).  Fix up other subsystems as
6993           necessary.
6994
6995 2005-09-13  Michael Smith <msmith@fluendo.com>
6996
6997         * gst/gstconfig.h.in:
6998           Don't Use windows linking attributes for MinGW. Fixes #316157
6999
7000 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7001
7002         * gst/gstutils.c: (set_state_async_thread_func),
7003         (gst_element_set_state_async):
7004           Apparently people think it's better if this function doesn't
7005           try to set the state to whatever state was asked for on the first
7006           call to this function for any object.  Seriously.
7007
7008 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7009
7010         * check/gst/gstpipeline.c: (GST_START_TEST):
7011         * docs/gst/gstreamer-sections.txt:
7012         * gst/gstutils.c: (set_state_async_thread_func),
7013         (gst_element_set_state_async):
7014         * gst/gstutils.h:
7015           add a "gst_element_set_state_async" method that
7016           sets the state and starts a thread to make sure the state
7017           change completes as best as it can
7018
7019 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7020
7021         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7022           codify design+behaviour in testsuite after discussion
7023
7024 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7025
7026         * docs/gst/tmpl/gstelement.sgml:
7027         * docs/manual/appendix-quotes.xml:
7028           add a quote
7029         * gst/gstelement.c: (gst_element_set_state):
7030           add some debug
7031
7032 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7033
7034         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7035         (gst_base_transform_prepare_output_buf),
7036         (gst_base_transform_handle_buffer):
7037         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7038         (gst_capsfilter_prepare_buf):
7039           Remove the requirement for sub-classes to call the parent
7040           implementation of prepare_output_buffer with a wrapper function.
7041           
7042         * gst/gsttaglist.h:
7043         * gst/gsttagsetter.h:
7044           Fix #define wrapper
7045
7046 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7047
7048         * docs/gst/gstreamer-sections.txt:
7049           more doc cleanups
7050
7051 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7052
7053         * docs/gst/gstreamer-sections.txt:
7054         * docs/gst/tmpl/gstelement.sgml:
7055         * docs/gst/tmpl/gstplugin.sgml:
7056         * gst/gstminiobject.c:
7057         * gst/gstvalue.h:
7058           docs now stop throwing warnings
7059
7060 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7061
7062         * docs/gst/gstreamer-sections.txt:
7063         * docs/gst/gstreamer.types:
7064         * docs/gst/tmpl/gstpad.sgml:
7065         * docs/gst/tmpl/gsttypes.sgml:
7066         * gst/base/gstadapter.h:
7067         * gst/base/gstbasesink.h:
7068         * gst/base/gstbasesrc.h:
7069         * gst/gstbin.h:
7070         * gst/gstbuffer.h:
7071         * gst/gstbus.h:
7072         * gst/gstcaps.h:
7073         * gst/gstclock.h:
7074         * gst/gstelement.h:
7075         * gst/gstevent.h:
7076         * gst/gstmessage.h:
7077         * gst/gstpad.h:
7078         * gst/gststructure.c:
7079         * gst/registries/gstlibxmlregistry.h:
7080           various documentation fixes
7081
7082 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7083
7084         * docs/gst/gstreamer-sections.txt:
7085         * docs/gst/tmpl/gstvalue.sgml:
7086           rearrange gstvalue section
7087         * gst/gstutils.c: (gst_element_state_get_name):
7088           NONE -> VOID
7089         * gst/gstvalue.c: (_gst_value_initialize):
7090         * gst/gstvalue.h:
7091           doc updates
7092
7093 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7094
7095         * check/gst-libs/controller.c:
7096           Header include fix.
7097         * gst/base/gstbasetransform.c:
7098         (gst_base_transform_default_prepare_buf),
7099         (gst_base_transform_handle_buffer):
7100         * gst/base/gstbasetransform.h:
7101           Some more basetransform changes and fixes to enable sub-classes
7102           that modify buffer metadata only.
7103         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7104         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7105         (gst_capsfilter_prepare_buf):
7106           If the output pad has fixed allowed caps and input buffers 
7107           don't have any, set the fixed caps on outgoing buffers.
7108
7109 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7110         * check/elements/identity.c: (GST_START_TEST):
7111           Make the error a little clearer when the test fails because
7112           identity made a copy of the buffer.
7113         * docs/gst/gstreamer-sections.txt:
7114           New symbols in gstbasetransform.h
7115         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7116         (gst_base_transform_init), (gst_base_transform_transform_size),
7117         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7118         (gst_base_transform_default_prepare_buf),
7119         (gst_base_transform_get_unit_size),
7120         (gst_base_transform_buffer_alloc),
7121         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7122         (gst_base_transform_change_state),
7123         (gst_base_transform_set_passthrough),
7124         (gst_base_transform_set_in_place),
7125         (gst_base_transform_is_in_place):
7126         * gst/base/gstbasetransform.h:
7127           Change BaseTransform to separate in_place operate from same_caps
7128           output. in_place implies that the element can perform the transform
7129           on incoming buffers in-place, even if the caps on the output are
7130           different.
7131           Sub-class elements can now implement special buffer allocation
7132           methods for outgoing buffers if they wish to.
7133           Big documentation addition.
7134         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7135         * gst/elements/gstelements.c:
7136           Changes for basetransform modifications.
7137         * gst/elements/Makefile.am:
7138         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7139           Compile fix. Extra debug output.
7140
7141 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7142
7143         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7144         (gst_pad_suite):
7145           add tests for valid pad naming
7146         * gst/check/gstcheck.c: (gst_check_log_message_func),
7147         (gst_check_log_critical_func):
7148           add ASSERT_WARNING
7149           remove printing of code, it is fragile when the code contains
7150           % and the line number is enough info
7151         * gst/check/gstcheck.h:
7152         * gst/gstpad.c: (gst_pad_template_new):
7153           fix memleaks
7154
7155 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7156
7157         * configure.ac:
7158           say what CHECK flags we use
7159         * docs/libs/gstreamer-libs.types:
7160         * libs/gst/controller/Makefile.am:
7161         * libs/gst/controller/gst-controller.c:
7162         * libs/gst/controller/gst-controller.h:
7163         * libs/gst/controller/gst-helper.c:
7164         * libs/gst/controller/gst-interpolation.c:
7165         * libs/gst/controller/gstcontroller.c:
7166         * libs/gst/controller/gsthelper.c:
7167         * libs/gst/controller/gstinterpolation.c:
7168         * tools/gst-inspect.c: (print_plugin_info):
7169           we don't use dashes in header names
7170
7171 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7172
7173         * check/Makefile.am:
7174         * check/gst/.cvsignore:
7175         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7176         (gst_pipeline_suite), (main):
7177           adding a test for pipelines and state changes
7178         * gst/gstutils.c: (get_state_func):
7179           add some debugging
7180         * gstreamer.spec.in:
7181           fix up spec file
7182
7183 2005-09-08  Michael Smith <msmith@fluendo.com>
7184
7185         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7186         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7187         (gst_file_src_is_seekable), (gst_file_src_get_size),
7188         (gst_file_src_start):
7189         * gst/elements/gstfilesrc.h:
7190           Various fixes for unseekable, unmmapable, and non-normal files, so
7191           that fallback to read() rather than mmap() works.
7192         * gst/gstevent.c: (gst_event_new_newsegment):
7193           Allow newsegment events with segment_start == segment_end, as will
7194           correctly happen if you use filesrc on a zero-size file, for
7195           example.
7196
7197 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7198
7199         * gst/gstplugin.c: (gst_plugin_load_file):
7200           Call g_module_close when we don't load the module
7201
7202         * gst/registries/gstlibxmlregistry.c:
7203         (gst_xml_registry_get_property):
7204           Port leak fix from 0.8
7205
7206 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7207
7208         * docs/gst/gstreamer-docs.sgml:
7209         * docs/gst/tmpl/.cvsignore:
7210         * docs/gst/tmpl/gsttrace.sgml:
7211         * docs/gst/tmpl/gsttrashstack.sgml:
7212         * gst/Makefile.am:
7213         * gst/gst.h:
7214         * gst/gstelement.h:
7215         * gst/gstevent.h:
7216         * gst/gstmessage.c:
7217         * gst/gstmessage.h:
7218         * gst/gsttag.c:
7219         * gst/gsttag.h:
7220         * gst/gsttaginterface.c:
7221         * gst/gsttaginterface.h:
7222         * gst/gsttaglist.c:
7223         * gst/gsttaglist.h:
7224         * gst/gsttagsetter.c:
7225         * gst/gsttagsetter.h:
7226         * gst/gsttrace.c:
7227         * gst/gsttrace.h:
7228         * gst/gsttrashstack.c:
7229           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7230           inlined docs for gsttrace, gsttrashstack
7231
7232 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7233
7234         * gst/Makefile.am:
7235         * gst/elements/gstbufferstore.h:
7236         * gst/elements/gsttypefindelement.c:
7237         * gst/elements/gsttypefindelement.h:
7238         * gst/gst.h:
7239         * gst/gsttypefind.c:
7240         * gst/gsttypefind.h:
7241         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7242         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7243         (gst_type_find_factory_dispose),
7244         (gst_type_find_factory_unload_thyself),
7245         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7246         (gst_type_find_factory_get_caps),
7247         (gst_type_find_factory_get_extensions),
7248         (gst_type_find_factory_call_function):
7249         * gst/gsttypefindfactory.h:
7250         * gst/registries/gstlibxmlregistry.c:
7251         * gst/registries/gstxmlregistry.c:
7252           splitted gsttypefind into gsttypefind, gsttypefindfactory
7253
7254 2005-09-07  Andy Wingo  <wingo@pobox.com>
7255
7256         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7257         condition whereby the pad's task function is entered before the
7258         pad_mode variable was set.
7259
7260 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7261
7262         * gst/gstpad.c: (gst_pad_alloc_buffer):
7263           Catch misbehaving pad_alloc functions that don't
7264           set up caps and do it for them.
7265
7266 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7267
7268         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7269           test for pipe!=NULL
7270         * docs/gst/tmpl/.cvsignore:
7271         * docs/gst/tmpl/gstmemchunk.sgml:
7272         * docs/gst/tmpl/gstparse.sgml:
7273         * docs/gst/tmpl/gsttaglist.sgml:
7274         * docs/gst/tmpl/gsttagsetter.sgml:
7275         * docs/gst/tmpl/gsttypefind.sgml:
7276         * docs/gst/tmpl/gsttypefindfactory.sgml:
7277         * gst/gstmemchunk.c:
7278         * gst/gstparse.c:
7279         * gst/gsttag.c:
7280         * gst/gsttaginterface.c:
7281         * gst/gsttypefind.c:
7282         * gst/gsttypefind.h:
7283           inlined more docs
7284
7285 === release 0.9.2 ===
7286
7287 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7288
7289         * NEWS:
7290         * RELEASE:
7291         * configure.ac:
7292           releasing 0.9.2, "South"
7293
7294 2005-09-05  Andy Wingo  <wingo@pobox.com>
7295
7296         * gst/registries/gstxmlregistry.h:
7297         * gst/registries/gstxmlregistry.c: Um... resurrect...
7298         
7299         * gst/registries/gstxmlregistry.h:
7300         * gst/registries/gstxmlregistry.c: and update to newer API.
7301         Incidentally they should be a bit faster now that they don't have
7302         to parse the caps.
7303         
7304 2005-09-05  Andy Wingo  <wingo@pobox.com>
7305
7306         * gst/registries/gstxmlregistry.h:
7307         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7308         replaced by the libxml registry a while back
7309
7310 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7311
7312         * docs/gst/tmpl/gstplugin.sgml:
7313         * gst/elements/gstelements.c:
7314         * gst/gst.c:
7315         * gst/gstplugin.c: (gst_plugin_register_func),
7316         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7317         (gst_plugin_get_source):
7318         * gst/gstplugin.h:
7319         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7320         (gst_xml_registry_save_plugin):
7321         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7322         (gst_xml_registry_save_plugin):
7323         * tools/gst-inspect.c: (print_plugin_info):
7324           add a "source" plugin description field, to represent the source
7325           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7326           will set it to PACKAGE, which is automake's idea of the name of
7327           the source project.
7328
7329 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7330
7331         * Makefile.am:
7332         * autogen.sh:
7333         * configure.ac:
7334         * docs/Makefile.am:
7335         * docs/faq/Makefile.am:
7336         * docs/gst/tmpl/gstelement.sgml:
7337         * docs/gst/tmpl/gsttypes.sgml:
7338         * docs/htmlinstall.mak:
7339         * docs/manual/Makefile.am:
7340         * docs/pwg/Makefile.am:
7341           reorganize doc build a little
7342           split out docbook and gtk-doc stuff
7343           have two separate --enable's and enable them through autogen
7344           but disable by default in configure (to be similar to other
7345           projects)
7346         * gstreamer.spec.in:
7347           clean up docs install
7348         * po/af.po:
7349         * po/az.po:
7350         * po/ca.po:
7351         * po/cs.po:
7352         * po/de.po:
7353         * po/en_GB.po:
7354         * po/fr.po:
7355         * po/it.po:
7356         * po/nb.po:
7357         * po/nl.po:
7358         * po/ru.po:
7359         * po/sq.po:
7360         * po/sr.po:
7361         * po/sv.po:
7362         * po/tr.po:
7363         * po/uk.po:
7364         * po/vi.po:
7365           translation updates
7366
7367 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7368
7369         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7370           Add comment.
7371           
7372         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7373         (gst_fake_sink_change_state):
7374           Make state change function thread-safe.
7375           
7376         * gst/gstpad.c: (gst_pad_alloc_buffer):
7377           Set offset on generic buffer allocated by fallback.
7378
7379 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7380
7381         * docs/gst/gstreamer-sections.txt:
7382         * docs/gst/tmpl/gstelement.sgml:
7383         * gst/gstpad.c:
7384         * libs/gst/controller/gst-controller.c:
7385         (gst_controlled_property_set_interpolation_mode),
7386         (gst_controlled_property_new),
7387         (gst_controller_find_controlled_property):
7388          run the wingo-magic script against the docs
7389
7390 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7391
7392         * docs/gst/gstreamer-docs.sgml:
7393         * docs/gst/gstreamer-sections.txt:
7394         * docs/gst/tmpl/.cvsignore:
7395         * docs/gst/tmpl/gstelementdetails.sgml:
7396         * docs/gst/tmpl/gstelementfactory.sgml:
7397         * gst/gst.c:
7398         * gst/gstbus.c:
7399         * gst/gstelementfactory.c:
7400         * gst/gstelementfactory.h:
7401           merged elementdetails docs into elementfactory docs
7402           inlined both
7403
7404 2005-09-02  Andy Wingo  <wingo@pobox.com>
7405
7406         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7407         consider this enum an enum and not a flags.
7408
7409 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7410
7411         * docs/gst/gstreamer-docs.sgml:
7412         * docs/gst/tmpl/.cvsignore:
7413         * docs/gst/tmpl/gstghostpad.sgml:
7414         * docs/gst/tmpl/gstiterator.sgml:
7415         * docs/gst/tmpl/gstmacros.sgml:
7416         * docs/gst/tmpl/gstrealpad.sgml:
7417         * docs/gst/tmpl/gstregistry.sgml:
7418         * docs/gst/tmpl/gstregistrypool.sgml:
7419         * docs/gst/tmpl/gststructure.sgml:
7420         * docs/gst/tmpl/gstsystemclock.sgml:
7421         * docs/gst/tmpl/gsttrace.sgml:
7422         * gst/gstghostpad.c:
7423         * gst/gstmacros.h:
7424         * gst/gstmemchunk.c:
7425         * gst/gstmemchunk.h:
7426         * gst/gstqueue.c:
7427         * gst/gstregistry.c:
7428         * gst/gstregistrypool.c:
7429         * gst/gststructure.c:
7430         * gst/gstsystemclock.c:
7431           more docs inlined
7432
7433 2005-09-02  Andy Wingo  <wingo@pobox.com>
7434
7435         * gst/gstelement.h (GstState): Renamed from GstElementState,
7436         changed to be a normal enum instead of flags.
7437         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7438         munged to be GST_STATE_CHANGE_*.
7439         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7440         work with the new state representation.
7441         (GstStateChange): New enumeration of possible state transitions.
7442         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7443         (GstElementClass::change_state): Pass the GstStateChange along as
7444         an argument. Helps language bindings, so they don't have to use
7445         tricky lock-needing macros like GST_STATE_CHANGE ().
7446
7447         * scripts/update-states (file): New script. Run it on a file to
7448         update it for state naming and API changes. Updates files in
7449         place.
7450
7451         * All files updated for the new API.
7452
7453 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7454
7455         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7456         * gst/gstutils.c: (gst_util_set_value_from_string),
7457         (gst_util_set_object_arg):
7458           fix a bunch of unchecked return values
7459         * tools/gst-complete.c: (main):
7460         * gstreamer.spec.in:
7461           clean up a little
7462
7463 2005-09-01  Wim Taymans  <wim@fluendo.com>
7464
7465         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7466         (gst_base_sink_event), (gst_base_sink_do_sync),
7467         (gst_base_sink_handle_event):
7468         * gst/base/gstbasesink.h:
7469         Handle newsegments more correctly.
7470
7471         * gst/gstbus.c:
7472         Fix docs.
7473
7474         * gst/gstevent.c: (gst_event_new_newsegment):
7475         A newsegment cannot have a start_time of -1
7476
7477 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7478
7479         * win32/gstenumtypes.c:
7480         * win32/gstenumtypes.h:
7481           Update
7482
7483 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7484
7485         * libs/gst/controller/gst-controller.c:
7486         (gst_controlled_property_set_interpolation_mode),
7487         (gst_controlled_property_new):
7488          fixed boolean again
7489
7490 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7491
7492         * docs/faq/gst-uninstalled:
7493           add -good
7494         * gst/gstevent.c:
7495         * gst/gstevent.h:
7496           remove wrong docs
7497         * gst/gstutils.c: (gst_element_link_filtered):
7498         * gst/gstutils.h:
7499           add gst_element_link_filtered
7500
7501 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7502
7503         * docs/gst/gstreamer-docs.sgml:
7504         * docs/gst/gstreamer-sections.txt:
7505         * docs/gst/tmpl/.cvsignore:
7506         * docs/gst/tmpl/gsterror.sgml:
7507         * docs/gst/tmpl/gstfilter.sgml:
7508         * docs/gst/tmpl/gsturihandler.sgml:
7509         * docs/gst/tmpl/gsturitype.sgml:
7510         * docs/gst/tmpl/gstutils.sgml:
7511         * docs/gst/tmpl/gstxml.sgml:
7512         * gst/gsterror.c:
7513         * gst/gsterror.h:
7514         * gst/gstfilter.c:
7515         * gst/gsturi.c:
7516         * gst/gsturitype.c:
7517         * gst/gstutils.c:
7518         * gst/gstxml.c:
7519           inlined more docs, fixed double id-ref
7520
7521 2005-08-31  Wim Taymans  <wim@fluendo.com>
7522
7523         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7524         (gst_base_transform_handle_buffer):
7525         Passthrough elements don't need the caps as they don't care.
7526
7527 2005-08-31  Wim Taymans  <wim@fluendo.com>
7528
7529         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7530         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7531         Don't leak refcounts on buffers.
7532
7533 2005-08-31  Wim Taymans  <wim@fluendo.com>
7534
7535         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7536         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7537         (gst_base_transform_chain), (gst_base_transform_change_state):
7538         * gst/base/gstbasetransform.h:
7539         Handle the case where we are not negotiated more gracefully.
7540
7541 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7542
7543         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7544         (gst_file_src_map_region):
7545           Set READONLY flag on mmap'ed buffers, otherwise
7546           gst_buffer_make_writable() won't work properly (#314708).
7547
7548 2005-08-31  Wim Taymans  <wim@fluendo.com>
7549
7550         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7551         passthrough elements can even do inplace on non writable
7552         buffers (as they don't touch them).
7553
7554 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7555
7556         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7557         (gst_test_mono_source_set_property),
7558         (gst_test_mono_source_class_init), (GST_START_TEST),
7559         (gst_controller_suite):
7560           more tests (hehe I have the most)
7561         * gst/gstbus.c:
7562           describe popping messages whenusing mulltiple sources
7563         * libs/gst/controller/gst-controller.c:
7564         (gst_controlled_property_set_interpolation_mode),
7565         (gst_controlled_property_new):
7566         * libs/gst/controller/gst-controller.h:
7567         * libs/gst/controller/gst-interpolation.c:
7568           implement boolean properties
7569
7570 2005-08-31  Wim Taymans  <wim@fluendo.com>
7571
7572         * gst/gstminiobject.c: (gst_mini_object_ref):
7573         Cannot assert that the refcount has to be positive
7574         since a disposed object can be resurrected.
7575
7576 2005-08-31  Wim Taymans  <wim@fluendo.com>
7577
7578         * gst/gstpad.c: (gst_pad_init):
7579         Revert change, need to first fix badly behaving 
7580         apps.
7581
7582 2005-08-30  Wim Taymans  <wim@fluendo.com>
7583
7584         * check/elements/fakesrc.c: (setup_fakesrc):
7585         * check/elements/identity.c: (setup_identity):
7586         Activate pads before using them.
7587
7588 2005-08-30  Wim Taymans  <wim@fluendo.com>
7589
7590         * gst/base/gstadapter.c: (gst_adapter_flush):
7591         Flushing out 0 bytes is ok for this function.
7592
7593         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7594         no newsegment gives a warning and sets the start/stop to 
7595         invalid.
7596
7597         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7598         (gst_base_transform_set_passthrough):
7599         Some debug info.
7600
7601         * gst/gstminiobject.c: (gst_mini_object_ref):
7602         Check refcount here too.
7603
7604         * gst/gstpad.c: (gst_pad_init):
7605         Pads are initially flushing and refusing data.
7606
7607         * gst/gstutils.c: (gst_element_link_pads_filtered):
7608         When adding a capsfilter element make sure it has the
7609         same state as the parent bin.
7610
7611 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7612
7613         * docs/gst/tmpl/.cvsignore:
7614         * docs/gst/tmpl/gstformat.sgml:
7615         * docs/gst/tmpl/gstversion.sgml:
7616         * gst/gstbus.h:
7617         * gst/gstformat.c:
7618         * gst/gstformat.h:
7619         * gst/gstversion.h.in:
7620           more docs and two more inlined
7621
7622 2005-08-30  Wim Taymans  <wim@fluendo.com>
7623
7624         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7625         Don't sync to clock.
7626
7627 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7628
7629         * docs/gst/gstreamer-sections.txt:
7630           ultral33t func10ns deserve to appear in the docs actually
7631         * docs/gst/tmpl/.cvsignore:
7632         * docs/gst/tmpl/gstcompat.sgml:
7633         * docs/gst/tmpl/gstconfig.sgml:
7634         * gst/check/gstcheck.c:
7635         * gst/gstcompat.h:
7636         * gst/gstconfig.h.in:
7637           inlined more docs
7638
7639 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7640
7641         * docs/gst/tmpl/.cvsignore:
7642         * docs/gst/tmpl/gstquery.sgml:
7643         * docs/gst/tmpl/gstutils.sgml:
7644         * gst/gstquery.c:
7645         * gst/gstquery.h:
7646           inlined and extended docs
7647
7648 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7649
7650         * check/gst-libs/controller.c: (GST_START_TEST),
7651         (gst_controller_suite):
7652           more tests
7653         * docs/gst/tmpl/gstutils.sgml:
7654         * docs/libs/gstreamer-libs-sections.txt:
7655         * docs/libs/tmpl/gstdataprotocol.sgml:
7656           include path fixes
7657         * examples/controller/audio-example.c: (main):
7658           controller example works now
7659         * gst/gstclock.h:
7660           doc fixes
7661         * tools/gst-inspect.c: (print_element_properties_info):
7662           show param spec flags
7663
7664 2005-08-29  Andy Wingo  <wingo@pobox.com>
7665
7666         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7667
7668 2005-08-28  Andy Wingo  <wingo@pobox.com>
7669
7670         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7671         as having two arguments instead of just one. Allows superclasses
7672         to access information on subclasses -- see the terrible for() loop
7673         in gtype.c:g_type_create_instance for the reason why. All callers
7674         changed.
7675
7676 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7677
7678         * docs/design/part-messages.txt:
7679           update info
7680         * docs/gst/tmpl/.cvsignore:
7681         * docs/gst/tmpl/gstcaps.sgml:
7682         * docs/gst/tmpl/gstclock.sgml:
7683         * gst/gstbus.c:
7684         * gst/gstcaps.c:
7685         * gst/gstcaps.h:
7686         * gst/gstclock.c:
7687         * gst/gstclock.h:
7688         * gst/gstmessage.c:
7689           added descriptions for bus and message
7690           inline caps and clock docs
7691
7692 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7693
7694         * gst/gstmessage.c:
7695         * gst/gstmessage.h:
7696           doc fixes
7697
7698 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7699
7700         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7701           fix div-by-zero
7702
7703 2005-08-26  Andy Wingo  <wingo@pobox.com>
7704
7705         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7706         element_set_state's return val.
7707         (test_2_elements): Add test that's been disabled for months.
7708
7709         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7710         can-activate-pull properties.
7711
7712         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7713         can-activate-pull properties. Implement is_seekable so fakesrc can
7714         operate in pull mode.
7715
7716         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7717         properties.
7718         (gst_base_sink_activate, gst_base_sink_activate_pull)
7719         (gst_base_sink_activate_push): Make activation mode choosing work.
7720         Cleanups.
7721         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7722         is right. Make pull mode work. Post an eos before pausing in pull
7723         mode.
7724         (gst_base_sink_change_state): Pay attention to the core's
7725         change_state() return val.
7726         
7727         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7728         has-getrange properties. Cleanups.
7729         
7730         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7731         has_getrange and replace with can_activate_pull and
7732         can_activate_push.
7733
7734         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7735         locking comments. Remove has_loop, has_chain and replace with
7736         can_activate_pull and can_activate_push.
7737
7738 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7739
7740         * configure.ac:
7741         * examples/Makefile.am:
7742         * examples/metadata/Makefile.am:
7743         * examples/metadata/read-metadata.c: (message_loop),
7744         (have_pad_handler), (make_pipeline), (print_tag), (main):
7745           Add metadata reading example that loops over a list of filenames,
7746           dumping any tags found.
7747
7748         * gst/gstbus.c: (gst_bus_dispose):
7749         * gst/gstelement.c: (gst_element_dispose):
7750           Release a few potentially-held references in dispose.
7751
7752 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7753
7754         * docs/gst/tmpl/gstminiobject.sgml:
7755           do *not* add tmpl/*.sgml files to CVS!
7756
7757 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7758
7759         * libs/gst/bytestream/.cvsignore:
7760         * libs/gst/bytestream/Makefile.am:
7761         * libs/gst/bytestream/adapter.c:
7762         * libs/gst/bytestream/adapter.h:
7763         * libs/gst/bytestream/bytestream.c:
7764         * libs/gst/bytestream/bytestream.h:
7765         * libs/gst/bytestream/filepad.c:
7766         * libs/gst/bytestream/filepad.h:
7767           removing obsolete files
7768
7769 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7770
7771         * docs/gst/gstreamer-docs.sgml:
7772         * docs/libs/gstreamer-libs-docs.sgml:
7773           disabed additional index entries again, as this makes docs-gen just
7774           slow and they aren't useful yet
7775         * docs/libs/gstreamer-libs-sections.txt:
7776           little -section.txt cleanup for libs
7777
7778 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7779
7780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7781         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7782           fix up some debugging
7783         (gst_base_transform_get_unit_size),
7784         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7785         (gst_base_transform_handle_buffer):
7786         * gst/base/gstbasetransform.h:
7787           handle and store timed NEWSEGMENT events so that subclasses that
7788           calculate time by counting samples have a segment_start time they
7789           need to add to their timestamps - see audioresample
7790
7791 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7792
7793         * gst/gstbin.h:
7794           removed ';' from the end of macro defs
7795         * docs/gst/gstreamer-docs.sgml:
7796         * docs/gst/gstreamer-sections.txt:
7797         * docs/gst/tmpl/.cvsignore:
7798         * gst/gstbus.h:
7799         * gst/gstelement.c: (gst_element_class_init),
7800         (gst_element_set_state), (activate_pads),
7801         (gst_element_save_thyself):
7802         * gst/gstevent.c: (gst_event_new_newsegment):
7803         * gst/gstevent.h:
7804         * gst/gstiterator.c:
7805         * gst/gstiterator.h:
7806         * gst/gstpad.c:
7807         * gst/gstprobe.h:
7808         * gst/gstutils.c: (gst_pad_query_convert):
7809         * gst/gstutils.h:
7810           fixed parameter name mismatches between source, header and docs
7811           added some more docs, resolved the last batch of unused elements in
7812           docs (now someone needs to doc them)
7813
7814 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7815
7816         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7817         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7818           don't walk through the plugins backwards.  Where is all this
7819           reversed logic coming from ?
7820
7821 2005-08-25  Wim Taymans  <wim@fluendo.com>
7822
7823         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7824         (gst_base_transform_transform_size),
7825         (gst_base_transform_configure_caps),
7826         (gst_base_transform_get_unit_size),
7827         (gst_base_transform_buffer_alloc),
7828         (gst_base_transform_change_state):
7829         * gst/base/gstbasetransform.h:
7830         Cache caps unit_size.
7831         Make sure we cannot negotiate up and downstream at the
7832         same time.
7833
7834 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7835
7836         * gst/gst.c: (init_pre), (init_post):
7837           register the installed plugin path after the env var
7838         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7839         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7840           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7841           directories, so the tests can prefer uninstalled over installed
7842
7843 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7844
7845         * gst/base/gstbasetransform.h:
7846           comment
7847         * gst/gstpad.c:
7848           add to docs
7849
7850 2005-08-25  Wim Taymans  <wim@fluendo.com>
7851
7852         * gst/gstbin.c: (bin_bus_handler):
7853         Be a bit more conservative about the posted message.
7854         
7855         * gst/gstbus.c: (gst_bus_post):
7856         Some cleanups, warn wrong return values.
7857
7858 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7859
7860         * check/gst/gstbin.c: (GST_START_TEST):
7861         * gst/gstbin.c: (bin_bus_handler):
7862         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7863         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7864         (gst_message_new_warning), (gst_message_new_tag),
7865         (gst_message_new_state_changed), (gst_message_new_segment_start),
7866         (gst_message_new_segment_done), (gst_message_new_custom):
7867         * gst/gstmessage.h:
7868         * tools/gst-launch.c: (event_loop):
7869         * tools/gst-md5sum.c: (event_loop):
7870           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7871
7872 2005-08-25  Wim Taymans  <wim@fluendo.com>
7873
7874         * check/generic/states.c: (GST_START_TEST):
7875         Cleanup can be done at the end.
7876
7877         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7878         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7879         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7880         Oh boy.. Thanks for finding this, Thomas. 
7881
7882 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7883
7884         * docs/gst/gstreamer.types:
7885           added missing types
7886
7887 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7888
7889         * docs/gst/gstreamer-docs.sgml:
7890         * docs/gst/gstreamer-sections.txt:
7891         * docs/gst/tmpl/.cvsignore:
7892         * gst/gstbin.c:
7893         * gst/gstiterator.c:
7894         * gst/gstutils.c:
7895         * gst/registries/gstxmlregistry.h:
7896           added missing classes and symbols (123 more to go)
7897           removed removed symbols from section file
7898           fixed many doc-comments
7899
7900 2005-08-24  Wim Taymans  <wim@fluendo.com>
7901
7902         * check/generic/states.c: (GST_START_TEST):
7903         Make sure all tasks are stopped.
7904
7905         * check/gst/gstbin.c: (GST_START_TEST):
7906         Unref after usage for proper valgrinding.
7907
7908         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7909         Really wait for the task to stop before destroying the
7910         mutex.
7911
7912         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7913         (gst_queue_src_activate_push):
7914         Small cleanups. Don't stop the task when we did not start
7915         it.
7916
7917         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7918         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7919         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7920         (gst_task_join):
7921         * gst/gsttask.h:
7922         Protect the stream lock with the object lock.
7923         Disallow setting the stream lock when running.
7924         Add cleanup_all to wait for the threadpool to finish.
7925         Remove code to autoallocate a mutex if none was provided.
7926         Add _join() to wait for a task to stop.
7927         Protect the thread pool with a global lock.
7928
7929 2005-08-24  Wim Taymans  <wim@fluendo.com>
7930
7931         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7932         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7933         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7934         * gst/base/gstbasesink.h:
7935         Handle newsegment events correctly.
7936         Drop buffers out of the segment range.
7937
7938 2005-08-22  Andy Wingo  <wingo@pobox.com>
7939
7940         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7941         macro, implements an interface and gstimplementsinterface for a
7942         new type.
7943
7944 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7945
7946         * check/Makefile.am:
7947         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7948           add a test that does a bunch of state changes on elements
7949           needs some fixing for valgrind
7950         * check/states/sinks.c: (gst_object_suite):
7951           whitespace
7952         * gst/gstcaps.h:
7953           add prototype for gst_caps_is_equal_fixed
7954         * gst/gstplugin.c:
7955         * gst/gstregistrypool.c:
7956           doc fixes
7957
7958 2005-08-24  Andy Wingo  <wingo@pobox.com>
7959
7960         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7961         convert a negative value. Doesn't make much sense. Mostly this is
7962         here to force callers to ensure -1 maps to -1.
7963
7964 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7965
7966         * docs/pwg/advanced-types.xml:
7967           Well done to Michael for catching my deliberate introduction
7968           of this spelling mistake. 
7969         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7970         * gst/gstelement.h:
7971           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7972           unlink pads before removing the element from the bin.
7973
7974 2005-08-24  Andy Wingo  <wingo@pobox.com>
7975
7976         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7977         the same thing as GST_DEBUG=*:4.
7978         (parse_debug_level, parse_debug_category): New helper parsers.
7979
7980 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7981
7982         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7983         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7984         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7985         (gst_base_transform_buffer_alloc),
7986         (gst_base_transform_handle_buffer):
7987           use gboolean return values and pointers to size so we can use the
7988           full GST_BUFFER_SIZE range (guint) for buffer sizes
7989           use GstPadDirection for transform_caps
7990         * gst/base/gstbasetransform.h:
7991           rename get_size to get_unit_size since that's what it is
7992         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7993           use GstPadDirection for transform_caps
7994         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7995         * gst/gstutils.h:
7996           cleanup and debugging
7997
7998 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7999
8000         * gst/gstelement.c: (gst_element_class_init),
8001         (gst_element_set_state), (activate_pads),
8002         (gst_element_save_thyself):
8003         * tools/gst-compprep.c: (main):
8004         * tools/gst-inspect.c: (print_element_properties_info):
8005         * tools/gst-xmlinspect.c: (print_element_properties):
8006           Fixed long standing mem-leak
8007
8008 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
8009
8010         * check/gst/gstbin.c: (GST_START_TEST):
8011         * gst/gstbin.c: (bin_bus_handler):
8012         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
8013         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
8014         (gst_message_new_warning), (gst_message_new_tag),
8015         (gst_message_new_state_changed), (gst_message_new_segment_start),
8016         (gst_message_new_segment_done), (gst_message_new_custom):
8017         * gst/gstmessage.h:
8018         * tools/gst-launch.c: (event_loop):
8019         * tools/gst-md5sum.c: (event_loop):
8020           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
8021           that applications can sensibly post custom messages with references
8022           to their own objects.
8023
8024 2005-08-24  Andy Wingo  <wingo@pobox.com>
8025
8026         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
8027         already.
8028
8029 2005-08-24  Wim Taymans  <wim@fluendo.com>
8030
8031         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8032         (gst_base_transform_transform_caps),
8033         (gst_base_transform_transform_size),
8034         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8035         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8036         (gst_base_transform_handle_buffer):
8037         * gst/base/gstbasetransform.h:
8038         Many fixes and new features added by Thomas. Can now also do
8039         transforms with variable sizes and a custom fixate_caps function.
8040
8041 2005-08-24  Wim Taymans  <wim@fluendo.com>
8042
8043         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8044         Some debugging.
8045
8046         * gst/gstclock.h:
8047         Cast to ClockTime before formatting to time.
8048
8049         * gst/gstutils.h:
8050         Cleanups.
8051
8052 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8053
8054         * check/gst-libs/controller.c: (GST_START_TEST),
8055         (gst_controller_suite):
8056         * docs/gst/tmpl/gstcaps.sgml:
8057         * docs/gst/tmpl/gstghostpad.sgml:
8058         * docs/gst/tmpl/gstquery.sgml:
8059         * docs/gst/tmpl/gstutils.sgml:
8060         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8061         (gst_object_sink_values), (gst_object_get_value_arrays),
8062         (gst_object_get_value_array):
8063           gracefully handle helper method calls to objects that are not beeing
8064           controlled, added test case for that          
8065
8066 2005-08-23  Wim Taymans  <wim@fluendo.com>
8067
8068         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8069         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8070         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8071         (gst_event_parse_qos), (gst_event_new_seek),
8072         (gst_event_parse_seek):
8073         * gst/gstevent.h:
8074         Some more debugging output and doc cleanups.
8075
8076         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8077         Fix possible deadlock.
8078
8079 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8080
8081         * docs/gst/gstreamer-docs.sgml:
8082         * docs/gst/gstreamer-sections.txt:
8083         * docs/gst/gstreamer.types:
8084         * docs/gst/tmpl/.cvsignore:
8085         * gst/gstbin.h:
8086         * gst/gstbus.c:
8087         * gst/gstelement.c:
8088         * gst/gstevent.h:
8089           added 100 symbols from gstreamer-unused.txt to the right sections
8090           fixed more broken comments
8091           added GstBus to docs
8092
8093 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8094
8095         * docs/gst/gstreamer-sections.txt:
8096         * docs/gst/tmpl/.cvsignore:
8097         * docs/gst/tmpl/gstbin.sgml:
8098         * docs/gst/tmpl/gstbuffer.sgml:
8099         * gst/base/gstbasesrc.c:
8100         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8101         * gst/gstbuffer.c:
8102         * gst/gstbuffer.h:
8103         * tools/gst-launch.1.in:
8104           inlined more doc comments, added missing comments and fixed comments
8105           fixed typos
8106
8107 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8108
8109         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8110           some debugging
8111         * gst/gstcaps.h:
8112           whitespace fixes
8113         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8114           more debugging
8115         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8116         * gst/gststructure.h:
8117           add a fixate function for booleans; add a FIXME that these func
8118           names should probably be gst_structure_fixate_*
8119
8120 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8121
8122         * docs/gst/gstreamer-docs.sgml:
8123         * docs/gst/gstreamer-sections.txt:
8124         * gst/Makefile.am:
8125         * gst/gstbin.c: (gst_bin_get_type),
8126         (gst_bin_child_proxy_get_child_by_index),
8127         (gst_bin_child_proxy_get_children_count),
8128         (gst_bin_child_proxy_init):
8129         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8130         (gst_child_proxy_get_child_by_index),
8131         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8132         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8133         (gst_child_proxy_get), (gst_child_proxy_set_property),
8134         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8135         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8136         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8137         * gst/gstchildproxy.h:
8138         * gst/parse/grammar.y:
8139         * tools/gst-inspect.c: (print_interfaces),
8140         (print_element_properties_info), (print_element_info):
8141           ported gstchildproxy over from 0.8
8142           ported gst-inspect fixes and enhancements over from 0.8
8143
8144 2005-08-22  Wim Taymans  <wim@fluendo.com>
8145
8146         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8147         (gst_base_transform_handle_buffer):
8148         Also call the transform function if we have ANY caps.
8149
8150         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8151         Fix debug info.
8152
8153 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8154
8155         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8156           Don't pretend to handle seek events if the source is not seekable
8157
8158 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8159
8160         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8161           Remove extra parameter to debug output
8162
8163         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8164         (gst_base_src_do_seek), (gst_base_src_activate_push):
8165           Fix seek event handling.
8166
8167         * gst/gstpipeline.c: (gst_pipeline_change_state):
8168         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8169         (gst_queue_src_activate_push):
8170           Don't start the src pad task on FLUSH_STOP if the pad
8171           isn't linked.
8172           Debug changes.
8173
8174 2005-08-22  Wim Taymans  <wim@fluendo.com>
8175
8176         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8177         Added check for gst_static_caps_get() refcounting.
8178
8179 2005-08-22  Wim Taymans  <wim@fluendo.com>
8180
8181         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8182         Make _static_caps_get() refcounting sane.
8183         
8184         * gst/gstelement.c: (gst_element_set_state):
8185         Add g_return_val_if_fail() to protect against segfaults.
8186
8187 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8188
8189         * docs/gst/tmpl/gstevent.sgml:
8190         * gst/gstevent.c:
8191         * gst/gstevent.h:
8192           inlined remaining docs, added missing doc comments
8193
8194 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8195
8196         * check/gst/gstbin.c: (GST_START_TEST):
8197           since we don't know when preroll is done, use refcount range
8198           check for the sink
8199         * gst/check/gstcheck.h:
8200           add macro for checking refcount range
8201
8202 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8203
8204         * check/Makefile.am:
8205           clean up environment for when registry gets built versus
8206           when actual tests are run; valgrind seems to not report
8207           leaks if GST_PLUGIN_PATH is set to some specific values
8208         * check/gst/gstbin.c: (GST_START_TEST):
8209           add more refcounting checks; maybe this exposes a
8210           preroll lock bug ?
8211         * common/check.mak:
8212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8213         * gst/check/gstcheck.h:
8214         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8215         (gst_bin_change_state):
8216         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8217           add/fix debugging/whitespace
8218
8219 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8220
8221         * check/gst/gstevent.c: (event_probe), (test_event),
8222         (GST_START_TEST):
8223          Er, don't call gst_bin_watch_for_state_change you idiot.
8224
8225 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8226
8227         * check/Makefile.am:
8228           Use CHECK_CFLAGS and CHECK_LIBS
8229         * check/gst/gstevent.c: (event_probe), (test_event),
8230         (GST_START_TEST):
8231           Don't leak events.
8232         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8233         (gst_base_src_start), (gst_base_src_stop),
8234         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8235         (gst_base_src_change_state):
8236           Sprinkle gst_base_src_stop liberally around error paths to fix
8237           problems reusing a source after failed state changes.
8238         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8239         (helper_find_suggest), (gst_type_find_helper):
8240           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8241         * gst/gstevent.h:
8242         * docs/gst/tmpl/gstevent.sgml:
8243           Migrate part of the docs from the SGML file. Wait for ensonic to
8244           tell me how I did it wrong ;)
8245         * tools/gst-typefind.c: (main):
8246           Extra robustness to state changes between files.
8247
8248 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8249
8250         * check/Makefile.am:
8251           don't valgrind the controller test - it's leaking - Stefan, HELP
8252         * gst/check/gstcheck.c: (gst_check_message_error),
8253         (gst_check_chain_func), (gst_check_setup_element),
8254         (gst_check_teardown_element), (gst_check_setup_src_pad),
8255         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8256         (gst_check_teardown_sink_pad):
8257         * gst/check/gstcheck.h:
8258           add a bunch of methods to set up elements, and src and sink pads
8259         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8260         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8261         (GST_START_TEST):
8262           use them
8263         * gst/gstmessage.c:
8264         * gst/gsttag.h:
8265           whitespace/doc fixes
8266
8267 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8268
8269         * gst/gstelement.h:
8270           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8271           be handled by the application and not always printed as well
8272
8273 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8274
8275         * check/Makefile.am:
8276           set GST_TOOLS_DIR
8277         * gst/check/gstcheck.c: (gst_check_message_error):
8278         * gst/check/gstcheck.h:
8279           add a fail_unless_equals_int
8280           add fail_unless for error messages
8281
8282 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8283
8284         * check/Makefile.am:
8285         * check/gst.supp:
8286         * common/Makefile.am:
8287         * common/check.mak:
8288         * common/gst.supp:
8289           factor out some of the common stuff so we can use it
8290
8291 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8292
8293         * check/Makefile.am:
8294         * check/gst/gstiterator.c: (GST_START_TEST):
8295         * check/gst/gstsystemclock.c: (GST_START_TEST),
8296         (gst_systemclock_suite):
8297         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8298         * gst/gstclock.c:
8299           valgrind more tests
8300
8301 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8302
8303         * check/elements/.cvsignore:
8304         * check/elements/gstfakesrc.c:
8305           rename to name of element
8306         * check/elements/identity.c: (chain_func), (event_func),
8307         (setup_identity), (cleanup_identity), (GST_START_TEST),
8308         (identity_suite), (main):
8309           add a test for identity
8310         * check/Makefile.am:
8311         * pkgconfig/Makefile.am:
8312         * pkgconfig/gstreamer-check.pc.in:
8313         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8314         * gst/check:
8315         * gst/Makefile.am:
8316         * configure.ac:
8317           move the check stuff to a library that gets installed
8318         * check/gst-libs/controller.c: (GST_START_TEST):
8319         * check/gst-libs/gdp.c:
8320         * check/gst/gst.c: (GST_START_TEST):
8321         * check/gst/gstbin.c:
8322         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8323         * check/gst/gstbus.c:
8324         * check/gst/gstcaps.c: (GST_START_TEST):
8325         * check/gst/gstelement.c:
8326         * check/gst/gstghostpad.c:
8327         * check/gst/gstiterator.c:
8328         * check/gst/gstmessage.c:
8329         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8330         * check/gst/gstobject.c:
8331         * check/gst/gstpad.c: (GST_START_TEST):
8332         * check/gst/gststructure.c: (GST_START_TEST):
8333         * check/gst/gstsystemclock.c: (GST_START_TEST),
8334         (gst_systemclock_suite):
8335         * check/gst/gsttag.c: (gst_tag_suite):
8336         * check/gst/gstvalue.c:
8337         * check/pipelines/cleanup.c:
8338         * check/pipelines/simple_launch_lines.c:
8339         * check/states/sinks.c:
8340           change include statement
8341
8342         * docs/gst/gstreamer-sections.txt:
8343         * docs/gst/tmpl/gstpad.sgml:
8344           document more pad stuff
8345         * gst/gstminiobject.c: (gst_mini_object_ref),
8346         (gst_mini_object_unref):
8347           debug refcounting
8348
8349 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8350
8351         * docs/gst/tmpl/gst.sgml:
8352         * gst/gst.c:
8353           eliminate another tmpl file, fix spelling in the long-description
8354
8355 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8356
8357         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8358         (test_event), (timediff), (gstevents_suite):
8359           Should fix build on 64-bit arch's
8360
8361 2005-08-18  Andy Wingo  <wingo@pobox.com>
8362
8363         Make sure that when a pipeline goes to PLAYING, that data has
8364         actually hit the sink.
8365
8366         * check/states/sinks.c (test_sink): A sink that doesn't get any
8367         data shouldn't return SUCCESS for going to either PLAYING or
8368         PAUSED. Test also the return values on the way back down.
8369
8370         * gst/gstelement.c (gst_element_set_state): When changing the
8371         state of an element currently changing state asynchronously, go to
8372         lost-state after commiting the pending state. Makes future calls
8373         to get_state continue to return ASYNC.
8374
8375         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8376         ASYNC when going to PLAYING if we still don't have preroll, as can
8377         happen with live sources.
8378
8379 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8380
8381         * docs/pwg/advanced-types.xml:
8382           Hack long paragraph into 2 chunks as a workaround for buggy
8383           jadetex version in sid and breezy that loops infinitely and
8384           eats all RAM.
8385
8386 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8387
8388         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8389         (test_event), (timediff), (gstevents_suite):
8390           Provide more error margin in clock measurements to allow for 
8391           g_get_current_time inaccuracies.
8392
8393 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8394
8395         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8396         (test_event), (timediff), (gstevents_suite):
8397            Fix error message output so I might be able to tell why the
8398            test works here but fails on the build farm.
8399
8400 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8401
8402         * check/Makefile.am:
8403         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8404         (test_event), (timediff), (gstevents_suite), (main):
8405           I wrote a test!
8406
8407         * docs/design/part-seeking.txt:
8408           Spelling correction
8409
8410         * docs/gst/tmpl/gstevent.sgml:
8411         * docs/gst/tmpl/gstfakesrc.sgml:
8412           Docs updates.
8413
8414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8415           Treat a buffer-without-newsegment the same as a receiving 
8416           a newsegment not in time format, and disable syncing to the clock
8417           with a warning.
8418
8419         * gst/gstbus.c: (gst_bus_set_sync_handler):
8420           Assert if anyone tries to replace the existing sync_handler for bus, 
8421           as only the owner should be setting it.
8422
8423         * gst/gstevent.h:
8424           Have a fixed set of custom event enums with events identified by
8425           their structure name (as in 0.8), rather than a free-for-all
8426           allowing collisions between enum values from different plugins.
8427
8428         * gst/gstpad.c: (gst_pad_class_init):
8429           Docs change.
8430           
8431         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8432           Handle out-of-band downstream events from the sending thread.
8433
8434 2005-08-17  Andy Wingo  <wingo@pobox.com>
8435
8436         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8437         play-timeout==0 to mean no timeout at all. In that case, don't
8438         bother with a get_state or a warning, just return directly, even
8439         if it's ASYNC.
8440
8441         * gst/base/gstbasetransform.c: Debug changes.
8442
8443         * gst/gstutils.h:
8444         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8445         ensure bins post state change messages. A bit of a hack but I can't
8446         think of a way to avoid it.
8447
8448         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8449
8450 2005-08-16  Andy Wingo  <wingo@pobox.com>
8451
8452         * gst/base/gstadapter.h:
8453         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8454         peek() but you own the data. Not terribly efficient atm.
8455
8456 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8457
8458         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8459         (gst_element_found_tags):
8460         * gst/gstutils.h:
8461           Add two utility functions for tag handling.
8462
8463 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8464
8465         * docs/manual/advanced-dataaccess.xml:
8466         * docs/manual/basics-helloworld.xml:
8467           Fix docs to use _bin_add() before _link(), which fixes the examples
8468           with recent core versions (reported by Madhan Raj M
8469           <raj_madan@rediffmail.com>, #313199).
8470
8471 2005-08-16  Wim Taymans  <wim@fluendo.com>
8472
8473         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8474         Added subtract checks.
8475
8476         * docs/design/part-events.txt:
8477         Some more docs about newsegment
8478
8479         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8480         Fix FIXME
8481
8482         * gst/gstcaps.c: (gst_caps_to_string):
8483         Add comments, cleanups.
8484         
8485         * gst/gstelement.c: (gst_element_save_thyself):
8486         cleanups
8487         
8488         * gst/gstvalue.c: (gst_value_collect_int_range),
8489         (gst_string_unwrap), (gst_value_union_int_int_range),
8490         (gst_value_union_int_range_int_range),
8491         (gst_value_intersect_int_int_range),
8492         (gst_value_intersect_int_range_int_range),
8493         (gst_value_intersect_double_double_range),
8494         (gst_value_intersect_double_range_double_range),
8495         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8496         (gst_value_subtract_int_range_int),
8497         (gst_value_subtract_double_range_double),
8498         (gst_value_subtract_double_range_double_range),
8499         (gst_value_subtract_from_list), (gst_value_subtract_list),
8500         (gst_value_can_compare), (gst_value_compare_fraction):
8501         Cleanups, add comments, remove unneeded asserts.
8502
8503 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8504
8505         * tools/gst-launch.c: (event_loop):
8506           don't convert NULL structures to strings
8507
8508 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8509
8510         * docs/gst/gstreamer-sections.txt:
8511           made some defines private
8512         * docs/gst/tmpl/gstconfig.sgml:
8513         * docs/gst/tmpl/gstqueue.sgml:
8514         * docs/gst/tmpl/gsttaglist.sgml:
8515         * docs/gst/tmpl/gsttypes.sgml:
8516         * docs/gst/tmpl/gstutils.sgml:
8517         * docs/pwg/appendix-porting.xml:
8518         * gst/base/gstbasesink.h:
8519         * gst/base/gstbasesrc.c:
8520         * gst/base/gstbasesrc.h:
8521         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8522         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8523         * gst/gstelement.c: (gst_element_class_init):
8524         * gst/gstpad.c: (gst_pad_class_init):
8525         * gst/gstqueue.c: (gst_queue_class_init):
8526         * gst/gstxml.c: (gst_xml_class_init):
8527           documented all undocumented signal inline
8528         * libs/gst/controller/gst-controller.h:
8529           added padding
8530
8531 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8532
8533         * docs/pwg/appendix-porting.xml:
8534           Document _set_link_function -> _set_setcaps_function.
8535
8536 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8537
8538         * check/Makefile.am:
8539           add a .check target for running the check
8540         * check/gst-libs/controller.c: (GST_START_TEST):
8541           cosmetic fixups
8542         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8543           complete checks for gstbuffer; would be nice if I could get the
8544           gcov stuff to work so I can see if I actually completed gstbuffer.c
8545         * check/gstcheck.h:
8546           add ASSERT_BUFFER_REFCOUNT
8547
8548 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8549
8550         * docs/gst/gstreamer-sections.txt:
8551         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8552         * gst/gsttag.h:
8553           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8554           spew out a warning if a tag that is already registered
8555           is re-registered, unless it is re-registered with a 
8556           different type (#308438).
8557
8558 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8559
8560         * docs/pwg/appendix-porting.xml:
8561         * docs/pwg/building-state.xml:
8562           Add some paragraphs about state changes in 0.9 to the PWG
8563           and the porting guide, in particular about the new meaning
8564           of GST_STATE_PAUSED and how to write state change functions
8565           with concurrent access by multiple threads in mind.
8566
8567 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8568
8569         * docs/gst/gstreamer-docs.sgml:
8570         * docs/libs/gstreamer-libs-docs.sgml:
8571           added deprecation and since indexes
8572         * libs/gst/controller/gst-controller.c:
8573         * libs/gst/controller/gst-helper.c:
8574           added since tags
8575
8576
8577 2005-08-11  Wim Taymans  <wim@fluendo.com>
8578
8579         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8580         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8581         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8582         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8583         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8584         (gst_ghost_pad_set_target):
8585         Actually implement (re)setting the target on a ghostpad
8586         as described in the docs.
8587
8588 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8589
8590         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8591           Check whether GST_DEBUG_NO_COLOR environment variable is
8592           set and disable coloured debug output if that is the case.
8593
8594 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8595
8596         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8597         (gst_type_find_helper):
8598           The memory returned by gst_type_find_peek() needs to
8599           stay valid until the end of a typefind function, and
8600           typefind functions may keep results from different 
8601           offsets around, so we can't just unref the buffer from
8602           the previous _peek(), but have to save all buffers 
8603           returned by _peek() until typefinding is done and only
8604           free them then.
8605
8606 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8607
8608         * docs/gst/gstreamer-sections.txt:
8609         * gst/gstutils.h:
8610           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8611
8612 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8613
8614         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8615           Fix a pretty good memleak.
8616
8617 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8618
8619         * gst/gstiterator.h:
8620           Fix wrong include and 'make distcheck'.
8621
8622 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8623
8624         * gst/gstbin.c: (bin_bus_handler):
8625           Use gst_element_post_message() instead.
8626
8627 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8628
8629         * gst/base/gstadapter.h:
8630         * gst/base/gstbasesink.h:
8631         * gst/base/gstbasesrc.h:
8632         * gst/base/gstbasetransform.h:
8633         * gst/base/gstcollectpads.h:
8634         * gst/base/gstpushsrc.h:
8635         * gst/gstiterator.h:
8636           Add padding to our base elements' class and instance structs and
8637           to GstIterator (you will need to rebuild all plugins and apps!)
8638
8639 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8640
8641         * gst/gstbin.c: (bin_bus_handler):
8642           Make default message forwarding from child->bus to bin->bus
8643           threadsafe and make it not emit warnings if the parent has no bus.
8644
8645 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8646
8647         * gst/gstelement.c: (activate_pads):
8648           On paused->ready, set pad->caps to NULL, as is the documented
8649           behaviour in this state change. Fixes playback of series of
8650           media files when visualization is enabled in Totem.
8651
8652 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8653
8654         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8655           Allow NULL as filter-caps (which means "any").
8656
8657 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8658
8659         * docs/libs/gstreamer-libs-sections.txt:
8660         * libs/gst/controller/gst-controller.c:
8661         * libs/gst/controller/gst-controller.h:
8662         * libs/gst/controller/gst-helper.c:
8663           adding more entries to the docs and fix small doc-bugs
8664
8665 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8666
8667         * docs/gst/gstreamer-docs.sgml:
8668         * docs/gst/gstreamer-sections.txt:
8669         * docs/gst/gstreamer.types:
8670         * docs/gst/tmpl/gstbasesink.sgml:
8671         * docs/gst/tmpl/gstbasesrc.sgml:
8672         * docs/gst/tmpl/gstbasetransform.sgml:
8673         * docs/gst/tmpl/gstfakesrc.sgml:
8674         * gst/base/gstcollectpads.c:
8675         * gst/base/gstcollectpads.h:
8676         * libs/gst/controller/gst-controller.c:
8677         * libs/gst/controller/gst-controller.h:
8678         * libs/gst/controller/gst-helper.c:
8679         * libs/gst/controller/gst-interpolation.c:
8680         * libs/gst/controller/lib.c:
8681           added long/short desc for controller docs
8682           added collectpads base class docs
8683           added correct includes to base-class docs
8684
8685 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8686
8687         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8688         (gst_test_mono_source_set_property),
8689         (gst_test_mono_source_class_init), (GST_START_TEST),
8690         (gst_controller_suite):
8691         * docs/gst/gstreamer-docs.sgml:
8692         * docs/gst/gstreamer-sections.txt:
8693         * docs/gst/gstreamer.types:
8694         * docs/libs/gstreamer-libs-docs.sgml:
8695         * docs/libs/gstreamer-libs-sections.txt:
8696         * gst/base/gstadapter.c:
8697         * libs/gst/controller/gst-controller.c:
8698         (gst_controlled_property_new), (gst_controlled_property_free),
8699         (gst_controller_new_valist),
8700         (gst_controller_remove_properties_valist),
8701         (gst_controller_sink_values), (_gst_controller_finalize):
8702         * libs/gst/controller/gst-controller.h:
8703         * libs/gst/controller/gst-helper.c:
8704         (gst_object_control_properties), (gst_object_uncontrol_properties),
8705         (gst_object_get_controller), (gst_object_set_controller),
8706         (gst_object_sink_values), (gst_object_get_value_arrays),
8707         (gst_object_get_value_array):
8708           more tests (and fixes) for the controller
8709           more docs for the controller
8710           integrated companies docs for the adapter 
8711
8712 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8713
8714         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8715         (GST_START_TEST), (fakesrc_suite):
8716           add tests for sizetype
8717
8718 2005-08-04  Andy Wingo  <wingo@pobox.com>
8719
8720         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8721         fixes buffer_alloc proxying among other things.
8722
8723         * gst/base/gstbasetransform.c:
8724         * gst/base/gstbasetransform.h:
8725         Revert patch to gstbasetransform from 7-28 removing
8726         delay_configure.
8727
8728         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8729         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8730         Semantics changed, should return not the size of the output buffer
8731         but the byte size of a buffer with a given caps.
8732
8733         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8734         debug object.
8735         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8736         out) are not the pad caps until setcaps finishes.
8737         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8738         not-in-place case as well. Deal with changing from in-place to
8739         not-in-place within calling pad_alloc_buffer. Still a bit
8740         concerned about the overhead here...
8741
8742 2005-08-03  Andy Wingo  <wingo@pobox.com>
8743
8744         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8745         fixating is an error.
8746
8747 2005-08-04  Edward Hervey  <edward@fluendo.com>
8748
8749         * gst/base/gstadapter.h: 
8750         Added gst_adapter_get_type() to the header
8751
8752 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8753
8754         * check/Makefile.am:
8755         * check/gst-libs/controller.c:
8756         * libs/gst/controller/gst-controller.c:
8757         (gst_controller_new_valist):
8758           added check test suite for the controller
8759         * gst/base/gstpushsrc.c:
8760           fixed a doc typo
8761
8762 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8763
8764         * docs/gst/Makefile.am:
8765         * docs/gst/gstreamer-docs.sgml:
8766         * docs/gst/gstreamer-sections.txt:
8767         * docs/gst/gstreamer.types:
8768         * docs/gst/tmpl/gstfakesrc.sgml:
8769         * gst/base/README:
8770         * gst/base/gstbasesink.c:
8771         * gst/base/gstbasesink.h:
8772         * gst/base/gstbasesrc.c:
8773         * gst/base/gstbasesrc.h:
8774         * gst/base/gstbasetransform.c:
8775         * gst/base/gstpushsrc.c:
8776         * gst/base/gstpushsrc.h:
8777           add short/long description docs to base classes
8778           add pushsrc to the docs
8779           remove consolidated doc fragments
8780
8781 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8782
8783         * configure.ac:
8784         * docs/libs/Makefile.am:
8785         * docs/libs/gstreamer-libs-docs.sgml:
8786         * docs/libs/gstreamer-libs-sections.txt:
8787         * docs/libs/gstreamer-libs.types:
8788         * examples/Makefile.am:
8789         * examples/controller/.cvsignore:
8790         * examples/controller/Makefile.am:
8791         * examples/controller/audio-example.c: (main):
8792         * libs/gst/Makefile.am:
8793         * libs/gst/controller/.cvsignore:
8794         * libs/gst/controller/Makefile.am:
8795         * libs/gst/controller/gst-controller.c:
8796         (on_object_controlled_property_changed), (gst_timed_value_compare),
8797         (gst_timed_value_find),
8798         (gst_controlled_property_set_interpolation_mode),
8799         (gst_controlled_property_new), (gst_controlled_property_free),
8800         (gst_controller_find_controlled_property),
8801         (gst_controller_new_valist), (gst_controller_new),
8802         (gst_controller_remove_properties_valist),
8803         (gst_controller_remove_properties), (gst_controller_set),
8804         (gst_controller_set_from_list), (gst_controller_unset),
8805         (gst_controller_get), (gst_controller_get_all),
8806         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8807         (gst_controller_get_value_array),
8808         (gst_controller_set_interpolation_mode),
8809         (_gst_controller_finalize), (_gst_controller_init),
8810         (_gst_controller_class_init), (gst_controller_get_type):
8811         * libs/gst/controller/gst-controller.h:
8812         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8813         (g_object_uncontrol_properties), (g_object_get_controller),
8814         (g_object_set_controller), (g_object_sink_values),
8815         (g_object_get_value_arrays), (g_object_get_value_array):
8816         * libs/gst/controller/gst-interpolation.c:
8817         (gst_controlled_property_find_timed_value_node),
8818         (interpolate_none_get), (interpolate_trigger_get),
8819         (interpolate_trigger_get_value_array):
8820         * libs/gst/controller/lib.c: (gst_controller_init):
8821         * pkgconfig/Makefile.am:
8822         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8823         * pkgconfig/gstreamer-control.pc.in:
8824         * testsuite/Makefile.am:
8825         * testsuite/controller/.cvsignore:
8826         * testsuite/controller/Makefile.am:
8827         * testsuite/controller/interpolator.c: (main):
8828           added controller code
8829           removed dparam pc files
8830
8831 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8832         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8833         (gst_collectpads_stop):
8834           Broadcast the condition when shutting down, to make sure we wake all
8835           threads up. Shut down pads on finalize, for safety.
8836
8837 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8838         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8839         (gst_base_transform_handle_buffer),
8840         (gst_base_transform_change_state):
8841           Handle PAUSED->READY->PAUSED transition after negotiation
8842           occurred already.
8843         * gst/gstmessage.c: (gst_message_init):
8844           Extra piece of debug for new messages.
8845
8846 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8847
8848         * configure.ac:
8849         * docs/gst/tmpl/gstbasesrc.sgml:
8850         * docs/gst/tmpl/gstelement.sgml:
8851         * docs/gst/tmpl/gstevent.sgml:
8852         * docs/gst/tmpl/gstfakesrc.sgml:
8853         * docs/gst/tmpl/gstformat.sgml:
8854         * docs/gst/tmpl/gstghostpad.sgml:
8855         * docs/gst/tmpl/gstpad.sgml:
8856         * docs/gst/tmpl/gstquery.sgml:
8857         * docs/gst/tmpl/gststructure.sgml:
8858         * docs/gst/tmpl/gsttaglist.sgml:
8859         * docs/gst/tmpl/gstvalue.sgml:
8860         * docs/libs/gstreamer-libs-docs.sgml:
8861         * docs/libs/gstreamer-libs-sections.txt:
8862         * docs/libs/gstreamer-libs.types:
8863         * libs/gst/Makefile.am:
8864         * libs/gst/control/.cvsignore:
8865         * libs/gst/control/Makefile.am:
8866         * libs/gst/control/control.c:
8867         * libs/gst/control/control.h:
8868         * libs/gst/control/dparam.c:
8869         * libs/gst/control/dparam.h:
8870         * libs/gst/control/dparam_smooth.c:
8871         * libs/gst/control/dparam_smooth.h:
8872         * libs/gst/control/dparamcommon.h:
8873         * libs/gst/control/dparammanager.c:
8874         * libs/gst/control/dparammanager.h:
8875         * libs/gst/control/dplinearinterp.c:
8876         * libs/gst/control/dplinearinterp.h:
8877         * libs/gst/control/unitconvert.c:
8878         * libs/gst/control/unitconvert.h:
8879         * testsuite/Makefile.am:
8880         * testsuite/dynparams/.cvsignore:
8881         * testsuite/dynparams/Makefile.am:
8882         * testsuite/dynparams/dparamstest.c:
8883         * tools/Makefile.am:
8884         * tools/gst-inspect.c: (print_element_info), (main):
8885         * tools/gst-xmlinspect.c: (print_element_info), (main):
8886           deactivate and remove dparams (libgstcontrol)
8887
8888 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8889
8890         * gst/elements/gsttypefindelement.c:
8891         (gst_type_find_element_have_type), (gst_type_find_element_init),
8892         (stop_typefinding), (gst_type_find_element_handle_event),
8893         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8894         * gst/elements/gsttypefindelement.h:
8895           Set caps on all outgoing buffers, not just the first one.
8896
8897 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8898
8899         * gst/elements/gsttypefindelement.c:
8900         (gst_type_find_element_have_type),
8901         (gst_type_find_element_check_set_buffer_caps),
8902         (gst_type_find_element_init), (stop_typefinding),
8903         (gst_type_find_element_handle_event),
8904         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8905         * gst/elements/gsttypefindelement.h:
8906           Set caps on first outgoing buffer when we've found the type.
8907
8908 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8909
8910         * docs/gst/gstreamer-docs.sgml:
8911         * docs/gst/gstreamer-sections.txt:
8912         * docs/gst/tmpl/gstscheduler.sgml:
8913         * docs/gst/tmpl/gstschedulerfactory.sgml:
8914           Remove some old cruft from docs.
8915
8916 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8917
8918         * gst/gstpad.h:
8919           Fix inline docs for GstPadLinkReturn.
8920           
8921         * gst/gststructure.c: (gst_structure_has_name):
8922         * gst/gststructure.h:
8923         * docs/gst/gstreamer-sections.txt:
8924           New API: gst_structure_has_name().
8925
8926 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8927
8928         * configure.ac:
8929           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8930           and _LARGEFILE_SOURCE in config.h as required. Do not 
8931           export those flags in our .pc files any longer (#142209).
8932
8933           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8934
8935         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8936         (gst_file_sink_do_seek), (gst_file_sink_event),
8937         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8938           Redo seek/tell calls with large file support in mind; add some
8939           debugging messages; add log message that tells us when large
8940           file support is unavailable or not enabled for some reason.
8941
8942         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8943           Add log message that tells us when large file support 
8944           is unavailable or not enabled for some reason.
8945
8946 2005-07-29  Wim Taymans  <wim@fluendo.com>
8947
8948         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8949         Added test for removing an element with ghostpad from a bin.
8950         Fixed test as current implementation does the right thing.
8951
8952         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8953         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8954         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8955         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8956         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8957         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8958         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8959         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8960         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8961         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8962         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8963         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8964         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8965         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8966         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8967         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8968         * gst/gstghostpad.h:
8969         Clean up ghostpads, remove properties for internal stuff.
8970         Make threadsafe.
8971         Fix refcounting.
8972         Prepare for switching targets, not all use cases work yet.
8973
8974 2005-07-29  Wim Taymans  <wim@fluendo.com>
8975
8976         * docs/design/part-gstghostpad.txt:
8977         Small update.
8978
8979         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8980         (gst_bin_remove_func):
8981         Unlinking pads while holding the bin LOCK is not a good
8982         idea.
8983
8984         * gst/gstpad.c: (gst_pad_class_init),
8985         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8986         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8987         No prob setting template after creating the pad.
8988
8989 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8990
8991         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8992         (gst_bus_peek), (gst_bus_source_dispatch),
8993         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8994         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8995           gst_bus_poll may be called from other threads. Handle
8996           this nicely by not making poll_data disappear off the
8997           stack once gst_bus_poll returns.
8998           gst_bus_peek now increments the refcount on the returned
8999           message.
9000
9001 2005-07-29  Wim Taymans  <wim@fluendo.com>
9002
9003         * docs/design/part-gstghostpad.txt:
9004         Overview of current GhostPad datastructures and use
9005         cases for changing the target.
9006
9007 2005-07-28  Wim Taymans  <wim@fluendo.com>
9008
9009         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9010         Added checks for hierarchy consistency whan adding linked
9011         elements to bins.
9012
9013         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9014         Added check to test element scheduling without bin/pipeline.
9015
9016         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9017         First add elements to bin, then link.
9018         
9019         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
9020         (gst_bin_remove_func):
9021         Unlink pads from elements added/removed from bin to maintain
9022         hierarchy consistency.
9023
9024 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9025
9026         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
9027         (gst_base_transform_handle_buffer):
9028         * gst/base/gstbasetransform.h:
9029           Remove broken delay_configure (fixes renegotiation of software
9030           scaling pipelines); remove some leftover printf()s.
9031
9032 2005-07-28  Wim Taymans  <wim@fluendo.com>
9033
9034         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9035         Added some more tests for wrong hierarchy
9036
9037         * docs/design/part-overview.txt:
9038         Some updates.
9039
9040         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9041         Cleanups.
9042
9043         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9044         (gst_element_dispose):
9045         Some more cleanups.
9046
9047         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9048         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9049         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9050         (gst_pad_set_caps), (gst_pad_send_event):
9051         Check for correct hierarchy when linking pads. Moving to
9052         strict requirement for ghostpads when linking elements in
9053         different bins.
9054
9055         * gst/gstpad.h:
9056         Clean ups. Added WRONG_HIERARCHY return value.
9057
9058 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9059
9060         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9061           Better debug if no transform is possible.
9062
9063 2005-07-27  Wim Taymans  <wim@fluendo.com>
9064
9065         * docs/random/wtay/network-transp:
9066         Some old doc I had.
9067
9068 2005-07-27  Wim Taymans  <wim@fluendo.com>
9069
9070         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9071         (gst_dp_event_from_packet):
9072         Fix serialization of seek events.
9073
9074 2005-07-27  Wim Taymans  <wim@fluendo.com>
9075
9076         * check/gst-libs/gdp.c: (GST_START_TEST):
9077         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9078         Fix compilation and fix event serialization.
9079
9080 2005-07-27  Wim Taymans  <wim@fluendo.com>
9081
9082         * CHANGES-0.9:
9083         * docs/design/part-TODO.txt:
9084         * docs/design/part-events.txt:
9085         Some docs updates
9086
9087         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9088         (gst_base_sink_event), (gst_base_sink_do_sync),
9089         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9090         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9091         (gst_base_src_do_seek), (gst_base_src_event_handler),
9092         (gst_base_src_loop):
9093         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9094         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9095         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9096         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9097         (gst_base_transform_set_passthrough),
9098         (gst_base_transform_is_passthrough):
9099         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9100         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9101         Event updates.
9102
9103         * gst/gstbuffer.h:
9104         Use faster casts.
9105
9106         * gst/gstelement.c: (gst_element_seek):
9107         * gst/gstelement.h:
9108         Update gst_element_seek.
9109
9110         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9111         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9112         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9113         (gst_event_new_eos), (gst_event_new_newsegment),
9114         (gst_event_parse_newsegment), (gst_event_new_tag),
9115         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9116         (gst_event_parse_qos), (gst_event_new_seek),
9117         (gst_event_parse_seek), (gst_event_new_navigation):
9118         * gst/gstevent.h:
9119         Make GstEvent use GstStructure. Add parsing code, make sure the
9120         API is sufficiently generic.
9121         Mark possible directions of events and serialization.
9122
9123         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9124         (_gst_message_copy), (gst_message_new_segment_start),
9125         (gst_message_new_segment_done), (gst_message_new_custom),
9126         (gst_message_parse_segment_start),
9127         (gst_message_parse_segment_done):
9128         Small cleanups.
9129
9130         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9131         (gst_pad_set_caps), (gst_pad_send_event):
9132         Update for new events. 
9133         Catch events sent in wrong directions.
9134
9135         * gst/gstqueue.c: (gst_queue_link_src),
9136         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9137         (gst_queue_handle_src_query):
9138         Event updates.
9139
9140         * gst/gsttag.c:
9141         * gst/gsttag.h:
9142         Remove event code from this file.
9143
9144         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9145         (gst_dp_event_from_packet):
9146         Event updates.
9147
9148 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9149
9150         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9151         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9152         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9153           Make debugging actually useful.
9154
9155 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9156
9157         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9158         (gst_pad_fixate_caps):
9159           Implement default fixation once again, so that gst_pad_fixate()
9160           actually does anything at all. This probably needs to be some
9161           sort of a last resort, and use profile-based fixation first, but
9162           since that doesn't exist yet, this is the best we have. Fixes
9163           visualization in Totem.
9164
9165 2005-07-22  Wim Taymans  <wim@fluendo.com>
9166
9167         * docs/design/part-events.txt:
9168         Small update.
9169
9170         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9171         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9172         (gst_base_sink_activate_pull):
9173         Some more comments.
9174
9175         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9176         (gst_fake_src_create):
9177         Fix handoff marshall.
9178
9179         * gst/elements/gstidentity.c: (gst_identity_class_init),
9180         (gst_identity_transform_ip):
9181         We're a real inplace element.
9182
9183         * gst/gstbus.c: (gst_bus_post):
9184         Added some comments.
9185
9186         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9187         * tests/muxing/case1.c: (main):
9188         * tests/sched/dynamic-pipeline.c: (main):
9189         * tests/sched/interrupt1.c: (main):
9190         * tests/sched/interrupt2.c: (main):
9191         * tests/sched/interrupt3.c: (main):
9192         * tests/sched/runxml.c: (main):
9193         * tests/sched/sched-stress.c: (main):
9194         * tests/seeking/seeking1.c: (event_received), (main):
9195         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9196         (main):
9197         * tests/threadstate/threadstate3.c: (main):
9198         * tests/threadstate/threadstate4.c: (main):
9199         * tests/threadstate/threadstate5.c: (main):
9200         Fix the tests.
9201
9202 2005-07-21  Wim Taymans  <wim@fluendo.com>
9203
9204         * docs/design/part-seeking.txt:
9205         Some small additions.
9206
9207         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9208         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9209         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9210         * gst/base/gstbasesink.h:
9211         discont values are gint64, handle the math correctly.
9212
9213         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9214         Make the basesrc report error if the source pad is not linked.
9215
9216         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9217         (gst_queue_loop), (gst_queue_handle_src_query),
9218         (gst_queue_src_activate_push):
9219         Make queue collect data even if the srcpad is not linked.
9220         Start pushing out data as soon as it is linked.
9221
9222         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9223         * gst/gstutils.h:
9224         Added gst_flow_get_name() to ease error reporting.
9225
9226 2005-07-20  Wim Taymans  <wim@fluendo.com>
9227
9228         * gst/gstmessage.c: (gst_message_new_segment_start),
9229         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9230         (gst_message_parse_segment_done):
9231         * gst/gstmessage.h:
9232         Added a bunch of messages for advanced seeking.
9233
9234         * gst/parse/grammar.y:
9235         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9236         (gst_dpman_state_changed):
9237         Fix some new-pad -> pad-added signals
9238
9239 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9240
9241         * docs/manual/appendix-porting.xml:
9242         * docs/pwg/appendix-porting.xml:
9243           Document new-pad/state-change signal renames and the FixedList
9244           type rename.
9245
9246 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9247
9248         * docs/manual/advanced-autoplugging.xml:
9249         * docs/manual/basics-helloworld.xml:
9250         * docs/manual/basics-pads.xml:
9251         * docs/random/ds/0.9-suggested-changes:
9252         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9253         * gst/gstelement.h:
9254         * gst/gstevent.h:
9255         * gst/gstformat.h:
9256         * gst/gstquery.h:
9257         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9258         (gst_structure_parse_array), (gst_structure_parse_value):
9259         * gst/gstvalue.c: (gst_type_is_fixed),
9260         (gst_value_list_prepend_value), (gst_value_list_append_value),
9261         (gst_value_list_get_size), (gst_value_list_get_value),
9262         (gst_value_transform_array_string), (gst_value_serialize_array),
9263         (gst_value_deserialize_array), (gst_value_intersect_array),
9264         (gst_value_is_fixed), (_gst_value_initialize):
9265         * gst/gstvalue.h:
9266           GstElement::new-pad -> pad-added, GstElement::state-change ->
9267           state-changed, GstValueFixedList -> GstValueArray, add format and
9268           flags as their own arguments in gst_element_seek() (should improve
9269           "bindeability"), remove function generators since they don't work
9270           under a whole bunch of compilers (they were deprecated already
9271           anyway).
9272
9273 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9274
9275         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9276         (_gst_debug_register_funcptr):
9277         * gst/gstinfo.h:
9278           Fix illegal cast on some platforms (#309253).
9279
9280 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9281
9282         * gst/gstmessage.c: (gst_message_new_custom):
9283         * gst/gstmessage.h:
9284           Add _new_custom, make _new_application a macro to _new_custom.
9285
9286 2005-07-20  Wim Taymans  <wim@fluendo.com>
9287
9288         * gst/base/gstbasesrc.c: (gst_base_src_init),
9289         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9290         * gst/base/gstbasesrc.h:
9291         Add a gboolean to decide when to push out a discont.
9292
9293         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9294         (gst_queue_loop), (gst_queue_handle_src_query),
9295         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9296         (gst_queue_set_property), (gst_queue_get_property):
9297         Some cleanups.
9298
9299         * tests/threadstate/threadstate1.c: (main):
9300         Make a thread test compile and run... very silly..
9301
9302
9303 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9304
9305         * docs/manual/appendix-porting.xml:
9306           Mention removal of libgstgconf-0.9.la and existence of gconf
9307           elements.
9308
9309 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9310
9311         * docs/pwg/advanced-clock.xml:
9312         * docs/pwg/appendix-porting.xml:
9313         * docs/pwg/intro-preface.xml:
9314         * docs/pwg/other-base.xml:
9315         * docs/pwg/other-manager.xml:
9316         * docs/pwg/other-nton.xml:
9317         * docs/pwg/other-ntoone.xml:
9318         * docs/pwg/other-oneton.xml:
9319         * docs/pwg/pwg.xml:
9320           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9321           demuxer), remove n-to-n (was never written), fix some code examples
9322           and links and update the porting section to include all this.
9323
9324 2005-07-19  Wim Taymans  <wim@fluendo.com>
9325
9326         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9327         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9328         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9329         (gst_queue_src_activate_push), (gst_queue_change_state),
9330         (gst_queue_get_property):
9331         * gst/gstqueue.h:
9332         Propagate GstFlowReturn more intelligently upstream and output
9333         an ERROR/EOS when streaming stopped due to fatal error.
9334
9335 2005-07-19  Wim Taymans  <wim@fluendo.com>
9336
9337         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9338         Don't block forever for the state change to complete, the
9339         pipeline already did with a sensible timeout.
9340
9341 2005-07-19  Wim Taymans  <wim@fluendo.com>
9342
9343         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9344         Make sure we never call the create function is we
9345         got deactivated.
9346
9347 2005-07-19  Andy Wingo  <wingo@pobox.com>
9348
9349         * gst/parse/parse.l: Attempt to solve bug #172815.
9350
9351 2005-07-19  Wim Taymans  <wim@fluendo.com>
9352
9353         * docs/design/part-clocks.txt:
9354         * docs/design/part-events.txt:
9355         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9356         Small docs updates.
9357         Only update the seeking values when we are not
9358         busy streaming.
9359
9360 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9361
9362         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9363           Oops, ignore the result of gst_pad_push_event here.
9364
9365 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9366
9367         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9368         (gst_base_src_activate_push):
9369           Send discont event from the loop function, as pads
9370           aren't activated yet in the activate_push handler.
9371
9372         * gst/gstbin.c: (bin_bus_handler):
9373           Don't leak element name.
9374
9375 2005-07-18  Andy Wingo  <wingo@pobox.com>
9376
9377         * configure.ac: Use AS_LIBTOOL_TAGS.
9378
9379 2005-07-18  Wim Taymans  <wim@fluendo.com>
9380
9381         * docs/gst/gstreamer.types:
9382         Remove deleted types.
9383
9384 2005-07-18  Wim Taymans  <wim@fluendo.com>
9385
9386         * check/elements/gstfakesrc.c: (GST_START_TEST):
9387         * configure.ac:
9388         * gst/Makefile.am:
9389         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9390         (init_popt_callback):
9391         * gst/gst.h:
9392         * gst/gst_private.h:
9393         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9394         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9395         * gst/gstbin.h:
9396         * gst/gstbus.h:
9397         * gst/gstconfig.h.in:
9398         * gst/gstelement.c: (gst_element_class_init),
9399         (gst_element_set_base_time), (gst_element_get_base_time),
9400         (iterator_fold_with_resync), (gst_element_change_state),
9401         (gst_element_dispose), (gst_element_get_bus):
9402         * gst/gstelement.h:
9403         * gst/gstelementfactory.h:
9404         * gst/gsterror.c: (_gst_core_errors_init):
9405         * gst/gsterror.h:
9406         * gst/gstevent.h:
9407         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9408         * gst/gstindex.c:
9409         * gst/gstinfo.c: (_gst_debug_init):
9410         * gst/gstmessage.c: (_gst_message_copy):
9411         * gst/gstmessage.h:
9412         * gst/gstminiobject.h:
9413         * gst/gstobject.c:
9414         * gst/gstobject.h:
9415         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9416         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9417         * gst/gstpad.h:
9418         * gst/gstparse.h:
9419         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9420         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9421         (gst_pipeline_get_last_stream_time):
9422         * gst/gstpipeline.h:
9423         * gst/gstpluginfeature.h:
9424         * gst/gstquery.h:
9425         * gst/gstscheduler.c:
9426         * gst/gstscheduler.h:
9427         * gst/gststructure.h:
9428         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9429         (gst_task_finalize), (gst_task_func), (gst_task_create),
9430         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9431         (gst_task_stop), (gst_task_pause):
9432         * gst/gsttask.h:
9433         * gst/gsttypefind.h:
9434         * gst/gsttypes.h:
9435         * gst/registries/gstlibxmlregistry.c: (load_feature),
9436         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9437         * gst/registries/gstxmlregistry.c:
9438         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9439         * gst/schedulers/threadscheduler.c:
9440         * libs/gst/control/dparammanager.h:
9441         * tools/gst-inspect.c: (print_element_list),
9442         (print_plugin_features), (print_element_features):
9443         * tools/gst-xmlinspect.c: (print_element_list),
9444         (print_plugin_info), (main):
9445         Removed plugable schedulers.
9446         Removed Scheduler/Manager from elements.
9447         Removed gsttypes.h, rearranged includes.
9448         Removed dependency pad<->element, element<>pipeline, and
9449         various others,  fix includes.
9450         implement gst_pad_get_parent() with gst_object_get_parent()
9451         Make GstTask sefcontained.
9452         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9453         timeout.
9454         Fix endless loop in iterator_fold_with_resync.
9455
9456
9457 2005-07-18  Wim Taymans  <wim@fluendo.com>
9458
9459         * gst/Makefile.am:
9460         * gst/gstarch.h:
9461         Remove old file.
9462
9463 2005-07-18  Wim Taymans  <wim@fluendo.com>
9464
9465         * gst/Makefile.am:
9466         No more cothreads.h
9467
9468 2005-07-18  Wim Taymans  <wim@fluendo.com>
9469
9470         * gst/cothreads.c:
9471         * gst/cothreads.h:
9472         Let's remove these.
9473
9474 2005-07-18  Wim Taymans  <wim@fluendo.com>
9475
9476         * docs/design/part-dynamic.txt:
9477         * docs/design/part-events.txt:
9478         * docs/design/part-seeking.txt:
9479         Some more docs in the works.
9480
9481         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9482         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9483         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9484         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9485         (gst_base_transform_handle_buffer),
9486         (gst_base_transform_sink_activate_push),
9487         (gst_base_transform_src_activate_pull),
9488         (gst_base_transform_set_passthrough),
9489         (gst_base_transform_is_passthrough):
9490         Refcounting fixes.
9491
9492         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9493         Cleanups.
9494
9495         * gst/gstevent.c: (gst_event_finalize):
9496         Set SRC to NULL.
9497
9498         * gst/gstutils.c: (gst_element_unlink),
9499         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9500         (gst_pad_proxy_setcaps):
9501         * gst/gstutils.h:
9502         Add _get_parent_element() to get a pads parent as an element.
9503
9504 2005-07-18  Wim Taymans  <wim@fluendo.com>
9505
9506         * check/gst/gstbin.c: (GST_START_TEST):
9507         Remove bogus test.
9508
9509 2005-07-18  Wim Taymans  <wim@fluendo.com>
9510
9511         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9512         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9513         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9514         (gst_base_sink_event), (gst_base_sink_do_sync),
9515         (gst_base_sink_chain), (gst_base_sink_loop),
9516         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9517         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9518         Refcounting fixes.
9519         Fix logic for returning ASYNC when not prerolled.
9520
9521 2005-07-18  Wim Taymans  <wim@fluendo.com>
9522
9523         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9524         Fix nasty refcount bug.
9525
9526 2005-07-16 Philippe Khalaf <burger@speedy.org>
9527
9528         * gst/elements/gstfdsrc.c:
9529         * gst/elements/gstfdsrc.h:
9530         * gst/elements/gstelements.c:
9531         * gst/elements/Makefile.am:
9532         Ported fdsrc to 0.9.
9533
9534 2005-07-16  Wim Taymans  <wim@fluendo.com>
9535
9536         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9537         (gst_base_sink_do_sync):
9538         Fix compile error.
9539
9540 2005-07-16  Wim Taymans  <wim@fluendo.com>
9541
9542         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9543         (gst_base_sink_event), (gst_base_sink_get_times),
9544         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9545         * gst/base/gstbasesink.h:
9546         Store and use discont values when syncing buffers as described
9547         in design docs.
9548         
9549         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9550         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9551         (gst_base_src_activate_push):
9552         Push discont event when starting.
9553
9554         * gst/elements/gstidentity.c: (gst_identity_transform):
9555         Small cleanups.
9556
9557         * gst/gstbin.c: (gst_bin_change_state):
9558         Small cleanups in base_time  distribution.
9559
9560         * gst/gstelement.c: (gst_element_set_base_time),
9561         (gst_element_get_base_time), (gst_element_change_state):
9562         * gst/gstelement.h:
9563         Added methods for the base_time of the element.
9564         Some MT fixes.
9565
9566         * gst/gstpipeline.c: (gst_pipeline_send_event),
9567         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9568         (gst_pipeline_get_last_stream_time):
9569         * gst/gstpipeline.h:
9570         MT fixes.
9571         Handle seeking as described in design doc, remove stream_time
9572         hack.
9573         Cleanups clock and stream_time selection code. Added accessors
9574         for the stream_time.
9575         
9576
9577 2005-07-16  Andy Wingo  <wingo@pobox.com>
9578
9579         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9580         (#305291).
9581
9582 2005-07-16  Wim Taymans  <wim@fluendo.com>
9583
9584         * check/gst/gstbin.c: (GST_START_TEST):
9585         Make elements silent as the deep_notify refs the
9586         parent, which might make the test fail.
9587
9588         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9589         Don't hold the lock for too long.
9590
9591 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9592
9593         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9594           Don't unref the caps we passed to gst_caps_make_writable() after
9595           passing them. gst_caps_make_writable() will do that for us.
9596
9597 2005-07-15  Andy Wingo  <wingo@pobox.com>
9598
9599         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9600         (#157311).
9601
9602         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9603         own marshalling function for the handoff signal. Properly type the
9604         buffer as a buffer. Fixes some warnings. Should do a more general
9605         solution.
9606         (gst_identity_class_init): Plug into the right marshaller.
9607
9608 2005-07-15  Wim Taymans  <wim@fluendo.com>
9609
9610         * docs/design/part-TODO.txt:
9611         * docs/design/part-clocks.txt:
9612         * docs/design/part-element-sink.txt:
9613         * docs/design/part-events.txt:
9614         * docs/design/part-gstpipeline.txt:
9615         Updated docs, mostly DISCONT related.
9616
9617 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9618
9619         * docs/pwg/building-pads.xml:
9620           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9621
9622 2005-07-15  Andy Wingo  <wingo@pobox.com>
9623
9624         * tools/gst-typefind.c: Update, add copyright block.
9625
9626         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9627         Normalize and truncate caps before fixation.
9628
9629         * gst/gstcaps.h:
9630         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9631         discards all but the first structure from its argument.
9632
9633 2005-07-15  Wim Taymans  <wim@fluendo.com>
9634
9635         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9636         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9637         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9638         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9639         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9640         (gst_base_transform_chain), (gst_base_transform_change_state),
9641         (gst_base_transform_set_passthrough),
9642         (gst_base_transform_is_passthrough):
9643         * gst/base/gstbasetransform.h:
9644         Make passthrough work using the bufferpools.
9645         Changed API a bit, subclasses have to write into a buffer
9646         provided by the base class.
9647         More debug info in nego functions.
9648         
9649         * gst/elements/gstidentity.c: (gst_identity_init),
9650         (gst_identity_transform):
9651         Port to new base class.
9652
9653 2005-07-15  Wim Taymans  <wim@fluendo.com>
9654
9655         * gst/gstmessage.c: (gst_message_new_state_changed):
9656         * tools/gst-launch.c: (event_loop), (main):
9657         Totally dump messages in -launch with the -m option.
9658         Fix message name for State messages,
9659
9660 2005-07-14  Wim Taymans  <wim@fluendo.com>
9661
9662         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9663         Post error messages on errors.
9664
9665 2005-07-14  Wim Taymans  <wim@fluendo.com>
9666
9667         * gst/gstcaps.c: (gst_caps_do_simplify):
9668         Remove debug info.
9669
9670         * gst/gsterror.h:
9671         Define error for stream stopped.
9672
9673         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9674         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9675         Do proper return values.
9676
9677         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9678         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9679         (gst_pad_get_range):
9680         Better return values.
9681
9682         * gst/gstpad.h:
9683         Reorganise return values, add macro to check for fatal errors.
9684
9685         * gst/gstqueue.c: (gst_queue_chain):
9686         Return proper GstFlowReturn values,
9687
9688 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9689
9690         * docs/gst/gstreamer-sections.txt:
9691         * docs/gst/gstreamer.types:
9692         * docs/gst/tmpl/gst.sgml:
9693         * docs/gst/tmpl/gstbasesink.sgml:
9694         * docs/gst/tmpl/gstbasesrc.sgml:
9695         * docs/gst/tmpl/gstbasetransform.sgml:
9696         * docs/gst/tmpl/gstbin.sgml:
9697         * docs/gst/tmpl/gstbuffer.sgml:
9698         * docs/gst/tmpl/gstcaps.sgml:
9699         * docs/gst/tmpl/gstclock.sgml:
9700         * docs/gst/tmpl/gstcompat.sgml:
9701         * docs/gst/tmpl/gstconfig.sgml:
9702         * docs/gst/tmpl/gstelement.sgml:
9703         * docs/gst/tmpl/gstelementdetails.sgml:
9704         * docs/gst/tmpl/gstelementfactory.sgml:
9705         * docs/gst/tmpl/gstenumtypes.sgml:
9706         * docs/gst/tmpl/gsterror.sgml:
9707         * docs/gst/tmpl/gstevent.sgml:
9708         * docs/gst/tmpl/gstfakesink.sgml:
9709         * docs/gst/tmpl/gstfakesrc.sgml:
9710         * docs/gst/tmpl/gstfilesink.sgml:
9711         * docs/gst/tmpl/gstfilesrc.sgml:
9712         * docs/gst/tmpl/gstfilter.sgml:
9713         * docs/gst/tmpl/gstformat.sgml:
9714         * docs/gst/tmpl/gstghostpad.sgml:
9715         * docs/gst/tmpl/gstimplementsinterface.sgml:
9716         * docs/gst/tmpl/gstindex.sgml:
9717         * docs/gst/tmpl/gstindexfactory.sgml:
9718         * docs/gst/tmpl/gstinfo.sgml:
9719         * docs/gst/tmpl/gstiterator.sgml:
9720         * docs/gst/tmpl/gstmacros.sgml:
9721         * docs/gst/tmpl/gstmemchunk.sgml:
9722         * docs/gst/tmpl/gstminiobject.sgml:
9723         * docs/gst/tmpl/gstobject.sgml:
9724         * docs/gst/tmpl/gstpad.sgml:
9725         * docs/gst/tmpl/gstpadtemplate.sgml:
9726         * docs/gst/tmpl/gstparse.sgml:
9727         * docs/gst/tmpl/gstpipeline.sgml:
9728         * docs/gst/tmpl/gstplugin.sgml:
9729         * docs/gst/tmpl/gstpluginfeature.sgml:
9730         * docs/gst/tmpl/gstquery.sgml:
9731         * docs/gst/tmpl/gstqueue.sgml:
9732         * docs/gst/tmpl/gstregistry.sgml:
9733         * docs/gst/tmpl/gstregistrypool.sgml:
9734         * docs/gst/tmpl/gstscheduler.sgml:
9735         * docs/gst/tmpl/gstschedulerfactory.sgml:
9736         * docs/gst/tmpl/gststructure.sgml:
9737         * docs/gst/tmpl/gstsystemclock.sgml:
9738         * docs/gst/tmpl/gsttaglist.sgml:
9739         * docs/gst/tmpl/gsttagsetter.sgml:
9740         * docs/gst/tmpl/gsttrace.sgml:
9741         * docs/gst/tmpl/gsttrashstack.sgml:
9742         * docs/gst/tmpl/gsttypefind.sgml:
9743         * docs/gst/tmpl/gsttypefindfactory.sgml:
9744         * docs/gst/tmpl/gsttypes.sgml:
9745         * docs/gst/tmpl/gsturihandler.sgml:
9746         * docs/gst/tmpl/gsturitype.sgml:
9747         * docs/gst/tmpl/gstutils.sgml:
9748         * docs/gst/tmpl/gstvalue.sgml:
9749         * docs/gst/tmpl/gstversion.sgml:
9750         * docs/gst/tmpl/gstxml.sgml:
9751         * docs/libs/tmpl/gstcontrol.sgml:
9752         * docs/libs/tmpl/gstdataprotocol.sgml:
9753         * docs/libs/tmpl/gstdparam.sgml:
9754         * docs/libs/tmpl/gstdplinint.sgml:
9755         * docs/libs/tmpl/gstdpman.sgml:
9756         * docs/libs/tmpl/gstdpsmooth.sgml:
9757         * docs/libs/tmpl/gstgetbits.sgml:
9758         * docs/libs/tmpl/gstunitconvert.sgml:
9759         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9760         (gst_push_src_base_init), (gst_push_src_class_init),
9761         (gst_push_src_init), (gst_push_src_create):
9762         * gst/base/gstpushsrc.h:
9763         * gst/elements/gstelements.c:
9764         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9765         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9766         (gst_fake_sink_init), (gst_fake_sink_set_property),
9767         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9768         (gst_fake_sink_event), (gst_fake_sink_preroll),
9769         (gst_fake_sink_render), (gst_fake_sink_change_state):
9770         * gst/elements/gstfakesink.h:
9771         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9772         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9773         (gst_fake_src_base_init), (gst_fake_src_class_init),
9774         (gst_fake_src_init), (gst_fake_src_event_handler),
9775         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9776         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9777         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9778         (gst_fake_src_create_buffer), (gst_fake_src_create),
9779         (gst_fake_src_start), (gst_fake_src_stop):
9780         * gst/elements/gstfakesrc.h:
9781         * gst/elements/gstfilesink.c: (_do_init),
9782         (gst_file_sink_base_init), (gst_file_sink_class_init),
9783         (gst_file_sink_init), (gst_file_sink_dispose),
9784         (gst_file_sink_set_location), (gst_file_sink_set_property),
9785         (gst_file_sink_get_property), (gst_file_sink_open_file),
9786         (gst_file_sink_close_file), (gst_file_sink_query),
9787         (gst_file_sink_event), (gst_file_sink_render),
9788         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9789         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9790         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9791         * gst/elements/gstfilesink.h:
9792         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9793         (gst_file_src_class_init), (gst_file_src_init),
9794         (gst_file_src_finalize), (gst_file_src_set_location),
9795         (gst_file_src_set_property), (gst_file_src_get_property),
9796         (gst_file_src_map_region), (gst_file_src_map_small_region),
9797         (gst_file_src_create_mmap), (gst_file_src_create_read),
9798         (gst_file_src_create), (gst_file_src_is_seekable),
9799         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9800         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9801         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9802         (gst_file_src_uri_handler_init):
9803         * gst/elements/gstfilesrc.h:
9804           more autistic cleanliness in functions/names/defines
9805
9806 2005-07-13  Andy Wingo  <wingo@pobox.com>
9807
9808         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9809         source couldn't negotiate.
9810
9811         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9812         connections again.
9813
9814         * gst/gstutils.h:
9815         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9816         function. I am channeling Hades. Put your boots on suckers!!!
9817
9818 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9819
9820         * testsuite/caps/Makefile.am:
9821         * testsuite/caps/value_compare.c:
9822         * testsuite/caps/value_intersect.c:
9823         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9824           move two testsuite apps over to the check dir
9825
9826 2005-07-12  Wim Taymans  <wim@fluendo.com>
9827
9828         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9829         Added more debug info in the negotiate process.
9830
9831         * gst/gstmessage.h:
9832         Prepare for segment playback.
9833
9834         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9835         Better debugging.
9836
9837         * gst/gstutils.c:
9838         Some more docs.
9839
9840         * tools/gst-launch.c: (main):
9841         NULL pipeline on errors.
9842
9843 2005-07-12  Andy Wingo  <wingo@pobox.com>
9844
9845         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9846         not it comes from a malloc region. Make sure our copy gets freed.
9847
9848 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9849
9850         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9851         * check/gst/gstmessage.c: (GST_START_TEST):
9852         * check/gst/gststructure.c: (GST_START_TEST),
9853         (gst_structure_suite), (main):
9854           more testing
9855         * gst/gstelement.c: (gst_element_message_full):
9856           clean up GError and debug string now that they get copied
9857         * gst/gstmessage.c: (gst_message_new_error),
9858         (gst_message_new_warning), (gst_message_parse_error),
9859         (gst_message_parse_warning):
9860           use GST_TYPE_G_ERROR for structure_new, and take copies of
9861           arguments, so that we don't mess up refcounting
9862
9863 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9864
9865         * check/Makefile.am:
9866           add per-test valgrind targets
9867         * check/gst-libs/gdp.c: (GST_START_TEST),
9868         (gst_data_protocol_suite), (main):
9869           clean up
9870
9871 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9872
9873         * check/Makefile.am:
9874           instate more valgrindable tests
9875         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9876         (GST_START_TEST), (fakesrc_suite):
9877         * check/gst/gstpad.c: (GST_START_TEST):
9878         * check/gst/gststructure.c: (GST_START_TEST):
9879           fix test leaks
9880         * docs/gst/tmpl/gstminiobject.sgml:
9881         * gst/gstpad.c: (gst_pad_finalize):
9882           fix the static mutex leak
9883
9884 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9885
9886         * check/Makefile.am:
9887           add two more tests for valgrinding
9888         * check/gst/gstvalue.c: (GST_START_TEST):
9889           test refcount of deserialized buffer, found a leak
9890         * docs/gst/gstreamer-docs.sgml:
9891         * docs/gst/gstreamer-sections.txt:
9892         * docs/gst/gstreamer.types:
9893         * docs/gst/tmpl/gstminiobject.sgml:
9894           add miniobject to docs
9895         * gst/gstminiobject.c:
9896           add some docs
9897         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9898         (gst_string_unwrap):
9899           fix a hard-to-find invalid write for one of the tests
9900           fix a leak for deserialized buffers
9901
9902 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9903
9904         * docs/pwg/advanced-events.xml:
9905         * docs/pwg/advanced-request.xml:
9906         * docs/pwg/advanced-scheduling.xml:
9907         * docs/pwg/appendix-porting.xml:
9908         * docs/pwg/building-boiler.xml:
9909         * docs/pwg/intro-preface.xml:
9910         * docs/pwg/other-ntoone.xml:
9911           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9912           of example code and explanation for pad activation, loop() and
9913           getrange() functions and a bit more. Remove old comments pointing
9914           to loop-functions.
9915         * examples/pwg/Makefile.am:
9916           Add loop/getrange examples.
9917
9918 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9919
9920         * configure.ac:
9921           check for valgrind binary + some fixes
9922         * check/gst.supp:
9923           valgrind suppressions for the tests
9924         * check/Makefile.am:
9925           add a valgrind: target that valgrinds the unit tests
9926         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9927         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9928         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9929         * check/gst/gstghostpad.c:
9930           added some cleanup
9931         * check/gst/gstdata.c:
9932           removed
9933         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9934         (thread_unref), (gst_mini_object_suite), (main):
9935           added
9936         * gst/gst.c: (gst_deinit):
9937         * gst/gst.h:
9938           add a method to clean up.
9939         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9940         (gst_system_clock_obtain):
9941           allow for disposing the system clock.
9942         * tools/gst-launch.c: (main):
9943           deinit
9944
9945 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9946
9947         * docs/gst/tmpl/gstbasesrc.sgml:
9948         * docs/gst/tmpl/gstfakesrc.sgml:
9949         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9950         (gst_base_src_init), (gst_base_src_set_property),
9951         (gst_base_src_get_property), (gst_base_src_get_range),
9952         (gst_base_src_start):
9953         * gst/base/gstbasesrc.h:
9954           add num-buffers property
9955         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9956         (gst_fakesrc_init), (gst_fakesrc_set_property),
9957         (gst_fakesrc_get_property), (gst_fakesrc_create),
9958         (gst_fakesrc_start):
9959           remove num-buffers property
9960
9961 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9962
9963         * docs/gst/gstreamer-sections.txt:
9964         * docs/gst/tmpl/gstbasesink.sgml:
9965         * docs/gst/tmpl/gstbasesrc.sgml:
9966         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9967         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9968         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9969         (gst_base_sink_set_property), (gst_base_sink_get_property),
9970         (gst_base_sink_handle_object), (gst_base_sink_event),
9971         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9972         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9973         (gst_base_sink_loop), (gst_base_sink_deactivate),
9974         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9975         (gst_base_sink_change_state):
9976         * gst/base/gstbasesink.h:
9977         * gst/base/gstbasesrc.h:
9978         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9979         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9980         (gst_filesink_init):
9981           more macro splitting
9982
9983 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9984
9985         * gst/gstelement.c: (gst_element_get_bus):
9986           add debug
9987         * tools/gst-launch.c: (check_intr), (event_loop):
9988           fix bus leaks
9989
9990 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9991
9992         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9993           fix a caps leak
9994
9995 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9996
9997         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9998         (gst_base_src_finalize):
9999           add finalize method and clean up properly
10000         * gst/gstpipeline.c: (gst_pipeline_dispose):
10001           add debug
10002
10003 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10004
10005         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
10006         (gst_bin_suite):
10007           add more things to check
10008         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
10009         * gst/gstelement.c:
10010           more debug
10011
10012 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10013
10014         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10015         (GST_START_TEST), (fakesrc_suite):
10016         * check/gst-libs/gdp.c: (GST_START_TEST):
10017         * check/gst/gst.c: (GST_START_TEST):
10018         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10019         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
10020         * check/gst/gstbus.c: (GST_START_TEST):
10021         * check/gst/gstcaps.c: (GST_START_TEST):
10022         * check/gst/gstdata.c: (GST_START_TEST):
10023         * check/gst/gstelement.c: (GST_START_TEST):
10024         * check/gst/gstghostpad.c: (GST_START_TEST):
10025         * check/gst/gstiterator.c: (GST_START_TEST):
10026         * check/gst/gstmessage.c: (GST_START_TEST):
10027         * check/gst/gstobject.c: (GST_START_TEST):
10028         * check/gst/gstpad.c: (GST_START_TEST):
10029         * check/gst/gststructure.c: (GST_START_TEST):
10030         * check/gst/gstsystemclock.c: (GST_START_TEST),
10031         (gst_systemclock_suite):
10032         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10033         * check/gst/gstvalue.c: (GST_START_TEST):
10034         * check/pipelines/cleanup.c: (GST_START_TEST):
10035         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10036         * check/states/sinks.c: (GST_START_TEST):
10037         * check/gstcheck.c: (gst_check_init):
10038         * check/gstcheck.h:
10039           add debugging category
10040           use GST_START_TEST now, so we add a debug line
10041
10042 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10043
10044         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10045           add test for state change message on a bin
10046         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10047           add another test
10048         * gst/gstbin.c: (gst_bin_init):
10049         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10050         * gst/gstelement.c: (gst_element_post_message),
10051         (gst_element_set_state):
10052         * gst/gstelementfactory.c: (gst_element_factory_create):
10053         * gst/gstmessage.c: (gst_message_new):
10054         * gst/gstscheduler.c:
10055           various debugging additions and cleanups
10056
10057 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10058
10059         * check/Makefile.am:
10060         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10061         (main):
10062           adding tests for elements
10063         * gst/gstelement.c: (gst_element_dispose):
10064
10065 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10066
10067         * gst/registries/gstlibxmlregistry.c: (load_feature):
10068           plug more leaks.  A simple gst_init() now is leakfree, yay.
10069
10070 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10071
10072         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10073         (gst_xml_registry_load):
10074           plug another memleak
10075
10076 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10077
10078         * configure.ac:
10079           use GST_SET_ERROR_CFLAGS
10080         * docs/faq/cvs.xml:
10081           change to ERROR_CFLAGS
10082
10083 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10084
10085         * configure.ac:
10086           make GST_ERROR_CFLAGS overridable and re-enable Werror
10087         * docs/faq/cvs.xml:
10088           add a note about error CFLAGS
10089         * docs/gst/tmpl/gstfakesrc.sgml:
10090         * gst/elements/gstfakesrc.c:
10091           comment out some unused code
10092         * gst/gst.c: (split_and_iterate):
10093         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10094         (load_feature):
10095           plug some memleaks
10096
10097 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10098
10099         * common/Makefile.am:
10100         * common/gtk-doc.mak:
10101         * docs/gst/Makefile.am:
10102           factor out gtk-doc.mak
10103
10104 2005-07-07  Wim Taymans  <wim@fluendo.com>
10105
10106         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10107         (gst_thread_scheduler_dispose):
10108         Unlock the STREAM_LOCK completely.
10109
10110 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10111
10112         * check/Makefile.am:
10113         * check/elements/.cvsignore:
10114         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10115         (START_TEST), (fakesrc_suite), (main):
10116         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10117         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10118         (gst_fakesrc_create), (gst_fakesrc_start):
10119         * gst/elements/gstfakesrc.h:
10120           adding a first element test
10121
10122 2005-07-07  Andy Wingo  <wingo@pobox.com>
10123
10124         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10125         debug message.
10126
10127 2005-07-07  Wim Taymans  <wim@fluendo.com>
10128
10129         * gst/gstquery.c:
10130         * gst/gstquery.h:
10131         Remove old types
10132
10133 2005-07-07  Wim Taymans  <wim@fluendo.com>
10134
10135         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10136         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10137         Allow subclasses to implement their own negotiation.
10138
10139 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10140
10141         * docs/design/part-gstbin.txt:
10142         * docs/design/part-gstpipeline.txt:
10143           Update design notes to reflect the movement of
10144           responsibility for bus handling from GstPipeline to
10145           GstBin
10146
10147 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10148
10149         * configure.ac:
10150           Remove unnecessary queue2/3/4 examples.
10151
10152 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10153
10154         * examples/Makefile.am:
10155         * examples/helloworld/helloworld.c: (event_loop), (main):
10156         * examples/queue/queue.c: (event_loop), (main):
10157         * examples/queue2/queue2.c: (main):
10158           Update a couple of the examples to work again.
10159
10160         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10161         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10162          Spelling corrections and extra debug.
10163         
10164         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10165         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10166         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10167         * gst/gstbin.h:
10168         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10169         (gst_pipeline_change_state):
10170         * gst/gstpipeline.h:
10171           Move the bus handler for children to the GstBin, and create a
10172           separate bus for receiving messages from children to the one the
10173           bus sends 'upwards' on.
10174
10175 2005-07-06  Wim Taymans  <wim@fluendo.com>
10176
10177         * gst/base/README:
10178         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10179         (gst_base_sink_handle_object), (gst_base_sink_loop),
10180         (gst_base_sink_change_state):
10181         * gst/base/gstbasesink.h:
10182         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10183         (gst_base_src_init), (gst_base_src_setcaps),
10184         (gst_base_src_getcaps), (gst_base_src_loop),
10185         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10186         (gst_base_src_start), (gst_base_src_change_state):
10187         * gst/base/gstbasesrc.h:
10188         Make basesrc negotiate.
10189         Handle the case where preroll fails in basesink.
10190         Update README.
10191
10192 2005-07-06  Wim Taymans  <wim@fluendo.com>
10193
10194         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10195         Implement the fixate function.
10196         Clean up acceptcaps.
10197
10198 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10199
10200         * docs/pwg/building-filterfactory.xml:
10201         * docs/pwg/pwg.xml:
10202           Remove never-written filter-factory chapter; I'll add the various
10203           base classes to part 4 ("other element types") later on.
10204
10205 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10206
10207         * docs/pwg/advanced-negotiation.xml:
10208         * docs/pwg/building-boiler.xml:
10209         * docs/pwg/building-pads.xml:
10210         * docs/pwg/pwg.xml:
10211         * examples/pwg/Makefile.am:
10212           Add a chapter on caps negotiation, simplify the original code
10213           samples a bit w.r.t. caps negotiation, add link to the advanced
10214           section. Add a bunch of examples showing different use cases of
10215           different types of caps negotiation. Upstream renegotiation isn't
10216           fully documented yet since nobody knows how that works.
10217
10218 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * check/gst/gstpad.c:
10221         * check/gstcheck.c:
10222         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10223           if pad has no parent, return NULL as list of internal links
10224
10225 2005-07-05  Andy Wingo  <wingo@pobox.com>
10226
10227         * gst/elements/gstfilesrc.c:
10228         * gst/elements/gstfakesrc.c: 
10229         * gst/base/gstpushsrc.c:
10230         * gst/base/gstbasesrc.h: 
10231         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10232         
10233 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10234
10235         * Makefile.am:
10236           better report generation target (lcov needs a patch)
10237
10238 2005-07-05  Andy Wingo  <wingo@pobox.com>
10239
10240         * gst/elements, testsuite: Null if we got it...
10241
10242 2005-07-05  Wim Taymans  <wim@fluendo.com>
10243
10244         * configure.ac:
10245         * libs/gst/dataprotocol/Makefile.am:
10246         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10247         * libs/gst/dataprotocol/dataprotocol.h:
10248         * pkgconfig/Makefile.am:
10249         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10250         * pkgconfig/gstreamer-dataprotocol.pc.in:
10251         Ported dataprotol to 0.9. 
10252         Added pkgconfig files.
10253
10254 2005-07-05  Andy Wingo  <wingo@pobox.com>
10255
10256         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10257         Default to returning TRUE for the case when tranform_caps returns
10258         a fixed caps, like for identity or volume.
10259
10260         * check/gst/gstbus.c (pound_bus_with_messages): 
10261         * check/gst/gstmessage.c (START_TEST): 
10262         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10263         message API change.
10264
10265         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10266         logic weaks here: always run transform_caps, trying passthrough
10267         operation only if the original caps intersects with the transform.
10268
10269         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10270         source and sink caps.
10271
10272         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10273         Intersect the peer caps with the pad template before going into
10274         transform_caps.
10275         (gst_base_transform_transform_caps): More debugging.
10276
10277         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10278         src argument.
10279
10280 2005-07-04  Edward Hervey  <edward@fluendo.com>
10281
10282         * gst/gstutils.c:
10283         * gst/gstutils.h:
10284         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10285         in bindings.
10286
10287 2005-07-04  Andy Wingo  <wingo@pobox.com>
10288
10289         * check/gst/gstpad.c: Only set explicit caps on pads.
10290
10291 2005-07-01  Andy Wingo  <wingo@pobox.com>
10292
10293         * tests/network-clock.scm: Commentary update.
10294
10295         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10296         Didn't really make sense, not implementable with basetransform,
10297         etc.
10298         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10299         attempt at implementing the sync property, needs an unlock method.
10300
10301         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10302         New func, by default returns the same caps (the identity
10303         transformation).
10304         (gst_base_transform_getcaps): Uses transform_caps to return
10305         something sensible.
10306         (gst_base_transform_setcaps): Complicated logic to get caps on
10307         both pads, even if they are different, and to call set_caps once
10308         for every time both pads get their caps set.
10309         (gst_base_transform_handle_buffer): Give the ref to the transform
10310         function. Allows in-place modification of the buffer.
10311
10312         * gst/base/gstbasetransform.h (transform_caps): New class method.
10313         Given caps on one side, what can I do on the other.
10314         (set_caps): Take two caps, one for each side of the element.
10315
10316         * gst/gstpad.h:
10317         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10318         caps in place. This is safe because we can check the mutability of
10319         the caps, and a good idea because fixate functions are just called
10320         as a matter of last resort. (Not actually implemented.)
10321         (gst_pad_set_caps): If the caps we're setting is actually the same
10322         as the existing pad caps, just update the pointer without calling
10323         setcaps. Assert that caps is either NULL or fixed, as per the
10324         docs.
10325
10326         * gst/gstghostpad.c: Update for fixate changes.
10327
10328 2005-07-02  Andy Wingo  <wingo@pobox.com>
10329
10330         * gst/gstcaps.c:
10331         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10332         two refcounts makes it immutable, which is enough. Doc more.
10333
10334 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10335
10336         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10337           Put the mini_object into GValue as a mini_object,
10338           not a gpointer, since that's how we declared
10339           the signal.
10340
10341 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10342
10343         * examples/pwg/Makefile.am:
10344           Fix buildbot again.
10345
10346 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10347
10348         * docs/pwg/building-testapp.xml:
10349           Add extra check.
10350         * examples/pwg/Makefile.am:
10351           Fix buildbot.
10352
10353 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10354
10355         * configure.ac:
10356         * examples/Makefile.am:
10357         * examples/pwg/Makefile.am:
10358         * examples/pwg/extract.pl:
10359           Enable building the PWG examples.
10360         * docs/pwg/advanced-interfaces.xml:
10361           Add URI interface stub.
10362         * docs/pwg/advanced-types.xml:
10363         * docs/pwg/other-autoplugger.xml:
10364         * docs/pwg/appendix-porting.xml:
10365         * docs/pwg/pwg.xml:
10366           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10367         * docs/pwg/building-boiler.xml:
10368         * docs/pwg/building-chainfn.xml:
10369         * docs/pwg/building-pads.xml:
10370         * docs/pwg/building-props.xml:
10371         * docs/pwg/building-state.xml:
10372         * docs/pwg/building-testapp.xml:
10373           Update the building-*.xml parts for 0.9 changes. All examples
10374           code blocks compile in examples/pwg/*.
10375
10376 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10377
10378         * docs/manual/advanced-autoplugging.xml:
10379         * docs/manual/appendix-checklist.xml:
10380         * docs/manual/appendix-integration.xml:
10381         * docs/manual/highlevel-components.xml:
10382           Fix playbin/decodebin examples, update docs a bit, mention bus
10383           instead of signals in various places, mention kmplayer and
10384           kaffeine since they have a working GStreamer backend in the KDE
10385           section.
10386
10387 2005-06-30  Wim Taymans  <wim@fluendo.com>
10388
10389         * CHANGES-0.9:
10390         * docs/design/draft-ghostpads.txt:
10391         * docs/design/draft-push-pull.txt:
10392         * docs/design/draft-query.txt:
10393         * docs/design/part-TODO.txt:
10394         * docs/design/part-query.txt:
10395         Added CHANGES-0.9 doc, updated status of other docs.
10396         
10397         * gst/gstquery.h:
10398         Remove "hmm" macro
10399
10400 2005-06-30  Wim Taymans  <wim@fluendo.com>
10401
10402         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10403         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10404         (gst_base_sink_change_state):
10405         * gst/base/gstbasesink.h:
10406         Some tweaks, only EOS and a buffer complete a preroll.
10407
10408 2005-06-30  Andy Wingo  <wingo@pobox.com>
10409
10410         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10411         activate_push down to the internal pad as well.
10412
10413 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10414
10415         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10416
10417         * gst/gsttaginterface.c:
10418           Some documentation fixes (#307394 and #307397).
10419
10420 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10421
10422         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10423
10424         * gst/gstvalue.c: (gst_value_intersect_list):
10425           Fix memleak (#309125).
10426
10427 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10428
10429         * docs/manual/advanced-dataaccess.xml:
10430           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10431         * docs/manual/basics-pads.xml:
10432           Add reference for filtered caps to above chapter.
10433
10434 2005-06-30  Wim Taymans  <wim@fluendo.com>
10435
10436         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10437         (gst_bin_change_state):
10438         Probes are gone.
10439         Lame attempt at making the state change function a bit
10440         more readable.
10441
10442 2005-06-30  Wim Taymans  <wim@fluendo.com>
10443
10444         * docs/design/part-clocks.txt:
10445         * docs/design/part-element-sink.txt:
10446         * docs/design/part-events.txt:
10447         * docs/design/part-preroll.txt:
10448         * docs/design/part-states.txt:
10449         Some more tweeks and additions to the docs.
10450
10451 2005-06-30  Wim Taymans  <wim@fluendo.com>
10452
10453         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10454         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10455         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10456         (gst_pad_check_pull_range), (gst_pad_get_range),
10457         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10458         * gst/gstpad.h:
10459         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10460         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10461         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10462         (gst_pad_remove_buffer_probe):
10463         Removed atomic operations, use existing LOCK.
10464         Move exception handling out of main code path.
10465
10466 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10467
10468         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10469         (silly_return_true_function), (gst_pad_class_init),
10470         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10471         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10472         (gst_pad_send_event):
10473           Fix accumulator, add default value by using _emitv() instead
10474           of _emit() for signal emission.
10475
10476 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10477
10478         * docs/manual/advanced-dataaccess.xml:
10479         * examples/manual/Makefile.am:
10480           Add probe example.
10481         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10482           Make work (??).
10483
10484 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10485
10486         * gst/elements/gstfilesink.c: (gst_filesink_render):
10487           Simplify code so that we don't have to handle short
10488           writes and return GST_FLOW_ERROR if an error occured.
10489
10490 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10491
10492         * docs/gst/gstreamer-docs.sgml:
10493           Remove probes more.
10494
10495 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10496
10497         * docs/gst/gstreamer-sections.txt:
10498         * docs/gst/tmpl/gstpad.sgml:
10499         * docs/gst/tmpl/gstprobe.sgml:
10500         * gst/Makefile.am:
10501         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10502         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10503         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10504         (gst_pad_push_event), (gst_pad_send_event):
10505         * gst/gstpad.h:
10506         * gst/gstutils.c: (gst_pad_add_data_probe),
10507         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10508         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10509         (gst_pad_remove_buffer_probe):
10510         * gst/gstutils.h:
10511           Remove old probes, add new g-signal-based probes and some utility
10512           functions.
10513
10514 2005-06-29  Edward Hervey  <edward@fluendo.com>
10515
10516         * gst/gstelementfactory.c:
10517         * gst/gstutils.h:
10518         * gst/gstutils.c:
10519         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10520         the definition to the header file.
10521
10522 2005-06-29  Andy Wingo  <wingo@pobox.com>
10523
10524         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10525         plugins from the source directory.
10526
10527 2005-06-29  Wim Taymans  <wim@fluendo.com>
10528
10529         * docs/gst/tmpl/gstbuffer.sgml:
10530         * docs/gst/tmpl/gstclock.sgml:
10531         Some fixings for blantently wrong text.
10532
10533 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10534
10535         * check/Makefile.am:
10536         * gst/gst.c: (add_path_func), (init_pre):
10537         * gst/gstregistry.c: (gst_registry_add_path):
10538           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10539           only scan the GST_PLUGIN_PATH locations, and not add
10540           system locations
10541
10542 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10543
10544         * docs/gst/gstreamer-sections.txt:
10545         * docs/gst/tmpl/gstbasesrc.sgml:
10546         * gst/gstelement.c:
10547         * gst/gstelement.h:
10548         * gst/gstevent.c:
10549         * gst/gstutils.c:
10550           doc fixes
10551
10552 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10553
10554         * docs/manual/advanced-autoplugging.xml:
10555           Fix autoplugging example.
10556
10557 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10558
10559         * docs/manual/advanced-autoplugging.xml:
10560         * docs/manual/mime-world.fig:
10561           Try to get autoplugging working, fix type detection. Fix text
10562           in hello-world image.
10563
10564 2005-06-29  Wim Taymans  <wim@fluendo.com>
10565
10566         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10567         (gst_base_sink_change_state):
10568         Small debug line.
10569
10570         * gst/gstclock.h:
10571         map SIGNAL and BROADCAST to the right function.
10572
10573         * gst/gstobject.h:
10574         Remove redundant braces.
10575
10576         * gst/gstpad.c: (gst_pad_set_caps):
10577         Don't call setcaps function when reseting caps to NULL.
10578
10579         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10580         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10581         (gst_system_clock_id_unschedule):
10582         Use BROADCAST as this is what we do.
10583
10584 2005-06-29  Wim Taymans  <wim@fluendo.com>
10585
10586         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10587         We are actually prerolling before commiting the state
10588         change. 
10589
10590 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10591
10592         * docs/manual/advanced-clocks.xml:
10593         * docs/manual/advanced-interfaces.xml:
10594         * docs/manual/advanced-metadata.xml:
10595         * docs/manual/advanced-position.xml:
10596         * docs/manual/advanced-schedulers.xml:
10597         * docs/manual/advanced-threads.xml:
10598         * docs/manual/appendix-porting.xml:
10599         * docs/manual/basics-bins.xml:
10600         * docs/manual/basics-bus.xml:
10601         * docs/manual/basics-elements.xml:
10602         * docs/manual/basics-helloworld.xml:
10603         * docs/manual/basics-pads.xml:
10604         * docs/manual/highlevel-components.xml:
10605         * docs/manual/manual.xml:
10606         * docs/manual/thread.fig:
10607           Update (until threads/scheduling) Application Development Manual;
10608           remove GstThread, add GstBus, add simple porting checklist, add
10609           documentation for tag writing, clocks, make all examples until this
10610           part compile and run.
10611         * examples/manual/Makefile.am:
10612           Update from changes to Application Development Manual; add bus
10613           example, remove thread example.
10614
10615 2005-06-28  Wim Taymans  <wim@fluendo.com>
10616
10617         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10618         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10619         (gst_bus_source_dispatch):
10620         Add debugging messages.
10621         Make internal methods static.
10622         Handle the case where the bus is flushed in the handler.
10623         
10624         * gst/gstelement.c: (gst_element_get_bus):
10625         Fix refcount in _get_bus();
10626
10627         * gst/gstpipeline.c: (gst_pipeline_change_state),
10628         (gst_pipeline_get_clock_func):
10629         Clock refcounting fixes.
10630         Handle the case where preroll timed out more gracefully.
10631         
10632         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10633         Clean up the internal thread in dispose. This is needed
10634         for subclasses that actually get disposed.
10635         
10636         * gst/schedulers/threadscheduler.c:
10637         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10638         (gst_thread_scheduler_dispose):
10639         Free thread pool in dispose.
10640
10641 2005-06-28  Andy Wingo  <wingo@pobox.com>
10642
10643         * tests/network-clock-utils.scm (debug, print-event): New utils.
10644
10645         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10646         (*packet-loss*): Unified loss probability.
10647         (network-time): Report out-of-band events.
10648
10649         * tests/plot-data: Add support for out-of-band events. Hack it
10650         into this script instead of passing it down the pipe; should fix
10651         this later.
10652
10653 2005-06-28  Wim Taymans  <wim@fluendo.com>
10654
10655         * docs/gst/gstreamer.types:
10656         * docs/gst/tmpl/gstbasesrc.sgml:
10657         * docs/gst/tmpl/gstpad.sgml:
10658         Docs fixes.
10659
10660 2005-06-28  Wim Taymans  <wim@fluendo.com>
10661
10662         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10663         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10664         (gst_proxy_pad_do_fixatecaps):
10665         Correctly proxy the check_pull_range function.
10666
10667 2005-06-28  Andy Wingo  <wingo@pobox.com>
10668
10669         * tests/network-clock.scm: Removed need for slib.
10670         
10671 2005-06-28  Wim Taymans  <wim@fluendo.com>
10672
10673         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10674         (gst_basesink_preroll_queue_flush):
10675         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10676         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10677         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10678         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10679         (gst_proxy_pad_set_property):
10680         * gst/gstpad.c:
10681         * gst/gstpad.h:
10682         * gst/gstqueue.c: (gst_queue_init):
10683         The deprecated pad loop function is removed now.
10684
10685 2005-06-28  Andy Wingo  <wingo@pobox.com>
10686
10687         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10688         New parameters, simulate network packet loss.
10689
10690         * tests/network-clock-utils.scm: Initialize the RNG.
10691
10692 2005-06-28  Wim Taymans  <wim@fluendo.com>
10693
10694         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10695         (gst_basesink_event), (gst_basesink_deactivate):
10696         Flushing the preroll queue always needs to unlock the waiters.
10697
10698 2005-06-28  Edward Hervey  <edward@fluendo.com>
10699
10700         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10701         Wheen a seek was successful on a pipeline, set the stream_time to the
10702         seek offset in order to have a synchronized stream_time.
10703
10704 2005-06-28  Wim Taymans  <wim@fluendo.com>
10705
10706         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10707         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10708         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10709         (gst_proxy_pad_do_fixatecaps):
10710         Call wrapper function instead of just calling the function
10711         pointers. This takes care of any locking and whatmore.
10712
10713 2005-06-28  Wim Taymans  <wim@fluendo.com>
10714
10715         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10716         (gst_pad_pull_range):
10717         * gst/gstpad.h:
10718         CONNECTED -> LINKED.
10719
10720 2005-06-28  Andy Wingo  <wingo@pobox.com>
10721
10722         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10723         source-munging commit!!!
10724
10725         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10726         (gst_object_sink): Take gpointer arguments, not GstObject --
10727         avoids casts. Like GLib.
10728
10729         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10730         activate.
10731
10732 2005-06-27  Andy Wingo  <wingo@pobox.com>
10733
10734         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10735         remaining buffer.
10736
10737         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10738         returns a sorted copy of the trace list.
10739         (gst_alloc_trace_print_live): New API, only prints traces with
10740         live objects. Sort the list.
10741         (gst_alloc_trace_print_all): Sort the list.
10742         (gst_alloc_trace_print): Align columns.
10743
10744         * gst/elements/gstttypefindelement.c:
10745         * gst/elements/gsttee.c:
10746         * gst/base/gstbasesrc.c:
10747         * gst/base/gstbasesink.c:
10748         * gst/base/gstbasetransform.c:
10749         * gst/gstqueue.c: Adapt for pad activation changes.
10750
10751         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10752         sched.
10753         (gst_pipeline_dispose): Drop ref on sched.
10754
10755         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10756         (gst_pad_activate_default): Push mode by default.
10757         (pre_activate_switch, post_activate_switch): New stubs, things to
10758         do before and after switching activation modes on pads.
10759         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10760         the pad's activate function to choose which mode to activate.
10761         Shortcut on deactivation and call the right function directly.
10762         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10763         mode.
10764         (gst_pad_activate_push): New API, same for push mode.
10765         (gst_pad_set_activate_function) 
10766         (gst_pad_set_activatepull_function) 
10767         (gst_pad_set_activatepush_function): Setters for new API.
10768
10769         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10770         Trace all miniobjects.
10771         (gst_mini_object_make_writable): Unref the arg if we copy, like
10772         gst_caps_make_writable.
10773
10774         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10775
10776         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10777         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10778         Adapt for new pad API.
10779
10780         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10781
10782         * gst/gstelement.h:
10783         * gst/gstelement.c (gst_element_iterate_src_pads) 
10784         (gst_element_iterate_sink_pads): New API functions.
10785         
10786         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10787         should fold into gstiterator.c in some form.
10788         (gst_element_pads_activate): Simplified via use of fold and
10789         delegation of decisions to gstpad->activate.
10790
10791         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10792         help in debugging.
10793
10794         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10795         class once in init, like gstmessage. Didn't run into this issue
10796         but it seems correct. Don't initialize a trace, gstminiobject does
10797         that.
10798
10799         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10800         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10801         to the bus.
10802         (assert_live_count): New util function, uses alloc traces to check
10803         cleanup.
10804
10805         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10806         To be modified when unlink drops the internal pad.
10807
10808 2005-06-27  Wim Taymans  <wim@fluendo.com>
10809
10810         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10811         (gst_bin_change_state):
10812         Cleanup the get_state() function a little, make sure it
10813         iterates the same set of elements.
10814         Added stub iterate_state_order().
10815
10816 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10817
10818         * docs/gst/gstreamer-docs.sgml:
10819         * docs/gst/gstreamer-sections.txt:
10820         * docs/gst/gstreamer.types:
10821         * docs/gst/tmpl/gstbasesink.sgml:
10822         * docs/gst/tmpl/gstbasesrc.sgml:
10823         * docs/gst/tmpl/gstbasetransform.sgml:
10824         * docs/gst/tmpl/gstelement.sgml:
10825         * docs/gst/tmpl/gstiterator.sgml:
10826         * gst/base/gstbasesrc.c:
10827         * gst/base/gstbasesrc.h:
10828         * gst/base/gstbasetransform.h:
10829         * gst/gstelement.c:
10830         * gst/gstiterator.h:
10831           adding basetransform and iterator docs
10832
10833 2005-06-27  Andy Wingo  <wingo@pobox.com>
10834
10835         * docs/design/part-activation.txt: Notes on how activation should
10836         work -- not quite implemented yet.
10837
10838 2005-06-25  Wim Taymans  <wim@fluendo.com>
10839
10840         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10841         At least get the chain function correct, needs more
10842         fixing.
10843
10844 2005-06-25  Wim Taymans  <wim@fluendo.com>
10845
10846         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10847         (gst_basesink_handle_object), (gst_basesink_event),
10848         (gst_basesink_do_sync), (gst_basesink_handle_event),
10849         (gst_basesink_change_state):
10850         * gst/gsttask.h:
10851         Right, two problems here: ghostpads don't take locks and
10852         glib _rec_mutex_lock_full() with depth==0 still locks.
10853         Catch illegal locking and g_warn them.
10854
10855 2005-06-25  Wim Taymans  <wim@fluendo.com>
10856
10857         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10858         Have to check for completion now...
10859
10860 2005-06-25  Wim Taymans  <wim@fluendo.com>
10861
10862         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10863         (gst_basesink_handle_object), (gst_basesink_event),
10864         (gst_basesink_do_sync), (gst_basesink_handle_event),
10865         (gst_basesink_change_state):
10866         * gst/gstpad.h:
10867         Unlock STREAM_LOCK whatever the recursion was.
10868
10869 2005-06-25  Wim Taymans  <wim@fluendo.com>
10870
10871         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10872         (gst_basesink_preroll_queue_empty),
10873         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10874         (gst_basesink_event), (gst_basesink_do_sync),
10875         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10876         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10877         (gst_basesink_change_state):
10878         Reworked the base sink, handle event and buffer serialisation
10879         correctly and removed possible deadlock.
10880         Handle EOS correctly.
10881
10882 2005-06-25  Wim Taymans  <wim@fluendo.com>
10883
10884         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10885         (gst_pipeline_change_state):
10886         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10887         Allow elements to post EOS in the state change function.
10888         Fix up -launch, make it exit the poll loop when the
10889         pipeline actually changed state.
10890         Fix up warning parsing in -launch.
10891
10892 2005-06-25  Wim Taymans  <wim@fluendo.com>
10893
10894         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10895         (gst_tee_sink_activate):
10896         Core takes STREAM_LOCK for us now.
10897
10898 2005-06-25  Wim Taymans  <wim@fluendo.com>
10899
10900         * gst/gstelement.c: (gst_element_get_state_func),
10901         (gst_element_set_state):
10902         * gst/gstelement.h:
10903         * gst/gstmessage.c: (gst_message_parse_error),
10904         (gst_message_parse_warning):
10905         Keep track of current target state while performing a state
10906         change so that subclasses can do something interesting.
10907         Fix parsing of warning/error messages when GError is NULL.
10908
10909 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10910
10911         * docs/gst/Makefile.am:
10912         * docs/gst/gstreamer-docs.sgml:
10913         * docs/gst/gstreamer-sections.txt:
10914         * docs/gst/gstreamer.types:
10915         * docs/gst/tmpl/gstbasesink.sgml:
10916         * docs/gst/tmpl/gstbasesrc.sgml:
10917         * docs/gst/tmpl/gstbin.sgml:
10918         * docs/gst/tmpl/gstcompat.sgml:
10919         * docs/gst/tmpl/gstfakesink.sgml:
10920         * docs/gst/tmpl/gstfakesrc.sgml:
10921         * docs/gst/tmpl/gstfilesink.sgml:
10922         * docs/gst/tmpl/gstfilesrc.sgml:
10923         * docs/gst/tmpl/gstindex.sgml:
10924         * docs/manual/appendix-quotes.xml:
10925         * gst/base/gstbasesrc.h:
10926         * gst/elements/gstfakesrc.h:
10927         * gst/gstmessage.h:
10928           start pulling in base classes and elements in our docs
10929
10930 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10931
10932         * docs/gst/Makefile.am:
10933         * docs/libs/Makefile.am:
10934           fixed make distcheck with gtk-doc 1.3
10935
10936 2005-06-23  Wim Taymans  <wim@fluendo.com>
10937
10938         * gst/gstelement.c: (gst_element_get_state_func),
10939         (gst_element_set_state), (gst_element_change_state):
10940         When the state did not change, also report NO_PREROLL
10941         when it matters.
10942
10943 2005-06-23  Wim Taymans  <wim@fluendo.com>
10944
10945         * gst/gstpad.c: (gst_pad_event_default):
10946         * gst/gstqueue.c: (gst_queue_loop):
10947         No unsafe task pausing please.
10948
10949 2005-06-23  Wim Taymans  <wim@fluendo.com>
10950
10951         * gst/schedulers/threadscheduler.c:
10952         (gst_thread_scheduler_task_start),
10953         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10954         Ref the task before pushing it on the threadpool. This
10955         makes sure that we have a ref when the threadfunction is
10956         actually called.
10957
10958 2005-06-23  Andy Wingo  <wingo@pobox.com>
10959
10960         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10961         offset is greater than the file's size.
10962
10963         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10964         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10965         * gst/gstobject.c (gst_object_class_init): Make the class lock
10966         recursive. Wim won't let me drop deep_notify. Decodebin works
10967         again, whoopdy doo.
10968
10969         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10970         internal pad, and hacks accordingly. Doesn't do it on the target
10971         pad because we change its caps. Probably catches all cases of
10972         interest tho.
10973         (gst_ghost_pad_set_property): Connect to notify::caps as
10974         appropritate.
10975
10976         * tests/network-clock.scm (plot-simulation): Pipe data to the
10977         elite python skript.
10978
10979         * tests/network-clock-utils.scm (define-parameter): New macro,
10980         defines a parameter that can be set via the command line.
10981         (set-parameter!, parse-parameter-arguments): Command line args
10982         parser.
10983
10984         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10985         stdin.
10986
10987 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10988
10989         * gst/elements/gsttypefindelement.c:
10990         (gst_type_find_element_handle_event):
10991           Don't restart typefinding on a discont.
10992         * gst/gstelement.c: (gst_element_set_state):
10993           Debug spelling fix.
10994         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10995           Allow changing mode of an active pad.
10996           Debug output fixes.
10997         * gst/registries/gstlibxmlregistry.c: (load_feature):
10998           Don't cast a static pad template to a normal pad template.
10999
11000 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11001
11002         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11003         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11004           remove gst_strtoll completely, since it didn't actually do
11005           anything more than what g_ascii_strtoull already does.
11006           check for range errors when deserializing
11007           do a cast for the unsigned cases; but further fixing needs
11008           a decision on what the interpretation of "(int)" and
11009           deserialization should be for values that fall outside the
11010           type's boundaries (ie, refuse, or interpret as casting)
11011
11012 2005-06-23  Wim Taymans  <wim@fluendo.com>
11013
11014         * check/Makefile.am:
11015         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
11016         * docs/design/part-live-source.txt:
11017         * docs/design/part-states.txt:
11018         * gst/base/gstbasesrc.c: (gst_basesrc_init),
11019         (gst_basesrc_set_live), (gst_basesrc_is_live),
11020         (gst_basesrc_get_range), (gst_basesrc_activate),
11021         (gst_basesrc_change_state):
11022         * gst/base/gstbasesrc.h:
11023         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11024         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
11025         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
11026         * gst/gstelement.c: (gst_element_get_state_func),
11027         (gst_element_set_state):
11028         * gst/gstelement.h:
11029         * gst/gsttypes.h:
11030         * tools/gst-launch.c: (event_loop), (main):
11031         Added support for live sources and other elements that
11032         cannot do preroll.
11033         Updated design docs, added live-source design doc.
11034         Implemented live source functionality in basesrc
11035         Fix error condition in _bin_get_state()
11036         Implement live source handling in -launch.
11037         Added check for live sources.
11038         Fixed case in GstBin where elements were changed state
11039         multiple times.
11040
11041
11042 2005-06-23  Andy Wingo  <wingo@pobox.com>
11043
11044         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11045         borken refcounting.
11046
11047         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11048         gst_caps_replace takes care of this for us.
11049
11050         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11051         gst_pad_set_caps on the target, not just its setcaps() function.
11052
11053         * tests/network-clock.scm: 
11054         * tests/network-clock-utils.scm: A network clock simulator.
11055         Something of an algorithmic testbed before doing something in C.
11056
11057 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11058
11059         * check/Makefile.am:
11060         * check/gst/capslist.h:
11061           copy over from 0.8, and add two with bitmasks specified with
11062           (int) 0xFF...
11063         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11064           add test to parse everything from capslist.h
11065         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11066         (main):
11067           add test for structure deserialization
11068         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11069           add tests for deserialization of strings to int types
11070         * gst/gststructure.c: (gst_structure_nth_field_name):
11071         * gst/gststructure.h:
11072           add a way to get the name of a field referenced by index
11073         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11074           instead of checking if the resulting long long lies between
11075           min and max, we check if the long long would fit into
11076           a number of bytes for the final type.
11077           This fixes cases where a string represents 2^32 - 1, which
11078           when cast to int would be the (valid) -1, but is bigger than
11079           G_MAXINT
11080
11081 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11082
11083         * gst/parse/grammar.y:
11084           add a log line for type deserialization
11085
11086 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11087
11088         * check/gst/gstvalue.c: (START_TEST):
11089         * gst/gstvalue.c: (gst_value_deserialize):
11090           return long long, not int, so gint64 deserialization actually
11091           works.  Is there any flag that makes the compiler check this ?
11092           Fixes #308559
11093
11094 2005-06-22  Wim Taymans  <wim@fluendo.com>
11095
11096         * gst/gstbuffer.h:
11097         Added convenience macros for setting buffers in GValue.
11098
11099 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11100
11101         * check/gst/.cvsignore:
11102         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11103           add a test deserializing int64, and comment part out because
11104           it fails, yay !
11105
11106 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11107
11108         * check/Makefile.am:
11109         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11110         * testsuite/Makefile.am:
11111         * testsuite/caps/Makefile.am:
11112         * testsuite/caps/value_serialize.c:
11113         * testsuite/test_gst_init.c:
11114           move a value_serialize test over
11115
11116 2005-06-20  Wim Taymans  <wim@fluendo.com>
11117
11118         * gst/gstpad.c:
11119         Small doc updates.
11120         
11121         * gst/gstvalue.c: (gst_value_compare_buffer),
11122         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11123         (gst_value_compare_flags), (gst_value_serialize_flags),
11124         (gst_value_deserialize_flags), (_gst_value_initialize):
11125         Fix serialisation of buffers, they are not boxed types anymore
11126
11127 2005-06-20  Wim Taymans  <wim@fluendo.com>
11128
11129         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11130         Testcase to show error in buffer-on-caps serialisation.
11131
11132 2005-06-20  Andy Wingo  <wingo@pobox.com>
11133
11134         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11135         will be adding to later.
11136
11137         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11138         if its socks fill with rocks.
11139         (gst_system_clock_obtain): Set the name on object construction.
11140         Avoid double-checked locking.
11141
11142 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11143
11144         * gst/gsturi.c: (gst_element_make_from_uri):
11145           Fix potential endless loop.
11146
11147 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11148
11149         * check/Makefile.am:
11150           add gsttag
11151         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11152         (main):
11153           move over from testsuite dir and clean up
11154         * configure.ac:
11155         * gst/gsttag.c:
11156         * testsuite/Makefile.am:
11157         * testsuite/tags/.cvsignore:
11158         * testsuite/tags/Makefile.am:
11159         * testsuite/tags/merge.c:
11160           remove testsuite/tags
11161
11162 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11163
11164         * docs/gst/gstreamer-sections.txt:
11165         * docs/gst/tmpl/gstenumtypes.sgml:
11166         * win32/gstenumtypes.c:
11167           clean up documentation build a little
11168
11169 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11170
11171         * check/gstcheck.h:
11172           add macros for checking refcounts on objects and caps
11173         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11174           add some more unit tests
11175         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11176         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11177           fix leaked refcounts (I hope :)) so unittest works
11178         * gst/gstpad.h:
11179           whitespace removal
11180
11181 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11182
11183         * configure.ac: back to HEAD
11184
11185 === release 0.9.1 ===
11186
11187 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11188
11189         * NEWS:
11190         * RELEASE:
11191           updated
11192
11193 2005-06-17  Andy Wingo  <wingo@pobox.com>
11194
11195         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11196         assert; it's always possible that the pad gets deactivated in
11197         between the checks in gstpad.c and the implementation. Rely on
11198         finish_preroll() to return a FLUSHING or similar instead of on the
11199         assert.
11200         
11201         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11202         clock and post an EOS message if we come out of finish_preroll in
11203         the playing state.
11204
11205 2005-06-16  David Schleef  <ds@schleef.org>
11206
11207         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11208         (gst_capsfilter_set_property): Allow NULL as possible value
11209         for filter_caps property, indicating GST_CAPS_ANY.
11210
11211 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11212
11213         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11214           fix debug output
11215         * gst/schedulers/Makefile.am:
11216           use libgst prefix
11217         * gstreamer.spec.in:
11218           fix spec for it
11219
11220 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11221
11222         * gstreamer.spec.in:
11223           clean up
11224
11225 2005-06-08  Andy Wingo  <wingo@pobox.com>
11226
11227         * gst/gstutils.c: RPAD fixes all around.
11228         (gst_element_link_pads): Refcounting fixes.
11229
11230         * tools/gst-inspect.c:
11231         * tools/gst-xmlinspect.c:
11232         * parse/grammar.y:
11233         * gst/base/gsttypefindhelper.c:
11234         * gst/base/gstbasesink.c:
11235         * gst/gstqueue.c: RPAD fixes.
11236
11237         * gst/gstghostpad.h:
11238         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11239         pads. The tricky thing is they provide both source and sink
11240         interfaces, since they proxy the internal pad for the external
11241         pad, and vice versa. Implement with lower-level ProxyPad objects,
11242         with the interior proxy pad as a child of the exterior ghost pad.
11243         Should write a doc on this.
11244         
11245         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11246         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11247         gst_object API.
11248         
11249         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11250         pads are real pads. No ghost pads in this file. Not documenting
11251         the myriad s/RPAD/PAD/ and REALIZE fixes.
11252         (gst_pad_class_init): Add properties for "direction" and
11253         "template". Both are construct-only, so they can't change during
11254         the life of the pad. Fixes properly deriving from GstPad.
11255         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11256         derived objects, just set properties when creating the objects via
11257         g_object_new.
11258         (gst_pad_get_parent): Implement as a function, return NULL if the
11259         parent is not an element.
11260         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11261         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11262         
11263         * gst/gstobject.c (gst_object_class_init): Make name a construct
11264         property. Don't set it in the object init.
11265
11266         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11267         with UNKNOWN direction.
11268         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11269         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11270         (gst_element_remove_pad): Remove ghost-pad special cases.
11271         (gst_element_pads_activate): Remove rpad cruft.
11272
11273         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11274         catch the pad's-parent-not-an-element case.
11275
11276         * gst/gst.h: Include gstghostpad.h.
11277
11278         * gst/gst.c (init_post): No more real, ghost pads.
11279
11280         * gst/Makefile.am: Add gstghostpad.[ch].
11281
11282         * check/Makefile.am:
11283         * check/gst/gstbin.c:
11284         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11285         into a bin creates ghost pads, and that the refcounts are right.
11286         Partly moved from gstbin.c.
11287
11288 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11289
11290         * check/gst-libs/.cvsignore:
11291         * check/gst/.cvsignore:
11292         * check/pipelines/.cvsignore:
11293           ignore more
11294         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11295         (START_TEST), (cleanup_suite), (main):
11296           add some tests related to cleanup after running pipelines
11297
11298 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11299
11300         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11301           add a testsuite for GstBuffer
11302
11303 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11304
11305         * gst/gstminiobject.h:
11306           add defines for accessing the refcount
11307
11308 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11309
11310         * Makefile.am: added support for html unit test coverage reports
11311
11312 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11313
11314         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11315           Free existing caps if the capsfilter changes. Add a FIXME about
11316           setting those caps on the pads.
11317
11318         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11319           Before adding a ghost pad to a parent bin, check that there isn't
11320           already one for the element on the bin. Prevents infinite recursion
11321           when using decodebin in parse pipelines. Andy says he'll rewrite the
11322           way this works anyway, so ignore the hack.
11323
11324 2005-06-02  Andy Wingo  <wingo@pobox.com>
11325
11326         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11327         file size, pass it on to the type find helper.
11328
11329         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11330         segment_start and segment_end properly according to the seek
11331         method. Segment_end is still a bit flaky because offset can be
11332         negative for CUR and END cases, but it takes -1 as an "unset"
11333         value.
11334
11335 2005-06-02  Wim Taymans  <wim@fluendo.com>
11336
11337         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11338         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11339         (gst_basesink_activate):
11340         * gst/base/gstbasesink.h:
11341         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11342         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11343         (gst_pad_query), (gst_pad_start_task):
11344         * gst/gstpad.h:
11345         * gst/gstqueue.c: (gst_queue_bufferalloc),
11346         (gst_queue_handle_sink_event), (gst_queue_chain):
11347         Bufferalloc: return GstFlowReturn to more accuratly report
11348         why allocation failed.
11349
11350 2005-06-02  Wim Taymans  <wim@fluendo.com>
11351
11352         * gst/gstpipeline.c: (gst_pipeline_send_event):
11353         Take snapshot of state without blocking.
11354
11355 2005-06-02  Wim Taymans  <wim@fluendo.com>
11356
11357         * docs/design/part-TODO.txt:
11358         * docs/design/part-caps.txt:
11359         * docs/design/part-clocks.txt:
11360         * docs/design/part-negotiation.txt:
11361         * docs/design/part-preroll.txt:
11362         Small doc updates 
11363
11364 2005-05-30  Wim Taymans  <wim@fluendo.com>
11365
11366         * gst/elements/gstidentity.c: (gst_identity_event),
11367         (gst_identity_transform), (gst_identity_get_property):
11368         Protect last_message property as it is accessed from
11369         multiple threads.
11370
11371 2005-05-30  Wim Taymans  <wim@fluendo.com>
11372
11373         * gst/gstelement.c: (gst_element_init),
11374         (gst_element_pads_activate), (gst_element_change_state):
11375         Slicker pad activation code.
11376
11377 2005-05-30  Wim Taymans  <wim@fluendo.com>
11378
11379         * gst/Makefile.am:
11380         * gst/gstelement.h:
11381         * gst/gstelementfactory.h:
11382         * gst/gsttypes.h:
11383         Move elementfactory methods to separate .h file.
11384
11385 2005-05-30  Wim Taymans  <wim@fluendo.com>
11386
11387         * docs/design/part-overview.txt:
11388         * gst/gstsystemclock.h:
11389         Small typo fixes, doc updates.
11390
11391 2005-05-30  Wim Taymans  <wim@fluendo.com>
11392
11393         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11394         (init_popt_callback):
11395         Remove cpu-opt flag.
11396
11397 2005-05-30  Wim Taymans  <wim@fluendo.com>
11398
11399         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11400         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11401         * gst/gstbuffer.h:
11402         Avoid typechecking in places where not needed.
11403         Added accessor for malloc_data.
11404
11405 2005-05-30  Wim Taymans  <wim@fluendo.com>
11406
11407         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11408         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11409         (gst_pad_configure_sink), (gst_pad_configure_src),
11410         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11411         (gst_pad_start_task):
11412         Propagate errors from _set_caps() in configure_src/sink
11413         functions instead of returning TRUE.
11414         FLUSH events can travel up and downstream
11415
11416
11417 2005-05-30  Wim Taymans  <wim@fluendo.com>
11418
11419         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11420         (gst_basesink_activate):
11421         Handle EOS in preroll.
11422
11423 2005-05-30  Wim Taymans  <wim@fluendo.com>
11424
11425         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11426         (gst_queue_loop), (gst_queue_handle_src_event):
11427         Remove old pieces of code
11428         Flushing the queue in an upstream event is a very bad idea.
11429
11430 2005-05-26  Andy Wingo  <wingo@pobox.com>
11431
11432         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11433         gst_value_set_mini_object so as to add a ref on the object (which
11434         will be removed when the value is unset).
11435
11436         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11437         arg type in ::handoff.
11438
11439         * gst/gstelement.c (gst_element_change_state): Also deactivate
11440         pads in READY->NULL, just in case the element didn't make it to
11441         PAUSED. Wingo tested, Wim approved.
11442
11443 2005-05-26  Wim Taymans  <wim@fluendo.com>
11444
11445         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11446         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11447         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11448         A flushing pad cannot be used to alloc_buffer from.
11449
11450 2005-05-26  Wim Taymans  <wim@fluendo.com>
11451
11452         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11453         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11454         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11455         (gst_bus_create_watch), (gst_bus_add_watch_full):
11456         * gst/gstbus.h:
11457         Implement a real GSource and use g_main_context_wakeup() to
11458         signal new messages instead of the socketpair.
11459
11460 2005-05-25  Wim Taymans  <wim@fluendo.com>
11461
11462         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11463         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11464         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11465         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11466         (gst_pad_send_event), (gst_pad_start_task):
11467         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11468         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11469         (gst_queue_sink_activate), (gst_queue_src_activate),
11470         (gst_queue_change_state):
11471         * gst/gstqueue.h:
11472         Fix state changes for non sinks. We now change sinks, then elements
11473         with unconnected srcpads, then the rest.
11474         More efficient queue unlocking in flush and state changes.
11475         Set the pad activate mode even if it does not have an activate
11476         function.
11477
11478 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11479
11480         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11481           Don't go in pull mode for non-seekable sources.
11482         * gst/elements/gsttypefindelement.h:
11483         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11484         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11485         (free_entry), (stop_typefinding),
11486         (gst_type_find_element_handle_event), (find_peek),
11487         (gst_type_find_element_chain), (do_pull_typefind),
11488         (gst_type_find_element_change_state):
11489           Allow typefinding (w/o seeking) in push-mode, simplified version
11490           of what was in 0.8.
11491         * gst/gstutils.c: (gst_buffer_join):
11492         * gst/gstutils.h:
11493           gst_buffer_join() from 0.8.
11494
11495 2005-05-25  Wim Taymans  <wim@fluendo.com>
11496
11497         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11498         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11499         (gst_pad_send_event), (gst_pad_start_task):
11500         Disable attempt at mode switching until it is figured out.
11501
11502 2005-05-25  Wim Taymans  <wim@fluendo.com>
11503
11504         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11505         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11506         (gst_basesink_finish_preroll), (gst_basesink_chain),
11507         (gst_basesink_loop), (gst_basesink_activate),
11508         (gst_basesink_change_state):
11509         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11510         (gst_basesrc_get_range), (gst_basesrc_loop),
11511         (gst_basesrc_activate):
11512         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11513         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11514         (gst_real_pad_init), (gst_real_pad_set_property),
11515         (gst_real_pad_get_property), (gst_pad_set_active),
11516         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11517         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11518         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11519         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11520         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11521         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11522         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11523         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11524         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11525         (gst_pad_stop_task):
11526         * gst/gstpad.h:
11527         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11528         (gst_queue_loop), (gst_queue_src_activate):
11529         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11530         (gst_task_get_state):
11531         * gst/gsttask.h:
11532         * gst/schedulers/threadscheduler.c:
11533         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11534         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11535         in task function.
11536         Remove ACTIVE pad flag, use FLUSHING everywhere
11537         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11538         functions.
11539         Add locks around IS_FLUSHING when reading.
11540         Take STREAM lock in chain(), get_range() functions so plugins
11541         don't need to take it anymore.
11542         
11543
11544
11545 2005-05-25  Wim Taymans  <wim@fluendo.com>
11546
11547         * tools/gst-launch.c: (event_loop):
11548         Unref message after using its contents instead of
11549         before.
11550
11551 2005-05-24  Wim Taymans  <wim@fluendo.com>
11552
11553         * docs/design/draft-ghostpads.txt:
11554         * docs/design/draft-push-pull.txt:
11555         * docs/design/draft-query.txt:
11556         * docs/design/part-overview.txt:
11557         Docs updates, added general overview doc.
11558
11559 2005-05-21  David Schleef  <ds@schleef.org>
11560
11561         * docs/gst/tmpl/old/GstBin.sgml:
11562         * docs/gst/tmpl/old/GstBuffer.sgml:
11563         * docs/gst/tmpl/old/GstCaps.sgml:
11564         * docs/gst/tmpl/old/GstClock.sgml:
11565         * docs/gst/tmpl/old/GstCompat.sgml:
11566         * docs/gst/tmpl/old/GstData.sgml:
11567         * docs/gst/tmpl/old/GstElement.sgml:
11568         * docs/gst/tmpl/old/GstEvent.sgml:
11569         * docs/gst/tmpl/old/GstIndex.sgml:
11570         * docs/gst/tmpl/old/GstStructure.sgml:
11571         * docs/gst/tmpl/old/GstTag.sgml:
11572         * docs/gst/tmpl/old/cothreads.sgml:
11573         * docs/gst/tmpl/old/cothreads_compat.sgml:
11574         * docs/gst/tmpl/old/gettext.sgml:
11575         * docs/gst/tmpl/old/gobject2gtk.sgml:
11576         * docs/gst/tmpl/old/grammar.tab.sgml:
11577         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11578         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11579         * docs/gst/tmpl/old/gst_private.sgml:
11580         * docs/gst/tmpl/old/gstaggregator.sgml:
11581         * docs/gst/tmpl/old/gstarch.sgml:
11582         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11583         * docs/gst/tmpl/old/gstbufferstore.sgml:
11584         * docs/gst/tmpl/old/gstdata_private.sgml:
11585         * docs/gst/tmpl/old/gstdisksink.sgml:
11586         * docs/gst/tmpl/old/gstdisksrc.sgml:
11587         * docs/gst/tmpl/old/gstelementfactory.sgml:
11588         * docs/gst/tmpl/old/gstextratypes.sgml:
11589         * docs/gst/tmpl/old/gstfakesink.sgml:
11590         * docs/gst/tmpl/old/gstfakesrc.sgml:
11591         * docs/gst/tmpl/old/gstfdsink.sgml:
11592         * docs/gst/tmpl/old/gstfdsrc.sgml:
11593         * docs/gst/tmpl/old/gstfilesink.sgml:
11594         * docs/gst/tmpl/old/gstfilesrc.sgml:
11595         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11596         * docs/gst/tmpl/old/gstidentity.sgml:
11597         * docs/gst/tmpl/old/gstindexfactory.sgml:
11598         * docs/gst/tmpl/old/gstmarshal.sgml:
11599         * docs/gst/tmpl/old/gstmd5sink.sgml:
11600         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11601         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11602         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11603         * docs/gst/tmpl/old/gstpipefilter.sgml:
11604         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11605         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11606         * docs/gst/tmpl/old/gstshaper.sgml:
11607         * docs/gst/tmpl/old/gstspider.sgml:
11608         * docs/gst/tmpl/old/gstspideridentity.sgml:
11609         * docs/gst/tmpl/old/gststatistics.sgml:
11610         * docs/gst/tmpl/old/gsttee.sgml:
11611         * docs/gst/tmpl/old/gsttimecache.sgml:
11612         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11613         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11614         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11615         * docs/gst/tmpl/old/types.sgml:
11616           I didn't intend to add these or check them in.
11617
11618 2005-05-19  David Schleef  <ds@schleef.org>
11619
11620         * configure.ac: Use -no-common everywhere.  In a sane world, it
11621           would be the default in libtool, because without it, you can't
11622           build DLLs on Windows.
11623         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11624         * docs/gst/gstreamer-sections.txt:
11625         * docs/gst/tmpl/gstcpu.sgml:
11626         * docs/gst/tmpl/gstdata.sgml:
11627         * docs/gst/tmpl/gstthread.sgml:
11628
11629 2005-05-19  David Schleef  <ds@schleef.org>
11630
11631         * gst/gstminiobject.c: (gst_value_set_mini_object),
11632         (gst_value_take_mini_object), (gst_value_get_mini_object):
11633         * gst/gstminiobject.h: Add GValue set/get functions.
11634
11635 2005-05-19  Wim Taymans  <wim@fluendo.com>
11636
11637         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11638         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11639         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11640         * gst/gstbuffer.h:
11641         * gst/gstbus.c: (gst_bus_post):
11642         * gst/gstelement.c: (gst_element_get_random_pad):
11643         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11644         Make subbufer unref the parent in finalize.
11645         some more debugging info.
11646
11647
11648 2005-05-19  Wim Taymans  <wim@fluendo.com>
11649
11650         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11651         (gst_basesink_init), (gst_basesink_finalize),
11652         (gst_basesink_activate), (gst_basesink_change_state):
11653         Don't free preroll queue too early.
11654
11655 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11656
11657         * gst/Makefile.am:
11658         * gst/ROADMAP:
11659           Hi, I'm outdated. Please shoot me.
11660
11661 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11662
11663         * gst/gstpipeline.c: (gst_pipeline_send_event):
11664           Do not access variables after they have been deleted.
11665
11666 2005-05-19  Wim Taymans  <wim@fluendo.com>
11667
11668         * tools/gst-inspect.c: (print_plugin_features):
11669         A plugin feature does unfortunatly not use the
11670         object name yet...
11671
11672 2005-05-18  Wim Taymans  <wim@fluendo.com>
11673
11674         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11675         Port _span() functions to new subbuffers.
11676
11677 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11678
11679         * gst/gstbin.c: (gst_bin_add_func):
11680           Fix clock settery in bins when adding kids after the clock has
11681           been selected.
11682
11683 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11684
11685         * gst/elements/gstidentity.c: (gst_identity_class_init):
11686           Workaround until signals support GstMiniObject.
11687
11688 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11689
11690         * gst/gstbuffer.c:
11691         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11692
11693 2005-05-18  Wim Taymans  <wim@fluendo.com>
11694
11695         * gst/base/Makefile.am:
11696         * gst/base/gstadapter.c: (gst_adapter_base_init),
11697         (gst_adapter_class_init), (gst_adapter_init),
11698         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11699         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11700         (gst_adapter_flush), (gst_adapter_available),
11701         (gst_adapter_available_fast):
11702         * gst/base/gstadapter.h:
11703         Ported and added adapter to the base classes.
11704
11705 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11706
11707         * gst/gst.c:
11708         * gst/gstmessage.c:
11709           Make sure the class is reffed/unreffed once before threads can be
11710           used.  Fixes #304551.
11711
11712 2005-05-17  Wim Taymans  <wim@fluendo.com>
11713
11714         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11715         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11716         * gst/gstminiobject.c: (gst_mini_object_get_type),
11717         (gst_mini_object_free):
11718         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11719         (gst_pad_push), (gst_pad_push_event):
11720         * gst/gstqueue.c: (gst_queue_change_state):
11721         Don't queue buffers in basesink when we are flushing.
11722         Unref buffer when flushing in basesink.
11723         Flush queue when going to READY
11724         Unref buffer when _push() returns an error.
11725         Don't free MiniObject instance when refcount is incremented
11726         in _finalize() so that we can recover objects.
11727
11728 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11729
11730         * docs/manual/advanced-schedulers.xml:
11731         * docs/manual/appendix-checklist.xml:
11732         * docs/pwg/advanced-clock.xml:
11733         * docs/pwg/advanced-interfaces.xml:
11734         * docs/pwg/advanced-request.xml:
11735         * docs/pwg/advanced-types.xml:
11736         * docs/pwg/intro-preface.xml:
11737         * examples/plugins/example.c: (gst_example_get_type),
11738         (gst_example_class_init), (gst_example_chain),
11739         (gst_example_set_property), (gst_example_get_property),
11740         (gst_example_change_state), (plugin_init):
11741         * examples/plugins/example.h:
11742           small doc fixes
11743
11744 2005-05-17  Wim Taymans  <wim@fluendo.com>
11745
11746         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11747         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11748         * gst/gstqueue.c: (gst_queue_change_state):
11749         Clear queue when going to READY.
11750         Remove IN_SETCAPS flag too.
11751
11752 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11753
11754         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11755           Remove implicit cast from gboolean to GstElementStateReturn;
11756           make sure we still return failure in paused => ready case if
11757           the parent class fails to change state and our own stop 
11758           vfunc succeeds.
11759
11760 2005-05-17  Wim Taymans  <wim@fluendo.com>
11761
11762         * tools/gst-launch.c: (event_loop):
11763         Message was unreffed too soon.
11764
11765 2005-05-16  Andy Wingo  <wingo@pobox.com>
11766
11767         * gst/gstbin.c (sink_iterator_filter): Err... um...
11768
11769         * check/gst/gstbin.c (test_ghost_pads): New test for the
11770         ghosting-if-elements-not-in-same-bin behavior.
11771
11772 2005-05-16  David Schleef  <ds@schleef.org>
11773
11774         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11775         accessing refcount directly.
11776
11777 2005-05-15  David Schleef  <ds@schleef.org>
11778
11779         * check/Makefile.am: remove GstData checks
11780         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11781         * gst/Makefile.am: add miniobject, remove data
11782         * gst/gst.h: add miniobject, remove data
11783         * gst/gstdata.c: remove
11784         * gst/gstdata.h: remove
11785         * gst/gstdata_private.h: remove
11786         * gst/gsttypes.h: remove GstEvent and GstMessage
11787         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11788         * gst/gstmarshal.list: change BOXED -> OBJECT
11789
11790         Implement GstMiniObject.
11791         * gst/gstminiobject.c:
11792         * gst/gstminiobject.h:
11793
11794         Modify to be subclasses of GstMiniObject.
11795         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11796         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11797         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11798         (gst_subbuffer_get_type), (gst_subbuffer_init),
11799         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11800         (gst_buffer_span):
11801         * gst/gstbuffer.h:
11802         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11803         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11804         (_gst_event_copy), (gst_event_new):
11805         * gst/gstevent.h:
11806         * gst/gstmessage.c: (_gst_message_initialize),
11807         (gst_message_get_type), (gst_message_class_init),
11808         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11809         (gst_message_new), (gst_message_new_error),
11810         (gst_message_new_warning), (gst_message_new_tag),
11811         (gst_message_new_state_changed), (gst_message_new_application):
11812         * gst/gstmessage.h:
11813         * gst/gstprobe.c: (gst_probe_perform),
11814         (gst_probe_dispatcher_dispatch):
11815         * gst/gstprobe.h:
11816         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11817         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11818         (_gst_query_copy), (gst_query_new):
11819
11820         Update elements for GstData -> GstMiniObject changes
11821         * gst/gstquery.h:
11822         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11823         (gst_queue_chain), (gst_queue_loop):
11824         * gst/elements/gstbufferstore.c:
11825         (gst_buffer_store_add_buffer_func),
11826         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11827         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11828         (gst_fakesink_render):
11829         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11830         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11831         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11832         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11833         (gst_filesrc_create_read):
11834         * gst/elements/gstidentity.c: (gst_identity_class_init):
11835         * gst/elements/gsttypefindelement.c:
11836         (gst_type_find_element_src_event), (free_entry_buffers),
11837         (gst_type_find_element_handle_event):
11838         * libs/gst/dataprotocol/dataprotocol.c:
11839         (gst_dp_header_from_buffer):
11840         * libs/gst/dataprotocol/dataprotocol.h:
11841         * libs/gst/dataprotocol/dp-private.h:
11842
11843 2005-05-15  David Schleef  <ds@schleef.org>
11844
11845         * gst/elements/gstelements.c: Don't include headers that were
11846         just removed.
11847
11848 2005-05-15  David Schleef  <ds@schleef.org>
11849
11850         * gst/elements/Makefile.am: Remove some elements that don't
11851         need to be in the core (or even exist at all).
11852         * gst/elements/gstaggregator.c:
11853         * gst/elements/gstaggregator.h:
11854         * gst/elements/gstmd5sink.c:
11855         * gst/elements/gstmd5sink.h:
11856         * gst/elements/gstmultifilesrc.c:
11857         * gst/elements/gstmultifilesrc.h:
11858         * gst/elements/gstpipefilter.c:
11859         * gst/elements/gstpipefilter.h:
11860         * gst/elements/gstshaper.c:
11861         * gst/elements/gstshaper.h:
11862         * gst/elements/gststatistics.c:
11863         * gst/elements/gststatistics.h:
11864         * po/POTFILES.in: Remove above files.
11865
11866 2005-05-14  Andy Wingo  <wingo@pobox.com>
11867
11868         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11869         so as to get the refs right.
11870         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11871         unreffing objects that don't pass the filter.
11872
11873         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11874         gst_element_set_bus.
11875         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11876         normal cases, this will destroy the bus.
11877
11878         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11879         object.
11880
11881         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11882         has no sinks.
11883
11884 2005-05-13  Andy Wingo  <wingo@pobox.com>
11885
11886         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11887         gst_pad_link, call pad_link_maybe_ghosting,
11888         (pad_link_maybe_ghosting): Links pads, making sure that the
11889         elements being linked are in the same bin.
11890         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11891         Helpers for pad_link_maybe_ghosting.
11892
11893 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11894
11895         * configure.ac:
11896           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11897
11898 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11899
11900         * docs/design/part-element-source.txt:
11901           Mention GstPushSrc
11902
11903 2005-05-12  Wim Taymans  <wim@fluendo.com>
11904
11905         * gst/base/gstbasesink.c: (gst_basesink_init),
11906         (gst_basesink_activate):
11907         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11908         (gst_basesrc_is_seekable):
11909         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11910         (bin_element_is_sink), (gst_bin_change_state):
11911         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11912         * gst/gstelement.h:
11913         Identify sinks by their flag to avoid overly complicated
11914         checks (fow now).
11915         Do state changes even for elements not reachable from the
11916         sinks.
11917         BaseSink is a sink now :)
11918         Some more debugging info in the basesrc.
11919
11920
11921 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11922
11923         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11924           Implement _query on a bin, similar to _send_event.
11925
11926 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11927
11928         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11929           Discont event offset format should be GST_FORMAT_BYTES,
11930           not GST_FORMAT_TIME.
11931
11932 2005-05-12  Wim Taymans  <wim@fluendo.com>
11933
11934         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11935         Same fix as Ronald's but without the signal. 
11936
11937 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11938
11939         * gst/gstutils.c: (gst_element_query_position):
11940           No, an element is not a pad.
11941
11942 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11943
11944         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11945         (gst_bin_get_state):
11946           If a child is removed from a bin while we remove the child from
11947           the bin and while we're retrieving its state, signal this to the
11948           get_state function so we abort the wait (instead of waiting for
11949           a timeout) and can immediately re-iterate over all other elements.
11950
11951 2005-05-12  Wim Taymans  <wim@fluendo.com>
11952
11953         * gst/base/Makefile.am:
11954         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11955         (gst_basesrc_start):
11956         * gst/base/gstbasesrc.h:
11957         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11958         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11959         (gst_pushsrc_init), (gst_pushsrc_create):
11960         * gst/base/gstpushsrc.h:
11961         Added is_seekable to BaseSrc
11962         Added simple PushSrc.
11963
11964 2005-05-11  Wim Taymans  <wim@fluendo.com>
11965
11966         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11967         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11968         (gst_element_link_pads), (gst_element_query_position),
11969         (gst_element_query_convert), (intersect_caps_func),
11970         (gst_pad_query_position), (gst_pad_query_convert):
11971         Fix refcounting in utils function.
11972         No point in trying to activate a pad when it's added, it could
11973         be added from the state change function and then we deadlock, the
11974         element has to decide what to do.
11975
11976 2005-05-10  Andy Wingo  <wingo@pobox.com>
11977
11978         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11979         *all* the arguments.
11980
11981         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11982         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11983         lock (according to the docs -- if this is wrong change the docs).
11984
11985         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11986         flush messages in the NULL state.
11987
11988         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11989         message immediately and return.
11990         (gst_bus_set_flushing): New function. If a bus is flushing, it
11991         flushes out any queued messages and immediately unrefs new
11992         messages. This is so when an element goes to NULL, all of the
11993         unhandled messages coming from it can be freed, and their
11994         references to the element dropped. In other words: message source
11995         ref considered harmful :P
11996
11997         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11998         we're finished with it.
11999
12000         * gst/gstmessage.c (gst_message_new_state_changed): 
12001
12002 2005-05-10  Wim Taymans  <wim@fluendo.com>
12003
12004         * gst/gstvalue.c: (gst_value_compare_flags),
12005         (gst_value_serialize_flags), (gst_value_deserialize_flags),
12006         (_gst_value_initialize):
12007         Added flags serialize/deserialize/compare code.
12008
12009 2005-05-09  Andy Wingo  <wingo@pobox.com>
12010
12011         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
12012         Intersect the peer's caps with our caps.
12013
12014 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12015
12016         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12017         * gst/elements/gsttypefindelement.c: (find_peek):
12018           Handle negative offsets better. Fixes decodebin.
12019
12020 2005-05-09  Wim Taymans  <wim@fluendo.com>
12021
12022         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
12023         (gst_base_transform_event):
12024         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
12025         Implement accept_caps.
12026         Fix silly lock/unlock mismatch in base class.
12027
12028 2005-05-09  Wim Taymans  <wim@fluendo.com>
12029
12030         * docs/design/draft-push-pull.txt:
12031         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12032         * gst/elements/gstfilesink.c: (gst_filesink_init),
12033         (gst_filesink_query):
12034         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12035         (gst_type_find_handle_src_query), (find_element_get_length):
12036         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12037         * gst/gstelement.h:
12038         * gst/gstmessage.c:
12039         * gst/gstmessage.h:
12040         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12041         (gst_real_pad_get_caps_unlocked),
12042         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12043         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12044         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12045         (gst_real_pad_dispose), (gst_real_pad_finalize),
12046         (gst_pad_load_and_link), (gst_pad_save_thyself),
12047         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12048         (gst_pad_check_pull_range), (gst_pad_pull_range),
12049         (gst_pad_template_get_type), (gst_pad_template_class_init),
12050         (gst_pad_template_init), (gst_pad_template_dispose),
12051         (name_is_valid), (gst_static_pad_template_get),
12052         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12053         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12054         (gst_pad_get_element_private), (gst_pad_start_task),
12055         (gst_pad_pause_task), (gst_pad_stop_task),
12056         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12057         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12058         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12059         (gst_ghost_pad_new):
12060         * gst/gstpad.h:
12061         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12062         (gst_query_new_position), (gst_query_set_position),
12063         (gst_query_parse_position), (gst_query_new_convert),
12064         (gst_query_set_convert), (gst_query_parse_convert):
12065         * gst/gstquery.h:
12066         * gst/gstqueryutils.c:
12067         * gst/gstqueryutils.h:
12068         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12069         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12070         (gst_queue_handle_src_query):
12071         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12072         (gst_element_query_position), (gst_element_query_convert),
12073         (intersect_caps_func), (gst_pad_query_position),
12074         (gst_pad_query_convert):
12075         * gst/gstutils.h:
12076         * tools/gst-inspect.c: (print_pad_info):
12077         * tools/gst-xmlinspect.c: (print_element_info):
12078         Remove old query functions. Ported old code.
12079         Added position/convert helper functions to gstutils.
12080         Reordered gstpad.c code, grouping relevant things.
12081         Remove gst_message_new(), always need to speficy a specific
12082         message.
12083
12084
12085 2005-05-09  Andy Wingo  <wingo@pobox.com>
12086
12087         * gst/gstiterator.h: Add some includes.
12088
12089         * gst/gstqueryutils.h: Include more headers.
12090
12091         * gst/gstpad.h:
12092         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12093         some uses of gst_pad_query.
12094
12095         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12096         NULL out parameters.
12097         (gst_query_new_position): New proc, allocates a new position
12098         query.
12099
12100         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12101         gstqueryutils.c to the build.
12102
12103         * gst/gststructure.c (gst_structure_set_valist): Implement with
12104         the generic G_VALUE_COLLECT.
12105         
12106 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12107
12108         * gst/Makefile.am: (gst_headers):
12109         Added gstqueryutils.h to the list of headers to install, that was
12110         a 'nachty' move wingo :)
12111
12112 2005-05-06  Andy Wingo  <wingo@pobox.com>
12113
12114         * gst/gstquery.h
12115         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12116         GstData, init a memchunk.
12117         (standard_definitions): Add a few query types, deprecate a few.
12118         (gst_query_get_type): New proc.
12119         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12120         implementation.
12121         (gst_query_new_application, gst_query_get_structure): New public
12122         procs.
12123
12124         * docs/design/draft-query.txt: Removed LINKS from the query types,
12125         because all the rest can be dispatched to other pads -- seemed
12126         ugly to have a query that couldn't be dispatched. internal_links
12127         is fine as a pad method.
12128
12129         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12130         in gstpad.c, but maintain binary compatibility for the moment.
12131         Will fix before 0.9 is out.
12132
12133         * gst/gstqueryutils.c: 
12134         * gst/gstqueryutils.h: New files, implement 3 methods for each
12135         query type: parse_query, parse_response, and set. Probably need an
12136         allocator as well.
12137
12138         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12139
12140         * gst/elements/gstfilesink.c (gst_filesink_query2):
12141         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12142         query_types, and formats methods.
12143
12144         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12145         (gst_pad_set_query2_function): New functions.
12146         (gst_real_pad_init): Set query2_default as the default query2
12147         function. Basically just dispatches to internally linked pads.
12148
12149         Needs review!
12150         
12151         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12152         without using the atomic operations. Only one thread can possibly
12153         be accessing the data at this point. Changed so as to avoid
12154         gst_atomic operations.
12155
12156 2005-05-06  Wim Taymans  <wim@fluendo.com>
12157
12158         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12159         Also set caps if we use the fallback buffer alloc.
12160
12161 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12162
12163         * docs/gst/Makefile.am:
12164         * docs/gst/gstreamer-docs.sgml:
12165         * docs/gst/gstreamer-sections.txt:
12166         * docs/gst/tmpl/gstatomic.sgml:
12167         * docs/gst/tmpl/gstmemchunk.sgml:
12168         * testsuite/elements/struct_i386.h:
12169         * win32/GStreamer.vcproj:
12170         * win32/Makefile:
12171           Purge GstAtomic stuff from docs and win32 makefiles as well
12172
12173 2005-05-06  Wim Taymans  <wim@fluendo.com>
12174
12175         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12176         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12177         * gst/gstpad.c: (gst_pad_peer_get_caps):
12178         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12179         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12180         (gst_queue_src_activate), (gst_queue_change_state):
12181         * gst/gstqueue.h:
12182         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12183         (intersect_caps_func):
12184         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12185         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12186         Some fixes for the peer_get_caps() change.
12187
12188 2005-05-06  Wim Taymans  <wim@fluendo.com>
12189
12190         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12191         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12192         (gst_basesink_activate):
12193         Actually do something with error codes returned from the push
12194         functions.
12195
12196 2005-05-06  Wim Taymans  <wim@fluendo.com>
12197
12198         * docs/design/part-element-sink.txt:
12199         * docs/design/part-element-source.txt:
12200         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12201         (gst_basesink_event), (gst_basesink_activate):
12202         * gst/base/gstbasesink.h:
12203         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12204         (gst_basesrc_activate):
12205         * gst/base/gstbasesrc.h:
12206         * gst/gstelement.c: (gst_element_pads_activate):
12207         Some more documentation.
12208         Fixed scheduling decision in _pads_activate().
12209
12210 2005-05-05  Andy Wingo  <wingo@pobox.com>
12211
12212         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12213         the test suite.
12214
12215 2005-05-05  Wim Taymans  <wim@fluendo.com>
12216
12217         * gst/base/Makefile.am:
12218         * gst/base/gstbasesink.h:
12219         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12220         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12221         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12222         (gst_collectpads_class_init), (gst_collectpads_init),
12223         (gst_collectpads_finalize), (gst_collectpads_new),
12224         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12225         (find_pad), (gst_collectpads_remove_pad),
12226         (gst_collectpads_is_active), (gst_collectpads_collect),
12227         (gst_collectpads_collect_range), (gst_collectpads_start),
12228         (gst_collectpads_stop), (gst_collectpads_peek),
12229         (gst_collectpads_pop), (gst_collectpads_available),
12230         (gst_collectpads_read), (gst_collectpads_flush),
12231         (gst_collectpads_chain):
12232         * gst/base/gstcollectpads.h:
12233         * gst/elements/Makefile.am:
12234         * gst/elements/gstelements.c:
12235         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12236         (gst_fakesink_get_times), (gst_fakesink_event),
12237         (gst_fakesink_preroll), (gst_fakesink_render):
12238         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12239         (gst_filesink_init), (gst_filesink_set_location),
12240         (gst_filesink_open_file), (gst_filesink_close_file),
12241         (gst_filesink_pad_query), (gst_filesink_event),
12242         (gst_filesink_render), (gst_filesink_change_state):
12243         * gst/elements/gstfilesink.h:
12244         Added object to help in making collect pad based elements.
12245         Ported filesink.
12246         Make event function in sink baseclass return gboolean.
12247
12248 2005-05-05  Wim Taymans  <wim@fluendo.com>
12249
12250         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12251         (gst_bin_get_by_name):
12252         * gst/gstbuffer.h:
12253         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12254         (gst_clock_finalize):
12255         * gst/gstdata.c: (gst_data_replace):
12256         * gst/gstdata.h:
12257         * gst/gstelement.c: (gst_element_request_pad),
12258         (gst_element_pads_activate):
12259         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12260         (gst_object_unref):
12261         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12262         (gst_pad_set_checkgetrange_function),
12263         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12264         (gst_pad_check_pull_range), (gst_pad_pull_range),
12265         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12266         (gst_pad_pause_task), (gst_pad_stop_task):
12267         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12268         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12269         Fix name lookup in GstBin.
12270         Added _data_replace() function and _buffer_replace()
12271         Use finalize method to clean up clock.
12272         Fix refcounting on request pads.
12273         Fix pad schedule mode error.
12274         Some more object refcounting debug info,
12275
12276
12277 2005-05-04  Andy Wingo <wingo@pobox.com>
12278
12279         * check/Makefile.am:
12280         * docs/gst/tmpl/gstatomic.sgml:
12281         * docs/gst/tmpl/gstplugin.sgml:
12282         * gst/base/gstbasesink.c: (gst_basesink_activate):
12283         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12284         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12285         (gst_basesrc_query), (gst_basesrc_set_property),
12286         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12287         (gst_basesrc_activate):
12288         * gst/base/gstbasesrc.h:
12289         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12290         (gst_base_transform_src_activate):
12291         * gst/elements/gstelements.c:
12292         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12293         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12294         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12295         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12296         (gst_type_find_element_checkgetrange),
12297         (gst_type_find_element_activate):
12298         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12299         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12300         (gst_caps_load_thyself):
12301         * gst/gstelement.c: (gst_element_pads_activate),
12302         (gst_element_save_thyself), (gst_element_restore_thyself):
12303         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12304         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12305         * gst/gstpad.h:
12306         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12307         (gst_xml_parse_file), (gst_xml_parse_memory),
12308         (gst_xml_get_element), (gst_xml_make_element):
12309         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12310         (_file_index_id_save_xml), (gst_file_index_commit):
12311         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12312         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12313         (load_paths):
12314         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12315         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12316         * tools/gst-complete.c: (main):
12317         * tools/gst-compprep.c: (main):
12318         * tools/gst-inspect.c: (print_element_properties_info):
12319         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12320         * tools/gst-xmlinspect.c: (print_element_properties):
12321         GCC 4 fixen.
12322         
12323 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12324
12325         * gst/gstplugin.c: (gst_plugin_check_module),
12326         (gst_plugin_check_file), (gst_plugin_load_file):
12327             apply patch from #172526 to make register work on MacOSX
12328
12329 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12330
12331         * docs/gst/tmpl/gstconfig.sgml:
12332         * gst/gstconfig.h.in:
12333           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12334         * testsuite/debug/printf_extension.c: (main):
12335           Do not use GST_PTR_FORMAT on pointers to types with
12336           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12337         * testsuite/elements/property.h:
12338           use correct printf format
12339
12340 2005-05-02  Wim Taymans  <wim@fluendo.com>
12341
12342         * docs/design/draft-push-pull.txt:
12343         * docs/design/draft-query.txt:
12344         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12345         (gst_basesrc_start):
12346         Added draft for new query API.
12347         Added draft for better selecting scheduling methods.
12348         Make basesrc ignore length if the subclass does not support
12349         it.
12350
12351 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12352
12353         * gst/Makefile.am:
12354           possible fixes for automake-1.5 - _LIBADD is reserved
12355
12356 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12357
12358         * docs/faq/Makefile.am:
12359         * docs/manual/Makefile.am:
12360         * docs/manuals.mak:
12361         * docs/pwg/Makefile.am:
12362         * gst/Makefile.am:
12363           possible fixes for automake-1.5
12364
12365 2005-04-28  Wim Taymans  <wim@fluendo.com>
12366
12367         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12368         (gst_basesink_pad_getcaps), (gst_basesink_init),
12369         (gst_basesink_do_sync):
12370         * gst/gstclock.c: (gst_clock_entry_new):
12371         * gst/gstevent.c: (gst_event_discont_get_value):
12372         * gst/gstpipeline.c: (pipeline_bus_handler),
12373         (gst_pipeline_change_state):
12374         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12375         Better debugging of clocking info.
12376         Allow NULL values when getting discont values.
12377
12378 2005-04-27  Wim Taymans  <wim@fluendo.com>
12379
12380         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12381         * check/gst/gstpad.c: (gst_pad_suite):
12382         Increase timeout for checks.
12383
12384 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12385
12386         * check/Makefile.am:
12387           fix the broken rule for cleanup.  Apparently this rule is
12388           only needed on FC2, so maybe this warrants further autotool
12389           inspection.
12390
12391 2005-04-26  Wim Taymans  <wim@fluendo.com>
12392
12393         * gst/gsttrashstack.h:
12394         Ooohh. a nasty one! After having a failed pop() from the stack,
12395         it's possible that the stack is empty. In that case, don't
12396         follow the NULL pointer.
12397
12398 2005-04-25  Wim Taymans  <wim@fluendo.com>
12399
12400         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12401         (gst_pad_set_checkgetrange_function),
12402         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12403         (gst_pad_check_pull_range), (gst_pad_pull_range),
12404         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12405         (gst_pad_pause_task), (gst_pad_stop_task):
12406         * gst/gstplugin.c: (gst_plugin_load):
12407         * gst/gstplugin.h:
12408         Remove gst_library_load as it does more harm than good with
12409         the new g_module flags.
12410         Revert bogus caps template check in pad linking, pad caps
12411         are important when linking not the template, which is more
12412         general than the current caps.
12413
12414 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12415
12416         * gst/autoplug/.cvsignore:
12417         * gst/autoplug/Makefile.am:
12418         * gst/autoplug/gstsearchfuncs.c:
12419         * gst/autoplug/gstsearchfuncs.h:
12420         * gst/autoplug/gstspider.c:
12421         * gst/autoplug/gstspider.h:
12422         * gst/autoplug/gstspideridentity.c:
12423         * gst/autoplug/gstspideridentity.h:
12424         * gst/autoplug/spidertest.c:
12425           Die, spider, die.
12426
12427 2005-04-25  Wim Taymans  <wim@fluendo.com>
12428
12429         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12430         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12431         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12432         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12433         * gst/gstpad.h:
12434         Added stubs for unimplemented functions. 
12435
12436 2005-04-24  David Schleef  <ds@schleef.org>
12437
12438         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12439         please fix.
12440
12441 2005-04-24  David Schleef  <ds@schleef.org>
12442
12443         Convert everything from GstAtomicInt to g_atomic_int_*, and
12444         remove gstatomic.
12445         * gst/Makefile.am:
12446         * gst/gstatomic.c:
12447         * gst/gstatomic.h:
12448         * gst/gstatomic_impl.h:
12449         * gst/gstbuffer.c:
12450         * gst/gstcaps.c:
12451         * gst/gstcaps.h:
12452         * gst/gstclock.c:
12453         * gst/gstclock.h:
12454         * gst/gstdata.c:
12455         * gst/gstdata.h:
12456         * gst/gstdata_private.h:
12457         * gst/gstevent.c:
12458         * gst/gstinfo.c:
12459         * gst/gstinfo.h:
12460         * gst/gstmessage.c:
12461         * gst/gstobject.c:
12462         * gst/gstobject.h:
12463         * gst/gststructure.c:
12464         * gst/gststructure.h:
12465         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12466         * gst/gstutils.h:
12467
12468 2005-04-24  David Schleef  <ds@schleef.org>
12469
12470         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12471         make the regressions tests work.  Remove some code that is no
12472         longer true.
12473         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12474         Disable warning for pads without templates.
12475
12476 2005-04-24  David Schleef  <ds@schleef.org>
12477
12478         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12479         functions that handle filtered links.
12480         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12481         removed functions.
12482         * gst/gstutils.c: Fix/remove utility functions that handle
12483         filtered caps.
12484         * gst/gstutils.h:
12485         * gst/gstvalue.c: Add serialization/deserialization of caps
12486         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12487         requires fixing so that the filter caps notation creates
12488         a capsfilter element and sets the filter_caps property.  I
12489         think everyone probably wants to keep the shorthand notation.
12490         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12491         * docs/gst/tmpl/gstpad.sgml:
12492
12493         * gst/elements/gstelements.c: Register capsfilter element.
12494         * gst/Makefile.am: fix spacing
12495         * docs/random/ds/0.9-suggested-changes: random
12496
12497 2005-04-23  David Schleef  <ds@schleef.org>
12498
12499         * gst/elements/Makefile.am:
12500         * gst/elements/gstcapsfilter.c: New element that acts like an
12501         identity, but filters caps.  Will eventually replace filtered
12502         caps in pad linking.
12503         * gst/gstutils.c: (gst_element_create_all_pads): New function
12504         to create all the ALWAYS pads that are registered with an
12505         element class.  This functionality should eventually be
12506         merged in with GstElement initialization.
12507         * gst/gstutils.h:
12508         * testsuite/trigger/README: part of trigger test code that should
12509         have been checked in a long time ago.
12510
12511 2005-04-23  David Schleef  <ds@schleef.org>
12512
12513         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12514         needed with new versions of libtool (nobody will confirm this),
12515         and hard to carry around.
12516         * gst/autoplug/Makefile.am:
12517         * gst/base/Makefile.am:
12518         * gst/elements/Makefile.am:
12519         * gst/indexers/Makefile.am:
12520         * gst/schedulers/Makefile.am:
12521         * libs/gst/bytestream/Makefile.am:
12522         * libs/gst/control/Makefile.am:
12523         * libs/gst/dataprotocol/Makefile.am:
12524         * libs/gst/getbits/Makefile.am:
12525
12526 2005-04-21  Wim Taymans  <wim@fluendo.com>
12527
12528         * docs/design/draft-push-pull.txt:
12529         * docs/design/part-MT-refcounting.txt:
12530         * docs/design/part-TODO.txt:
12531         * docs/design/part-caps.txt:
12532         * docs/design/part-events.txt:
12533         * docs/design/part-gstbus.txt:
12534         * docs/design/part-gstpipeline.txt:
12535         * docs/design/part-messages.txt:
12536         * docs/design/part-push-pull.txt:
12537         * docs/design/part-query.txt:
12538         Some more docs.
12539
12540 2005-04-21  Wim Taymans  <wim@fluendo.com>
12541
12542         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12543         (gst_message_new), (gst_message_new_error),
12544         (gst_message_new_warning), (gst_message_new_tag),
12545         (gst_message_new_state_changed), (gst_message_new_application),
12546         (gst_message_get_structure):
12547         * gst/gstmessage.h:
12548         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12549         (gst_structure_copy_conditional):
12550         Use parent refcount in GstMessage to ensure GstStructure
12551         consistency.
12552         Cleaned up headers a bit.
12553         
12554
12555 2005-04-20  Wim Taymans  <wim@fluendo.com>
12556
12557         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12558         (gst_basesink_pad_getcaps), (gst_basesink_init),
12559         (gst_basesink_chain_unlocked):
12560         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12561         (gst_type_find_helper):
12562         * gst/elements/gsttypefindelement.c:
12563         (gst_type_find_element_have_type), (gst_type_find_element_init),
12564         (stop_typefinding), (gst_type_find_element_handle_event),
12565         (find_suggest), (gst_type_find_element_chain),
12566         (gst_type_find_element_checkgetrange),
12567         (gst_type_find_element_getrange), (do_typefind),
12568         (gst_type_find_element_activate):
12569         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12570         (gst_buffer_default_free), (gst_buffer_default_copy),
12571         (gst_buffer_set_caps):
12572         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12573         (gst_caps_replace):
12574         * gst/gstmessage.c: (gst_message_new),
12575         (gst_message_new_state_changed):
12576         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12577         (gst_pad_set_checkgetrange_function),
12578         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12579         (gst_pad_set_caps), (gst_pad_check_pull_range),
12580         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12581         * gst/gstpad.h:
12582         * gst/gsttypefind.c: (gst_type_find_register):
12583         Make gst_caps_replace() work like other _replace() functions.
12584         Use _caps_replace() where possible.
12585         Make sure _message_new() initialises its field.
12586         Add gst_static_pad_template_get_caps()
12587
12588
12589 2005-04-18  Andy Wingo  <wingo@pobox.com>
12590
12591         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12592         on the peer, not the pad. I think that was a typo. Pass an extra
12593         arg to see if random access is possible. Activate the pads as
12594         PULL_RANGE if possible.
12595
12596         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12597
12598         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12599         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12600         to PROP_....
12601
12602 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12603
12604         * docs/faq/using.xml:
12605           Add note on gstreamer-properties (#154996).
12606
12607 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12608
12609         * docs/random/bbb/optional-properties:
12610           Some analysis on optional properties.
12611
12612 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12613
12614         * docs/gst/tmpl/gstelementfactory.sgml:
12615         * gst/gstelement.h:
12616         * gst/gstelementfactory.c: (gst_element_factory_init),
12617         (gst_element_factory_cleanup), (gst_element_register),
12618         (__gst_element_factory_add_static_pad_template),
12619         (gst_element_factory_get_static_pad_templates),
12620         (gst_element_factory_can_src_caps),
12621         (gst_element_factory_can_sink_caps):
12622         * gst/registries/Makefile.am:
12623         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12624         (gst_xml_registry_class_init), (gst_xml_registry_init),
12625         (gst_xml_registry_new), (gst_xml_registry_set_property),
12626         (gst_xml_registry_get_property), (get_time), (make_dir),
12627         (gst_xml_registry_get_perms_func),
12628         (plugin_times_older_than_recurse), (plugin_times_older_than),
12629         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12630         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12631         (add_to_char_array), (read_string), (read_uint), (read_enum),
12632         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12633         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12634         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12635         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12636         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12637         (gst_xml_registry_rebuild):
12638         * gst/registries/gstlibxmlregistry.h:
12639         * tools/gst-compprep.c: (main):
12640         * tools/gst-inspect.c: (print_pad_templates_info):
12641         * tools/gst-xmlinspect.c: (print_element_info):
12642           Use libxml2 for registry parsing, use staticpadtemplates in
12643           elementfactories. Makes gst_init() +/- 10x faster.
12644
12645 2005-04-12  Wim Taymans  <wim@fluendo.com>
12646
12647         * gst/base/Makefile.am:
12648         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12649         (gst_basesink_pad_getcaps), (gst_basesink_init),
12650         (gst_basesink_event), (gst_basesink_change_state):
12651         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12652         (gst_basesrc_init), (gst_basesrc_query),
12653         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12654         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12655         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12656         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12657         (gst_basesrc_stop), (gst_basesrc_activate),
12658         (gst_basesrc_change_state):
12659         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12660         (helper_find_suggest), (gst_type_find_helper):
12661         * gst/base/gsttypefindhelper.h:
12662         * gst/elements/Makefile.am:
12663         * gst/elements/gstelements.c:
12664         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12665         (gst_fakesink_get_times), (gst_fakesink_event),
12666         (gst_fakesink_preroll), (gst_fakesink_render):
12667         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12668         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12669         (gst_fakesrc_get_property), (gst_fakesrc_create),
12670         (gst_fakesrc_start), (gst_fakesrc_stop):
12671         * gst/elements/gstfakesrc.h:
12672         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12673         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12674         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12675         (gst_filesrc_create_read), (gst_filesrc_create),
12676         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12677         (gst_filesrc_start):
12678         * gst/elements/gsttypefindelement.c:
12679         (gst_type_find_element_have_type), (gst_type_find_element_init),
12680         (start_typefinding), (stop_typefinding), (push_buffer_store),
12681         (gst_type_find_element_handle_event),
12682         (gst_type_find_element_chain),
12683         (gst_type_find_element_checkgetrange),
12684         (gst_type_find_element_getrange), (do_typefind),
12685         (gst_type_find_element_activate),
12686         (gst_type_find_element_change_state):
12687         * gst/elements/gsttypefindelement.h:
12688         * gst/gstpipeline.c: (pipeline_bus_handler):
12689         Added typefind helper.
12690         Small preroll fix in the base sink.
12691         Disable typefind code in basesrc.
12692         Crude port of typefindelement.
12693         Fakesrc cleanups.
12694
12695
12696 2005-04-11  Wim Taymans  <wim@fluendo.com>
12697
12698         * check/gst/gstbus.c: (gstbus_suite):
12699         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12700         * check/gstcheck.h:
12701           Fix up the timeout so that the test does not fail.
12702
12703 2005-04-06  Wim Taymans  <wim@fluendo.com>
12704
12705         * gst/base/README:
12706         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12707         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12708         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12709         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12710         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12711         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12712         (gst_basesrc_stop), (gst_basesrc_activate),
12713         (gst_basesrc_change_state), (basesrc_find_peek),
12714         (basesrc_find_suggest), (gst_basesrc_type_find):
12715         * gst/base/gstbasesrc.h:
12716         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12717         (gst_filesrc_class_init), (gst_filesrc_init),
12718         (gst_filesrc_finalize), (gst_filesrc_set_location),
12719         (gst_filesrc_set_property), (gst_filesrc_get_property),
12720         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12721         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12722         (gst_filesrc_create_read), (gst_filesrc_create),
12723         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12724         * gst/elements/gstfilesrc.h:
12725         * gst/gstelement.c: (gst_element_get_state_func),
12726         (gst_element_lost_state), (gst_element_pads_activate):
12727         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12728         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12729         (gst_pad_pull_range):
12730         * gst/gstpad.h:
12731         More work on the generic source base class, implement seeking,
12732         query.
12733         Make filesrc extend the base source class.
12734         Added gst_pad_set_checkgetrange_function to GstPad.
12735
12736 2005-04-06  Andy Wingo  <wingo@pobox.com>
12737
12738         * pkgconfig/gstreamer-base.pc.in:
12739         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12740
12741         * pkgconfig/Makefile.am:
12742         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12743
12744 2005-04-04  Wim Taymans  <wim@fluendo.com>
12745
12746         * gst/base/Makefile.am:
12747         * gst/base/README:
12748         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12749         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12750         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12751         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12752         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12753         (gst_basesrc_base_init), (gst_basesrc_class_init),
12754         (gst_basesrc_init), (gst_basesrc_get_formats),
12755         (gst_basesrc_get_query_types), (gst_basesrc_query),
12756         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12757         (gst_basesrc_set_property), (gst_basesrc_get_property),
12758         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12759         (gst_basesrc_loop), (gst_basesrc_activate),
12760         (gst_basesrc_change_state):
12761         * gst/base/gstbasesrc.h:
12762         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12763         (gst_fakesrc_class_init), (gst_fakesrc_init),
12764         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12765         (gst_fakesrc_get_property), (gst_fakesrc_create):
12766         * gst/elements/gstfakesrc.h:
12767         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12768         (gst_filesrc_open_file), (gst_filesrc_loop),
12769         (gst_filesrc_activate), (filesrc_find_peek),
12770         (gst_filesrc_type_find):
12771         Made base source class, make fakesrc extend it.
12772         Add comments to basesink class.
12773         Some filesrc cleanup.
12774
12775 2005-03-31  David Schleef  <ds@schleef.org>
12776
12777         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12778         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12779         expected to link against libgstreamer.
12780         * gst/base/Makefile.am: link against libgstreamer
12781         * gst/elements/Makefile.am: same
12782
12783 2005-03-31  Andy Wingo  <wingo@pobox.com>
12784
12785         * tests/instantiate/Makefile.am:
12786         * tests/instantiate/caps.c: Add test to test speed of caps copy
12787         and free.
12788
12789         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12790         GMemChunk to be fair.
12791
12792         * gst/gsttrashstack.h: Remove warning about using the fallback
12793         trash stack implementation, it's still faster than malloc.
12794
12795 2005-03-30  Andy Wingo  <wingo@pobox.com>
12796
12797         * tests/complexity.c: Add a copyright.
12798
12799 2005-03-31  Wim Taymans  <wim@fluendo.com>
12800
12801         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12802         (gst_base_transform_class_init), (gst_base_transform_init),
12803         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12804         (gst_base_transform_get_property),
12805         (gst_base_transform_sink_activate),
12806         (gst_base_transform_src_activate),
12807         (gst_base_transform_change_state):
12808         * gst/base/gstbasetransform.h:
12809         * gst/elements/gstidentity.c: (gst_identity_class_init),
12810         (gst_identity_event), (gst_identity_check_perfect),
12811         (gst_identity_transform), (gst_identity_start),
12812         (gst_identity_stop):
12813         Added start/stop methods to transform base class so subclasses 
12814         don't need to deal with state changes even.
12815
12816 2005-03-31  Wim Taymans  <wim@fluendo.com>
12817
12818         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12819         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12820         * gst/gstevent.h:
12821         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12822         (gst_pad_pull_range):
12823         Added rate to the discont event to prepare for variable speed
12824         and reverse playback.
12825
12826 2005-03-29  David Schleef  <ds@schleef.org>
12827
12828         * configure.ac:
12829         * testsuite/trigger/Makefile.am:
12830         * testsuite/trigger/trigger.c: A little example program to show
12831         how trigger-based elements can work.
12832
12833 2005-03-29  Wim Taymans  <wim@fluendo.com>
12834
12835         * gst/base/Makefile.am:
12836         * gst/base/README:
12837         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12838         (gst_basesink_base_init), (gst_basesink_class_init),
12839         (gst_basesink_pad_getcaps), (gst_basesink_init),
12840         (gst_basesink_activate), (gst_basesink_change_state):
12841         * gst/base/gstbasesink.h:
12842         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12843         (gst_base_transform_base_init), (gst_base_transform_finalize),
12844         (gst_base_transform_class_init), (gst_base_transform_init),
12845         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12846         (gst_base_transform_event), (gst_base_transform_getrange),
12847         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12848         (gst_base_transform_set_property),
12849         (gst_base_transform_get_property),
12850         (gst_base_transform_sink_activate),
12851         (gst_base_transform_src_activate),
12852         (gst_base_transform_change_state):
12853         * gst/base/gstbasetransform.h:
12854         * gst/elements/gstidentity.c: (gst_identity_finalize),
12855         (gst_identity_class_init), (gst_identity_init),
12856         (gst_identity_event), (gst_identity_check_perfect),
12857         (gst_identity_transform), (gst_identity_set_property),
12858         (gst_identity_get_property), (gst_identity_change_state):
12859         * gst/elements/gstidentity.h:
12860         * gst/gstelement.c: (gst_element_get_state_func),
12861         (gst_element_lost_state), (gst_element_pads_activate):
12862         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12863         (gst_pad_check_pull_range), (gst_pad_pull_range):
12864         * gst/gstpad.h:
12865         Simplify pad activation.
12866         Added function to check if pull_range can be performed.
12867         Error out when pulling inactive or flushing pads.
12868         Removed const from refcounted types as it does not make sense.
12869         Simplify pad templates in basesink
12870         Added base class for simple 1-to-1 transforms.
12871         Make identity subclass the base transform.
12872
12873 2005-03-29  Andy Wingo  <wingo@pobox.com>
12874
12875         * docs/libs/gstreamer-libs-overrides.txt: 
12876         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12877         really don't understand what's going on, but like whatever. I want
12878         green buildbot!
12879
12880         * docs/gst/Makefile.am:
12881         * docs/libs/Makefile.am: Dist the overrides files.
12882
12883         * check/Makefile.am (clean-local): Remove .libs directories.
12884
12885         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12886         elements to EXTRA_DIST, so po/ files are happy.
12887
12888         * po/POTFILES.in: Er, remove it here.
12889
12890         * po/POTFILES: Remove gstspider.c.
12891
12892         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12893
12894         * docs/libs/gstreamer-libs-docs.sgml: 
12895         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12896         bytestream.
12897
12898         * tests/complexity.c (main): Set the length of the preroll queue
12899         on the sinks to prevent a lockup.
12900
12901         * libs/gst/dataprotocol/Makefile.am: 
12902         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12903         the same as the one in check/gst-libs/gdp.c.
12904
12905         * po/, docs/gst/: Commit automatic changes to docs and po files.
12906
12907         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12908         the versioned libgstbase.
12909
12910         * check/Makefile.am: Depend on an unversioned gst-register, seems
12911         to make autoconf happier.
12912
12913         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12914
12915 2005-03-28  Wim Taymans  <wim@fluendo.com>
12916
12917         * configure.ac:
12918         * docs/design/part-gstelement.txt:
12919         * docs/design/part-negotiation.txt:
12920         * docs/design/part-preroll.txt:
12921         * docs/design/part-scheduling.txt:
12922         * docs/design/part-states.txt:
12923         * gst/Makefile.am:
12924         * gst/base/Makefile.am:
12925         * gst/base/README:
12926         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12927         (gst_basesink_base_init), (gst_basesink_class_init),
12928         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12929         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12930         (gst_basesink_set_pad_functions),
12931         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12932         (gst_basesink_set_property), (gst_basesink_get_property),
12933         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12934         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12935         (gst_basesink_preroll_queue_push),
12936         (gst_basesink_preroll_queue_empty),
12937         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12938         (gst_basesink_event), (gst_basesink_get_times),
12939         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12940         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12941         (gst_basesink_loop), (gst_basesink_activate),
12942         (gst_basesink_change_state):
12943         * gst/base/gstbasesink.h:
12944         * gst/elements/Makefile.am:
12945         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12946         (gst_fakesink_class_init), (gst_fakesink_init),
12947         (gst_fakesink_set_property), (gst_fakesink_get_property),
12948         (gst_fakesink_get_times), (gst_fakesink_event),
12949         (gst_fakesink_preroll), (gst_fakesink_render),
12950         (gst_fakesink_change_state):
12951         * gst/elements/gstfakesink.h:
12952         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12953         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12954         * gst/gstelement.c: (gst_element_add_pad),
12955         (gst_element_get_state_func), (gst_element_abort_state),
12956         (gst_element_commit_state), (gst_element_lost_state),
12957         (gst_element_set_state), (gst_element_pads_activate):
12958         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12959         * gst/gstpipeline.c: (gst_pipeline_send_event),
12960         (gst_pipeline_change_state):
12961         Added state change code.
12962         Added/updated docs.
12963         Added sink base class, make fakesink extend the base class.
12964         Small cleanups in GstPipeline.
12965
12966 2005-03-26  David Schleef  <ds@schleef.org>
12967
12968         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12969         is broken and should be implemented in a different library.
12970         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12971         * gst/gst.h: remove gstcpu.h
12972         * gst/gstcpu.c: remove
12973         * gst/gstcpu.h: remove
12974         * gst/Makefile.am.future: Remove this file.  It's ancient.
12975
12976 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12977
12978         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12979         (gst_bin_send_event):
12980           Add default event/set_manager handlers. The set_manager handler
12981           takes care that the manager is distributed over kids that were
12982           already in the bin before the manager was set. The event handler
12983           is a utility virtual function that sends the event over all sinks,
12984           so that gst_element_send_event (bin, event); has the expected
12985           behaviour.
12986         * gst/gstpad.c: (gst_pad_event_default):
12987           Re-install default event handling for discontinuities, so that
12988           seeking works without requiring hacks in applications or extra
12989           code in sinks.
12990         * gst/gstpipeline.c: (gst_pipeline_class_init),
12991         (gst_pipeline_send_event):
12992           Half hack, half utility: set a pipeline to PAUSED for seek events,
12993           since that is the only way we can guarantee a/v sync. Means that
12994           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12995           and it "just works".
12996
12997 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12998
12999         * gst/gstpipeline.c: (gst_pipeline_use_clock):
13000           Lock/unlock mismatch.
13001
13002 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
13003
13004         * docs/faq/gst-uninstalled:
13005           add gst-plugins-base
13006         * docs/gst/Makefile.am:
13007           don't error out until docs are fixed
13008         * docs/gst/gstreamer.types:
13009           remove thread
13010
13011 2005-03-22  Wim Taymans  <wim@fluendo.com>
13012
13013         * check/Makefile.am:
13014         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
13015         * gst/gststructure.c: (gst_structure_set_valist),
13016         (gst_structure_copy_conditional):
13017         Activated more tests.
13018         Added message test.
13019         Added G_TYPE_POINTER to GstStructure.
13020         
13021
13022 2005-03-22  Wim Taymans  <wim@fluendo.com>
13023
13024         * docs/design/part-TODO.txt:
13025         * docs/design/part-events.txt:
13026         * docs/design/part-gstbin.txt:
13027         * docs/design/part-gstbus.txt:
13028         * docs/design/part-gstpipeline.txt:
13029         * docs/design/part-messages.txt:
13030         * gst/gstbus.c:
13031         * gst/gstmessage.c:
13032         Docs updates
13033
13034 2005-03-21  Wim Taymans  <wim@fluendo.com>
13035
13036         * gst/gstbus.c: (gst_bus_post):
13037         Fix copy-and-paste error.
13038
13039 2005-03-21  Wim Taymans  <wim@fluendo.com>
13040
13041         * check/Makefile.am:
13042         * gst/Makefile.am:
13043         * gst/elements/Makefile.am:
13044         * gst/elements/gstelements.c:
13045         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13046         (gst_fakesink_event), (gst_fakesink_chain):
13047         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13048         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13049         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13050         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13051         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13052         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13053         (gst_fakesrc_loop), (gst_fakesrc_activate),
13054         (gst_fakesrc_change_state):
13055         * gst/elements/gstfakesrc.h:
13056         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13057         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13058         (gst_filesrc_open_file), (gst_filesrc_loop),
13059         (gst_filesrc_activate), (gst_filesrc_change_state),
13060         (filesrc_find_peek), (filesrc_find_suggest),
13061         (gst_filesrc_type_find):
13062         * gst/elements/gstidentity.c: (gst_identity_finalize),
13063         (gst_identity_class_init), (gst_identity_init),
13064         (gst_identity_proxy_getcaps), (identity_queue_push),
13065         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13066         (gst_identity_getrange), (gst_identity_chain),
13067         (gst_identity_sink_loop), (gst_identity_src_loop),
13068         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13069         (gst_identity_set_property), (gst_identity_get_property),
13070         (gst_identity_change_state):
13071         * gst/elements/gstidentity.h:
13072         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13073         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13074         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13075         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13076         (gst_tee_sink_activate):
13077         * gst/elements/gsttee.h:
13078         * gst/gst.c: (gst_register_core_elements), (init_post):
13079         * gst/gst.h:
13080         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13081         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13082         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13083         (gst_bin_change_state):
13084         * gst/gstbin.h:
13085         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13086         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13087         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13088         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13089         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13090         (bus_watch_callback), (bus_watch_destroy),
13091         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13092         (poll_timeout), (gst_bus_poll):
13093         * gst/gstbus.h:
13094         * gst/gstcaps.h:
13095         * gst/gstdata.h:
13096         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13097         (gst_element_post_message), (gst_element_message_full),
13098         (gst_element_get_state_func), (gst_element_get_state),
13099         (gst_element_abort_state), (gst_element_commit_state),
13100         (gst_element_lost_state), (gst_element_set_state),
13101         (gst_element_pads_activate), (gst_element_change_state),
13102         (gst_element_dispose), (gst_element_set_manager_func),
13103         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13104         (gst_element_set_manager), (gst_element_get_manager),
13105         (gst_element_set_bus), (gst_element_get_bus),
13106         (gst_element_set_scheduler), (gst_element_get_scheduler):
13107         * gst/gstelement.h:
13108         * gst/gstevent.c: (gst_event_new_segment_seek),
13109         (gst_event_new_flush):
13110         * gst/gstevent.h:
13111         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13112         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13113         (gst_message_new_eos), (gst_message_new_error),
13114         (gst_message_new_warning), (gst_message_new_tag),
13115         (gst_message_new_state_changed), (gst_message_new_application),
13116         (gst_message_get_structure), (gst_message_parse_tag),
13117         (gst_message_parse_state_changed), (gst_message_parse_error),
13118         (gst_message_parse_warning):
13119         * gst/gstmessage.h:
13120         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13121         (gst_real_pad_set_property), (gst_pad_set_active),
13122         (gst_pad_is_active), (gst_pad_set_blocked_async),
13123         (gst_pad_set_blocked), (gst_pad_is_blocked),
13124         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13125         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13126         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13127         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13128         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13129         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13130         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13131         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13132         (gst_pad_set_caps), (gst_pad_configure_sink),
13133         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13134         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13135         (gst_real_pad_dispose), (gst_real_pad_finalize),
13136         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13137         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13138         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13139         * gst/gstpad.h:
13140         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13141         (pipeline_bus_handler), (gst_pipeline_change_state),
13142         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13143         * gst/gstpipeline.h:
13144         * gst/gstprobe.h:
13145         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13146         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13147         (gst_queue_link_src), (gst_queue_bufferalloc),
13148         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13149         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13150         (gst_queue_loop), (gst_queue_handle_src_event),
13151         (gst_queue_handle_src_query), (gst_queue_src_activate),
13152         (gst_queue_change_state):
13153         * gst/gstqueue.h:
13154         * gst/gstscheduler.c: (gst_scheduler_init),
13155         (gst_scheduler_dispose), (gst_scheduler_create_task),
13156         (gst_scheduler_factory_create):
13157         * gst/gstscheduler.h:
13158         * gst/gststructure.c: (gst_structure_get_type),
13159         (gst_structure_copy_conditional):
13160         * gst/gststructure.h:
13161         * gst/gsttaginterface.h:
13162         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13163         (gst_task_init), (gst_task_dispose), (gst_task_create),
13164         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13165         (gst_task_pause):
13166         * gst/gsttask.h:
13167         * gst/gstthread.c:
13168         * gst/gstthread.h:
13169         * gst/gsttypes.h:
13170         * gst/schedulers/Makefile.am:
13171         * gst/schedulers/cothreads_compat.h:
13172         * gst/schedulers/entryscheduler.c:
13173         * gst/schedulers/faircothreads.c:
13174         * gst/schedulers/faircothreads.h:
13175         * gst/schedulers/fairscheduler.c:
13176         * gst/schedulers/gstbasicscheduler.c:
13177         * gst/schedulers/gstoptimalscheduler.c:
13178         * gst/schedulers/gthread-cothreads.h:
13179         * gst/schedulers/threadscheduler.c:
13180         (gst_thread_scheduler_task_get_type),
13181         (gst_thread_scheduler_task_class_init),
13182         (gst_thread_scheduler_task_init),
13183         (gst_thread_scheduler_task_start),
13184         (gst_thread_scheduler_task_stop),
13185         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13186         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13187         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13188         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13189         (plugin_init):
13190         * libs/gst/Makefile.am:
13191         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13192         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13193         (gst_file_pad_parent_set):
13194         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13195         (gst_dp_event_from_packet):
13196         * tests/complexity.c: (main):
13197         * tests/mass_elements.c: (main):
13198         * testsuite/states/locked.c: (message_received), (main):
13199         * testsuite/states/parent.c: (main):
13200         * tools/gst-inspect.c: (print_element_flag_info),
13201         (print_implementation_info), (print_pad_info):
13202         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13203         (main):
13204         * tools/gst-md5sum.c: (event_loop), (main):
13205         * tools/gst-typefind.c: (main):
13206         * tools/gst-xmlinspect.c: (print_element_info):
13207         Next big merge.
13208         Added GstBus for mainloop integration.
13209         Added GstMessage for sending notifications on the bus.
13210         Added GstTask as an abstraction for pipeline entry points.
13211         Removed GstThread.
13212         Removed Schedulers.
13213         Simplified GstQueue for multithreaded core.
13214         Made _link threadsafe, removed old capsnego.
13215         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13216         Added pad blocking functions.
13217         Reworked scheduling functions in GstPad to prepare for
13218         scheduling updates soon.
13219         Moved events out of data stream.
13220         Simplified GstEvent types.
13221         Added return values to push/pull.
13222         Removed clocking from GstElement.
13223         Added prototypes for state change function for next merge.
13224         Removed iterate from bins and state change management.
13225         Fixed some elements, disabled others for now.
13226         Fixed -inspect and -launch.
13227         Added check for GstBus.
13228
13229 2005-03-10  Wim Taymans  <wim@fluendo.com>
13230
13231         * docs/design/part-MT-refcounting.txt:
13232         * docs/design/part-clocks.txt:
13233         * docs/design/part-gstelement.txt:
13234         * docs/design/part-gstobject.txt:
13235         * docs/design/part-standards.txt:
13236         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13237         (gst_bin_remove_func), (gst_bin_remove):
13238         * gst/gstbin.h:
13239         * gst/gstbuffer.c:
13240         * gst/gstcaps.h:
13241         * testsuite/clock/clock1.c: (main):
13242         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13243         (main):
13244         * testsuite/dlopen/loadgst.c: (do_test):
13245         * testsuite/refcounting/bin.c: (add_remove_test1),
13246         (add_remove_test2), (main):
13247         * testsuite/refcounting/element.c: (main):
13248         * testsuite/refcounting/element_pad.c: (main):
13249         * testsuite/refcounting/pad.c: (main):
13250         * tools/gst-launch.c: (sigint_handler_sighandler):
13251         * tools/gst-typefind.c: (main):
13252         Doc updates.
13253         Added doc about clock.
13254         removed gst_bin_iterate_recurse_up(), marked methods
13255         for removal.
13256         Fix more testsuites.
13257
13258 2005-03-09  Wim Taymans  <wim@fluendo.com>
13259
13260         * gst/gstpad.c: (gst_pad_get_direction),
13261         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13262         (gst_pad_collect_valist):
13263         * testsuite/bins/interface.c: (main):
13264         * testsuite/caps/audioscale.c: (test_caps):
13265         * testsuite/caps/caps.c: (test1), (test2), (test3):
13266         * testsuite/caps/deserialize.c: (main):
13267         * testsuite/caps/enumcaps.c: (main):
13268         * testsuite/caps/filtercaps.c: (main):
13269         * testsuite/caps/intersect2.c: (main):
13270         * testsuite/caps/random.c: (main):
13271         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13272         * testsuite/caps/sets.c: (check_caps):
13273         * testsuite/caps/simplify.c: (check_caps), (main):
13274         * testsuite/caps/subtract.c: (check_caps):
13275         Fix _pad_get_direction wrt ghostpads.
13276         Fix caps testsuite.
13277
13278 2005-03-09  Wim Taymans  <wim@fluendo.com>
13279
13280         * check/Makefile.am:
13281         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13282         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13283         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13284         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13285         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13286         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13287         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13288         (bin_element_is_sink), (gst_bin_iterate_sinks),
13289         (gst_bin_iterate_all_by_interface):
13290         * gst/gstbin.h:
13291         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13292         (gst_element_change_state), (gst_element_dispose),
13293         (gst_element_finalize), (gst_element_set_loop_function):
13294         * gst/gstelement.h:
13295         * gst/gstiterator.c: (find_custom_fold_func):
13296         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13297         (gst_pad_collectv), (gst_pad_collect_valist),
13298         (gst_pad_template_new):
13299         * gst/gstpipeline.c: (gst_pipeline_class_init),
13300         (gst_pipeline_dispose), (gst_pipeline_set_property),
13301         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13302         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13303         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13304         * gst/gstutils.h:
13305         * gst/schedulers/entryscheduler.c:
13306         * gst/schedulers/gstbasicscheduler.c:
13307         (gst_basic_scheduler_cothreaded_chain),
13308         (gst_basic_scheduler_chain_add_element):
13309         * testsuite/bins/interface.c: (main):
13310         Added GstBin test.
13311         Added GstSystemClock test.
13312         Implemented clock distribution code in GstBin.
13313         Implemented iterate sinks method for future use.
13314         Rearranged gstelement.h
13315         Fix GstIterator comparison bug.
13316         Moved some code to GstPipeline, mostly clocking related.
13317
13318 2005-03-09  Wim Taymans  <wim@fluendo.com>
13319
13320         * configure.ac:
13321         * gst/gst_private.h:
13322         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13323         (gst_bin_remove_func), (gst_bin_remove),
13324         (gst_bin_get_by_name_recurse_up):
13325         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13326         (gst_clock_id_compare_func), (gst_clock_id_wait),
13327         (gst_clock_id_wait_async), (gst_clock_init),
13328         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13329         * gst/gstelement.h:
13330         * gst/gstinfo.c: (_gst_debug_init):
13331         * gst/gstobject.h:
13332         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13333         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13334         * gst/gstpad.h:
13335         Bump version number, we're now 0.9.0
13336         Add future debugging category.
13337         Fix NULL _unref() in _get_by_name_recurse_up
13338         Rearrange gstpad.h.
13339         Update some docs.
13340
13341 2005-03-08  Wim Taymans  <wim@fluendo.com>
13342
13343         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13344         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13345         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13346         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13347         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13348         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13349         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13350         * gst/elements/gstidentity.c: (gst_identity_class_init):
13351         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13352         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13353         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13354         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13355         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13356         (gst_tee_link):
13357         * gst/gstelement.c: (gst_element_class_init),
13358         (gst_element_base_class_init), (gst_element_init),
13359         (gst_element_get_random_pad), (gst_element_wait_state_change),
13360         (gst_element_change_state), (gst_element_dispose),
13361         (gst_element_finalize), (gst_element_set_loop_function):
13362         * gst/gstelement.h:
13363         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13364         * gst/gstthread.c: (gst_thread_class_init),
13365         (gst_thread_release_children_locks), (gst_thread_change_state):
13366         * gst/schedulers/gstbasicscheduler.c:
13367         (gst_basic_scheduler_loopfunc_wrapper),
13368         (gst_basic_scheduler_chain_wrapper),
13369         (gst_basic_scheduler_src_wrapper),
13370         (gst_basic_scheduler_remove_element):
13371         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13372         Remove threadsafe properties. Fix elements because GObject
13373         complains when installing a property before declaring a
13374         set/get_property handler.
13375         Rearrange gstelement.h file, use STATE macros for state locks.
13376         Free mutexes in the finalize method instead of dispose.
13377
13378 2005-03-08  Wim Taymans  <wim@fluendo.com>
13379
13380         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13381         * gst/gstthread.c: (gst_thread_release_children_locks):
13382         Added parentage check.
13383         Fix build og GstThread again.
13384
13385 2005-03-08  Wim Taymans  <wim@fluendo.com>
13386
13387         * docs/design/part-MT-refcounting.txt:
13388         * docs/design/part-conventions.txt:
13389         * docs/design/part-gstobject.txt:
13390         * docs/design/part-relations.txt:
13391         * docs/design/part-standards.txt:
13392         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13393         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13394         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13395         (gst_bin_iterate_all_by_interface):
13396         * gst/gstbuffer.h:
13397         * gst/gstclock.h:
13398         * gst/gstelement.c: (gst_element_class_init),
13399         (gst_element_change_state), (gst_element_set_loop_function):
13400         * gst/gstelement.h:
13401         * gst/gstiterator.c:
13402         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13403         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13404         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13405         (gst_object_set_parent), (gst_object_unparent),
13406         (gst_object_check_uniqueness):
13407         * gst/gstobject.h:
13408         Docs updates, clean up some headers.
13409
13410 2005-03-07  Wim Taymans  <wim@fluendo.com>
13411
13412         * check/.cvsignore:
13413         * check/Makefile.am:
13414         * check/gst-libs/.cvsignore:
13415         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13416         * check/gst/.cvsignore:
13417         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13418         (START_TEST), (gstbus_suite), (main):
13419         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13420         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13421         (gst_data_suite), (main):
13422         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13423         (add_fold_func), (gstiterator_suite), (main):
13424         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13425         (thread_name_object), (thread_name_object_default),
13426         (gst_object_name_compare), (gst_object_suite), (main):
13427         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13428         (gst_pad_suite), (main):
13429         * check/gstcheck.c: (gst_check_log_message_func),
13430         (gst_check_log_critical_func), (gst_check_init):
13431         * check/gstcheck.h:
13432         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13433         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13434         Added checks.
13435
13436 2005-03-07  Wim Taymans  <wim@fluendo.com>
13437
13438         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13439         (gst_list_iterator_next), (gst_list_iterator_resync),
13440         (gst_list_iterator_free), (gst_iterator_new_list),
13441         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13442         (gst_iterator_free), (gst_iterator_push), (filter_next),
13443         (filter_resync), (filter_uninit), (filter_free),
13444         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13445         (gst_iterator_foreach), (find_custom_fold_func),
13446         (gst_iterator_find_custom):
13447         * gst/gstiterator.h:
13448         Added missing files.
13449
13450 2005-03-07  Wim Taymans  <wim@fluendo.com>
13451
13452         * Makefile.am:
13453         * configure.ac:
13454         * docs/design/part-MT-refcounting.txt:
13455         * docs/design/part-conventions.txt:
13456         * docs/design/part-gstobject.txt:
13457         * docs/design/part-relations.txt:
13458         * examples/mixer/mixer.c: (main):
13459         * examples/thread/thread.c: (eos), (main):
13460         * gst/Makefile.am:
13461         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13462         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13463         (gst_spider_plug_from_srcpad):
13464         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13465         (gst_spider_identity_change_state),
13466         (gst_spider_identity_sink_loop_type_finding):
13467         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13468         * gst/elements/gstidentity.c: (gst_identity_init):
13469         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13470         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13471         * gst/elements/gsttypefindelement.c: (free_entry):
13472         * gst/gst.c:
13473         * gst/gst.h:
13474         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13475         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13476         (gst_bin_set_index), (gst_bin_set_element_sched),
13477         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13478         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13479         (gst_bin_iterate_elements), (iterate_child_recurse),
13480         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13481         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13482         (compare_interface), (gst_bin_get_by_interface),
13483         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13484         * gst/gstbin.h:
13485         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13486         (gst_buffer_default_free), (gst_buffer_default_copy),
13487         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13488         (gst_buffer_create_sub):
13489         * gst/gstbuffer.h:
13490         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13491         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13492         (gst_caps_unref), (gst_static_caps_get),
13493         (gst_caps_remove_and_get_structure), (gst_caps_append),
13494         (gst_caps_append_structure), (gst_caps_remove_structure),
13495         (gst_caps_copy_nth), (gst_caps_set_simple),
13496         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13497         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13498         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13499         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13500         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13501         (gst_caps_structure_figure_out_union),
13502         (gst_caps_switch_structures), (gst_caps_do_simplify),
13503         (gst_caps_replace), (gst_caps_from_string),
13504         (gst_caps_copy_conditional):
13505         * gst/gstcaps.h:
13506         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13507         (_gst_clock_id_free), (gst_clock_id_unref),
13508         (gst_clock_id_compare_func), (gst_clock_id_wait),
13509         (gst_clock_id_wait_async), (gst_clock_class_init),
13510         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13511         (gst_clock_get_time), (gst_clock_set_time_adjust),
13512         (gst_clock_set_property), (gst_clock_get_property):
13513         * gst/gstclock.h:
13514         * gst/gstcompat.h:
13515         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13516         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13517         * gst/gstdata.h:
13518         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13519         (gst_element_requires_clock), (gst_element_provides_clock),
13520         (gst_element_set_clock), (gst_element_clock_wait),
13521         (gst_element_wait), (gst_element_set_time_delay),
13522         (gst_element_is_indexable), (gst_element_add_pad),
13523         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13524         (pad_compare_name), (gst_element_get_static_pad),
13525         (gst_element_request_pad), (gst_element_get_request_pad),
13526         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13527         (gst_element_class_get_pad_template_list),
13528         (gst_element_class_get_pad_template), (gst_element_error_func),
13529         (gst_element_get_random_pad), (gst_element_get_event_masks),
13530         (gst_element_send_event), (gst_element_seek),
13531         (gst_element_get_query_types), (gst_element_query),
13532         (gst_element_get_formats), (gst_element_convert),
13533         (gst_element_is_locked_state), (gst_element_set_locked_state),
13534         (gst_element_sync_state_with_parent), (gst_element_change_state),
13535         (gst_element_finalize), (gst_element_yield),
13536         (gst_element_interrupt), (gst_element_set_scheduler),
13537         (gst_element_get_scheduler), (gst_element_set_loop_function):
13538         * gst/gstelement.h:
13539         * gst/gstevent.h:
13540         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13541         (gst_format_get_by_nick), (gst_format_get_details),
13542         (gst_format_iterate_definitions):
13543         * gst/gstformat.h:
13544         * gst/gstindex.c: (gst_index_gtype_resolver):
13545         * gst/gstinfo.c:
13546         * gst/gstinfo.h:
13547         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13548         (gst_mem_chunk_free):
13549         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13550         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13551         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13552         (gst_object_dispatch_properties_changed),
13553         (gst_object_set_name_default), (gst_object_set_name),
13554         (gst_object_get_name), (gst_object_set_name_prefix),
13555         (gst_object_get_name_prefix), (gst_object_set_parent),
13556         (gst_object_get_parent), (gst_object_unparent),
13557         (gst_object_check_uniqueness), (gst_object_save_thyself),
13558         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13559         (gst_object_set_property), (gst_object_get_property),
13560         (gst_object_get_path_string):
13561         * gst/gstobject.h:
13562         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13563         (gst_real_pad_init), (gst_real_pad_get_property),
13564         (gst_pad_custom_new), (gst_pad_get_direction),
13565         (gst_pad_set_active), (gst_pad_is_active),
13566         (gst_pad_set_event_function), (gst_pad_is_linked),
13567         (gst_pad_link_free), (gst_pad_link_intersect),
13568         (gst_pad_link_fixate), (gst_pad_set_caps),
13569         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13570         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13571         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13572         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13573         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13574         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13575         (gst_pad_realize), (gst_pad_get_allowed_caps),
13576         (gst_real_pad_dispose), (gst_real_pad_finalize),
13577         (gst_pad_collectv), (gst_pad_collect_valist),
13578         (gst_pad_template_dispose), (gst_pad_template_new),
13579         (gst_pad_get_internal_links):
13580         * gst/gstpad.h:
13581         * gst/gstpipeline.c: (gst_pipeline_dispose),
13582         (gst_pipeline_change_state):
13583         * gst/gstpipeline.h:
13584         * gst/gstplugin.c:
13585         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13586         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13587         * gst/gstpluginfeature.h:
13588         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13589         * gst/gstquery.c: (_gst_query_type_initialize),
13590         (gst_query_type_register), (gst_query_type_get_by_nick),
13591         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13592         * gst/gstquery.h:
13593         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13594         * gst/gstscheduler.c: (gst_scheduler_add_element),
13595         (gst_scheduler_factory_create):
13596         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13597         (gst_structure_free), (gst_structure_set_name),
13598         (gst_structure_id_set_value), (gst_structure_set_value),
13599         (gst_structure_set_valist), (gst_structure_remove_field),
13600         (gst_structure_remove_fields),
13601         (gst_structure_remove_fields_valist),
13602         (gst_structure_remove_all_fields), (gst_structure_foreach),
13603         (gst_structure_map_in_place),
13604         (gst_caps_structure_fixate_field_nearest_int),
13605         (gst_caps_structure_fixate_field_nearest_double):
13606         * gst/gststructure.h:
13607         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13608         (gst_system_clock_init), (gst_system_clock_dispose),
13609         (gst_system_clock_async_thread),
13610         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13611         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13612         * gst/gstsystemclock.h:
13613         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13614         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13615         * gst/gsttaginterface.c:
13616         * gst/gstthread.c: (gst_thread_dispose),
13617         (gst_thread_release_children_locks), (gst_thread_change_state),
13618         (gst_thread_main_loop):
13619         * gst/gsttrashstack.h:
13620         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13621         * gst/gsttypes.h:
13622         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13623         (gst_element_request_pad), (gst_element_get_pad_from_template),
13624         (gst_element_request_compatible_pad),
13625         (gst_element_get_compatible_pad_filtered),
13626         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13627         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13628         (gst_element_link_many), (gst_element_link),
13629         (gst_element_link_pads), (gst_element_unlink_pads),
13630         (gst_element_unlink_many), (gst_element_unlink),
13631         (gst_pad_can_link_filtered), (gst_pad_can_link),
13632         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13633         (gst_object_default_error), (gst_bin_add_many),
13634         (gst_bin_remove_many), (gst_element_populate_std_props),
13635         (gst_element_class_install_std_props), (gst_buffer_merge),
13636         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13637         (link_fold_func), (gst_pad_proxy_setcaps):
13638         * gst/gstutils.h:
13639         * gst/gstvalue.c: (gst_value_deserialize_string):
13640         * gst/parse/grammar.y:
13641         * gst/schedulers/gstbasicscheduler.c:
13642         (gst_basic_scheduler_cothreaded_chain),
13643         (gst_basic_scheduler_chain_recursive_add),
13644         (gst_basic_scheduler_pad_link):
13645         * gst/schedulers/gstoptimalscheduler.c:
13646         (get_group_schedule_function),
13647         (gst_opt_scheduler_state_transition),
13648         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13649         * libs/gst/bytestream/bytestream.c:
13650         * libs/gst/dataprotocol/dataprotocol.c:
13651         (gst_dp_header_from_buffer):
13652         * po/nb.po:
13653         * po/ru.po:
13654         * tests/threadstate/threadstate2.c: (eos):
13655         * tools/gst-compprep.c: (main):
13656         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13657         (print_pad_info), (print_children_info):
13658         * tools/gst-launch.c: (idle_func), (main):
13659         * tools/gst-md5sum.c: (idle_func), (main):
13660         * tools/gst-xmlinspect.c: (print_element_info):
13661         First THREADED backport attempt, focusing on adding locks and
13662         making sure the API is threadsafe. Needs more work. More docs
13663         follow this week.
13664
13665 2005-02-24  Andy Wingo  <wingo@pobox.com>
13666
13667         * tests/bench-complexity.scm:
13668         * tests/complexity.gnuplot: New files, good for running complexity
13669         benchmarks.
13670
13671         * tests/Makefile.am:
13672         * tests/complexity.c: New test, sets up N elements, at each level
13673         teeing into M streams per element. Eeeenteresting.
13674
13675         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13676         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13677         running bench-mass_elements.scm.
13678
13679         * tests/bench-mass_elements.scm: New script, runs mass_elements
13680         for various numbers of identities, outputting the results to a
13681         file. Requires guile 1.6. Just for testing.
13682
13683 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13684
13685         * gst/schedulers/fairscheduler.c:
13686           compile with debug disabled
13687
13688 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13689
13690         * configure.ac:
13691           hunting season on 0.9 is now OPEN