plugins/elements/gstbufferstore.c
[platform/upstream/gstreamer.git] / ChangeLog
1 2005-12-16  Andy Wingo  <wingo@pobox.com>
2
3         * plugins/elements/gstbufferstore.c
4         (gst_buffer_store_cleared_func): Pay attention to g_list_append
5         return value.
6
7         * tests/check/gst/gstobject.c
8         (test_fake_object_name_threaded_unique): Pay attention to
9         g_list_sort return value.
10
11 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
12
13         * tools/gst-feedback-m.m:
14           Update for 0.9/0.10 (fixes #323870).
15
16 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
17
18         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
19           Fix lcopy for mini objects, the mini object needs to be ref'ed.
20           
21         * tests/check/gst/gstminiobject.c: (my_foo_init),
22         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
23         (test_value_collection), (gst_mini_object_suite):
24           Add test to ensure refcounts end up as expected when passing
25           GstMiniObjects through g_object_get() and g_object_set().
26
27 2005-12-14  Julien MOUTTE  <julien@moutte.net>
28
29         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
30         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
31         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
32         of collectpads. This version removes a lot of races without
33         touching API/ABI. Yay !
34
35 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
36
37         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
38           Don't allow activation of a srcpad in pull_range if it has no
39           getrange function.
40           Change some debug statements to be a little clearer
41
42         * plugins/elements/gsttypefindelement.c:
43         (gst_type_find_handle_src_query):
44           Check that we have a peer before executing queries thereupon.
45
46         * tests/examples/metadata/read-metadata.c: (message_loop):
47           Use gst_bus_pop instead of gst_bus_poll when we just want it to
48           immediately return us any available message with 0 timeout.
49
50 2005-12-12  Michael Smith  <msmith@fluendo.com>
51
52         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
53           Don't unref factories after calling them.
54         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
55         * plugins/elements/gsttypefindelement.c:
56         (gst_type_find_element_chain):
57           Free lists of factories after using them. Fixing typefinding memory
58           leaks.
59
60 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
61
62         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
63         (gst_plugin_feature_load):
64           more meaningful debug output
65         * configure.ac:
66         * tests/Makefile.am:
67         * tests/old/examples/Makefile.am:
68           make make distcheck happy again
69
70 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
71
72         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
73           Catch the special case where we are operating chain-based,
74           but the downstream peer pad has no chain function. Emit a
75           custom error message in this case instead of letting the
76           core generate one implying that this is some sort of core
77           bug. It's not, it just means that whatever got plugged
78           into the pipeline downstream when we announced the type
79           can only operate pull-based, while our source can only
80           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
81           Error string has not been marked for translation yet, as
82           it probably needs some more work first.
83
84         (gst_type_find_element_get_best_possibility):
85           Add helper function to find the best of all available
86           found possibilities that qualify given the min. threshold.
87
88         (gst_type_find_element_handle_event):
89           Fix the case where we get an EOS while still in TYPEFIND
90           mode (we want to chose the best of all possible types,
91           not just the first type that happens to be in our unsorted
92           list of possible types).
93
94         (gst_type_find_element_chain):
95           Make sure we return GST_FLOW_ERROR when we errored out
96           in stop_typefinding(); also, don't just find the best of
97           all found type entries and then use the last examined
98           type entry, but actually use the best entry.
99
100 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
101
102         * tests/examples/typefind/typefind.c: (type_found):
103         * tests/examples/xml/runxml.c: (xml_loaded):
104           More gcc4 fixes and a mem leak fix.
105
106 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
107
108         * tests/examples/xml/createxml.c: (object_saved):
109           gcc 4 fixes
110
111 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
112
113         * tests/Makefile.am:
114           enable the examples even more
115
116 2005-12-12  Andy Wingo  <wingo@pobox.com>
117
118         * libs/gst/net/gstnettimeprovider.c
119         (gst_net_time_provider_class_init, gst_net_time_provider_init)
120         (gst_net_time_provider_set_property)
121         (gst_net_time_provider_get_property): Export "active" as a GObject
122         property.
123         (gst_net_time_provider_thread): Only respond to time queries if
124         the time provider is active.
125
126         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
127         NetTimeProvider, preserving binary compat.
128
129 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
130
131         * tests/examples/controller/audio-example.c: (main):
132         * tests/examples/launch/Makefile.am:
133           convert comments again
134
135 2005-12-12  Wim Taymans  <wim@fluendo.com>
136
137         * libs/gst/base/gstpushsrc.c:
138         Fix typo.
139
140 2005-12-12  Wim Taymans  <wim@fluendo.com>
141
142         * docs/libs/gstreamer-libs-sections.txt:
143         Added new symbol to docs.
144
145         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
146         (gst_base_src_init), (gst_base_src_set_format),
147         (gst_base_src_default_query), (gst_base_src_query),
148         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
149         (gst_base_src_perform_seek), (gst_base_src_send_event),
150         (gst_base_src_default_event), (gst_base_src_event_handler),
151         (gst_base_src_set_property), (gst_base_src_get_property),
152         (gst_base_src_wait), (gst_base_src_do_sync),
153         (gst_base_src_update_length), (gst_base_src_get_range),
154         (gst_base_src_check_get_range), (gst_base_src_loop),
155         (gst_base_src_default_negotiate), (gst_base_src_start),
156         (gst_base_src_activate_push), (gst_base_src_activate_pull),
157         (gst_base_src_change_state):
158         * libs/gst/base/gstbasesrc.h:
159         Implement seeking to other formats than _BYTES.
160         Implement more seeking methods correctly.
161         Doc updates.
162         Added query vmethod.
163         Added do_seek vmethod to make life easier for subclasses
164         when seeking.
165         API addition: gst_base_src_set_format()
166
167 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
168
169         * tests/examples/Makefile.am:
170           added that too
171
172 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
173
174         * configure.ac:
175         * docs/random/ensonic/media-device-daemon.txt:
176         * tests/examples/controller/.cvsignore:
177         * tests/examples/controller/Makefile.am:
178         * tests/examples/controller/audio-example.c: (main):
179         * tests/examples/helloworld/.cvsignore:
180         * tests/examples/helloworld/Makefile.am:
181         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
182         * tests/examples/launch/.cvsignore:
183         * tests/examples/launch/Makefile.am:
184         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
185         * tests/examples/metadata/.cvsignore:
186         * tests/examples/metadata/Makefile.am:
187         * tests/examples/metadata/read-metadata.c: (message_loop),
188         (make_pipeline), (print_tag), (main):
189         * tests/examples/queue/.cvsignore:
190         * tests/examples/queue/Makefile.am:
191         * tests/examples/queue/queue.c: (event_loop), (main):
192         * tests/examples/typefind/.cvsignore:
193         * tests/examples/typefind/Makefile.am:
194         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
195         (main):
196         * tests/examples/xml/.cvsignore:
197         * tests/examples/xml/Makefile.am:
198         * tests/examples/xml/createxml.c: (object_saved), (main):
199         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
200         * tests/old/examples/Makefile.am:
201         * tests/old/examples/TODO:
202         * tests/old/examples/controller/.cvsignore:
203         * tests/old/examples/controller/Makefile.am:
204         * tests/old/examples/controller/audio-example.c:
205         * tests/old/examples/helloworld/.cvsignore:
206         * tests/old/examples/helloworld/Makefile.am:
207         * tests/old/examples/helloworld/helloworld.c:
208         * tests/old/examples/launch/.cvsignore:
209         * tests/old/examples/launch/Makefile.am:
210         * tests/old/examples/launch/mp3parselaunch.c:
211         * tests/old/examples/launch/mp3play:
212         * tests/old/examples/manual/Makefile.am:
213         * tests/old/examples/metadata/Makefile.am:
214         * tests/old/examples/metadata/read-metadata.c:
215         * tests/old/examples/queue/.cvsignore:
216         * tests/old/examples/queue/Makefile.am:
217         * tests/old/examples/queue/queue.c:
218         * tests/old/examples/typefind/.cvsignore:
219         * tests/old/examples/typefind/Makefile.am:
220         * tests/old/examples/typefind/typefind.c:
221         * tests/old/examples/xml/.cvsignore:
222         * tests/old/examples/xml/Makefile.am:
223         * tests/old/examples/xml/createxml.c:
224         * tests/old/examples/xml/runxml.c:
225           applied some simple fixing to some examples
226           re-enabled the working examples
227
228 2005-12-12  Wim Taymans  <wim@fluendo.com>
229
230         * gst/gstsegment.c: (gst_segment_init),
231         (gst_segment_set_last_stop), (gst_segment_set_seek),
232         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
233         (gst_segment_to_running_time):
234         Added more documentation.
235         Make sure the last_pos value is updated properly.
236         Make sure to_stream_time and to_running_time don't
237         operate on wrong values.
238
239         * tests/check/gst/gstsegment.c: (GST_START_TEST):
240         Update check.
241
242 2005-12-12  Michael Smith  <msmith@fluendo.com>
243
244         * plugins/elements/gsttypefindelement.c: (free_entry),
245         (gst_type_find_element_chain):
246           Now that we're not leaking factories, make sure we keep references
247           to them while we need them.
248
249 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
250
251         * tests/check/gst/struct_i386.h:
252           ifdef out the XML structs
253
254 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
255
256         * gst/gstvalue.c: (gst_value_transform_double_fraction):
257           floor is not needed, F is always positive; this obviates the
258           need for adding -lm when building without libxml
259
260 2005-12-12  Wim Taymans  <wim@fluendo.com>
261
262         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
263         Take current playback rate into account when reporting
264         the position.
265
266 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
267
268         * docs/manual/mime-world.fig:
269           Let's try this again, this time with a file that is
270           actually in XFig format.
271
272 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
273
274         * docs/manual/mime-world.fig:
275           Add audioconvert element to diagram so that it
276           matches the text and the code (fixes #319526).
277
278 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
279
280         * docs/pwg/building-chainfn.xml:
281         * docs/pwg/building-pads.xml:
282         * docs/pwg/building-state.xml:
283         * docs/pwg/other-source.xml:
284           Update state change stuff for 0.10 (fixes #322969).
285
286 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
287
288         * docs/manual/advanced-dataaccess.xml:
289         * docs/manual/appendix-checklist.xml:
290         * docs/manual/appendix-programs.xml:
291         * docs/manual/basics-pads.xml:
292         * docs/manual/highlevel-components.xml:
293         * docs/manual/manual.xml:
294           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
295           add converters in front of pipelines; remove curly
296           brackets for threads stuff, they no longer exist; use
297           GST_TYPE_FRACTION for framerates; update some pieces of
298           code to 0.10, but there's plenty more to do.
299
300         * docs/manual/appendix-porting.xml:
301           Expand on asynchroneous state changes; s/0.9/0.10/;
302           mention disappearance of gst_init_get_popt_table()
303           (fixes #322916).
304
305 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
306
307         * docs/faq/using.xml:
308           Spider no longer exists, and neither does gst-launch-ext.
309           Update examples to use decodebin and playbin and put
310           converters in front of sinks (fixes #323726).
311
312 2005-12-09  Michael Smith  <msmith@fluendo.com>
313
314         * plugins/elements/gsttypefindelement.c: (find_peek),
315         (gst_type_find_element_chain):
316           Fix leaking element factories in typefinding.
317           Fix problem where we forgot about a probable type on non-seekable
318           files, and thus later mis-typefound it.
319
320 2005-12-09  Michael Smith  <msmith@fluendo.com>
321
322         * common/m4/gst-makecontext.m4:
323         * common/m4/gst-mcsc.m4:
324         * configure.ac:
325         * win32/common/config.h:
326         * win32/common/config.h.in:
327           Remove makecontext stuff; not used in 0.10 and causes problems on
328           HPUX according to bug #322441
329
330 2005-12-07  Wim Taymans  <wim@fluendo.com>
331
332         * tests/check/Makefile.am:
333         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
334         (main):
335         * tests/check/libs/struct_i386.h:
336         Added ABI check for libs
337
338 2005-12-07  Wim Taymans  <wim@fluendo.com>
339
340         * tests/check/Makefile.am:
341         And add the struct_i386.h to dist.
342
343 2005-12-07  Wim Taymans  <wim@fluendo.com>
344
345         * tests/check/Makefile.am:
346         * tests/check/gst/.cvsignore:
347         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
348         (main):
349         * tests/check/gst/struct_i386.h:
350         Added check for ABI compatibility.
351
352 2005-12-07  Wim Taymans  <wim@fluendo.com>
353
354         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
355         (gst_fake_src_get_times), (gst_fake_src_create):
356         Fix broken sync option, fixes #323259
357
358 2005-12-07  Wim Taymans  <wim@fluendo.com>
359
360         * gst/gstbuffer.c:
361         Small docs update.
362
363         * gst/gstcaps.c: (gst_caps_is_equal):
364         Don't assert on NULL <--> X. Fixes #323260
365
366         * gst/gstminiobject.c: (gst_mini_object_replace):
367         If we're doing atomic operations, we might just as well use
368         the proper way to get an atomic pointer.
369
370         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
371         Clean up debugging.
372
373 2005-12-07  Michael Smith  <msmith@fluendo.com>
374
375         * gst/parse/grammar.y:
376           Remove handling of { } for threads.
377
378 2005-12-06  David Schleef  <ds@schleef.org>
379
380         * libs/gst/base/gstbasetransform.c: speling fix.
381
382 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
383
384         * docs/libs/tmpl/gstdataprotocol.sgml:
385         * docs/random/omega/testing/gstobject.c:
386         * gst/gst.c:
387         * gst/gstclock.c:
388         * gst/gstelement.c:
389         * gst/gstelementfactory.c:
390         * gst/gsterror.c:
391         * gst/gstevent.c:
392         * gst/gstghostpad.c:
393         * gst/gstinfo.c:
394         * gst/gstpadtemplate.c:
395         * gst/gstregistryxml.c:
396         * gst/gsttaglist.c:
397         * gst/gsttagsetter.c:
398         * gst/gsttypefind.c:
399         * gst/gstvalue.c:
400         * libs/gst/base/gstbasesrc.c:
401         * libs/gst/net/gstnetclientclock.c:
402         * libs/gst/net/gstnettimeprovider.c:
403         * plugins/elements/gstfakesrc.c:
404         * plugins/elements/gstfdsrc.c:
405         * plugins/elements/gstfilesrc.c:
406         * plugins/elements/gstidentity.c:
407         * plugins/elements/gstqueue.c:
408         * plugins/elements/gsttypefindelement.c:
409         * plugins/indexers/gstfileindex.c:
410         * plugins/indexers/gstmemindex.c:
411         * tests/check/gst/gsttag.c:
412         * tests/old/examples/cutter/cutter.c:
413         * tests/old/examples/mixer/mixer.c:
414         * tests/old/examples/xml/runxml.c: (main):
415         * tests/old/testsuite/caps/normalisation.c:
416         * tests/old/testsuite/debug/global.c:
417         * tests/old/testsuite/parse/parse1.c:
418         * tools/gst-xmlinspect.c:
419         * win32/common/dirent.c:
420           expand tabs
421
422 === release 0.10.0 ===
423
424 2005-12-05   <thomas (at) apestaart (dot) org>
425
426         * configure.ac:
427           releasing 0.10.0, "Maroilles"
428
429 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
430
431         submitted by: Funda Wang <fundawang@linux.net.cn>
432
433         * po/LINGUAS:
434         * po/zh_CN.po:
435           added Chinese (Traditional) translation
436
437 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
438
439         * docs/gst/gstreamer-sections.txt:
440         * docs/libs/tmpl/gstdataprotocol.sgml:
441         * docs/random/thomasvs/TODO:
442         * gst/gstutils.c:
443         * gst/gstutils.h:
444           fix docs
445
446 2005-12-05  Andy Wingo  <wingo@pobox.com>
447
448         patch by: Wim Taymans <wim@fluendo.com>
449
450         * libs/gst/base/gstbasetransform.c
451         (gst_base_transform_prepare_output_buf)
452         (gst_base_transform_buffer_alloc):
453         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
454         alloc_buffer_and_set_caps.
455
456         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
457         set_caps on the source pad.
458         (gst_pad_alloc_buffer_and_set_caps): New function, does what
459         alloc_buffer used to do. Fixes #322874.
460
461         * docs/gst/gstreamer-sections.txt: 
462         * docs/design/part-negotiation.txt: 
463         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
464         changes.
465
466 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
467
468         patch by: Sebastien Moutte
469
470         * win32/MANIFEST:
471         * win32/common/config.h.in:
472         * win32/vs6/libgstcontroller.dsp:
473           win32 build fixes
474
475 2005-12-05  Wim Taymans  <wim@fluendo.com>
476
477         * gst/gstcaps.c: (gst_caps_is_equal):
478         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
479         (gst_fake_src_create):
480         Back out previous code changes, leave doc updates, file bugs 
481         instead. 
482
483 2005-12-05  Wim Taymans  <wim@fluendo.com>
484
485         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
486         (gst_fake_src_get_times), (gst_fake_src_create):
487         * plugins/elements/gstfakesrc.h:
488         Fix broken sync code.
489
490 2005-12-05  Wim Taymans  <wim@fluendo.com>
491
492         * gst/gstcaps.c: (gst_caps_is_equal):
493         Comparing NULL against !NULL yields different caps, not a
494         failure.
495
496 2005-12-05  Wim Taymans  <wim@fluendo.com>
497
498         * gst/gstpipeline.c:
499         Fix small typo in docs.
500
501 2005-12-05  Andy Wingo  <wingo@pobox.com>
502
503         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
504
505         * gst/gst.c (init_post): remove hard-coded 0.9 location for
506         registries/plugins with a MAJORMINOR one.
507         (plugin_desc): Rename library from gstcoreleements to
508         staticelements. Fixes #323222.
509
510 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
511
512         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
513           Change debug category to 'collectpads' from 'collect_pads'
514           (fixes #323250).
515
516 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
517
518         patch by: Sebastien Moutte
519
520         * libs/gst/controller/gstinterpolation.c:
521           use convert function for uint64/double
522         * win32/vs6/libgstcontroller.dsp:
523           link to GLib
524
525 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
526
527         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
528         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
529         * gst/gstutils.h:
530         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
531           add tests that seem to show that the guint64/gdouble conversions
532           are correct.
533
534 2005-12-02  Wim Taymans  <wim@fluendo.com>
535
536         * gst/gstregistry.c: (gst_registry_add_path):
537         * gst/gstregistry.h:
538         * gst/gstregistryxml.c:
539         Fix docs again.
540
541 2005-12-02  Wim Taymans  <wim@fluendo.com>
542
543         * gst/gstutils.c: (gst_util_uint64_scale_int64),
544         (gst_util_uint64_scale_int):
545         Small cleanup.
546
547         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
548         Add debug log line.
549
550         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
551         Add FIXME.
552
553 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
554
555         * win32/MANIFEST:
556         * win32/common/config.h:
557         * win32/vs6/gstreamer.dsw:
558         * win32/vs6/libgstcoreelements.dsp:
559         * win32/vs6/libgstelements.dsp:
560           renamed core elements plugin
561
562 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
563
564         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
565         (get_candidates):
566           do piece-wise major/minor comparison so 0.9 < 0.10
567           also allow .exe extensions for tools
568
569 2005-12-02  Michael Smith  <msmith@fluendo.com>
570
571         * gst/gst.c:
572           Escape a % to make gtkdoc happier; bug 322958.
573
574 === release 0.9.7 ===
575
576 2005-12-01   <thomas (at) apestaart (dot) org>
577
578         * configure.ac:
579           releasing 0.9.7, "My Dog Has No Nose"
580
581 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
582
583         * common/gst-xmlinspect.py:
584         * configure.ac:
585         * docs/libs/tmpl/gstdataprotocol.sgml:
586         * docs/random/release:
587         * po/af.po:
588         * po/az.po:
589         * po/bg.po:
590         * po/ca.po:
591         * po/cs.po:
592         * po/de.po:
593         * po/en_GB.po:
594         * po/fr.po:
595         * po/it.po:
596         * po/nb.po:
597         * po/nl.po:
598         * po/ru.po:
599         * po/sq.po:
600         * po/sr.po:
601         * po/sv.po:
602         * po/tr.po:
603         * po/uk.po:
604         * po/vi.po:
605         * win32/common/config.h:
606         * win32/common/config.h.in:
607         * win32/vs6/gst_inspect.dsp:
608         * win32/vs6/gst_launch.dsp:
609         * win32/vs6/libgstbase.dsp:
610         * win32/vs6/libgstelements.dsp:
611         * win32/vs6/libgstreamer.dsp:
612         * win32/vs7/GStreamer.vcproj:
613         * win32/vs7/gst-inspect.vcproj:
614         * win32/vs7/gst-launch.vcproj:
615         * win32/vs7/libgstbase.vcproj:
616           bump GST_MAJORMINOR to 0.10
617           reset libtool version
618
619 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
620
621         * po/LINGUAS:
622         * po/bg.po:
623           Added Bulgarian translation by (Alexander Shopov)
624
625 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
626
627         * tests/check/gst/gstplugin.c:
628           fix test
629
630 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
631
632         * common/gst-xmlinspect.py:
633         * common/gtk-doc-plugins.mak:
634         * configure.ac:
635         * docs/Makefile.am:
636         * docs/gst/Makefile.am:
637         * docs/gst/gstreamer-docs.sgml:
638         * docs/gst/gstreamer-sections.txt:
639         * docs/gst/gstreamer.types:
640         * docs/gst/gstreamer.types.in:
641         * docs/plugins/Makefile.am:
642         * docs/plugins/gstreamer-plugins-docs.sgml:
643         * docs/plugins/gstreamer-plugins-sections.txt:
644         * docs/plugins/gstreamer-plugins.types:
645         * docs/plugins/inspect.stamp:
646         * docs/plugins/inspect/plugin-coreelements.xml:
647         * docs/plugins/inspect/plugin-coreindexers.xml:
648         * docs/plugins/scanobj-build.stamp:
649         * gstreamer.spec.in:
650         * plugins/elements/Makefile.am:
651         * plugins/elements/gstelements.c:
652         * plugins/elements/gstfakesink.c:
653         * plugins/elements/gstfakesrc.c:
654         * plugins/elements/gstfilesink.c:
655         * plugins/elements/gstfilesrc.c:
656         * plugins/elements/gstqueue.c:
657         * plugins/indexers/Makefile.am:
658         * plugins/indexers/gstindexers.c:
659           document core plugins in a separate document just like all the
660           others
661           rename these plugins to something starting with core
662
663 2005-12-01  Andy Wingo  <wingo@pobox.com>
664
665         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
666         padding here before, but it missed the commit.
667
668 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
669
670         * libs/gst/controller/gstinterpolation.c:
671           whitespace prices have crashed, we should feel free to use some now
672           use gst_guint64_to_gdouble
673
674 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
675
676         * libs/gst/controller/gstcontroller.c:
677         * libs/gst/controller/gsthelper.c:
678         * libs/gst/controller/gstinterpolation.c:
679         * libs/gst/controller/lib.c:
680           wrap config.h include
681
682 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
683
684         * docs/gst/gstreamer-sections.txt:
685           update docs
686
687 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
688
689         * plugins/elements/gstelements.c:
690         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
691         (gst_fd_sink__class_init), (gst_fd_sink__init),
692         (gst_fd_sink__chain), (gst_fd_sink__set_property),
693         (gst_fd_sink__get_property):
694         * plugins/elements/gstfdsink.h:
695         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
696         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
697         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
698         (gst_fd_src_unlock), (gst_fd_src_set_property),
699         (gst_fd_src_get_property), (gst_fd_src_create),
700         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
701         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
702         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
703         (gst_fd_src_uri_handler_init):
704         * plugins/elements/gstfdsrc.h:
705         * plugins/elements/gstqueue.c: (gst_queue_get_type):
706           more anal cleanup
707
708 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
709
710         * docs/gst/Makefile.am:
711         * docs/gst/gstreamer.types.in:
712         * gst/Makefile.am:
713           fix the docs build
714
715 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
716
717         * configure.ac:
718         * gst/Makefile.am:
719         * gst/gst.c:
720         * gst/gstplugin.h:
721         * gst/gstregistry.h:
722         * tests/benchmarks/complexity.c:
723         * tests/benchmarks/mass-elements.c:
724         * tests/check/Makefile.am:
725         * tools/Makefile.am:
726         * tools/gst-inspect.c:
727         * tools/gst-xmlinspect.c:
728           various fixes to make
729           --disable-nls --disable-registry --disable-loadsave
730           --disable-parse --disable-gst-debug
731           work and get the core .so down to 360444 bytes after stripping
732
733 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
734
735         * Makefile.am:
736         * configure.ac:
737           descend into tests
738         * docs/random/thomasvs/TODO:
739         * tests/Makefile.am:
740         * tests/README:
741           add a README
742
743 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
744
745         * win32/GStreamer.vcproj:
746         * win32/MANIFEST:
747         * win32/Makefile:
748         * win32/Makefile.inspect:
749         * win32/Makefile.launch:
750         * win32/Makefile.register:
751         * win32/README.txt:
752         * win32/gst-inspect.vcproj:
753         * win32/gst-launch.vcproj:
754         * win32/gst-register.vcproj:
755         * win32/gstelements.vcproj:
756         * win32/gstgetbits.def:
757         * win32/gstgetbits.vcproj:
758         * win32/gstreamer-dbg.def:
759         * win32/gstreamer.def:
760         * win32/libgstbase.def:
761         * win32/libgstbase.vcproj:
762         * win32/link_oldruntime.c:
763         * win32/mman.c:
764         * win32/mman.h:
765         * win32/mman.inl:
766         * win32/msvc71.sln:
767           move even more stuff, win32/ is nice and clean now
768
769 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
770
771         * libs/gst/control/.cvsignore:
772         * win32/MANIFEST:
773         * win32/config.h:
774         * win32/dirent.c:
775         * win32/dirent.h:
776         * win32/gstbytestream.def:
777         * win32/gstbytestream.vcproj:
778         * win32/gstconfig.h:
779         * win32/gstenumtypes.c:
780         * win32/gstenumtypes.h:
781         * win32/gstoptimalscheduler.vcproj:
782         * win32/gstversion.h:
783         * win32/gtchar.h:
784         * win32/testsuite/bins.vcproj:
785         * win32/testsuite/bytestream.vcproj:
786         * win32/testsuite/caps.vcproj:
787         * win32/testsuite/cleanup.vcproj:
788         * win32/testsuite/clock.vcproj:
789         * win32/testsuite/debug.vcproj:
790         * win32/testsuite/dlopen.vcproj:
791         * win32/testsuite/dynparams.vcproj:
792         * win32/testsuite/elements.vcproj:
793         * win32/testsuite/ghostpads.vcproj:
794         * win32/testsuite/indexers.vcproj:
795         * win32/testsuite/negotiation.vcproj:
796         * win32/testsuite/parse.vcproj:
797         * win32/testsuite/plugin.vcproj:
798         * win32/testsuite/refcounting.vcproj:
799         * win32/testsuite/schedulers.vcproj:
800         * win32/testsuite/states.vcproj:
801         * win32/testsuite/tags.vcproj:
802         * win32/testsuite/threads.vcproj:
803           remove old win32 stuff that isn't maintained and should be
804           reorganized
805
806 2005-11-30  Andy Wingo  <wingo@pobox.com>
807
808         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
809         loading the gst.interfaces python module bork.
810
811         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
812         available since GLib 2.2. Fixes #318031.
813
814 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
815
816         * Makefile.am:
817         * check/.cvsignore:
818         * check/Makefile.am:
819         * check/elements/.cvsignore:
820         * check/elements/fakesrc.c:
821         * check/elements/fdsrc.c:
822         * check/elements/identity.c:
823         * check/generic/.cvsignore:
824         * check/generic/states.c:
825         * check/gst-libs/.cvsignore:
826         * check/gst-libs/controller.c:
827         * check/gst-libs/gdp.c:
828         * check/gst/.cvsignore:
829         * check/gst/capslist.h:
830         * check/gst/gst.c:
831         * check/gst/gstbin.c:
832         * check/gst/gstbuffer.c:
833         * check/gst/gstbus.c:
834         * check/gst/gstcaps.c:
835         * check/gst/gstelement.c:
836         * check/gst/gstevent.c:
837         * check/gst/gstghostpad.c:
838         * check/gst/gstiterator.c:
839         * check/gst/gstmessage.c:
840         * check/gst/gstminiobject.c:
841         * check/gst/gstobject.c:
842         * check/gst/gstpad.c:
843         * check/gst/gstpipeline.c:
844         * check/gst/gstplugin.c:
845         * check/gst/gstsegment.c:
846         * check/gst/gststructure.c:
847         * check/gst/gstsystemclock.c:
848         * check/gst/gsttag.c:
849         * check/gst/gstutils.c:
850         * check/gst/gstvalue.c:
851         * check/net/.cvsignore:
852         * check/net/gstnetclientclock.c:
853         * check/net/gstnettimeprovider.c:
854         * check/pipelines/.cvsignore:
855         * check/pipelines/cleanup.c:
856         * check/pipelines/simple_launch_lines.c:
857         * check/pipelines/stress.c:
858         * check/states/.cvsignore:
859         * check/states/sinks.c:
860         * configure.ac:
861         * examples/Makefile.am:
862         * examples/appreader/.cvsignore:
863         * examples/appreader/Makefile.am:
864         * examples/appreader/appreader.c:
865         * examples/controller/.cvsignore:
866         * examples/controller/Makefile.am:
867         * examples/controller/audio-example.c:
868         * examples/cutter/.cvsignore:
869         * examples/cutter/Makefile.am:
870         * examples/cutter/cutter.c:
871         * examples/cutter/cutter.h:
872         * examples/events/Makefile.am:
873         * examples/events/seek.c:
874         * examples/helloworld/.cvsignore:
875         * examples/helloworld/Makefile.am:
876         * examples/helloworld/helloworld.c:
877         * examples/helloworld2/.cvsignore:
878         * examples/helloworld2/Makefile.am:
879         * examples/helloworld2/helloworld2.c:
880         * examples/launch/.cvsignore:
881         * examples/launch/Makefile.am:
882         * examples/launch/mp3parselaunch.c:
883         * examples/launch/mp3play:
884         * examples/manual/.cvsignore:
885         * examples/manual/Makefile.am:
886         * examples/manual/extract.pl:
887         * examples/metadata/Makefile.am:
888         * examples/metadata/read-metadata.c:
889         * examples/mixer/.cvsignore:
890         * examples/mixer/Makefile.am:
891         * examples/mixer/mixer.c:
892         * examples/mixer/mixer.h:
893         * examples/pingpong/.cvsignore:
894         * examples/pingpong/Makefile.am:
895         * examples/pingpong/pingpong.c:
896         * examples/plugins/.cvsignore:
897         * examples/plugins/Makefile.am:
898         * examples/plugins/example.c:
899         * examples/plugins/example.h:
900         * examples/pwg/.cvsignore:
901         * examples/pwg/Makefile.am:
902         * examples/pwg/extract.pl:
903         * examples/queue/.cvsignore:
904         * examples/queue/Makefile.am:
905         * examples/queue/queue.c:
906         * examples/queue2/.cvsignore:
907         * examples/queue2/Makefile.am:
908         * examples/queue2/queue2.c:
909         * examples/queue3/.cvsignore:
910         * examples/queue3/Makefile.am:
911         * examples/queue3/queue3.c:
912         * examples/queue4/.cvsignore:
913         * examples/queue4/Makefile.am:
914         * examples/queue4/queue4.c:
915         * examples/retag/.cvsignore:
916         * examples/retag/Makefile.am:
917         * examples/retag/retag.c:
918         * examples/retag/transcode.c:
919         * examples/thread/.cvsignore:
920         * examples/thread/Makefile.am:
921         * examples/thread/thread.c:
922         * examples/typefind/.cvsignore:
923         * examples/typefind/Makefile.am:
924         * examples/typefind/typefind.c:
925         * examples/xml/.cvsignore:
926         * examples/xml/Makefile.am:
927         * examples/xml/createxml.c:
928         * examples/xml/runxml.c:
929         * tests/Makefile.am:
930         * tests/check/Makefile.am:
931         * testsuite/.cvsignore:
932         * testsuite/Makefile.am:
933         * testsuite/Rules:
934         * testsuite/caps/.cvsignore:
935         * testsuite/caps/Makefile.am:
936         * testsuite/caps/app_fixate.c:
937         * testsuite/caps/audioscale.c:
938         * testsuite/caps/caps.c:
939         * testsuite/caps/caps.h:
940         * testsuite/caps/caps_strings:
941         * testsuite/caps/compatibility.c:
942         * testsuite/caps/deserialize.c:
943         * testsuite/caps/enumcaps.c:
944         * testsuite/caps/eratosthenes.c:
945         * testsuite/caps/filtercaps.c:
946         * testsuite/caps/fixed.c:
947         * testsuite/caps/fraction-convert.c:
948         * testsuite/caps/fraction-multiply-and-zero.c:
949         * testsuite/caps/intersect2.c:
950         * testsuite/caps/intersection.c:
951         * testsuite/caps/normalisation.c:
952         * testsuite/caps/random.c:
953         * testsuite/caps/renegotiate.c:
954         * testsuite/caps/sets.c:
955         * testsuite/caps/simplify.c:
956         * testsuite/caps/string-conversions.c:
957         * testsuite/caps/structure.c:
958         * testsuite/caps/subtract.c:
959         * testsuite/caps/union.c:
960         * testsuite/debug/.cvsignore:
961         * testsuite/debug/Makefile.am:
962         * testsuite/debug/category.c:
963         * testsuite/debug/commandline.c:
964         * testsuite/debug/global.c:
965         * testsuite/debug/output.c:
966         * testsuite/debug/printf_extension.c:
967         * testsuite/dlopen/.cvsignore:
968         * testsuite/dlopen/Makefile.am:
969         * testsuite/dlopen/dlopen_gst.c:
970         * testsuite/dlopen/loadgst.c:
971         * testsuite/elements/.cvsignore:
972         * testsuite/elements/Makefile.am:
973         * testsuite/elements/gst-inspect-check.in:
974         * testsuite/elements/struct_i386.h:
975         * testsuite/elements/struct_size.c:
976         * testsuite/indexers/.cvsignore:
977         * testsuite/indexers/Makefile.am:
978         * testsuite/indexers/cache1.c:
979         * testsuite/indexers/indexdump.c:
980         * testsuite/parse/.cvsignore:
981         * testsuite/parse/Makefile.am:
982         * testsuite/parse/parse1.c:
983         * testsuite/parse/parse2.c:
984         * testsuite/plugin/.cvsignore:
985         * testsuite/plugin/Makefile.am:
986         * testsuite/plugin/README:
987         * testsuite/plugin/dynamic.c:
988         * testsuite/plugin/linked.c:
989         * testsuite/plugin/loading.c:
990         * testsuite/plugin/registry.c:
991         * testsuite/plugin/static.c:
992         * testsuite/plugin/static2.c:
993         * testsuite/plugin/testplugin.c:
994         * testsuite/plugin/testplugin2.c:
995         * testsuite/plugin/testplugin2_s.c:
996         * testsuite/plugin/testplugin_s.c:
997         * testsuite/refcounting/.cvsignore:
998         * testsuite/refcounting/Makefile.am:
999         * testsuite/refcounting/bin.c:
1000         * testsuite/refcounting/element.c:
1001         * testsuite/refcounting/element_pad.c:
1002         * testsuite/refcounting/mainloop.c:
1003         * testsuite/refcounting/mem.c:
1004         * testsuite/refcounting/mem.h:
1005         * testsuite/refcounting/object.c:
1006         * testsuite/refcounting/pad.c:
1007         * testsuite/refcounting/sched.c:
1008         * testsuite/refcounting/thread.c:
1009         * testsuite/states/.cvsignore:
1010         * testsuite/states/Makefile.am:
1011         * testsuite/states/bin.c:
1012         * testsuite/states/locked.c:
1013         * testsuite/states/parent.c:
1014         * testsuite/threads/.cvsignore:
1015         * testsuite/threads/159566.c:
1016         * testsuite/threads/159852.c:
1017         * testsuite/threads/Makefile.am:
1018         * testsuite/threads/queue.c:
1019         * testsuite/threads/signals.c:
1020         * testsuite/threads/staticrec.c:
1021         * testsuite/threads/thread.c:
1022         * testsuite/threads/threadb.c:
1023         * testsuite/threads/threadc.c:
1024         * testsuite/threads/threadd.c:
1025         * testsuite/threads/threade.c:
1026         * testsuite/threads/threadf.c:
1027         * testsuite/threads/threadg.c:
1028         * testsuite/threads/threadh.c:
1029         * testsuite/threads/threadi.c:
1030           move all of these under tests
1031
1032 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1033
1034         * configure.ac:
1035         * tests/Makefile.am:
1036           fix distcheck
1037
1038 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1039
1040         * docs/gst/gstreamer-sections.txt:
1041         * tests/sched/.cvsignore:
1042         * tests/sched/Makefile.am:
1043         * tests/sched/cases/(fs-fs).xml:
1044         * tests/sched/cases/(fs-i-fs).xml:
1045         * tests/sched/cases/(fs-i-i-fs).xml:
1046         * tests/sched/cases/(fs-i-q[i-fs]).xml:
1047         * tests/sched/dynamic-pipeline.c:
1048         * tests/sched/interrupt1.c:
1049         * tests/sched/interrupt2.c:
1050         * tests/sched/interrupt3.c:
1051         * tests/sched/runtestcases:
1052         * tests/sched/runxml.c:
1053         * tests/sched/sched-stress.c:
1054         * tests/sched/sort.c:
1055         * tests/sched/testcases:
1056         * tests/sched/testcases1.tc:
1057         * tests/seeking/.cvsignore:
1058         * tests/seeking/Makefile.am:
1059         * tests/seeking/seeking1.c:
1060         * tests/threadstate/.cvsignore:
1061         * tests/threadstate/Makefile.am:
1062         * tests/threadstate/test1.c:
1063         * tests/threadstate/test2.c:
1064         * tests/threadstate/threadstate1.c:
1065         * tests/threadstate/threadstate2.c:
1066         * tests/threadstate/threadstate3.c:
1067         * tests/threadstate/threadstate4.c:
1068         * tests/threadstate/threadstate5.c:
1069           remove obsolete tests
1070         * configure.ac:
1071         * tests/bench-complexity.scm:
1072         * tests/bench-mass_elements.scm:
1073         * tests/complexity.c:
1074         * tests/complexity.gnuplot:
1075         * tests/instantiate/.cvsignore:
1076         * tests/instantiate/Makefile.am:
1077         * tests/instantiate/caps.c:
1078         * tests/mass_elements.c:
1079         * tests/network-clock-utils.scm:
1080         * tests/network-clock.scm:
1081         * tests/plot-data:
1082         First pass at cleaning up tests/ dir before moving the rest
1083         Combined with CVS surgery
1084
1085 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1086
1087         * po/POTFILES.in:
1088           queue has moved, update
1089
1090 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1091
1092         * docs/gst/gstreamer-sections.txt:
1093           remove double entries from the docs
1094         * gst/gst_private.h:
1095         * gst/gstinfo.c: (_gst_debug_init):
1096           remove the THREAD debug category
1097         * gst/Makefile.am:
1098         * gst/gstqueue.c:
1099         * gst/gstqueue.h:
1100         * docs/gst/gstreamer.types:
1101         * plugins/elements/gstqueue.c: (gst_queue_get_type),
1102         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
1103           completely move queue and fix up debugging categories
1104
1105 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1106
1107         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1108           make initialization portable, using LL is not
1109
1110 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1111
1112         * win32/common/gstconfig.h:
1113           add large padding
1114
1115 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1116
1117         * win32/common/libgstreamer.def:
1118           rename symbols; sort base section
1119
1120 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1121
1122         * gst/gstclock.c: (do_linear_regression):
1123           remove crack non-portable handrolled DEBUG macro
1124
1125 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1126
1127         * docs/random/release:
1128           update notes
1129         * win32/common/gstenumtypes.c: (register_gst_object_flags),
1130         (gst_object_flags_get_type), (register_gst_bin_flags),
1131         (gst_bin_flags_get_type), (register_gst_buffer_flag),
1132         (gst_buffer_flag_get_type), (register_gst_bus_flags),
1133         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
1134         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
1135         (gst_caps_flags_get_type), (register_gst_clock_return),
1136         (gst_clock_return_get_type), (register_gst_clock_entry_type),
1137         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
1138         (gst_clock_flags_get_type), (register_gst_state),
1139         (gst_state_get_type), (register_gst_state_change_return),
1140         (gst_state_change_return_get_type), (register_gst_state_change),
1141         (gst_state_change_get_type), (register_gst_element_flags),
1142         (gst_element_flags_get_type), (register_gst_core_error),
1143         (gst_core_error_get_type), (register_gst_library_error),
1144         (gst_library_error_get_type), (register_gst_resource_error),
1145         (gst_resource_error_get_type), (register_gst_stream_error),
1146         (gst_stream_error_get_type), (register_gst_event_type_flags),
1147         (gst_event_type_flags_get_type), (register_gst_event_type),
1148         (gst_event_type_get_type), (register_gst_seek_type),
1149         (gst_seek_type_get_type), (register_gst_seek_flags),
1150         (gst_seek_flags_get_type), (register_gst_format),
1151         (gst_format_get_type), (register_gst_index_certainty),
1152         (gst_index_certainty_get_type), (register_gst_index_entry_type),
1153         (gst_index_entry_type_get_type),
1154         (register_gst_index_lookup_method),
1155         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
1156         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
1157         (gst_index_resolver_method_get_type), (register_gst_index_flags),
1158         (gst_index_flags_get_type), (register_gst_debug_level),
1159         (gst_debug_level_get_type), (register_gst_debug_color_flags),
1160         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
1161         (gst_iterator_result_get_type), (register_gst_iterator_item),
1162         (gst_iterator_item_get_type), (register_gst_message_type),
1163         (gst_message_type_get_type), (register_gst_mini_object_flags),
1164         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
1165         (gst_pad_link_return_get_type), (register_gst_flow_return),
1166         (gst_flow_return_get_type), (register_gst_activate_mode),
1167         (gst_activate_mode_get_type), (register_gst_pad_direction),
1168         (gst_pad_direction_get_type), (register_gst_pad_flags),
1169         (gst_pad_flags_get_type), (register_gst_pad_presence),
1170         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
1171         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
1172         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
1173         (gst_plugin_error_get_type), (register_gst_plugin_flags),
1174         (gst_plugin_flags_get_type), (register_gst_rank),
1175         (gst_rank_get_type), (register_gst_query_type),
1176         (gst_query_type_get_type), (register_gst_tag_merge_mode),
1177         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
1178         (gst_tag_flag_get_type), (register_gst_task_state),
1179         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
1180         (gst_alloc_trace_flags_get_type),
1181         (register_gst_type_find_probability),
1182         (gst_type_find_probability_get_type), (register_gst_uri_type),
1183         (gst_uri_type_get_type), (register_gst_parse_error),
1184         (gst_parse_error_get_type):
1185         * win32/common/gstenumtypes.h:
1186         * win32/common/gstversion.h:
1187           update visual studio generated files
1188
1189 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1190
1191         * win32/vs6/libgstbase.dsp:
1192         * win32/vs6/libgstelements.dsp:
1193           update project files for new locations
1194
1195 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1196
1197         * Makefile.am:
1198           remove some files
1199         * README:
1200           reinstate and update
1201         * DEVEL:
1202         * REQUIREMENTS:
1203           removed
1204         * LICENSE:
1205         * docs/random/LICENSE:
1206           moved to random
1207
1208 2005-11-30  Edward Hervey  <edward@fluendo.com>
1209
1210         * gst/gsttypefind.c: (gst_type_find_register):
1211         * gst/gsttypefind.h:
1212         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
1213         (gst_type_find_factory_dispose):
1214         * gst/gsttypefindfactory.h:
1215         Fix memory leak in GstTypeFindFactory.
1216
1217 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1218
1219         * gst/gst.c:
1220         * plugins/elements/Makefile.am:
1221         * plugins/elements/gstelements.c:
1222         * plugins/elements/gstqueue.c:
1223           move queue from core to the elements plugin
1224
1225 2005-11-29  Andy Wingo  <wingo@pobox.com>
1226
1227         * libs/gst/base/gstbasetransform.h: 
1228         * libs/gst/base/gstbasesrc.h: 
1229         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
1230
1231         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
1232         of pointers by which to pad very extensible base classes (like the
1233         ones in libs/gst/base).
1234
1235 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1236
1237         * docs/gst/gstreamer-docs.sgml:
1238         * docs/gst/gstreamer-sections.txt:
1239         * docs/libs/gstreamer-libs-docs.sgml:
1240         * docs/libs/gstreamer-libs-sections.txt:
1241           moving documentation from core to lib
1242
1243 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1244
1245         * check/Makefile.am:
1246         * configure.ac:
1247         * docs/gst/Makefile.am:
1248         * gst/Makefile.am:
1249         * gst/base/.cvsignore:
1250         * gst/base/Makefile.am:
1251         * gst/base/README:
1252         * gst/base/gstadapter.c:
1253         * gst/base/gstadapter.h:
1254         * gst/base/gstbasesink.c:
1255         * gst/base/gstbasesink.h:
1256         * gst/base/gstbasesrc.c:
1257         * gst/base/gstbasesrc.h:
1258         * gst/base/gstbasetransform.c:
1259         * gst/base/gstbasetransform.h:
1260         * gst/base/gstcollectpads.c:
1261         * gst/base/gstcollectpads.h:
1262         * gst/base/gstpushsrc.c:
1263         * gst/base/gstpushsrc.h:
1264         * gst/base/gsttypefindhelper.c:
1265         * gst/base/gsttypefindhelper.h:
1266         * gst/check/Makefile.am:
1267         * gst/check/gstcheck.c:
1268         * gst/check/gstcheck.h:
1269         * gst/net/Makefile.am:
1270         * gst/net/gstnet.h:
1271         * gst/net/gstnetclientclock.c:
1272         * gst/net/gstnetclientclock.h:
1273         * gst/net/gstnettimepacket.c:
1274         * gst/net/gstnettimepacket.h:
1275         * gst/net/gstnettimeprovider.c:
1276         * gst/net/gstnettimeprovider.h:
1277         * libs/gst/Makefile.am:
1278         * libs/gst/base/Makefile.am:
1279         * libs/gst/base/gstbasetransform.c:
1280         * libs/gst/check/Makefile.am:
1281         * plugins/elements/Makefile.am:
1282         * po/POTFILES.in:
1283           CVS surgery + support to move base, check, and net out of gst
1284           and into libs/gst
1285
1286 2005-11-29  Andy Wingo  <wingo@pobox.com>
1287
1288         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
1289
1290         * gst/gststructure.h (struct _GstStructure): Only one pointer of
1291         padding.
1292
1293         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
1294
1295         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
1296
1297         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
1298
1299         * gst/gstobject.h: (struct _GstObject): Only one pointer of
1300         padding; reduces object size by about 30%. We don't expect
1301         anything else to go into gstobject.
1302
1303         * gst/gstminiobject.h (struct _GstMiniObject)
1304         (struct _GstMiniObjectClass): Only one pointer of padding; the
1305         payload is only a pointer and two ints anyway. For the class there
1306         are only two methods as well.
1307         
1308         * gst/gstelement.h (struct _GstElementClass): Removed
1309         the state_changed signal callback, it is not used.
1310
1311 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1312
1313         * docs/gst/gstreamer.types:
1314           fix includes, though they are a little dinky
1315
1316 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1317
1318         * check/Makefile.am:
1319           look in the right place for elements, a lot more chance of
1320           success
1321         * gst/Makefile.am:
1322           remove indexers and elements subdirs
1323         * plugins/Makefile.am:
1324           make indexers conditional
1325
1326 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1327
1328         * Makefile.am:
1329         * configure.ac:
1330         * plugins/elements/Makefile.am:
1331         * plugins/elements/gstcapsfilter.c:
1332         * plugins/elements/gstfilesink.c:
1333         * plugins/elements/gstfilesrc.c:
1334         * plugins/elements/gstidentity.c:
1335         * plugins/indexers/Makefile.am:
1336           do CVS surgery and related build fixery to move elements
1337           and indexers in a new gstreamer/plugins directory, out of the
1338           gst/ directory
1339
1340 2005-11-29  Andy Wingo  <wingo@pobox.com>
1341
1342         * check/Makefile.am:
1343         * pkgconfig/gstreamer-net-uninstalled.pc.in:
1344         * pkgconfig/gstreamer-net.pc.in:
1345         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
1346         #322257.
1347
1348 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1349
1350         * tools/Makefile.am:
1351         * tools/gst-complete.1.in:
1352         * tools/gst-complete.c:
1353         * tools/gst-compprep.1.in:
1354         * tools/gst-compprep.c:
1355           removing -compprep and -complete
1356
1357 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1358
1359         * gst/gstevent.c: (gst_event_new_new_segment),
1360         (gst_event_parse_new_segment):
1361         * gst/gstevent.h:
1362           fix #320529 - clean up new_segment API and structure.
1363           Let's hope everyone was using the methods, and not the structure.
1364
1365 2005-11-29  Edward Hervey  <edward@fluendo.com>
1366
1367         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
1368         (gst_base_sink_event), (gst_base_sink_do_sync),
1369         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
1370         Properly handle non GST_FORMAT_TIME segment
1371         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
1372         Properly handle non GST_FORMAT_TIME segment
1373         * gst/gstsegment.c:
1374         This function is valid if the accumulator is 0 and the format
1375         is different from the requested format.
1376         
1377 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1378
1379         * docs/gst/gstreamer-sections.txt:
1380         Add gst_query_new_seeking and gst_query_parse_seeking to the
1381         docs.
1382
1383 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
1384
1385         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
1386           Treat a pad alloc with new caps the same as if we were not
1387           negotiated, in order to allow a changing upstream output
1388           to produce a new format of data.
1389
1390 2005-11-29  Edward Hervey  <edward@fluendo.com>
1391
1392         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
1393         (gst_base_transform_event), (gst_base_transform_eventfunc):
1394         The event virtual method is now properly implemented, with a default
1395         handler
1396         Sub classes should call the parent_class event method. They should
1397         return FALSE if they had a problem handling the given event, or don't
1398         want GstBaseTransform to send that even downstream
1399         * gst/elements/gstidentity.c: (gst_identity_class_init),
1400         (gst_identity_init), (gst_identity_event),
1401         (gst_identity_transform_ip), (gst_identity_set_property),
1402         (gst_identity_get_property):
1403         * gst/elements/gstidentity.h:
1404         Added the single-segment boolean property.
1405         If set to TRUE, it will output a single segment of data, starting from
1406         0, will eat up all incoming newsegment, and modify the timestamp of the
1407         buffers accordingly
1408
1409 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
1410
1411         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
1412           Don't ref NULL target pad (#322751). Improve docs.
1413
1414 2005-11-29  Michael Smith  <msmith@fluendo.com>
1415
1416         * gst/gstregistryxml.c: (load_plugin):
1417           Don't crash if we failed to load a feature from a plugin. 
1418
1419 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1420
1421         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
1422         (GST_START_TEST):
1423           use more check API and less GLib API
1424
1425 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1426
1427         * Makefile.am:
1428           don't run checks if we don't have check
1429         * common/check.mak:
1430           remove the registry when running make torture
1431         * docs/gst/gstreamer-sections.txt:
1432           remove second multiply
1433         * gst/gstqueue.c: (gst_queue_loop):
1434           fix a compile warning when disabling debug
1435
1436 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1437
1438         * gst/gstinfo.h:
1439         Hey! Let's print the pad name if the pointer != NULL instead
1440         of when it == NULL :-)
1441
1442 2005-11-28  Wim Taymans  <wim@fluendo.com>
1443
1444         * check/gst/gstutils.c: (GST_START_TEST):
1445         Updated check, add some scaling accuracy checking code.
1446
1447         * gst/gstutils.c: (gst_util_div128_64),
1448         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
1449         (gst_util_uint64_scale_int):
1450         Fix 6 times faster division code. Optimize for common 
1451         1/1 and less common X/1 cases.
1452
1453 2005-11-28  Wim Taymans  <wim@fluendo.com>
1454
1455         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1456         More checks.
1457
1458         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
1459         (do_linear_regression), (gst_clock_add_observation):
1460         Cleanups.
1461         Release lock when the clock cannot be slaved.
1462         Catch the case where the regression returned an invalid denominator.
1463
1464         * gst/gstutils.c: (gst_util_div128_64_iterate),
1465         (gst_util_div128_64), (gst_util_uint64_scale_int64),
1466         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1467         Add protentially more performant non-iterative 128/64 divide function
1468         that unfortunatly does not work yet.
1469         Shortcut the trivial 0/X = 0 case.
1470         Remove the warnings on overflow.
1471
1472 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1473
1474         * gst/gstplugin.c: (gst_plugin_register_func):
1475           everything causing a plugin not to load should be at least a WARNING
1476
1477 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
1478
1479         * docs/random/ensonic/dparams.txt:
1480           some TODOs for the next dev cycle
1481         * libs/gst/controller/gstcontroller.c:
1482         (gst_controlled_property_set_interpolation_mode),
1483         (gst_controlled_property_new):
1484         * libs/gst/controller/gstcontroller.h:
1485           use base type to assign acccessor functions
1486
1487 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1488
1489         * check/Makefile.am:
1490         Oops, that should have been top_srcdir
1491
1492 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
1493
1494         * check/Makefile.am:
1495         * check/elements/fdsrc.c: (GST_START_TEST):
1496         Use a cmdline define to specify the location of a file to use for
1497         testing, to avoid breaking distcheck.
1498
1499 2005-11-28  Andy Wingo  <wingo@pobox.com>
1500
1501         * gst/gstpad.c (fixate_value): Use array functions for arrays.
1502
1503 2005-11-28  Edward Hervey  <edward@fluendo.com>
1504
1505         * tools/gst-launch.c: (main):
1506         Clarify the output strings, makes it easier to translate.
1507         Fixes #322626
1508
1509 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1510
1511         * gst/Makefile.am:
1512           don't try and build net if we don't even have <sys/socket.h>
1513
1514 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
1515
1516         * check/Makefile.am:
1517         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
1518         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
1519           Add tests for fdsrc seekability
1520
1521         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
1522         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
1523         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
1524         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
1525         * gst/elements/gstfdsrc.h:
1526           fdsrc should not be a 'live' source.
1527           Implement seeking on seekable fd's.
1528
1529         * gst/gstquery.c: (gst_query_new_seeking),
1530         (gst_query_parse_seeking):
1531         * gst/gstquery.h:
1532           Implement SEEKING query functions: 
1533             *_new_seeking and *_parse_seeking
1534
1535 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
1536
1537         * gst/gstelement.c: (gst_element_dispose):
1538           don't loop forever
1539
1540         * gst/gstiterator.c:
1541         * gst/gststructure.c:
1542           doc fixes
1543
1544         * libs/gst/controller/gstcontroller.c:
1545         (gst_controlled_property_set_interpolation_mode):
1546         * libs/gst/controller/gstcontroller.h:
1547         * libs/gst/controller/gstinterpolation.c:
1548         (interpolate_none_get_enum_value_array):
1549           support controlling enums
1550
1551 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1552
1553         * gst/gstvalue.c:
1554           Improve documentation for gst_value_union().
1555
1556         * gst/gstvalue.h:
1557           Change return value for union, intersect and subtract functions
1558           from gint to gboolean.
1559
1560 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
1561
1562         * gst/gstvalue.c: (gst_value_serialize_any_list),
1563         (gst_value_transform_any_list_string),
1564         (gst_value_deserialize_list), (gst_value_deserialize_array),
1565         (gst_value_set_int_range), (gst_value_deserialize_int_range),
1566         (gst_value_set_double_range), (gst_value_deserialize_double_range),
1567         (gst_value_set_fraction_range_full),
1568         (gst_value_deserialize_fraction_range),
1569         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
1570         (gst_value_deserialize_boolean),
1571         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
1572         (gst_value_serialize_float), (gst_value_deserialize_float),
1573         (gst_string_wrap), (gst_value_deserialize_string),
1574         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
1575         (gst_value_union_int_range_int_range),
1576         (gst_value_intersect_int_range_int_range),
1577         (gst_value_intersect_double_range_double_range),
1578         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
1579         (gst_value_subtract_int_range_int_range),
1580         (gst_value_subtract_double_double_range),
1581         (gst_value_subtract_double_range_double_range),
1582         (gst_value_deserialize_fraction):
1583         * gst/gstvalue.h:
1584           Use gint, gdouble and gchar in our API instead of int, double and
1585           char (and make usage in gstvalue.c more consistent).
1586
1587 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1588
1589         * check/Makefile.am:
1590         * libs/gst/controller/Makefile.am:
1591         * libs/gst/dataprotocol/Makefile.am:
1592           fix up Makefile.am and remove GST_ENABLE_NEW
1593
1594 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1595
1596         * configure.ac:
1597         * gst/Makefile.am:
1598         * gst/base/Makefile.am:
1599         * gst/check/Makefile.am:
1600         * gst/elements/Makefile.am:
1601         * gst/net/Makefile.am:
1602           update LDFLAGS use some more
1603
1604 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
1605
1606         * common/m4/gst-doc.m4:
1607           Fixes #312589
1608
1609 2005-11-26  Edward Hervey  <edward@fluendo.com>
1610
1611         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1612         This shouldn't issue a g_warning since it returns NULL if it
1613         couldn't find the plugin, and all functions using this behave
1614         properly on a NULL return. Switching to a GST_WARNING.
1615
1616 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
1617
1618         * gst/gstbin.c: (gst_bin_handle_message_func):
1619         Don't leak clock messages.
1620
1621 2005-11-25  Wim Taymans  <wim@fluendo.com>
1622
1623         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1624         (gst_util_uint64_scale_int):
1625         Optimisations, remove unneeded vars.
1626
1627 2005-11-25  Wim Taymans  <wim@fluendo.com>
1628
1629         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1630         Added more checks for the high precision uint64 cases.
1631
1632         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1633         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
1634         Implement high precision (guint64 * guint64) / guint64.
1635
1636 2005-11-24  Wim Taymans  <wim@fluendo.com>
1637
1638         * gst/base/gstbasesrc.c: (gst_base_src_query):
1639         Fix wrong percentage query.
1640
1641         * gst/gstutils.c: (gst_util_uint64_scale),
1642         (gst_util_uint64_scale_int):
1643         Add some more common cases that can be handled 
1644         efficiently to _scale.
1645
1646 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1647
1648         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
1649         (gst_mini_object_suite):
1650           don't use check calls from threads; check probably isn't
1651           threadsafe and using a lock to make it threadsafe would
1652           defeat the purpose of this check
1653         * gst/check/gstcheck.c:
1654         * gst/check/gstcheck.h:
1655           use GST_DEBUG some more
1656
1657 2005-11-24  Wim Taymans  <wim@fluendo.com>
1658
1659         * gst/gstutils.c: (gst_util_uint64_scale),
1660         (gst_util_uint64_scale_int):
1661         Chain trivial case to _scale_int.
1662
1663 2005-11-24  Wim Taymans  <wim@fluendo.com>
1664
1665         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1666         Added test for scaling.
1667
1668         * gst/gstclock.h:
1669         Small doc fix.
1670
1671         * gst/gstutils.c: (gst_util_uint64_scale_int):
1672         Implemented high precision scaling code.
1673
1674 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
1675
1676         * gst/gstinfo.h:
1677           do not crash on pad==NULL
1678
1679 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1680
1681         Patch by: Stefan Kost
1682
1683         * common/gtk-doc.mak:
1684         * docs/gst/Makefile.am:
1685         * docs/libs/Makefile.am:
1686           Fix distcheck issues for the libraries docs build
1687           Closes #319599.
1688
1689 2005-11-24  Michael Smith <msmith@fluendo.com>
1690
1691         * docs/manual/basics-helloworld.xml:
1692           Fix bug #315027: memory leak in example code in docs.
1693
1694 2005-11-24  Michael Smith <msmith@fluendo.com>
1695
1696         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1697           Unlock the PREROLL_LOCK in a failure case.
1698
1699 2005-11-24  Wim Taymans  <wim@fluendo.com>
1700
1701         * docs/gst/gstreamer-sections.txt:
1702         * gst/base/gstadapter.h:
1703         * gst/base/gstbasesink.h:
1704         * gst/base/gstbasesrc.h:
1705         * gst/base/gstbasetransform.h:
1706         * gst/base/gstpushsrc.h:
1707         * gst/elements/gstfakesink.h:
1708         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
1709         * gst/elements/gstfakesrc.h:
1710         * gst/elements/gstfilesink.h:
1711         * gst/elements/gstfilesrc.h:
1712         * gst/gst.c:
1713         * gst/gstbin.c:
1714         * gst/gstbuffer.c: (_gst_buffer_copy):
1715         * gst/gstbus.h:
1716         * gst/gstcaps.c:
1717         * gst/gstchildproxy.c:
1718         * gst/gstclock.c:
1719         * gst/gstelement.c:
1720         * gst/gstelementfactory.c:
1721         * gst/gstelementfactory.h:
1722         * gst/gstevent.c:
1723         * gst/gstghostpad.h:
1724         * gst/gstindex.h:
1725         * gst/gstinterface.h:
1726         * gst/gstminiobject.c:
1727         * gst/gstminiobject.h:
1728         * gst/gstpad.c:
1729         * gst/gstpad.h:
1730         * gst/gstpadtemplate.h:
1731         * gst/gstpipeline.h:
1732         * gst/gstpluginfeature.h:
1733         * gst/gstquery.h:
1734         * gst/gstqueue.h:
1735         * gst/gsttaglist.c:
1736         * gst/gsttaglist.h:
1737         * gst/gsttagsetter.c:
1738         * gst/gsttagsetter.h:
1739         * gst/gsttrace.c:
1740         * gst/gsttrace.h:
1741         * gst/gsttypefind.h:
1742         * gst/gsturi.h:
1743         * gst/gstvalue.c:
1744         * gst/net/gstnetclientclock.c:
1745         * gst/net/gstnetclientclock.h:
1746         * gst/net/gstnettimepacket.c:
1747         * gst/net/gstnettimeprovider.c:
1748         * gst/net/gstnettimeprovider.h:
1749         Doc fixes.
1750
1751 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1752
1753         * configure.ac: back to HEAD
1754
1755 === release 0.9.6 ===
1756
1757 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
1758
1759         * configure.ac:
1760           releasing 0.9.6, "Always On Time"
1761
1762 2005-11-23  Wim Taymans  <wim@fluendo.com>
1763
1764         * docs/gst/gstreamer-sections.txt:
1765         * gst/glib-compat.c:
1766         * gst/gsttagsetter.c:
1767         * gst/gstvalue.c:
1768         * gst/net/gstnetclientclock.c:
1769         * gst/net/gstnettimepacket.h:
1770         Doc updates.
1771
1772 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
1773
1774         * docs/faq/using.xml:
1775         * docs/libs/tmpl/gstcontrol.sgml:
1776         * docs/manual/advanced-dparams.xml:
1777         * docs/manual/appendix-checklist.xml:
1778         * docs/manual/basics-elements.xml:
1779         * docs/pwg/other-source.xml:
1780         * docs/random/moving-plugins:
1781         * gst/gstpad.c:
1782         * tools/gst-launch.1.in:
1783           remove mentions of sinesrc
1784
1785 2005-11-23  Michael Smith <msmith@fluendo.com>
1786
1787         * docs/gst/gstreamer-sections.txt:
1788           Update for new API and API changes.
1789         * gst/gstobject.h:
1790           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
1791         * gst/gstvalue.c:
1792           Documentation typo fix.
1793         * gst/net/gstnettimepacket.c:
1794           Documentation fixes for arguments.
1795
1796 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
1797
1798         * gst/gststructure.c: (gst_structure_get_fraction),
1799         (gst_structure_parse_value),
1800         (gst_structure_fixate_field_nearest_fraction):
1801         * gst/gststructure.h:
1802         * gst/gstutils.c: (gst_util_uint64_scale_int):
1803         * gst/gstutils.h:
1804         * scripts/update-funcnames:
1805         API Changes. 
1806         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
1807         Make gst_structure_fixate_field_nearest_fraction take a numerator
1808         and denominator argument instead of a GValue
1809         add gst_structure_get_fraction helper function.
1810
1811 2005-11-23  Wim Taymans  <wim@fluendo.com>
1812
1813         * docs/design/part-TODO.txt:
1814         Update TODO.
1815
1816         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1817         * gst/net/gstnetclientclock.h:
1818         Use parent fields for timeout and window_size.
1819
1820 2005-11-23  Andy Wingo  <wingo@pobox.com>
1821
1822         * check/net/gstnetclientclock.c (test_functioning): Adjust to
1823         rate_num/rate_denom change.
1824
1825         * gst/net/gstnetclientclock.c
1826         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
1827         OBJECT_LOCK. Don't call add_observation with the lock.
1828
1829         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
1830         fraction.
1831         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
1832         rate fraction.
1833         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
1834         deal with rate as a fraction whose numerator and denominator are
1835         GstClockTime values.
1836         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
1837         master; the other fields are protected by the SLAVE_LOCK.
1838         (do_linear_regression): Note that this must be called with the
1839         SLAVE_LOCK.
1840         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
1841         OBJECT_LOCK. Call set_calibration instead of touching the
1842         variables directly.
1843         (gst_clock_set_property, gst_clock_get_property): Protect
1844         master/slave parameters with the SLAVE_LOCK.
1845
1846         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
1847         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
1848         note that all of the instance variables that add_observation and
1849         the set_master functions use are protected by that lock and not
1850         the OBJECT_LOCK.
1851         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
1852
1853         * gst/gstclock.c (gst_clock_add_observation): No longer requires
1854         the caller to take the object lock.
1855
1856 2005-11-23  Wim Taymans  <wim@fluendo.com>
1857
1858         * gst/gsterror.c: (_gst_core_errors_init):
1859         * gst/gsterror.h:
1860         Add error for clock stuff.
1861
1862         * gst/gstpipeline.c: (gst_pipeline_change_state),
1863         (gst_pipeline_set_clock):
1864         Post clock error when clock cannot be used in a pipeline.
1865
1866 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
1867
1868         * docs/gst/gstreamer-sections.txt:
1869           make two symbols from gstinfo private for the docs
1870         * gst/base/gstcollectpads.h:
1871         * gst/gstutils.c:
1872           fix doc typos, update docs
1873
1874 2005-11-22  Wim Taymans  <wim@fluendo.com>
1875
1876         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
1877         (gst_base_sink_wait), (gst_base_sink_do_sync),
1878         (gst_base_sink_handle_event):
1879         * gst/base/gstbasesink.h:
1880         No need to store the clock, the parent element class already
1881         has it.
1882
1883         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
1884         Updates for clock_set returning a gboolean
1885
1886         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
1887         (gst_clock_id_wait_async), (gst_clock_class_init),
1888         (gst_clock_init), (gst_clock_finalize),
1889         (gst_clock_get_internal_time), (gst_clock_get_time),
1890         (gst_clock_slave_callback), (gst_clock_set_master),
1891         (gst_clock_get_master), (do_linear_regression),
1892         (gst_clock_add_observation), (gst_clock_set_property),
1893         (gst_clock_get_property):
1894         * gst/gstclock.h:
1895         Implement master/slave. When setting a clock as a slave, a
1896         periodic timeout is scheduled to sample master and slave times.
1897         Then the slave clock is recalibrated to match offset and rate
1898         of the master clock.
1899         Update logging a bit.
1900         Add flag so that a clock can state that is cannot be slaved to
1901         another clock.
1902
1903         * gst/gstelement.c: (gst_element_set_clock):
1904         * gst/gstelement.h:
1905         The set clock returns a gboolean for when an element cannot
1906         deal with the selected clock in the pipeline. 
1907
1908         * gst/gstpipeline.c: (gst_pipeline_change_state),
1909         (gst_pipeline_set_clock):
1910         * gst/gstpipeline.h:
1911         Handle the case where the selected clock cannot be set on
1912         the pipeline.
1913
1914         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
1915         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1916         (gst_net_client_clock_set_property),
1917         (gst_net_client_clock_get_property),
1918         (gst_net_client_clock_observe_times):
1919         * gst/net/gstnetclientclock.h:
1920         Use regression code in GstClock parent, remove duplicated
1921         functionality.
1922
1923 2005-11-22  Michael Smith <msmith@fluendo.com>
1924
1925         * gst/gstutils.c: (gst_util_clock_time_scale):
1926         * gst/gstutils.h:
1927         * docs/gst/gstreamer-sections.txt:
1928           Rename method to have extra underscore.
1929
1930 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1931
1932         * gst/elements/Makefile.am:
1933         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
1934         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1935         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
1936         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
1937         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
1938         * gst/elements/gstfakesrc.h:
1939         * gst/gstqueue.c: (queue_leaky_get_type):
1940           correctly fix GEnumValues so that nick is the short lowercase
1941           dashed tag
1942         * tools/gst-inspect.c: (print_element_properties_info):
1943           also show the nick, since it's useful to use from parse_launch
1944           syntax
1945           Fixes #322139
1946
1947 2005-11-22  Michael Smith <msmith@fluendo.com>
1948
1949         * gst/gstutils.c: (gst_util_clocktime_scale):
1950         * gst/gstutils.h:
1951         * docs/gst/gstreamer-sections.txt:
1952           Add util method for scaling a clocktime by a fraction. Useful 
1953           implementation is left as an exercise for the reader.
1954
1955 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1956
1957         * gst/gstvalue.c: (gst_value_collect_fraction_range):
1958         If needed, allocate storage in the destination value during
1959         collection.
1960
1961 2005-11-22  Edward Hervey  <edward@fluendo.com>
1962
1963         * docs/gst/gstreamer-sections.txt:
1964         * gst/Makefile.am:
1965         * gst/gst.h:
1966         * gst/gsturitype.c:
1967         * gst/gsturitype.h:
1968         * gst/gstutils.c: (gst_util_set_object_arg):
1969         * tools/gst-compprep.c: (main):
1970         * tools/gst-inspect.c: (print_element_properties_info):
1971         Removed GstURI, closes bug #321061
1972
1973 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1974
1975         * check/gst/gststructure.c: (GST_START_TEST):
1976         * gst/gststructure.c: (gst_structure_parse_value):
1977           Oops, broke automatic string type parsing.
1978           Add a test to catch it in future.
1979
1980 2005-11-22  Andy Wingo  <wingo@pobox.com>
1981
1982         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
1983         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
1984         Actually rename the function implementations. Grr.
1985
1986 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
1987
1988         * check/gst/capslist.h:
1989           Comment test cases
1990         * check/gst/gststructure.c: (GST_START_TEST),
1991         (gst_structure_suite):
1992           Test automatic value type detection in gst_structure_from_string.
1993         * gst/gststructure.c: (gst_structure_parse_value):
1994           Add fraction as a type we try and guess automatically in
1995           caps/structure strings.
1996
1997 2005-11-22  Andy Wingo  <wingo@pobox.com>
1998
1999         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
2000
2001         * gst/gsttagsetter.h:
2002         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
2003         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
2004         (gst_tag_setter_add_tag_valist)
2005         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
2006         _add_values, _add_valist, and _add_valist_values. Since this is an
2007         interface the function suffixes should be more explicit so
2008         language binding don't end up with element.add_valist ->
2009         gst_tag_setter_add_valist, for example. Fixes #322069.
2010
2011 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2012
2013         * check/gst/gstcaps.c: (GST_START_TEST):
2014           Extend caps string tests to check that a caps to string
2015           conversion is reversible and produces the same caps.
2016
2017         * gst/gststructure.c: (gst_structure_value_get_generic_type):
2018           Output "fraction" as the generic type fraction range, so caps
2019           serialisation and deserialisation works.
2020         * check/gst/capslist.h:
2021         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2022           Support 'MIN' and 'MAX' for deserialising fractions.
2023
2024 2005-11-22  Andy Wingo  <wingo@pobox.com>
2025
2026         * gst/gstevent.h (gst_event_new_new_segment)
2027         (gst_event_parse_new_segment, gst_event_new_buffer_size)
2028         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
2029         Renamed from *_newsegment, *_buffersize, *_notarget.
2030
2031         * scripts/update-funcnames: New script, performs the changes
2032         listed above.
2033
2034 2005-11-22  Wim Taymans  <wim@fluendo.com>
2035
2036         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2037         Make sure the GstFlowReturn is returned.
2038
2039         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
2040         (gst_bus_add_signal_watch):
2041         * gst/gstbus.h:
2042         add gst_bus_add_signal_watch_full.
2043
2044         * gst/gstplugin.c: (gst_plugin_load_file):
2045         Small style cleanup.
2046
2047 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2048
2049         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
2050           Block the fakesrc srcpad when we send an event, to avoid
2051           contention on the stream_lock causing random test failures.
2052
2053 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2054
2055         * check/gst/gstvalue.c: (GST_START_TEST):
2056         * gst/gstvalue.c: (gst_value_fraction_subtract):
2057           Fix subtraction.
2058
2059 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
2060
2061         * gst/gst.h:
2062           include "gstchildproxy.h"
2063         * gst/gstchildproxy.h:
2064         * libs/gst/controller/gstcontroller.h:
2065           use G_GNUC_NULL_TERMINATED
2066
2067 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
2068
2069         * check/gst/capslist.h:
2070         * check/gst/gstcaps.c: (GST_START_TEST):
2071         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2072         * gst/gststructure.c: (gst_structure_parse_range),
2073         (gst_structure_fixate_field_nearest_fraction):
2074         * gst/gststructure.h:
2075         * gst/gstvalue.c: (gst_value_init_fraction_range),
2076         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
2077         (gst_value_collect_fraction_range),
2078         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
2079         (gst_value_set_fraction_range_full),
2080         (gst_value_get_fraction_range_min),
2081         (gst_value_get_fraction_range_max),
2082         (gst_value_serialize_fraction_range),
2083         (gst_value_transform_fraction_range_string),
2084         (gst_value_compare_fraction_range),
2085         (gst_value_deserialize_fraction_range),
2086         (gst_value_intersect_fraction_fraction_range),
2087         (gst_value_intersect_fraction_range_fraction_range),
2088         (gst_value_subtract_fraction_fraction_range),
2089         (gst_value_subtract_fraction_range_fraction),
2090         (gst_value_subtract_fraction_range_fraction_range),
2091         (gst_value_collect_fraction), (gst_value_fraction_multiply),
2092         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
2093         (gst_value_transform_string_fraction), (_gst_value_initialize):
2094         * gst/gstvalue.h:
2095           Implement fraction ranges and extend GstFraction to support
2096           arithmetic subtraction, as well as deserialization from integer
2097           strings such as "100"
2098           Add a testsuite as for int and double range set operations
2099
2100 2005-11-21  Andy Wingo  <wingo@pobox.com>
2101
2102         * gst/gsttaglist.h: 
2103         * gst/gstcaps.h: 
2104         * gst/gststructure.h: Add glib-compat.h.
2105
2106 2005-11-21  Wim Taymans  <wim@fluendo.com>
2107
2108         * gst/gstbin.c: (gst_bin_change_state_func):
2109         Fix for #321595
2110
2111 2005-11-21  Wim Taymans  <wim@fluendo.com>
2112
2113         * gst/gstsegment.h:
2114         And add a nice define too.
2115
2116 2005-11-21  Wim Taymans  <wim@fluendo.com>
2117
2118         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
2119         (gst_segment_new), (gst_segment_free), (gst_segment_init),
2120         (gst_segment_set_duration), (gst_segment_set_last_stop),
2121         (gst_segment_set_seek), (gst_segment_set_newsegment),
2122         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2123         (gst_segment_clip):
2124         * gst/gstsegment.h:
2125         Make binding friendly.
2126
2127 2005-11-21  Andy Wingo  <wingo@pobox.com>
2128
2129         * gst/gsttagsetter.h: 
2130         * gst/gsttaglist.h: 
2131         * gst/gststructure.h: 
2132         * gst/gstcaps.h: 
2133         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
2134         #319940.
2135
2136         * gst/gsterror.c (_gst_core_errors_init):
2137         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
2138         category.
2139
2140         * gst/Makefile.am (gst_headers): Add glib-compat.h.
2141         (noinst_HEADERS): noinst the -private.
2142
2143 2005-11-21  Michael Smith <msmith@fluendo.com>
2144
2145         * gst/gstplugin.h:
2146         * gst/gstregistry.h:
2147           Remove unimplemented declarations for which we can see no sensible
2148           use.
2149
2150 2005-11-21  Andy Wingo  <wingo@pobox.com>
2151
2152         * gst/gst.h: Include glib-compat.h.
2153
2154         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
2155
2156         * gst/glib-compat.c: Include the public and the private header.
2157
2158         * gst/glib-compat-private.h: Copied here from glib-compat.h.
2159
2160         * gst/gstvalue.c: 
2161         * gst/gstpad.c: 
2162         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
2163
2164         * check/gst/gstevent.c (create_custom_events): Check that
2165         FLUSH_STOP is serialized.
2166
2167         * check/elements/identity.c (event_func): 
2168         * check/elements/fakesrc.c (event_func): No stream lock, the core
2169         takes it.
2170
2171         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
2172         stream lock taking, yay.
2173
2174         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
2175         ensure that core takes the stream lock.
2176
2177         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
2178         lock name change.
2179
2180         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
2181         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
2182         it already. For the flush start we do take it though so we get the
2183         right preroll state change messages.
2184
2185         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
2186         the stream lock here, the core does it for us.
2187
2188         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
2189         GST_STREAM_GET_LOCK.
2190         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
2191         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
2192         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
2193         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
2194         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
2195         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
2196
2197         * gst/gstpad.c: Update for stream lock name change.
2198
2199         * gst/base/gstbasesink.c: Update for preroll lock name change.
2200
2201 2005-11-21  Wim Taymans  <wim@fluendo.com>
2202
2203         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
2204         (gst_clock_get_master):
2205         * gst/gstclock.h:
2206         * gst/gstsystemclock.c: (gst_system_clock_init):
2207         Convert Clock flags to object flags.
2208         Added methods to manage master/slave clocks.
2209
2210 2005-11-21  Wim Taymans  <wim@fluendo.com>
2211
2212         * check/gst/gstsegment.c: (GST_START_TEST):
2213         * docs/design/part-TODO.txt:
2214         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2215         (gst_base_sink_event), (gst_base_sink_do_sync),
2216         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
2217         (gst_base_sink_query), (gst_base_sink_change_state):
2218         * gst/base/gstbasesink.h:
2219         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
2220         (gst_base_src_default_newsegment),
2221         (gst_base_src_configure_segment), (gst_base_src_do_seek),
2222         (gst_base_src_get_range), (gst_base_src_loop),
2223         (gst_base_src_change_state):
2224         * gst/base/gstbasesrc.h:
2225         * gst/base/gstbasetransform.c:
2226         (gst_base_transform_prepare_output_buf),
2227         (gst_base_transform_event), (gst_base_transform_change_state):
2228         * gst/base/gstbasetransform.h:
2229         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2230         (gst_collect_pads_event):
2231         * gst/base/gstcollectpads.h:
2232         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
2233         (gst_fake_src_create):
2234         * gst/elements/gstfakesrc.h:
2235         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2236         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2237         (gst_segment_set_last_stop), (gst_segment_set_seek),
2238         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
2239         (gst_segment_to_running_time), (gst_segment_clip):
2240         * gst/gstsegment.h:
2241         More segment updates, replace code in plugins with segment
2242         helper functions.
2243
2244 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2245
2246         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
2247         Don't ignore sscanf results
2248
2249 2005-11-21  Andy Wingo  <wingo@pobox.com>
2250
2251         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
2252
2253         * *.h:
2254         * *.c: Ran scripts/update-macros. Oh yes.
2255
2256         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
2257         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
2258         GST_GET_LOCK, etc.
2259
2260         * scripts/update-macros: New script. Run it on your files to
2261         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
2262         well.
2263
2264 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2265
2266         * docs/gst/Makefile.am:
2267         * docs/gst/gstreamer-docs.sgml:
2268         * docs/gst/gstreamer-sections.txt:
2269         * docs/gst/gstreamer.types:
2270         * gst/gstinfo.h:
2271           more docs fixes, add new api to the docs
2272
2273 2005-11-21  Andy Wingo  <wingo@pobox.com>
2274
2275         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
2276         state_broadcast call.
2277
2278         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
2279
2280 2005-11-21  Julien MOUTTE  <julien@moutte.net>
2281
2282         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
2283         function calls for arrays.
2284
2285 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
2286
2287         * docs/random/ensonic/media-device-daemon.txt:
2288           wild idea, can this be done?
2289         * docs/gst/gstreamer-sections.txt:
2290         * gst/gsterror.h:
2291         * gst/gstfilter.c:
2292         * gst/gstfilter.h:
2293         * gst/gstplugin.h:
2294         * gst/gstpluginfeature.c:
2295         * gst/gsttrace.c:
2296         * gst/gstvalue.c:
2297         * gst/gstvalue.h:
2298           doc fixes and additions
2299
2300 2005-11-21  Andy Wingo  <wingo@pobox.com>
2301
2302         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
2303         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
2304         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
2305         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
2306         private to the basesrc implementation.
2307
2308         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
2309         behalf of event function if necessary. It should no longer be
2310         necessary to take the stream lock in pad's event functions. Fixes
2311         #320299.
2312
2313 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2314         * docs/gst/gstreamer-sections.txt:
2315         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
2316         (gst_structure_fixate_field_nearest_double),
2317         (gst_structure_fixate_field_boolean):
2318         * gst/gststructure.h:
2319         * win32/common/libgstreamer.def:
2320         * win32/gstreamer.def:
2321
2322         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
2323         (#322027)
2324
2325 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
2326
2327         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
2328         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
2329         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
2330         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
2331         (gst_fdsrc_uri_handler_init):
2332         * gst/elements/gstfdsrc.h:
2333           Port fd:// URI handler from 0.8 to fdsrc
2334
2335 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2336
2337         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
2338         (gst_value_serialize_fourcc):
2339         * gst/gstvalue.h:
2340           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
2341           consistent with our other format defines (#320324).
2342
2343 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2344
2345         * gst/gstvalue.c: (gst_value_is_fixed):
2346           Revert previous commit. Value lists are by definition
2347           not fixed, as they are a list of possible values.
2348
2349 2005-11-21  Andy Wingo  <wingo@pobox.com>
2350
2351         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
2352         during the stable series if we need it. Fixes #319178.
2353
2354         * gst/gstevent.c (gst_event_new_filler): Removed.
2355
2356         * check/gst/gstevent.c: Update comment about filler events.
2357
2358 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2359
2360         * gst/gstvalue.c: (gst_value_is_fixed):
2361           Should handle both value arrays and value lists.
2362
2363 2005-11-21  Andy Wingo  <wingo@pobox.com>
2364
2365         patch by: Alessandro Dessina <alessandro nnva org>
2366
2367         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
2368         functions to access arrays. Fixes #321962.
2369
2370 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2371
2372         * docs/gst/gstreamer.types:
2373           gst_collectpads_get_type => gst_collect_pads_get_type.
2374           
2375         * gst/base/gstbasetransform.c:
2376           Remove unused SIGNAL_HANDOFF enum.
2377
2378 2005-11-21  Andy Wingo  <wingo@pobox.com>
2379
2380         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
2381         the event type (upstream, downstream, serialized). Renamed
2382         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
2383         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
2384         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
2385
2386         * gst/gstevent.c: Update for new CUSTOM event names.
2387
2388         * check/gst/gstevent.c: Update check for new CUSTOM event names.
2389
2390         * gst/gstevent.h:
2391         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
2392         bug #319392.
2393
2394 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2395
2396         * docs/gst/gstreamer-sections.txt:
2397         * win32/common/libgstbase.def:
2398         * win32/libgstbase.def:
2399         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2400         (gst_collect_pads_class_init), (gst_collect_pads_init),
2401         (gst_collect_pads_finalize), (gst_collect_pads_new),
2402         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
2403         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
2404         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
2405         (gst_collect_pads_start), (gst_collect_pads_stop),
2406         (gst_collect_pads_peek), (gst_collect_pads_pop),
2407         (gst_collect_pads_available), (gst_collect_pads_read),
2408         (gst_collect_pads_flush), (gst_collect_pads_event),
2409         (gst_collect_pads_chain):
2410         * gst/base/gstcollectpads.h:
2411           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
2412           unimplemented functions as unimplemented. Add padding to
2413           GstCollectData. (#320766, #320423)
2414
2415 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
2416
2417         * gst/gstmessage.c:
2418           Improve docs for DURATION message (usage of duration parameter)
2419           (#320113)
2420
2421 2005-11-20  Wim Taymans  <wim@fluendo.com>
2422
2423         * check/Makefile.am:
2424         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
2425         (main):
2426         * gst/Makefile.am:
2427         * gst/gst.h:
2428         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
2429         (gst_segment_set_seek), (gst_segment_set_newsegment),
2430         (gst_segment_to_stream_time), (gst_segment_to_running_time),
2431         (gst_segment_clip):
2432         * gst/gstsegment.h:
2433         Added segment helper structure and methods. Not fully implemented
2434         yet.
2435         Added segment check.
2436
2437 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
2438
2439         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2440           Add a deserialisation test for fractions
2441         * examples/metadata/read-metadata.c: (message_loop),
2442         (make_pipeline), (main):
2443           Fix up metadata reading sample.
2444         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2445           Debug format fix
2446         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2447           Don't try and fixate empty caps
2448         * gst/gst_private.h:
2449           Wrap in G_BEGIN_DECLS/G_END_DECLS
2450         * gst/gstvalue.c: (gst_value_collect_fraction),
2451         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
2452         (gst_value_transform_string_fraction),
2453         (gst_value_compare_fraction):
2454           Add some extra guards to ensure that we don't end up 
2455           with an invalid denominator of 0 in a gstfraction and
2456           that fractions always get reduced.
2457
2458 2005-11-20  Wim Taymans  <wim@fluendo.com>
2459
2460         * docs/gst/gstreamer-sections.txt:
2461         * gst/gstbuffer.h:
2462         * gst/gstelement.c:
2463         * gst/gstformat.c:
2464         * gst/gstformat.h:
2465         * gst/gstindex.h:
2466         * gst/gstquery.c:
2467         * gst/gstquery.h:
2468         * gst/gstvalue.c:
2469         Doc fixes.
2470
2471 2005-11-20  Wim Taymans  <wim@fluendo.com>
2472
2473         * docs/design/part-TODO.txt:
2474         * gst/gstcaps.h:
2475         Make a proper enum of the flag.
2476
2477 2005-11-19  Wim Taymans  <wim@fluendo.com>
2478
2479         * docs/design/part-TODO.txt:
2480         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
2481         (gst_format_to_quark), (gst_format_register):
2482         * gst/gstformat.h:
2483         * gst/gstquery.c: (_gst_query_initialize),
2484         (gst_query_type_get_name), (gst_query_type_to_quark),
2485         (gst_query_type_register):
2486         * gst/gstquery.h:
2487         Add type to quark and type to string conversions.
2488
2489 2005-11-19  Andy Wingo  <wingo@pobox.com>
2490
2491         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
2492         #320097.
2493
2494 2005-11-19  Wim Taymans  <wim@fluendo.com>
2495
2496         * docs/design/part-TODO.txt:
2497         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
2498         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
2499         (gst_bin_handle_message_func):
2500         * gst/gstbin.h:
2501         Make message handling overridable.
2502
2503 2005-11-19  Andy Wingo  <wingo@pobox.com>
2504
2505         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
2506
2507         * gst/gstclock.h:
2508         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
2509         be a GstClockTime.
2510         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
2511         is a GstClockTime. Fixes #321710.
2512
2513         * gst/gstclock.h (GstClock): Remove offset property. Add
2514         internal_calibration and external_calibration. Fix padding. Pad
2515         also by GstClockTime so we don't run into problems.
2516
2517         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
2518         (gst_clock_get_rate_offset): Remove.
2519         (gst_clock_set_time_adjust): Remove. Fixes #321712.
2520
2521         * gst/gstutils.h:
2522         * gst/gstutils.c (g_static_rec_cond_wait)
2523         (g_static_rec_cond_timed_wait): Removed, no longer needed.
2524
2525         * gst/gstbin.c: Remove terrible continue_state prototype.
2526
2527         * gst/gstelement.h (gst_element_continue_state): Make public.
2528
2529         * gst/gstelement.h:
2530         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
2531         by continue_state. Fixes #319389.
2532
2533         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
2534         Really fixes #168438. However I don't see anywhere where the
2535         filter function is called... stupid GStreamer...
2536         
2537         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
2538         don't have a dispose function, so it won't get called when the
2539         object is unreffed, but oh well!
2540
2541         * gst/gstindex.c (gst_index_set_filter_full): New API function,
2542         allows a destroy function to be set so user_data can be freed.
2543         Fixes #168438.
2544         (gst_index_set_filter): Call gst_index_set_filter_full.
2545
2546         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
2547
2548         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
2549         string should produce an error, given the lack of a way to
2550         represent NULL strings. Fixes #165650.
2551         
2552         * gst/gstvalue.h: 
2553         * gst/gstvalue.c (gst_value_array_append_value) 
2554         (gst_value_array_prepend_value, gst_value_array_get_size) 
2555         (gst_value_array_get_value): New API, copied from
2556         gst_value_list_*, only operates on arrays.
2557         (gst_value_list_append_value, gst_value_list_prepend_value) 
2558         (gst_value_list_concat, gst_value_list_get_size) 
2559         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
2560
2561         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
2562         init_list, because it works on both.
2563         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
2564         (gst_value_copy_list_or_array): Renamed from copy_list.
2565         (gst_value_free_list_or_array): Renamed from free_list.
2566         (gst_value_collect_list_or_array): Renamed from collect_list.
2567         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
2568         (gst_value_list_or_array_peek_pointer): Renamed from
2569         list_peek_pointer.
2570         (_gst_value_array_value_table, _gst_value_list_value_table):
2571         Update value table functions.
2572         (gst_value_compare_list_or_array): Renamed from compare_list.
2573
2574         * gsttaglist.h: Whoops, foreach function returns void. Also fix
2575         some constness.
2576
2577         * gst/gsttaglist.c:
2578         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
2579         GstTagList*. Fixes #143472.
2580
2581         * gst/gststructure.h: Clarify what the foreach/map functions can
2582         or can't do to their arguments.
2583
2584 2005-11-18  Wim Taymans  <wim@fluendo.com>
2585
2586         * gst/gstclock.c: (gst_clock_set_calibration),
2587         (gst_clock_get_calibration):
2588         Doc and API fixes.
2589         Calibration can be set with internal time equal to current
2590         internal time too.
2591
2592 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
2593
2594         * gst/gsterror.c:
2595         * gst/gsterror.h:
2596           document
2597
2598 2005-11-18  Andy Wingo  <wingo@pobox.com>
2599
2600         * configure.ac: 
2601         * pkgconfig/gstreamer-net.pc.in:
2602         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2603         * pkgconfig/Makefile.am: Add net pkgconfig files.
2604
2605 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
2606
2607         * gst/gstcaps.c:
2608         * gst/gstghostpad.c:
2609         * gst/gsttrace.c:
2610         * gst/gstvalue.c:
2611         * gst/gstvalue.h:
2612           docs fixes
2613
2614 2005-11-18  Andy Wingo  <wingo@pobox.com>
2615
2616         * gst/net/gstnetclientclock.c: Turn off debugging.
2617
2618         * check/net/gstnetclientclock.c (test_functioning): Assert that the
2619         times connverge somewhat. Can't make a real test.
2620
2621         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
2622         integer arithmetic. Return the minimum of the domain, which can be
2623         set as "internal" for gst_clock_set_calibration.
2624         (gst_net_client_clock_observe_times): Call _set_calibration.
2625         (gst_net_client_clock_new): Call _set_calibration instead of
2626         rate_offset.
2627
2628         * check/net/gstnetclientclock.c (test_functioning): Use the right
2629         adjustment api.
2630
2631         * gst/gstclock.h:
2632         * gst/gstclock.c (gst_clock_get_calibration) 
2633         (gst_clock_set_calibration): New functions, obsolete the ones I
2634         added yesterday. Doh. Precision issues mean we have to extrapolate
2635         from a point in the more recent past than 1970.
2636         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
2637         obsolete.
2638         (gst_clock_adjust_unlocked): Use the right calibration data.
2639
2640 2005-11-18  Edward Hervey  <edward@fluendo.com>
2641
2642         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
2643         Also reset the ->current_* values in READY->PAUSED
2644
2645 2005-11-18  Andy Wingo  <wingo@pobox.com>
2646
2647         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
2648         Whoops, check the right fd. Also add some debugging.
2649         (gst_net_client_clock_observe_times): Adjust for int64 offset.
2650         (do_linear_regression): Add a crapload of debugging. Subtract off
2651         the minimum values from the input series to discard unneeded bits.
2652         Use only int arithmetic. There is still double arithmetic when
2653         calculating the intercept that needs fixing. Return boolean to
2654         indicate success; FALSE would mean the domain or range is too
2655         great. Still needs fixes.
2656
2657 2005-11-18  Wim Taymans  <wim@fluendo.com>
2658
2659         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
2660         For the current position in stream time, we need to subtract
2661         accumulated time.
2662         
2663         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
2664         Release lock before calling the callback function of async
2665         entries.
2666
2667 2005-11-18  Andy Wingo  <wingo@pobox.com>
2668
2669         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
2670         Port goes all the way to MAXUINT16.
2671
2672         * gst/net/gstnettimeprovider.c: Make the port range the same as
2673         for the kernel: 0 assigns, otherwise ports are less than
2674         MAXUINT16.
2675
2676         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
2677         port change.
2678
2679         * check/net/gstnetclientclock.c (test_functioning): Add the start
2680         of another test. 
2681
2682 2005-11-18  Wim Taymans  <wim@fluendo.com>
2683
2684         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
2685         (gst_bin_remove_func), (bin_bus_handler):
2686         * gst/gstbin.h:
2687         Removing a clock provider from a bin, triggers a clock lost message
2688         so that a new clock will be selected.
2689         Adding a clock to a bin triggers a clock provider message.
2690         Make sure we reselect a clock when we received a clock lost message.
2691         Keep a reference to the element that provided the clock.
2692
2693 2005-11-18  Andy Wingo  <wingo@pobox.com>
2694
2695         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
2696         the clock initially so it produces values around the base time.
2697         (gst_net_client_clock_class_init): Typo fix.
2698         (gst_net_client_clock_thread): Add note on when the socket gets
2699         closed.
2700
2701 2005-11-17  Wim Taymans  <wim@fluendo.com>
2702
2703         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
2704         Free remote and local time arrays.
2705
2706 2005-11-17  Wim Taymans  <wim@fluendo.com>
2707
2708         * gst/net/gstnetclientclock.c: (do_linear_regression),
2709         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
2710         Fix compilation, uninitialized vars and a forgotten continue.
2711
2712 2005-11-17  Andy Wingo  <wingo@pobox.com>
2713
2714         * check/Makefile.am (check_PROGRAMS): 
2715         * check/net/gstnetclientclock.c: Add a most minimal test for the
2716         net client clock. More to come later.
2717
2718         * gst/net/gstnet.h: 
2719         * gst/net/Makefile.am: Add netclientclock.
2720
2721         * gst/net/gstnetclientclock.h:
2722         * gst/net/gstnetclientclock.c: New files, implement an untested
2723         GstClock that takes its time from a network time provider.
2724         Implements the algorithm in network-clock.scm.
2725
2726         * tests/network-clock.scm (*window-size*): Rename from
2727         *queue-length*.
2728         * tests/network-clock.scm (network-time): 
2729         * tests/network-clock-utils.scm (q-push): Update callers.
2730
2731 2005-11-17  Wim Taymans  <wim@fluendo.com>
2732
2733         * gst/gstbin.c: (gst_bin_provide_clock_func),
2734         (gst_bin_sort_iterator_new):
2735         And unref the child too..
2736
2737 2005-11-17  Wim Taymans  <wim@fluendo.com>
2738
2739         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2740         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
2741         Refactor the sort iterator so it can be used while holding the
2742         LOCK too.
2743         Make clock selection select a clock closest to the source.
2744
2745 2005-11-17  Michael Smith <msmith@fluendo.com>
2746
2747         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
2748         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
2749         * gst/gstclock.h:
2750           Anonymous structs are a gcc (and some other compilers) extension, so
2751           don't use them. Since this is only for ABI-compatibility, and our
2752           API/ABI freeze is over in a few days, this whole thing will only
2753           last a few days, so don't bother trying to think up a meaningful
2754           name for the struct.
2755
2756 2005-11-17  Andy Wingo  <wingo@pobox.com>
2757
2758         * gst/gstclock.h (GstClock): Add rate and offset properties,
2759         preserving ABI stability. Add rate/offset accessors. Will file bug
2760         for the freeze break.
2761
2762         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
2763         and offset, trying to keep precision and avoiding
2764         underflow/overflow.
2765         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
2766         functions. Make gst_clock_set_time_adjust obsolete.
2767         (gst_clock_set_time_adjust): Note that this function is obsolete.
2768         Will file bug soon.
2769
2770         * gst/base/gstbasetransform.h: Make the ABI-stability hack
2771         greppable by using GST_PADDING-1+1.
2772
2773 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
2774
2775         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2776
2777         * gst/gstmessage.c: (gst_message_parse_clock_lost):
2778           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
2779
2780         * gst/gstpadtemplate.h:
2781         * gst/gstpluginfeature.h:
2782           Don't use c++ style comments in headers (#321638).
2783
2784 2005-11-16  Andy Wingo  <wingo@pobox.com>
2785
2786         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
2787         buffer.
2788
2789         * check/net/gstnettimeprovider.c: Check to see that the time
2790         provider actually provides times. Works, yo!
2791
2792 2005-11-16  Wim Taymans  <wim@fluendo.com>
2793
2794         * check/Makefile.am:
2795         Enable more tests.
2796
2797         * check/elements/fakesrc.c: (GST_START_TEST):
2798         Set element to NULL before disposing it.
2799
2800 2005-11-16  Andy Wingo  <wingo@pobox.com>
2801
2802         * gst/net/Makefile.am:
2803         * gst/net/gstnet.h:
2804         * gst/net/gstnettimeprovider.c: 
2805         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
2806         provider, include it from gstnet.h, and add it to the build.
2807
2808         * gst/net/gstnettimepacket.h: 
2809         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
2810         sending and receiving.
2811
2812 2005-11-16  Wim Taymans  <wim@fluendo.com>
2813
2814         * check/Makefile.am:
2815         Enable valgrind check.
2816
2817         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
2818         (gst_fake_src_alloc_buffer):
2819         Fix memleak.
2820
2821 2005-11-16  Wim Taymans  <wim@fluendo.com>
2822
2823         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
2824         Call parent finalize too.
2825
2826 2005-11-16  Wim Taymans  <wim@fluendo.com>
2827
2828         * check/Makefile.am:
2829         Enable valgrind check that should work fine now.
2830
2831         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2832         * gst/gstqueue.c: (gst_queue_init):
2833         Fix memleaks in pad allocation.
2834
2835 2005-11-16  Andy Wingo  <wingo@pobox.com>
2836
2837         * gst/net/Makefile.am:
2838         * gst/net/gstnet.h: New part of core to hold network elements and
2839         objects. Put in core because it exposes API that applications want
2840         to use. The library is named libgstnet-tempname right now because
2841         of the existing libgstnet in gst-plugins-base. Solution is
2842         probably to rename the one in plugins-base; will file a bug for
2843         the freeze break.
2844
2845         * gst/net/gstnettimeprovider.c: 
2846         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
2847         get_time call over the network.
2848
2849         * configure.ac: 
2850         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
2851
2852         * check/Makefile.am:
2853         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
2854         get additions shortly.
2855
2856 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2857
2858         * gst/gstpad.c: (gst_pad_new_from_static_template):
2859         * gst/gstpad.h:
2860           add gst_pad_new_from_static_template functions
2861         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
2862         (gst_check_setup_sink_pad):
2863         * gst/elements/gsttee.c: (gst_tee_init):
2864           and use them
2865
2866 2005-11-16  Wim Taymans  <wim@fluendo.com>
2867
2868         * gst/gstpad.c: (gst_pad_pause_task):
2869         Removed warning, it's not really an error either.
2870
2871 2005-11-16  Wim Taymans  <wim@fluendo.com>
2872
2873         * gst/base/gstbasetransform.c:
2874         (gst_base_transform_prepare_output_buf),
2875         (gst_base_transform_event):
2876         Check if the caps are NULL, this can happen if the element
2877         is shutting down and the pad caps are set to NULL.
2878
2879 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2880
2881         * gst/elements/gsttee.c: (gst_tee_init):
2882           fix pad template leak in tee
2883
2884 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2885
2886         * gst/glib-compat.c: (g_value_dup_gst_object):
2887         * gst/glib-compat.h:
2888         * gst/gstpad.c: (gst_pad_set_property):
2889           use gst_object_ref when setting the pad template; this will
2890           trigger the pad template leaks on GLib 2.6 and the slaves
2891
2892 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2893
2894         * gst/glib-compat.c: (gst_flags_get_first_value):
2895         * gst/glib-compat.h:
2896         * gst/gstregistryxml.c:
2897           remove functions copied from GLib 2.6
2898
2899 2005-11-16  Michael Smith <msmith@fluendo.com>
2900
2901         * gst/Makefile.am:
2902           Don't link against VALGRIND_LIBS. That was always the wrong thing to
2903           do, but only breaks with newer valgrind versions. We're not a
2904           valgrind tool, we have no link-time dependencies on libcoregrind.
2905
2906 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2907
2908         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
2909           some debug changes
2910         * gst/gstmessage.h:
2911           typo fixes
2912
2913 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
2914
2915         * gst/base/gstbasesrc.c: (gst_base_src_init):
2916         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2917         * gst/gstqueue.c: (gst_queue_init):
2918         * gst/gstregistryxml.c: (load_feature):
2919           Revert all these unrefs, they don't even pass make check !
2920
2921 2005-11-15  Johan Dahlin  <johan@gnome.org>
2922
2923         * gst/base/gstbasesrc.c: (gst_base_src_init):
2924         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
2925         * gst/gstqueue.c: (gst_queue_init): 
2926         Free pad templates, fixes a couple of leaks.
2927
2928 2005-11-15  Daniel Fischer  <dan at f3c dot com>
2929
2930         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
2931
2932         * gst/gstpad.c: (gst_pad_get_property):
2933           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
2934           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
2935           (#321452)
2936
2937 2005-11-15  Wim Taymans  <wim@fluendo.com>
2938
2939         * gst/gstevent.c:
2940         Small doc update.
2941
2942 2005-11-15  Andy Wingo  <wingo@pobox.com>
2943
2944         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
2945
2946         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
2947         using GST_CLOCK_TIME_NONE to disable base time management.
2948         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
2949         time if it was NONE before.
2950         (gst_pipeline_change_state): Only munge the base time if
2951         stream_time != GST_CLOCK_TIME_NONE.
2952
2953         * check/gst/gstpipeline.c (test_base_time): Punt around the
2954         problem of the probe not being called, because that's not the
2955         issue I'm looking at. Add a check that setting stream_time to NONE
2956         disables base time management.
2957         
2958 2005-11-15  Wim Taymans  <wim@fluendo.com>
2959
2960         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
2961         segment_stop == -1 at startup.
2962
2963         * gst/base/gstbasetransform.c: (gst_base_transform_event),
2964         (gst_base_transform_change_state):
2965         Init segment values at start.
2966
2967 2005-11-15  Wim Taymans  <wim@fluendo.com>
2968
2969         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2970         0 segment values are 0 in any format.
2971
2972         * gst/base/gstbasetransform.c: (gst_base_transform_event):
2973         * gst/base/gstbasetransform.h:
2974         Parse newsegment correctly in basetransform
2975
2976         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2977         Sync to clock using updated segment values.
2978
2979 2005-11-15  Andy Wingo  <wingo@pobox.com>
2980
2981         * check/gst/gstpipeline.c (test_base_time): Add check that the
2982         base time and stream time are reset correctly.
2983
2984 2005-11-15  Wim Taymans  <wim@fluendo.com>
2985
2986         * docs/design/part-TODO.txt:
2987         Some more TODO items.
2988
2989 2005-11-15  Andy Wingo  <wingo@pobox.com>
2990
2991         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
2992         error if the user selected "no clock" as the clocking method.
2993
2994         * check/gst/gstpipeline.c (test_base_time): New test for buffer
2995         timestamps with live capture.
2996
2997         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
2998         is 0 but we are a live source, timestamp the buffers using the
2999         element's clock.
3000
3001 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
3002
3003         * docs/gst/gstreamer-sections.txt:
3004         * gst/gsterror.c:
3005         * gst/gstghostpad.c:
3006         * gst/gstobject.h:
3007         * gst/gstxml.c:
3008           more section docs
3009
3010 2005-11-14  Wim Taymans  <wim@fluendo.com>
3011
3012         * common/gst.supp:
3013           add suppressions from Wim's Debian machine
3014
3015 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3016
3017         * common/gst.supp:
3018           add suppressions from Andy's AMD64 Ubuntu machine
3019
3020 2005-11-14  Andy Wingo  <wingo@pobox.com>
3021
3022         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
3023         STATE_LOCK not necessary. Fixes #311489.
3024
3025         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
3026         #305291.
3027
3028         * gst/gstindex.c (gst_index_add_object): Note in the docs that
3029         this function is not implemented.
3030
3031 2005-11-14  Julien MOUTTE  <julien@moutte.net>
3032
3033         * gst/base/gstbasetransform.c:
3034         (gst_base_transform_prepare_output_buf):
3035         Ref the source pad caps while we need them.
3036         Fixes (#321386)
3037
3038 2005-11-11  Wim Taymans  <wim@fluendo.com>
3039
3040         * docs/gst/gstreamer-sections.txt:
3041         Added some docs for GstCollectData.
3042
3043         * gst/base/gstadapter.c:
3044         Some small code example fix.
3045
3046         * gst/base/gstcollectpads.c:
3047         * gst/base/gstcollectpads.h:
3048         Document some more.
3049
3050 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
3051
3052         * configure.ac: back to HEAD
3053
3054 === release 0.9.5 ===
3055
3056 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
3057
3058         * configure.ac:
3059           releasing 0.9.5, "Bike Lunch Day"
3060
3061 2005-11-11  Wim Taymans  <wim@fluendo.com>
3062
3063         * gst/gstbuffer.c: (_gst_buffer_copy):
3064         Copy more flags.
3065
3066         * gst/gstcaps.c: (gst_caps_is_equal):
3067         Fix some docs.
3068         Make _is_equal fast in the trivial cases.
3069
3070         * gst/gstminiobject.c:
3071         * gst/gstminiobject.h:
3072         More docs. Spifify .h file.
3073
3074         * gst/gstutils.c:
3075         Small doc update.
3076
3077 2005-11-11  Wim Taymans  <wim@fluendo.com>
3078
3079         * gst/base/gstbasetransform.c:
3080         (gst_base_transform_prepare_output_buf),
3081         (gst_base_transform_handle_buffer):
3082         Small cleanups.
3083         If we're processing a buffer and need to allocate an output
3084         buffer, we cannot accept a format change. If we did get a 
3085         format change, we have to alloc a buffer ourselves of the 
3086         right size.
3087
3088 2005-11-11  Wim Taymans  <wim@fluendo.com>
3089
3090         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
3091         While checking the flag for reentrancy in the gstcaps function
3092         is nice to detect recursive invocations, it also makes it 
3093         impossible to call getcaps from multiple threads, which must be
3094         possible. So, checking for recursive calls has to go.
3095
3096 2005-11-11  Michael Smith <msmith@fluendo.com>
3097
3098         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3099           Don't sync on buffers that fall partially outside our current
3100           segment. Prevents an assertion failure/abort playing some files.
3101
3102 2005-11-10  Andy Wingo  <wingo@pobox.com>
3103
3104         * check/gst/gstbin.c (test_message_state_changed_children): Style
3105         fix..
3106
3107         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
3108         gst_bus_poll with the signal watch. Ensures that poll and a signal
3109         watch see the same messages.
3110
3111         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
3112         a poll and a watch at the same time get the same messages.
3113
3114 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3115
3116         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
3117         * gst/gstcaps.c: (gst_caps_intersect):
3118           Don't call gst_caps_do_simplify - it doesn't respect order of caps
3119           and it's not needed.
3120
3121 2005-11-10  Wim Taymans  <wim@fluendo.com>
3122
3123         * docs/design/part-TODO.txt:
3124         Updated todo.
3125
3126 2005-11-10  Wim Taymans  <wim@fluendo.com>
3127
3128         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3129         * gst/base/gstbasesrc.c: (gst_base_src_wait),
3130         (gst_base_src_do_sync), (gst_base_src_get_range):
3131         Implement clock sync in base class.
3132
3133 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3134
3135         patch by: Tim-Philipp Müller <tim at centricular dot net>
3136
3137         * gst/gststructure.c: (gst_structure_parse_field),
3138         (gst_structure_from_string):
3139           Forward-port a 0.8 patch to handle escaped spaces in structure string,
3140           so that gst_parse_launch() can deal with spaces in filtered link
3141           caps (fixes #164479)
3142         * check/gst/capslist.h:
3143         * check/gst/gststructure.c: (GST_START_TEST):
3144           add unit tests for this change
3145
3146 2005-11-10  Wim Taymans  <wim@fluendo.com>
3147
3148         * docs/gst/gstreamer-sections.txt:
3149         * gst/gstelement.c:
3150         * gst/gstelement.h:
3151         Fix docs, move some STATE macros to private.
3152
3153 2005-11-10  Wim Taymans  <wim@fluendo.com>
3154
3155         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
3156         Added check for bug #317341
3157
3158         * gst/gstbuffer.c:
3159         * gst/gstbuffer.h:
3160         Some more spiffifying.
3161
3162         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
3163         Call peer linkfunction if we are a source pad. Totally fixes
3164         #317341
3165
3166         * gst/gstpad.c:
3167         Update docs, source pads should call the peer linkfunction
3168         so they can atomically perform the pad link.
3169
3170 2005-11-09  Wim Taymans  <wim@fluendo.com>
3171
3172         * gst/gstbuffer.c:
3173         * gst/gstbuffer.h:
3174         Uber-spiffy-spiffify some more.
3175
3176 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
3177
3178         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
3179         * gst/elements/gstfilesink.c: (gst_file_sink_init):
3180         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
3181         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
3182         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
3183         * gst/gstpad.c: (gst_pad_init):
3184           Use GST_DEBUG_FUNCPTR() more extensively.
3185
3186 2005-11-09  Wim Taymans  <wim@fluendo.com>
3187
3188         * gst/gstobject.c: (gst_object_class_init):
3189         * gst/gstobject.h:
3190         Documentation fixes.
3191
3192 2005-11-09  Edward Hervey  <edward@fluendo.com>
3193
3194         * gst/gsttypefindfactory.c:
3195         Fix docs.
3196         
3197 2005-11-09  Edward Hervey  <edward@fluendo.com>
3198
3199         * gst/base/gsttypefindhelper.c:
3200         * gst/gsttypefind.c:
3201         * gst/gsttypefind.h:
3202         Fix docs.
3203
3204 2005-11-09  Wim Taymans  <wim@fluendo.com>
3205
3206         * gst/gstiterator.c:
3207         Fix revision data.
3208
3209         * gst/gsttask.c:
3210         * gst/gsttask.h:
3211         Fix docs.
3212
3213 2005-11-09  Wim Taymans  <wim@fluendo.com>
3214
3215         * gst/gstevent.h:
3216         * gst/gsturi.h:
3217         Fix docs.
3218
3219 2005-11-09  Wim Taymans  <wim@fluendo.com>
3220
3221         * docs/gst/gstreamer-sections.txt:
3222         Moved the message async delivery private lock and cond
3223         to the private section.
3224
3225         * gst/gstmessage.c:
3226         * gst/gstmessage.h:
3227         Fixed docs.
3228
3229 2005-11-09  Edward Hervey  <edward@fluendo.com>
3230
3231         * docs/gst/gstreamer-sections.txt:
3232         * gst/gsturi.c:
3233         * gst/gsturi.h:
3234         Document GstURIHandler
3235
3236 2005-11-09  Wim Taymans  <wim@fluendo.com>
3237
3238         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
3239         (gst_iterator_find_custom):
3240         * gst/gstiterator.h:
3241         Fix iterator docs.
3242
3243 2005-11-09  Wim Taymans  <wim@fluendo.com>
3244
3245         * gst/gstbin.h:
3246         Document another field.
3247
3248         * gst/gststructure.c:
3249         * gst/gststructure.h:
3250         Document.
3251
3252 2005-11-09  Wim Taymans  <wim@fluendo.com>
3253
3254         * gst/gstbin.h:
3255         Documented structs.
3256
3257 2005-11-09  Wim Taymans  <wim@fluendo.com>
3258
3259         * docs/gst/gstreamer-sections.txt:
3260         Added some new macros.
3261
3262         * gst/gstclock.c:
3263         * gst/gstclock.h:
3264         * gst/gstobject.h:
3265         Docs updates.
3266
3267 2005-11-09  Wim Taymans  <wim@fluendo.com>
3268
3269         * docs/design/part-TODO.txt:
3270         Some more items for the TODO
3271
3272         * gst/gstcaps.c:
3273         * gst/gstcaps.h:
3274         Document GstCaps.
3275
3276 2005-11-09  Andy Wingo  <wingo@pobox.com>
3277
3278         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
3279         to work on something else now tho...
3280
3281         * gst/base/gstadapter.c: More adapter docs.
3282
3283         * gst/elements/gstfilesink.c (gst_file_sink_start) 
3284         (gst_file_sink_stop): New functions, replace the state change
3285         handler.
3286         (gst_file_sink_class_init): Hook up the start and stop functions.
3287         (gst_file_sink_base_init): Don't set the state change handler any
3288         more. It was a bit ugly too, being set from here...
3289         (gst_file_sink_get_property, gst_file_sink_set_property):
3290         Cleanups...
3291         (gst_file_sink_set_location): More robust check that doesn't call
3292         GST_STATE. Ugggggg.
3293
3294 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
3295
3296         * gst/base/gstbasetransform.c: (gst_base_transform_event):
3297           Hold STREAM_LOCK while pushing newsegment or tag events as well.
3298
3299 2005-11-08  Wim Taymans  <wim@fluendo.com>
3300
3301         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
3302         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3303         (gst_base_sink_chain), (gst_base_sink_change_state):
3304         * gst/base/gstbasesink.h:
3305         * gst/base/gstbasesrc.h:
3306         * gst/gstelement.h:
3307         * gst/gstevent.h:
3308         Avoid excessive typechecking in macros.
3309
3310         * gst/gstminiobject.c: (gst_mini_object_get_type),
3311         (gst_mini_object_init), (gst_mini_object_new),
3312         (gst_mini_object_free):
3313         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
3314         (gst_object_finalize):
3315         Remove cruft code, optimize alloc_trace.
3316
3317 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3318
3319         * docs/faq/gst-uninstalled:
3320           fix up PS1 for systems that try to reset it
3321
3322 2005-11-07  Wim Taymans  <wim@fluendo.com>
3323
3324         * gst/base/gstbasesrc.c: (gst_base_src_init),
3325         (gst_base_src_get_range):
3326         Set the segment_end to -1 initially. Fixed typefind.
3327
3328 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
3329
3330         * gst/base/gstadapter.c:
3331           Debug category should be 'adapter', not 'GstAdapter'.
3332           
3333         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
3334         (gst_collectpads_class_init), (gst_collectpads_init),
3335         (gst_collectpads_peek), (gst_collectpads_pop),
3336         (gst_collectpads_event), (gst_collectpads_chain):
3337           Add debug category and some debugging output. Use boilerplate
3338           macros. Remove some extraneous words from docs.
3339
3340 2005-11-05  Andy Wingo  <wingo@pobox.com>
3341
3342         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
3343         macro.
3344
3345 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3346
3347         * docs/gst/gstreamer-sections.txt:
3348         * gst/gstcaps.h:
3349         * gst/gstinfo.c:
3350         * gst/gstminiobject.h:
3351         * gst/gstobject.h:
3352         * gst/gstutils.h:
3353           more docs added
3354
3355 2005-11-04  Wim Taymans  <wim@fluendo.com>
3356
3357         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3358         Small update to stop at the configured segment_end
3359         position.
3360
3361 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
3362
3363         * gst/gstregistry.c:
3364         * gst/gstregistry.h:
3365           added missing docs
3366
3367 2005-11-04  Edward Hervey  <edward@fluendo.com>
3368
3369         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
3370         Check if we are doing a segment seek and have arrived at the
3371         end of that segment.
3372
3373 2005-11-04  Wim Taymans  <wim@fluendo.com>
3374
3375         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
3376         Don't leak a mutex unlock in case of an error.
3377
3378         * gst/gstbus.h:
3379         Doc fixes.
3380
3381 2005-11-04  Wim Taymans  <wim@fluendo.com>
3382
3383         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
3384         (gst_bus_post):
3385         Get the context to wake up only once.
3386
3387 2005-11-03  Wim Taymans  <wim@fluendo.com>
3388
3389         * check/states/sinks.c: (GST_START_TEST):
3390         Uncomment fixed check.
3391
3392         * docs/design/part-TODO.txt:
3393         Updated TODO.
3394
3395         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3396         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3397         (gst_base_sink_get_position):
3398         If we are going to PLAYING, post the right pending state
3399         when we post the intermediate paused message.
3400
3401         * gst/gstelement.c: (gst_element_continue_state),
3402         (gst_element_set_state_func), (gst_element_change_state):
3403         Don't post state changes that were between the same state
3404         and were not ASYNC.
3405
3406 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3407
3408         * docs/gst/gstreamer-sections.txt:
3409         * gst/gstcaps.h:
3410         * gst/gstinfo.c:
3411         * gst/gstminiobject.h:
3412         * gst/gstobject.h:
3413         * gst/gstutils.h:
3414           more docs and doc style fixes
3415
3416 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
3417
3418         * docs/gst/gstreamer-sections.txt:
3419         * gst/gstelement.c:
3420         * gst/gstminiobject.c:
3421         doc fixes
3422
3423 2005-11-03  Andy Wingo  <wingo@pobox.com>
3424
3425         * check/states/sinks.c (test_livesrc_sink): Add checks that the
3426         state-changed messages actually have the right order and the right
3427         values.
3428
3429 2005-11-03  Wim Taymans  <wim@fluendo.com>
3430
3431         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
3432         Added some more checks. Specifically the case where NO_PREROLL
3433         elements are in the pipeline.
3434
3435         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3436         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
3437         (gst_base_sink_get_position):
3438         Post READY->PAUSED state change messages too.
3439         Fix bug where VOID was posted as pending state...
3440
3441         * gst/gstbin.c: (gst_bin_recalc_state):
3442         use _element_continue_state() to continue the state change.
3443
3444         * gst/gstelement.c: (gst_element_continue_state),
3445         (gst_element_commit_state), (gst_element_set_state_func),
3446         (gst_element_change_state), (gst_element_change_state_func):
3447         Lots of state change cleanups, assign the STATE_RETURN in
3448         a new continue_state() function that also propagates the
3449         last return value from a state change to the app.
3450         Update some debug statements with proper category.
3451
3452 2005-11-03  Wim Taymans  <wim@fluendo.com>
3453
3454         * docs/design/part-events.txt:
3455         * docs/design/part-gstpipeline.txt:
3456         * docs/design/part-messages.txt:
3457         * docs/design/part-overview.txt:
3458         * docs/design/part-seeking.txt:
3459         * docs/design/part-states.txt:
3460         * docs/design/part-trickmodes.txt:
3461         * docs/manual/advanced-position.xml:
3462         Small docs updates.
3463
3464         * gst/gstobject.h:
3465         People think !! is ugly, this looks better.
3466
3467         * gst/gstpad.c: (gst_pad_set_blocked_async):
3468         Remove !! since it's fixed elsewhere now.
3469
3470 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3471
3472         * gst/gstminiobject.h:
3473         * gst/gstobject.h:
3474           Add !! to _FLAG_IS_SET macros to make the result boolean.
3475
3476 2005-11-03  Edward Hervey  <edward@fluendo.com>
3477
3478         * gst/gstpad.c: (gst_pad_set_blocked_async):
3479         comparing a flag and a gboolean rarely returns coherent results...
3480         Added two characters (!!) to make that work correctly.
3481         
3482 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3483
3484         * gst/gstbus.c: (gst_bus_class_init):
3485           Fix some typos.
3486           
3487         * gst/gstqueue.c: (gst_queue_loop):
3488           Don't assume a miniobject that isn't a buffer is an
3489           event (it could be that there is a refcounting
3490           problem somewhere and the pointer is stale and
3491           refers to an already destroyed miniobject).
3492
3493 2005-11-03  Julien MOUTTE  <julien@moutte.net>
3494
3495         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
3496
3497 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
3498
3499         * docs/manual/advanced-position.xml:
3500           Update seek example and explanations to current 0.9 API.
3501
3502         * gst/elements/gsttypefindelement.c:
3503         (gst_type_find_element_activate):
3504           Remove FIXME comment now that the found caps
3505           are unreffed.
3506
3507 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3508
3509         * gst/gstregistryxml.c: (load_feature):
3510           Add another GST_STR_NULL instance
3511
3512 2005-11-02  Edward Hervey  <edward@fluendo.com>
3513
3514         * gst/gstpad.c: (handle_pad_block):
3515         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
3516         
3517 2005-11-02  Wim Taymans  <wim@fluendo.com>
3518
3519         * gst/gstbin.c:
3520         Fix typo in docs.
3521
3522         * gst/gstelement.c: (gst_element_commit_state):
3523         Remove unused value.
3524
3525         * gst/gstiterator.c:
3526         Mention that the returned element is reffed in the docs.
3527
3528 2005-11-02  Wim Taymans  <wim@fluendo.com>
3529
3530         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
3531         (gst_pad_push), (gst_pad_push_event):
3532         Unlock blocked pads when they are flushed.
3533
3534 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3535
3536         * docs/README:
3537         * docs/gst/gstreamer-sections.txt:
3538         * gst/gstbin.c:
3539           doc updates
3540         * gst/gstregistry.c: (gst_registry_scan_path_level):
3541           fix for a nasty little missed situation where an installed plug-in
3542           which was in the cache did not get overridden by an uninstalled one
3543           which was earlier in the plugin path because the newly created plugin
3544           for the uninstalled one (not in the registry) didn't get its
3545           ->registered set to TRUE
3546
3547 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3548
3549         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
3550         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
3551         (gst_collectpads_is_active), (gst_collectpads_collect),
3552         (gst_collectpads_collect_range), (gst_collectpads_start),
3553         (gst_collectpads_stop), (gst_collectpads_peek),
3554         (gst_collectpads_pop), (gst_collectpads_available),
3555         (gst_collectpads_read), (gst_collectpads_flush):
3556           Guard public API with assertions.
3557         
3558         * gst/gstpad.c:
3559           Fix docs for gst_pad_set_link_function().
3560
3561 2005-11-02  Johan Dahlin  <johan@gnome.org>
3562
3563         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
3564         Unref found_caps after we used it.
3565
3566 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
3567
3568         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
3569           Don't try to ref NULL.
3570
3571 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3572
3573         * win32/common/config.h.in:
3574           provide a GST_FUNCTION that just gives a string for now
3575
3576 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3577
3578         * win32/common/gstenumtypes.c: (register_gst_object_flags),
3579         (gst_object_flags_get_type), (register_gst_bin_flags),
3580         (gst_bin_flags_get_type), (register_gst_buffer_flag),
3581         (gst_buffer_flag_get_type), (register_gst_bus_flags),
3582         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
3583         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
3584         (gst_clock_return_get_type), (register_gst_clock_entry_type),
3585         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
3586         (gst_clock_flags_get_type), (register_gst_state),
3587         (gst_state_get_type), (register_gst_state_change_return),
3588         (gst_state_change_return_get_type), (register_gst_state_change),
3589         (gst_state_change_get_type), (register_gst_element_flags),
3590         (gst_element_flags_get_type), (register_gst_core_error),
3591         (gst_core_error_get_type), (register_gst_library_error),
3592         (gst_library_error_get_type), (register_gst_resource_error),
3593         (gst_resource_error_get_type), (register_gst_stream_error),
3594         (gst_stream_error_get_type), (register_gst_event_type),
3595         (gst_event_type_get_type), (register_gst_seek_type),
3596         (gst_seek_type_get_type), (register_gst_seek_flags),
3597         (gst_seek_flags_get_type), (register_gst_format),
3598         (gst_format_get_type), (register_gst_index_certainty),
3599         (gst_index_certainty_get_type), (register_gst_index_entry_type),
3600         (gst_index_entry_type_get_type),
3601         (register_gst_index_lookup_method),
3602         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
3603         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
3604         (gst_index_resolver_method_get_type), (register_gst_index_flags),
3605         (gst_index_flags_get_type), (register_gst_debug_level),
3606         (gst_debug_level_get_type), (register_gst_debug_color_flags),
3607         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
3608         (gst_iterator_result_get_type), (register_gst_iterator_item),
3609         (gst_iterator_item_get_type), (register_gst_message_type),
3610         (gst_message_type_get_type), (register_gst_mini_object_flags),
3611         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
3612         (gst_pad_link_return_get_type), (register_gst_flow_return),
3613         (gst_flow_return_get_type), (register_gst_activate_mode),
3614         (gst_activate_mode_get_type), (register_gst_pad_direction),
3615         (gst_pad_direction_get_type), (register_gst_pad_flags),
3616         (gst_pad_flags_get_type), (register_gst_pad_presence),
3617         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
3618         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
3619         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
3620         (gst_plugin_error_get_type), (register_gst_plugin_flags),
3621         (gst_plugin_flags_get_type), (register_gst_rank),
3622         (gst_rank_get_type), (register_gst_query_type),
3623         (gst_query_type_get_type), (register_gst_tag_merge_mode),
3624         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
3625         (gst_tag_flag_get_type), (register_gst_task_state),
3626         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
3627         (gst_alloc_trace_flags_get_type),
3628         (register_gst_type_find_probability),
3629         (gst_type_find_probability_get_type), (register_gst_uri_type),
3630         (gst_uri_type_get_type), (register_gst_parse_error),
3631         (gst_parse_error_get_type):
3632         * win32/common/gstversion.h:
3633           update win32 copies
3634
3635 2005-11-01  Luca Ognibene  <luogni@tin.it>
3636
3637         * gst/gst.c:
3638           fix docs. popt is dead, long live GOption.
3639
3640 2005-10-31  Wim Taymans  <wim@fluendo.com>
3641
3642         * gst/gstbuffer.h:
3643         Small doc fix.
3644
3645 2005-10-31  Andy Wingo  <wingo@pobox.com>
3646
3647         * Boo!
3648
3649         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
3650
3651         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
3652         need to serialize property notifications on GLib 2.8. GLib 2.6 has
3653         the possibility of deadlocks here if code calling notify() or
3654         set() has a lock that can be taken in another notify handler (ABBA
3655         with class lock and e.g. python GIL state lock).
3656
3657 2005-10-28  Julien MOUTTE  <julien@moutte.net>
3658
3659         * gst/gstbus.c: Doc updates.
3660
3661 2005-10-28  Wim Taymans  <wim@fluendo.com>
3662
3663         * docs/design/part-TODO.txt:
3664         * gst/gstiterator.c:
3665         * gst/gstsystemclock.c:
3666         * gst/gstsystemclock.h:
3667         Doc updates.
3668
3669 2005-10-28  Edward Hervey  <edward@fluendo.com>
3670
3671         * docs/gst/gstreamer-docs.sgml:
3672         * docs/gst/gstreamer-sections.txt:
3673         the GstURIType documentation page is private, it only defines GstURIType
3674         which should be defined in the GstURIHandler page
3675         
3676 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3677
3678         * gst/gstbin.c: (gst_bin_class_init):
3679         * gst/gstbin.h:
3680         * gst/gstutils.c:
3681         Documentation updates.
3682
3683 2005-10-28  Wim Taymans  <wim@fluendo.com>
3684
3685         * docs/gst/gstreamer-sections.txt:
3686         * gst/gstclock.c:
3687         * gst/gstclock.h:
3688         Documented the clocks.
3689
3690 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
3691
3692         * docs/gst/gstreamer-sections.txt:
3693           move some macros to private sections
3694         * gst/gstminiobject.c:
3695         * gst/gstminiobject.h:
3696           add descriptions provided by ds and some more
3697         * gst/gstpad.h:
3698           mark macro as to be removed
3699
3700 2005-10-28  Wim Taymans  <wim@fluendo.com>
3701
3702         * docs/design/part-TODO.txt:
3703         Add an item to TODO.
3704
3705         * gst/gstiterator.c: (gst_iterator_fold),
3706         (gst_iterator_find_custom):
3707         * gst/gstiterator.h:
3708         Add iterator docs.
3709
3710 2005-10-28  Wim Taymans  <wim@fluendo.com>
3711
3712         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
3713         (gst_base_transform_init):
3714         Don't leak class.
3715
3716         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
3717         An EOS event marks the queue as completely filled.
3718
3719 2005-10-27  Wim Taymans  <wim@fluendo.com>
3720
3721         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3722         (gst_base_sink_do_sync), (gst_base_sink_get_position):
3723         Some more debugging.
3724
3725         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
3726         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
3727         (gst_base_transform_event), (gst_base_transform_getrange),
3728         (gst_base_transform_chain):
3729         * gst/base/gstbasetransform.h:
3730         Fix debugging,
3731         Protect transform and concurrent buffer alloc with a new lock.
3732         Try not to break ABI/API.
3733
3734 2005-10-27  Wim Taymans  <wim@fluendo.com>
3735
3736         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
3737         (gst_base_src_init), (gst_base_src_query),
3738         (gst_base_src_default_newsegment),
3739         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3740         (gst_base_src_send_event), (gst_base_src_event_handler),
3741         (gst_base_src_pad_get_range), (gst_base_src_loop),
3742         (gst_base_src_unlock), (gst_base_src_default_negotiate),
3743         (gst_base_src_start), (gst_base_src_deactivate),
3744         (gst_base_src_activate_push), (gst_base_src_change_state):
3745         Move some stuff around and cleanup things.
3746
3747 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
3748
3749         * gst/base/gstbasesrc.c: (gst_base_src_query):
3750           Add missing break statements.
3751
3752 2005-10-27  Wim Taymans  <wim@fluendo.com>
3753
3754         * check/gst/gstbin.c: (GST_START_TEST):
3755         An extra refcount is taken in basesrc.
3756
3757         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3758         (gst_base_src_get_range), (gst_base_src_pad_get_range),
3759         (gst_base_src_loop):
3760         Small cleanups, check for flushing after being unlocked from the 
3761         LIVE_LOCK. take refcounts correctly (not yet everywhere).
3762         Don't send out EOS when going to READY.
3763
3764 2005-10-27  Wim Taymans  <wim@fluendo.com>
3765
3766         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3767         (gst_base_sink_get_position):
3768         Some more debug.
3769
3770         * gst/gstbin.c: (message_check), (bin_replace_message),
3771         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3772         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3773         (bin_query_duration_init), (bin_query_duration_fold),
3774         (bin_query_duration_done), (bin_query_generic_fold),
3775         (gst_bin_query):
3776         * tools/gst-launch.c: (main):
3777         Remove old option.
3778
3779 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
3780
3781         * examples/controller/audio-example.c: (main):
3782         * examples/queue/queue.c: (event_loop):
3783         * gst/base/gstbasetransform.h:
3784         * gst/gstelement.c: (gst_element_send_event):
3785         * gst/gstevent.h:
3786         * gst/gstpad.c: (gst_pad_send_event):
3787           fixing examples
3788           fixing docs typos
3789           changing log priority in error situations
3790
3791 2005-10-25  Wim Taymans  <wim@fluendo.com>
3792
3793         * gst/gstbin.c: (message_check), (bin_replace_message),
3794         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3795         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3796         (bin_query_duration_init), (bin_query_duration_fold),
3797         (bin_query_duration_done), (bin_query_generic_fold),
3798         (gst_bin_query):
3799         Some doc and debug updates.
3800         Cache previously requested query DURATION for speed. invalidate
3801         cached duration if element posts a DURATION message.
3802
3803 2005-10-25  Wim Taymans  <wim@fluendo.com>
3804
3805         * docs/design/part-TODO.txt:
3806         Update TODO.
3807
3808         * gst/gstbin.c: (message_check), (bin_replace_message),
3809         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3810         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
3811         (bin_query_duration_init), (bin_query_duration_fold),
3812         (bin_query_duration_done), (bin_query_generic_fold),
3813         (gst_bin_query):
3814         Handle SEGMENT_START/DONE messages correctly.
3815         More evolved query algorithm that handles duration queries
3816         correctly.
3817
3818         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
3819         (gst_element_get_state_func), (gst_element_abort_state),
3820         (gst_element_commit_state), (gst_element_lost_state):
3821         Some more debugging.
3822
3823         * gst/gstmessage.h:
3824         Added doc.
3825
3826 2005-10-25  Wim Taymans  <wim@fluendo.com>
3827
3828         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3829         Don't use invalid stream_time.
3830
3831         * gst/gstevent.c: (gst_event_new_newsegment):
3832         stream_time in newsegment cannot be undefined.
3833
3834 2005-10-24  Wim Taymans  <wim@fluendo.com>
3835
3836         * gst/gstbus.c:
3837         Doc fix.
3838
3839         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
3840         (gst_queue_loop):
3841         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
3842
3843 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
3844
3845         * docs/libs/tmpl/gstdparam.sgml:
3846         * docs/libs/tmpl/gstdplinint.sgml:
3847         * docs/libs/tmpl/gstdpman.sgml:
3848         * docs/libs/tmpl/gstdpsmooth.sgml:
3849         * docs/libs/tmpl/gstunitconvert.sgml:
3850           these are obsolete
3851
3852 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3853
3854         * configure.ac:
3855           back to HEAD
3856
3857 === release 0.9.4 ===
3858
3859 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3860
3861         * configure.ac:
3862           releasing 0.9.4, "Tyrannosaurus Rex"
3863
3864 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
3865
3866         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
3867         (gst_file_sink_get_current_offset):
3868           Use fseeko() and ftello() if available. When falling back on
3869           lseek() to get the current offset, fflush() first to make sure
3870           everything is up-to-date and we get the right offset.
3871
3872 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3873
3874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3875         * gst/base/gstbasesrc.c: (gst_base_src_loop):
3876         * gst/gsterror.c: (_gst_stream_errors_init):
3877         * gst/gsterror.h:
3878         * gst/gstqueue.c: (gst_queue_loop):
3879         * po/POTFILES.in:
3880           remove prematurely added error category and clean up the instances
3881
3882 2005-10-21  Wim Taymans  <wim@fluendo.com>
3883
3884         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3885         (gst_base_sink_get_position), (gst_base_sink_query),
3886         (gst_base_sink_change_state):
3887         Simply set the right flag when going to playing, that's all
3888         we need to do instead of calling a function inside the object
3889         lock (that could take the lock as well and deadlock)
3890
3891 2005-10-21  Wim Taymans  <wim@fluendo.com>
3892
3893         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
3894         (gst_base_src_loop):
3895         Don't warn, the peer element knows what to do best when
3896         the seek failed, it might try something else.
3897
3898 2005-10-21  Wim Taymans  <wim@fluendo.com>
3899
3900         * gst/base/gstbasesrc.c: (gst_base_src_init),
3901         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
3902         Fix seeking.
3903
3904 2005-10-21  Wim Taymans  <wim@fluendo.com>
3905
3906         * docs/design/part-segments.txt:
3907         More docs.
3908
3909         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3910         Correctly set caps, even on the subbufer.
3911
3912 2005-10-21  Wim Taymans  <wim@fluendo.com>
3913
3914         * docs/gst/gstreamer-docs.sgml:
3915         * docs/gst/gstreamer-sections.txt:
3916         * gst/gstelement.h:
3917         * gst/gstevent.c:
3918         * gst/gstevent.h:
3919         * gst/gstmessage.h:
3920         * gst/gstpad.h:
3921         * gst/gstparse.h:
3922         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
3923         * gst/gsttask.h:
3924         * gst/gstutils.c:
3925         * gst/gstutils.h:
3926         And 2% more doc coverage.
3927
3928 2005-10-21  Andy Wingo  <wingo@pobox.com>
3929
3930         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
3931         position reporting.
3932
3933 2005-10-20  Wim Taymans  <wim@fluendo.com>
3934
3935         * gst/gsterror.c: (gst_error_get_message):
3936         * gst/gstparse.h:
3937         * gst/gstquery.h:
3938         * gst/gststructure.c:
3939         * gst/gsttrace.c:
3940         * gst/gstutils.c:
3941         More docs.
3942
3943 2005-10-20  Wim Taymans  <wim@fluendo.com>
3944
3945         * gst/gstbuffer.h:
3946         * gst/gstpad.c:
3947         * gst/gstparse.c:
3948         Another 1% more coverage.
3949
3950 2005-10-20  Wim Taymans  <wim@fluendo.com>
3951
3952         * docs/gst/gstreamer-sections.txt:
3953         * gst/gstelement.c: (gst_element_get_state_func),
3954         (gst_element_abort_state), (gst_element_commit_state),
3955         (gst_element_lost_state):
3956         * gst/gstevent.h:
3957         * gst/gstquery.c: (gst_query_set_position),
3958         (gst_query_parse_position), (gst_query_set_duration),
3959         (gst_query_parse_duration), (gst_query_new_convert):
3960         * gst/gstutils.c:
3961         Yay! 1% more docs coverage.
3962
3963 2005-10-20  Wim Taymans  <wim@fluendo.com>
3964
3965         * gst/gstpad.h:
3966         * gst/gstquery.c: (gst_query_set_position),
3967         (gst_query_parse_position), (gst_query_set_duration),
3968         (gst_query_parse_duration), (gst_query_new_convert):
3969         * gst/gstquery.h:
3970         * gst/gstutils.c: (gst_element_query_convert):
3971         * gst/gstutils.h:
3972         Docs and consistency fixes.
3973
3974 2005-10-20  Wim Taymans  <wim@fluendo.com>
3975
3976         * gst/gsttask.c:
3977         * gst/gsttask.h:
3978         More docs.
3979
3980 2005-10-20  Wim Taymans  <wim@fluendo.com>
3981
3982         * gst/gstbin.c: (message_check), (bin_replace_message),
3983         (bin_remove_messages), (is_eos), (gst_bin_add_func),
3984         (update_degree), (gst_bin_sort_iterator_next),
3985         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
3986         Reworked the message handling a bit, cache the messages instead of
3987         only the senders. alows us to do more in the future.
3988
3989 2005-10-20  Wim Taymans  <wim@fluendo.com>
3990
3991         * docs/design/part-TODO.txt:
3992         Update TODO
3993
3994         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
3995         (gst_base_sink_query):
3996         Don't use clock time to report position when in EOS.
3997
3998 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
3999
4000         * tools/gst-inspect.c: (print_interfaces),
4001         (print_element_properties_info), (print_element_info):
4002           Fix interface output with gst-inspect -a; don't print
4003           newlines after double/float properties.
4004
4005 2005-10-20  Wim Taymans  <wim@fluendo.com>
4006
4007         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
4008         (gst_base_sink_query):
4009         Speed up current position calculation.
4010
4011         * gst/base/gstbasesrc.c: (gst_base_src_query),
4012         (gst_base_src_default_newsegment):
4013         Correctly set stream position in newsegment.
4014
4015         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
4016         (update_degree), (gst_bin_sort_iterator_next),
4017         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
4018         * gst/gstmessage.c: (gst_message_new_custom):
4019         Clean up debugging info
4020
4021         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
4022         (gst_queue_loop), (gst_queue_handle_src_query):
4023         Pause task faster.
4024
4025 2005-10-19  Wim Taymans  <wim@fluendo.com>
4026
4027         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4028         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4029         Fix query handling again.
4030
4031 2005-10-19  Wim Taymans  <wim@fluendo.com>
4032
4033         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4034         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
4035         * gst/base/gstbasesrc.c: (gst_base_src_query):
4036         * gst/elements/gstfilesink.c: (gst_file_sink_query):
4037         * gst/elements/gsttypefindelement.c:
4038         (gst_type_find_handle_src_query), (find_element_get_length),
4039         (gst_type_find_element_activate):
4040         API change fix.
4041
4042         * gst/gstquery.c: (gst_query_new_position),
4043         (gst_query_set_position), (gst_query_parse_position),
4044         (gst_query_new_duration), (gst_query_set_duration),
4045         (gst_query_parse_duration), (gst_query_set_segment),
4046         (gst_query_parse_segment):
4047         * gst/gstquery.h:
4048         Bundling query position/duration is not a good idea since duration
4049         does not change much and we don't want to recalculate it for every
4050         position query, so they are separated again..
4051         Base value in segment query is not needed.
4052
4053         * gst/gstqueue.c: (gst_queue_handle_src_query):
4054         * gst/gstutils.c: (gst_element_query_position),
4055         (gst_element_query_duration), (gst_pad_query_position),
4056         (gst_pad_query_duration):
4057         * gst/gstutils.h:
4058         Updates for query API change.
4059         Added some docs here and there.
4060
4061 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
4062
4063         * check/gst/gstbin.c: (GST_START_TEST):
4064         * check/gst/gstghostpad.c: (GST_START_TEST):
4065         * check/pipelines/cleanup.c: (GST_START_TEST):
4066           wait on thread to die so we can check refcount correctly
4067
4068 2005-10-18  Wim Taymans  <wim@fluendo.com>
4069
4070         * check/pipelines/stress.c: (GST_START_TEST):
4071         Make check a little more time consuming.
4072
4073 2005-10-18  Wim Taymans  <wim@fluendo.com>
4074
4075         * check/Makefile.am:
4076         * check/pipelines/stress.c: (GST_START_TEST),
4077         (simple_launch_lines_suite), (main):
4078         Small state change torture test.
4079
4080         * docs/design/part-states.txt:
4081         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4082         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
4083         (gst_base_sink_change_state):
4084         Never take state lock from streaming thread, clean up ugly
4085         hacks. Unfortunatly core does not yet support nice ways to
4086         async commit state.
4087         
4088         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
4089         (bin_bus_handler):
4090         Start state recalc if a STATE_DIRTY message is posted, but only
4091         on the toplevel bin.
4092
4093         * gst/gstelement.c: (gst_element_sync_state_with_parent),
4094         (gst_element_get_state_func), (gst_element_abort_state),
4095         (gst_element_commit_state), (gst_element_lost_state),
4096         (gst_element_set_state_func), (gst_element_change_state):
4097         * gst/gstelement.h:
4098         State variables are now protected with the LOCK, the state
4099         lock is only used to serialize _set_state().
4100
4101 2005-10-18  Wim Taymans  <wim@fluendo.com>
4102
4103         * check/gst/gstbin.c: (GST_START_TEST):
4104         * check/gst/gstmessage.c: (GST_START_TEST):
4105         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4106         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
4107         (bin_bus_handler):
4108         * gst/gstelement.c: (gst_element_abort_state),
4109         (gst_element_commit_state), (gst_element_lost_state):
4110         * gst/gstmessage.c: (gst_message_new_state_changed),
4111         (gst_message_new_state_dirty), (gst_message_new_segment_start),
4112         (gst_message_new_segment_done), (gst_message_new_duration),
4113         (gst_message_parse_state_changed),
4114         (gst_message_parse_segment_start),
4115         (gst_message_parse_segment_done), (gst_message_parse_duration):
4116         * gst/gstmessage.h:
4117         * tools/gst-launch.c: (event_loop):
4118         Seriously, this is better than a previous commit as we only need
4119         to notify the fact that an element changed state in a streaming
4120         thread, marking the state of the parents dirty, hence the 
4121         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
4122         message.
4123
4124 2005-10-18  Wim Taymans  <wim@fluendo.com>
4125
4126         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4127         (gst_bin_recalc_func):
4128         * gst/gstelement.c: (gst_element_set_clock),
4129         (gst_element_abort_state), (gst_element_lost_state):
4130         Cleanups, prepare for state change fixes.
4131
4132 2005-10-18  Wim Taymans  <wim@fluendo.com>
4133
4134         * gst/gstbin.h:
4135         * gst/gstelement.c: (gst_element_class_init),
4136         (gst_element_set_state), (gst_element_set_state_func):
4137         * gst/gstelement.h:
4138         Pending ABI changes.
4139         GThreadPool in GstBinClass to monitor async state changes.
4140         state_cookie in GstElement to detect concurrent gst/set state.
4141         set_state is now virtual too in case a very complicated element
4142         has to be constructed.
4143
4144 2005-10-18  Wim Taymans  <wim@fluendo.com>
4145
4146         * check/gst/gstbin.c: (GST_START_TEST):
4147         * check/gst/gstmessage.c: (GST_START_TEST):
4148         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
4149         * gst/gstbin.c: (bin_bus_handler):
4150         * gst/gstelement.c: (gst_element_commit_state),
4151         (gst_element_lost_state):
4152         * gst/gstmessage.c: (gst_message_new_state_changed),
4153         (gst_message_new_segment_start), (gst_message_new_segment_done),
4154         (gst_message_new_duration), (gst_message_parse_state_changed),
4155         (gst_message_parse_segment_start),
4156         (gst_message_parse_segment_done), (gst_message_parse_duration):
4157         * gst/gstmessage.h:
4158         * tools/gst-launch.c: (event_loop):
4159         Make messages future proof.
4160         state-change gets a flag if it was a message comming from the
4161         streaming thread.
4162         segment-start/stop can also be specified in other formats.
4163         A message to notify an app that a pipeline changed playback 
4164         duration.
4165         Also fix a GstMessage leak in -launch
4166
4167 2005-10-18  Andy Wingo  <wingo@pobox.com>
4168
4169         * gst/gstelement.c (gst_element_dispose): More helpful message.
4170
4171 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4172
4173         reviewed by: <delete if not using a buddy>
4174
4175         * common/gtk-doc.mak:
4176
4177 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
4178
4179         * gst/gstregistry.c: (gst_registry_scan_path_level):
4180           unref a plug-in we get that was already initialized
4181
4182 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
4183
4184         * docs/gst/gstreamer-sections.txt:
4185         * docs/libs/gstreamer-libs-sections.txt:
4186         * gst/gstelement.h:
4187           add new api entries
4188           hide internal macro
4189
4190 2005-10-17  Andy Wingo  <wingo@pobox.com>
4191
4192         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
4193         cleanup.
4194
4195         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
4196
4197         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
4198
4199         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
4200         (gst_element_get_state_func): Better debug message.
4201         (gst_element_commit_state): s/INFO/DEBUG/.
4202         (gst_element_lost_state, gst_element_change_state): 
4203
4204         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
4205         (gst_message_new_custom): s/INFO/LOG/.
4206
4207 2005-10-17  Michael Smith <msmith@fluendo.com>
4208
4209         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4210           Check if end time is valid using end time, not start time.
4211
4212 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
4213
4214         * check/gst-libs/controller.c: (GST_START_TEST),
4215         (gst_controller_suite):
4216         * libs/gst/controller/gstcontroller.c:
4217         (gst_controlled_property_set_interpolation_mode):
4218         * libs/gst/controller/gstcontroller.h:
4219         * libs/gst/controller/gstinterpolation.c:
4220         * testsuite/controller/.cvsignore:
4221         * testsuite/controller/Makefile.am:
4222         * testsuite/controller/interpolator.c:
4223           merge controller testsuites
4224           fix broken tests
4225           remove mem-chunk from docs
4226
4227 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4228
4229         * gst/gstmemchunk.c:
4230         * gst/gstmemchunk.h:
4231         * gst/gsttrashstack.c:
4232         * gst/gsttrashstack.h:
4233           out.  get out.  you're fired.  to the Attic !
4234
4235 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4236
4237         * gst/gstcaps.c: (gst_caps_intersect):
4238           fix signedness issues in a (hopefully) correct way
4239         * gst/gstelement.c: (gst_element_pads_activate):
4240           some debugging
4241         * gst/gstobject.c: (gst_object_set_parent):
4242           some debugging
4243
4244 2005-10-17  Julien MOUTTE  <julien@moutte.net>
4245
4246         * gst/gstvalue.h: Fix prototypes.
4247
4248 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4249
4250         * docs/gst/gstreamer-sections.txt:
4251         * gst/gst.c: (gst_version_string):
4252         * gst/gst.h:
4253         * gst/gstversion.h.in:
4254         * win32/common/libgstreamer.def:
4255           add gst_version_string ()
4256
4257 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4258
4259         * configure.ac:
4260           clean up further
4261         * gst/gst.c: (init_post):
4262         * win32/common/config.h.in:
4263           it's PLUGINDIR now
4264         * gst/gstcaps.c: (gst_caps_intersect):
4265           use gint64, the range could be bigger than a guint
4266
4267 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4268
4269         * gst/gstclock.h:
4270           document potential problem in 2038
4271
4272 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4273
4274         * gst/gstcaps.c: (gst_caps_intersect):
4275           Fix guint j diving under 0
4276
4277 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4278
4279         * configure.ac:
4280         * win32/common/config.h:
4281         * win32/common/config.h.in:
4282           check for process.h, declares getpid() on Windows
4283         * gst/gstinfo.c:
4284           include process.h if we have it
4285         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
4286         * gst/gstmemchunk.h:
4287           fix signedness issues
4288         * win32/common/libgstreamer.def:
4289           fix get_type's
4290
4291 2005-10-16  Julien MOUTTE  <julien@moutte.net>
4292
4293         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
4294         fix. Because of unsigned ints, caps intersection was going nuts and
4295         trying to access structures with G_MAXUINT index. That fixes
4296         videotestsrc ! ffmpegcolorspace ! fakesink
4297         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
4298         consistency.
4299
4300 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4301
4302         * configure.ac:
4303           use the gettext macro
4304         * gst/elements/gstelements.c:
4305         * gst/gst.c:
4306         * gst/indexers/gstindexers.c:
4307           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
4308         * win32/common/config.h:
4309           updated config.h
4310         * win32/common/config.h.in:
4311           add the template to generate config.h
4312         * win32/common/gstenumtypes.c:
4313         * win32/common/gstversion.h:
4314           updated copies
4315
4316 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4317
4318         * gst/gst.c: (gst_version):
4319         * gst/gstversion.h.in:
4320           add the nano
4321
4322 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4323
4324         * gst/gstevent.h:
4325           Oops, add missing closing bracket.
4326
4327 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4328
4329         * configure.ac:
4330           use common m4's for argument checking
4331
4332 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
4333
4334         * docs/gst/gstreamer-sections.txt:
4335         * gst/gstevent.h:
4336           Add GST_EVENT_TYPE_NAME() macro.
4337
4338 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4339
4340         * gst/gstinfo.c:
4341         * gst/gstpluginfeature.c:
4342         * gst/gsttask.c:
4343           privatize more symbols
4344
4345 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4346
4347         * configure.ac:
4348           add srcdir, builddir includes to GST_ALL_CFLAGS, since
4349           everything that uses GStreamer API should have the includes
4350
4351 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4352
4353         * docs/gst/gstreamer-sections.txt:
4354         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4355         * gst/gstvalue.h:
4356           give each value a _get_type, removes the DATA exports
4357
4358 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4359
4360         * gst/gst.c:
4361         * gst/gst.h:
4362           remove _gst_registry_auto_load, not used anymore
4363         * gst/gstbin.c: (gst_bin_get_type):
4364         * gst/gstbin.h:
4365         * gst/gstelement.c: (gst_element_get_type):
4366         * gst/gstelement.h:
4367         * gst/gstobject.c: (gst_object_get_type):
4368         * gst/gstobject.h:
4369         * gst/gstpad.c: (gst_pad_get_type):
4370         * gst/gstpad.h:
4371           make _get_type functions similar, fixes data export from library
4372
4373 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4374
4375         * configure.ac:
4376           correctly make conditionals
4377         * gst/elements/Makefile.am:
4378         * gst/elements/gstelements.c:
4379           fix typo causing fdsrc not to build
4380
4381 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4382
4383         * testsuite/Makefile.am:
4384         * testsuite/bytestream/.cvsignore:
4385         * testsuite/bytestream/Makefile.am:
4386         * testsuite/bytestream/filepadsink.c:
4387         * testsuite/bytestream/gstbstest.c:
4388         * testsuite/bytestream/test1.c:
4389         * testsuite/bytestream/testfile1:
4390         * testsuite/caps/normalisation.c:
4391         * testsuite/caps/random.c: (main):
4392         * testsuite/cleanup/.cvsignore:
4393         * testsuite/cleanup/Makefile.am:
4394         * testsuite/cleanup/cleanup1.c:
4395         * testsuite/cleanup/cleanup2.c:
4396         * testsuite/cleanup/cleanup3.c:
4397         * testsuite/cleanup/cleanup4.c:
4398         * testsuite/cleanup/cleanup5.c:
4399         * testsuite/controller/interpolator.c:
4400         * testsuite/debug/printf_extension.c: (main):
4401         * testsuite/elements/tee.c:
4402         * testsuite/negotiation/.cvsignore:
4403         * testsuite/negotiation/Makefile.am:
4404         * testsuite/negotiation/pad_link.c:
4405         * testsuite/pad/Makefile.am:
4406         * testsuite/pad/chainnopull.c:
4407         * testsuite/pad/getnopush.c:
4408         * testsuite/pad/link.c:
4409         * testsuite/refcounting/sched.c: (create_pipeline):
4410         * testsuite/registry/Makefile.am:
4411         * testsuite/registry/gst-print-formats.c:
4412         * testsuite/schedulers/.cvsignore:
4413         * testsuite/schedulers/142183-2.c:
4414         * testsuite/schedulers/142183.c:
4415         * testsuite/schedulers/143777-2.c:
4416         * testsuite/schedulers/143777.c:
4417         * testsuite/schedulers/147713.c:
4418         * testsuite/schedulers/147819.c:
4419         * testsuite/schedulers/147894-2.c:
4420         * testsuite/schedulers/147894.c:
4421         * testsuite/schedulers/Makefile.am:
4422         * testsuite/schedulers/group_link.c:
4423         * testsuite/schedulers/queue_link.c:
4424         * testsuite/schedulers/relink.c:
4425         * testsuite/schedulers/unlink.c:
4426         * testsuite/schedulers/unref.c:
4427         * testsuite/schedulers/useless_iteration.c:
4428         * testsuite/states/bin.c:
4429           clean out/remove some stuff from the testsuite directories
4430
4431 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4432
4433         * configure.ac:
4434           check for some headers
4435         * gst/elements/Makefile.am:
4436         * gst/elements/gstelements.c:
4437           don't compile fdsrc without sys/socket.h
4438         * gst/indexers/Makefile.am:
4439         * gst/indexers/gstindexers.c: (plugin_init):
4440           don't compile fileindex without mmap
4441
4442 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4443
4444         * configure.ac:
4445           reorganize
4446           clean up
4447           document more
4448           remove cruft
4449         * check/Makefile.am:
4450         * docs/gst/Makefile.am:
4451         * examples/helloworld/Makefile.am:
4452         * gst/Makefile.am:
4453         * gst/base/Makefile.am:
4454         * gst/check/Makefile.am:
4455         * gst/elements/Makefile.am:
4456         * gst/indexers/Makefile.am:
4457         * gst/parse/Makefile.am:
4458         * libs/gst/controller/Makefile.am:
4459         * libs/gst/dataprotocol/Makefile.am:
4460         * examples/helloworld/helloworld.c: (event_loop):
4461           compile fixes, though it's not being compiled currently
4462
4463 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4464
4465         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
4466           Add some simple tests for the new taglist date API.
4467
4468 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4469
4470         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
4471         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
4472           Beautify 'last-message' output: print 'none' for buffer timestamps
4473           and durations if none is set; improve alignment with next messages.
4474
4475 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
4476
4477         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
4478         * gst/gstpluginfeature.h:
4479         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
4480         * gst/gstregistry.h:
4481         * docs/gst/gstreamer-sections.txt:
4482           Add new API to check plugin feature version requirements.
4483
4484         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
4485           Some basic tests for the above.         
4486
4487 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4488
4489         * gst/gststructure.c: (gst_structure_to_string):
4490           guard against NULL printf - happens when for example
4491           a message structure with GstClock gets serialized
4492
4493 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4494
4495         * gst/base/gstcollectpads.c: (gst_collectpads_event):
4496           Fix presumable copy'n'pasto.
4497
4498 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4499
4500         * gst/elements/gstfakesrc.h:
4501         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
4502         * gst/elements/gsttypefindelement.c:
4503           fix some signedness
4504         * gst/elements/gstfilesink.c: (gst_file_sink_render):
4505           I wonder if this could actually write +2GB files before
4506
4507 2005-10-13  Andy Wingo  <wingo@pobox.com>
4508
4509         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
4510         Fix Timmeke Waymans bug.
4511         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
4512         string of the proper length to gst_caps_from_string. There's a
4513         potential for, before this fix, that this could cause someone
4514         connecting over the network to cause a segfault if the payload is
4515         not NUL-terminated.
4516
4517 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4518
4519         * docs/design/draft-push-pull.txt:
4520         * docs/design/part-overview.txt:
4521         * docs/random/TODO-pre-0.9:
4522         * docs/random/old/ChangeLog.gstreamer:
4523         * gst/base/gstpushsrc.c:
4524         * gst/gstclock.c:
4525           fixed typos
4526
4527 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4528
4529         * gst/glib-compat.c: (gst_flags_get_first_value):
4530         * gst/glib-compat.h:
4531         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
4532         (gst_value_compare_double), (gst_value_serialize_flags):
4533           GLib 2.6 g_flags_get_first_value has a bug that triggers an
4534           infinite loop
4535
4536 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4537
4538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4539         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4540           fix up debugging
4541         * tools/gst-launch.c: (event_loop):
4542           print out clock nicely
4543
4544 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
4545
4546         * docs/gst/gstreamer-sections.txt:
4547         * gst/gsttaglist.h:
4548         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
4549         (gst_tag_list_get_date_index):
4550           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
4551           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
4552
4553 2005-10-13  Julien MOUTTE  <julien@moutte.net>
4554
4555         * gst/base/gstcollectpads.c: (gst_collectpads_event),
4556         (gst_collectpads_chain):
4557         * gst/base/gstcollectpads.h: Handle newsegment and store informations
4558         in CollectData.
4559
4560 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
4561
4562         * docs/gst/gstreamer-sections.txt:
4563         * gst/gst.c:
4564         * gst/gsterror.h:
4565         * tools/gst-inspect.c: (main):
4566         * tools/gst-launch.c: (main):
4567         * tools/gst-run.c: (main):
4568         * tools/gst-xmlinspect.c: (main):
4569           fix GOption context leaks
4570           doc fixes
4571
4572 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4573
4574         * gst/gstbus.c:
4575           use HAVE_UNISTD_H
4576         * win32/common/config.h:
4577           update config
4578         * win32/vs6/grammar.dsp:
4579         * win32/vs6/libgstelements.dsp:
4580         * win32/vs6/libgstreamer.dsp:
4581           update vs6 files
4582
4583 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4584
4585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4586         * gst/base/gstbasesrc.c: (gst_base_src_query):
4587           fix more guint64<->gdouble conversions
4588
4589 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4590
4591         * Makefile.am:
4592           add win32-update target
4593         * win32/common/gstconfig.h:
4594         * win32/common/gstenumtypes.c:
4595         * win32/common/gstenumtypes.h:
4596         * win32/common/gstversion.h:
4597           add files that visual studio can't generate
4598
4599 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4600
4601         * Makefile.am:
4602           add a win32-update target
4603         * configure.ac:
4604
4605 2005-10-12  Wim Taymans  <wim@fluendo.com>
4606
4607         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4608         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
4609         * gst/gstelement.c: (gst_element_commit_state),
4610         (gst_element_set_state):
4611         Protect flags with proper lock.
4612         unref provided cached clock in dispose.
4613
4614 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4615
4616         * gst/gst.c:
4617         * gst/gstminiobject.h:
4618         * gst/gstpad.h:
4619         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
4620           removed unused flags from miniobject
4621           doc fixes
4622
4623 2005-10-12  Wim Taymans  <wim@fluendo.com>
4624
4625         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
4626         (gst_file_sink_event), (gst_file_sink_render):
4627         Flush before seeking.
4628
4629 2005-10-12  Andy Wingo  <wingo@pobox.com>
4630
4631         * gst/gst.c (gst_init_check): Ignore unknown options, as has
4632         always been the case.
4633
4634 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
4635
4636         * check/gst/gstbin.c: (GST_START_TEST):
4637         * docs/gst/gstreamer-sections.txt:
4638         * gst/base/gstbasesink.c: (gst_base_sink_init):
4639         * gst/base/gstbasesrc.c: (gst_base_src_init),
4640         (gst_base_src_get_range), (gst_base_src_check_get_range),
4641         (gst_base_src_start), (gst_base_src_stop):
4642         * gst/base/gstbasesrc.h:
4643         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
4644         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4645         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
4646         (bin_bus_handler):
4647         * gst/gstbin.h:
4648         * gst/gstbuffer.h:
4649         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
4650         * gst/gstbus.h:
4651         * gst/gstelement.c: (gst_element_is_locked_state),
4652         (gst_element_set_locked_state), (gst_element_commit_state),
4653         (gst_element_set_state):
4654         * gst/gstelement.h:
4655         * gst/gstindex.c: (gst_index_init):
4656         * gst/gstindex.h:
4657         * gst/gstminiobject.h:
4658         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
4659         (gst_object_set_parent):
4660         * gst/gstobject.h:
4661         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
4662         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
4663         * gst/gstpad.h:
4664         * gst/gstpadtemplate.h:
4665         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
4666         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4667         * gst/gstpipeline.h:
4668         * gst/indexers/gstfileindex.c: (gst_file_index_load),
4669         (gst_file_index_commit):
4670         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
4671         * testsuite/pad/link.c: (gst_test_src_init),
4672         (gst_test_filter_init), (gst_test_sink_init):
4673         * testsuite/states/locked.c: (main):
4674           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
4675           moved bitshift from macro to enum definition
4676
4677 2005-10-12  Wim Taymans  <wim@fluendo.com>
4678
4679         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
4680         * gst/elements/gstfilesink.c: (gst_file_sink_event),
4681         (gst_file_sink_render):
4682         Some more debugging info.
4683
4684 2005-10-12  Wim Taymans  <wim@fluendo.com>
4685
4686         * docs/design/part-states.txt:
4687         * tools/gst-launch.c: (main):
4688         Some doc updates.
4689         Revert non-intentional change.
4690
4691 2005-10-12  Wim Taymans  <wim@fluendo.com>
4692
4693         * check/gst/gstbin.c: (GST_START_TEST):
4694         * check/gst/gstelement.c: (GST_START_TEST):
4695         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
4696         * check/gst/gstghostpad.c: (GST_START_TEST):
4697         * check/gst/gstpipeline.c: (GST_START_TEST):
4698         * check/pipelines/simple_launch_lines.c: (run_pipeline):
4699         * check/states/sinks.c: (GST_START_TEST):
4700         * gst/elements/gsttypefindelement.c: (stop_typefinding):
4701         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4702         (gst_bin_remove_func), (gst_bin_get_state_func),
4703         (gst_bin_recalc_state), (gst_bin_change_state_func),
4704         (bin_bus_handler):
4705         * gst/gstelement.c: (gst_element_get_state_func),
4706         (gst_element_get_state), (gst_element_abort_state),
4707         (gst_element_commit_state), (gst_element_set_state),
4708         (gst_element_change_state), (gst_element_change_state_func):
4709         * gst/gstelement.h:
4710         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
4711         (gst_pipeline_provide_clock_func):
4712         * gst/gstutils.c: (gst_element_link_pads_filtered):
4713         * tools/gst-launch.c: (main):
4714         * tools/gst-typefind.c: (main):
4715         Use GstClockTime in _get_state() instead of GTimeVal.
4716         Remove old code in gstutils.c
4717
4718 2005-10-12  Andy Wingo  <wingo@pobox.com>
4719
4720         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
4721         removed.
4722
4723         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
4724         there is no task. Shouldn't affect any code, as nothing in our
4725         plugins checks this return value.
4726         (gst_pad_stop_task): Also take the stream lock if the pad has no
4727         task. Docs updated.
4728
4729 2005-10-12  Wim Taymans  <wim@fluendo.com>
4730
4731         * gst/gstpad.c: (pre_activate), (post_activate),
4732         (gst_pad_activate_pull), (gst_pad_activate_push):
4733         Cleanup activation code. Reset old state if
4734         activation failed.
4735
4736 2005-10-12  Wim Taymans  <wim@fluendo.com>
4737
4738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4739         (gst_base_sink_change_state):
4740         No need to prerol after receiving EOS.
4741
4742         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
4743         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
4744         * gst/elements/gstidentity.c: (gst_identity_event):
4745         Print events more verbosely.
4746
4747 2005-10-12  Wim Taymans  <wim@fluendo.com>
4748
4749         * check/Makefile.am:
4750         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4751         * check/states/sinks2.c:
4752         Moved sinks2 testcode in sinks check.
4753
4754         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4755         (gst_bin_remove_func), (gst_bin_recalc_state),
4756         (gst_bin_change_state_func), (bin_bus_handler):
4757         Fix potential race condition when _get_state() iterated over an
4758         ASYNC element right before it posted a state completion.
4759
4760         * gst/gstclock.h:
4761         Do proper cast here.
4762
4763         * gst/gstevent.c: (gst_event_new_newsegment),
4764         (gst_event_parse_newsegment):
4765         A playback rate of 0.0 is not allowed.
4766
4767 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4768
4769         * win32/common/config.h:
4770         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
4771         (_trewinddir), (_ttelldir), (_tseekdir):
4772         * win32/common/dirent.h:
4773         * win32/common/gtchar.h:
4774         * win32/common/libgstbase.def:
4775         * win32/common/libgstreamer.def:
4776         * win32/vs6/grammar.dsp:
4777         * win32/vs6/gst_inspect.dsp:
4778         * win32/vs6/gst_launch.dsp:
4779         * win32/vs6/gstreamer.dsw:
4780         * win32/vs6/libgstbase.dsp:
4781         * win32/vs6/libgstelements.dsp:
4782         * win32/vs6/libgstreamer.dsp:
4783           Visual Studio 6 project files, and a new common directory.
4784           Phear.
4785
4786 2005-10-11  Wim Taymans  <wim@fluendo.com>
4787
4788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4789         (gst_base_sink_do_sync), (gst_base_sink_query),
4790         (gst_base_sink_change_state):
4791         * gst/base/gstbasesink.h:
4792         Correctly parse newsegment info.
4793
4794 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4795
4796         * gst/gst.c: (init_post):
4797           split plugin paths correctly
4798
4799 2005-10-11  Wim Taymans  <wim@fluendo.com>
4800
4801         * check/gst/gstevent.c: (GST_START_TEST):
4802         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4803         (gst_base_sink_change_state):
4804         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
4805         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4806         * gst/elements/gstfilesink.c: (gst_file_sink_event):
4807         * gst/gstevent.c: (gst_event_new_newsegment),
4808         (gst_event_parse_newsegment):
4809         * gst/gstevent.h:
4810         Added extra flag to newsegment for future API freeze.
4811         Updated check and base elements.
4812
4813 2005-10-11  Julien MOUTTE  <julien@moutte.net>
4814
4815         * gst/base/gstcollectpads.c: (gst_collectpads_init),
4816         (gst_collectpads_add_pad), (gst_collectpads_pop),
4817         (gst_collectpads_event), (gst_collectpads_chain):
4818         * gst/base/gstcollectpads.h: Handle EOS correctly.
4819
4820 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4821
4822         * tools/gst-launch.c: (main):
4823           more null protecting
4824
4825 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4826
4827         * gst/gst-i18n-lib.h:
4828           check for ENABLE_NLS, not GETTEXT_PACKAGE
4829         * gst/gstregistry.c: (gst_registry_add_plugin),
4830         (gst_registry_scan_path_level),
4831         (_gst_registry_remove_cache_plugins):
4832           protect possibly NULL strings
4833         * gst/parse/types.h:
4834           config.h already included before
4835         * tools/gst-inspect.c: (main):
4836           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
4837           check for ENABLE_NLS, not GETTEXT_PACKAGE
4838         * tools/gst-launch.c: (main):
4839           check for ENABLE_NLS, not GETTEXT_PACKAGE
4840
4841 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4842
4843         * configure.ac:
4844           if we don't have glib, fail before testing 2.8
4845         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
4846           fix a leak, should fix plugins-base testsuite
4847
4848 2005-10-11  Andy Wingo  <wingo@pobox.com>
4849
4850         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
4851         take the mode we're going to as an arg. Go head and set the mode
4852         and flushing flags now, so that if the activate function starts a
4853         thread all the flags will be in the right state.
4854         (post_activate): Renamed also. Just handle making sure streaming
4855         finishes for the deactivation case, and setting the deactivated
4856         mode.
4857         (gst_pad_set_active): Complain loudly if deactivation fails.
4858         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
4859         (gst_pad_activate_push): Adapt to pre/post_activate changes,
4860         remove the terrible hack.
4861
4862 2005-10-11  Wim Taymans  <wim@fluendo.com>
4863
4864         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4865         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
4866         (gst_bin_recalc_state), (gst_bin_change_state_func),
4867         (gst_bin_dispose), (bin_bus_handler):
4868         * gst/gstbin.h:
4869         Prepare to make current EOS message queue more generic.
4870         Fix some typos.
4871
4872         * gst/gstevent.c: (gst_event_new_newsegment),
4873         (gst_event_parse_newsegment):
4874         * gst/gstevent.h:
4875         Rename base to stream_time.
4876
4877         * gst/gstmessage.h:
4878         Fix typo in docs.
4879
4880 2005-10-11  Wim Taymans  <wim@fluendo.com>
4881
4882         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
4883         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
4884         (gst_bin_change_state_func), (bin_bus_handler):
4885         * gst/gstbin.h:
4886         Work on proper clock selection.
4887
4888 2005-10-11  Edward Hervey  <edward@fluendo.com>
4889
4890         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
4891         * libs/gst/controller/gstcontroller.h:
4892         Added GList* version of _remove_properties() in order to be able to wrap
4893         it in bindings.
4894
4895 2005-10-11  Wim Taymans  <wim@fluendo.com>
4896
4897         * docs/design/part-states.txt:
4898         Some more docs.
4899
4900         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
4901         (gst_bin_change_state_func), (bin_bus_handler):
4902         Doc updates. Don't distribute the same clock over and over again.
4903
4904         * gst/gstclock.c:
4905         * gst/gstclock.h:
4906         Doc updates.
4907
4908         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
4909         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
4910         (gst_pad_send_event):
4911         * gst/gstpad.h:
4912         Make probe emission threadsafe again.
4913         Register quarks and move _get_name() from utils.
4914         Doc updates.
4915
4916         * gst/gstpipeline.c: (gst_pipeline_class_init),
4917         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4918         Only redistribute the clock of it changed.
4919
4920         * gst/gstsystemclock.h:
4921         Doc updates. 
4922
4923         * gst/gstutils.c:
4924         * gst/gstutils.h:
4925         Moved the _flow_get_name() to GstPad.
4926
4927 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4928
4929         * check/gst-libs/gdp.c: (GST_START_TEST):
4930         * check/gst/gstcaps.c: (GST_START_TEST):
4931         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
4932         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
4933         (gst_dp_packet_from_caps):
4934           fix more valgrind warnings before turning up the heat
4935
4936 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4937
4938         * gst/parse/grammar.y:
4939           some cleanup before the hacking
4940
4941 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4942
4943         * gst/base/gstbasesrc.c: (gst_base_src_query):
4944           use conversions
4945         * gst/gstutils.c: (gst_guint64_to_gdouble),
4946         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
4947         * gst/gstutils.h:
4948           externalize, basesrc uses it
4949           obviously the implementation needs testing
4950
4951 2005-10-10  Wim Taymans  <wim@fluendo.com>
4952
4953         * tests/sched/Makefile.am:
4954         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
4955         (make_pipeline3), (make_pipeline4), (print_elem), (main):
4956
4957 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4958
4959         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
4960           apparently converting from guint64 to double is not implemented
4961           on MSVC
4962
4963 2005-10-10  Wim Taymans  <wim@fluendo.com>
4964
4965         * check/Makefile.am:
4966         * check/generic/states.c: (GST_START_TEST):
4967         * check/gst/gstbin.c: (GST_START_TEST):
4968         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
4969         * check/states/sinks.c: (GST_START_TEST):
4970         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
4971         (main):
4972         Check fixes, use API as stated in design docs, remove hacks.
4973
4974         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4975         (gst_base_sink_change_state):
4976         Catch stopping our task while we're shutting down.
4977
4978         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4979         (gst_bin_remove_func), (gst_bin_get_state_func),
4980         (gst_bin_recalc_state), (gst_bin_change_state_func),
4981         (bin_bus_handler):
4982         * gst/gstbin.h:
4983         * gst/gstelement.c: (gst_element_init),
4984         (gst_element_get_state_func), (gst_element_abort_state),
4985         (gst_element_commit_state), (gst_element_lost_state),
4986         (gst_element_set_state), (gst_element_change_state),
4987         (gst_element_change_state_func):
4988         * gst/gstelement.h:
4989         New state change algorithm (see #318116)
4990
4991         * gst/gstpipeline.c: (gst_pipeline_class_init),
4992         (gst_pipeline_init), (gst_pipeline_set_property),
4993         (gst_pipeline_get_property), (do_pipeline_seek),
4994         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
4995         * gst/gstpipeline.h:
4996         Remove crude state change hacks.
4997
4998         * gst/gstutils.h:
4999         Remove crude hacks.
5000
5001         * tools/gst-launch.c: (main):
5002         Fixes for state change. Needs some more work to fully use the
5003         new stuff.
5004
5005 2005-10-10  Andy Wingo  <wingo@pobox.com>
5006
5007         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
5008
5009         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
5010         this flag, but it's not even in GLib 2.6. Odd. Hack around the
5011         issue.
5012
5013 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5014
5015         * gst/gstiterator.c: (gst_iterator_new):
5016           Fix my previous commit: GTypes passed to gst_iterator_new()
5017           can be fundamental types.
5018
5019 2005-10-10  Wim Taymans  <wim@fluendo.com>
5020
5021         * gst/gstelement.c: (gst_element_iterate_pad_list),
5022         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
5023         (gst_element_iterate_sink_pads):
5024         Use src/sink pads lists for the respective iterators instead
5025         of filtering.
5026
5027 2005-10-10  Andy Wingo  <wingo@pobox.com>
5028
5029         Merged in popt removal + GOption addition patch from Ronald, bug
5030         #169772.
5031
5032         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
5033         GstElement macros around, remove popt-related symbols, add goption
5034         stuff.
5035
5036         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
5037         
5038         * docs/gst/Makefile.am:
5039         * docs/libs/Makefile.am: No POPT_CFLAGS.
5040         
5041         * examples/manual/Makefile.am:
5042         * docs/manual/basics-init.xml: Doc updates with an example.
5043         
5044         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
5045         (gst_init), (parse_one_option), (parse_goption_arg):
5046         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
5047         bit of hand merging and debugging to get the GOption stuff working
5048         tho.
5049         
5050         * tests/Makefile.am:
5051         * tools/Makefile.am:
5052         * tools/gst-inspect.c: (main):
5053         * tools/gst-launch.c: (main):
5054         * tools/gst-run.c: (main):
5055         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
5056
5057 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5058
5059         * gst/gstiterator.c: (gst_iterator_new):
5060           Add assertions to make sure passed GType is likely to really
5061           be a GType (as the compiler won't catch it if the size and
5062           GType arguments get mixed up, see #318447).
5063
5064 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
5065
5066         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5067
5068         * gst/gstbin.c: (gst_bin_iterate_sorted):
5069           Pass GType and size arguments to gst_iterator_new() in the right
5070           order (maybe we should make _new() take the GType as first argument
5071           just like _new_list()?) (#318447).
5072           
5073
5074 2005-10-10  Wim Taymans  <wim@fluendo.com>
5075
5076         * gst/gstelement.c: (gst_element_finalize):
5077         And free the GStaticRecMutex too
5078
5079 2005-10-10  Andy Wingo  <wingo@pobox.com>
5080
5081         * gst/gstelement.c (gst_element_init, gst_element_finalize):
5082         Allocate and free the mutex properly.
5083
5084         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
5085         New macros.
5086         (GstElement): The state_lock is now recursive. Rebuild your
5087         plugins, suckers. Old macros adapted.
5088
5089         * docs/gst/gstreamer-sections.txt: Doc updates.
5090
5091         * gst/gstutils.h:
5092         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
5093         (g_static_rec_cond_wait): Ported from state changes patch, while
5094         we wait on bug #317802 to be solved in a well-distributed GLib.
5095
5096         * gst/gstelement.c (gst_element_change_state_func): Renamed from
5097         gst_element_change_state, variable name changes.
5098         (gst_element_change_state): Split out of gst_element_set_state in
5099         preparation for the state change merge. Doesn't pay attention to
5100         the 'transition' argument.
5101         (gst_element_set_state): Updates, hopefully purely cosmetic.
5102         (gst_element_sync_state_with_parent): MT-safety. Ported from the
5103         state change patch.
5104         (gst_element_get_state_func): Renamed from get_state, cosmetic
5105         changes.
5106
5107 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5108
5109         * gst/elements/gstelements.c:
5110         * win32/GStreamer.vcproj:
5111         * win32/config.h:
5112         * win32/dirent.c: (_tseekdir):
5113         * win32/gst-inspect.vcproj:
5114         * win32/gst-launch.vcproj:
5115         * win32/gstconfig.h:
5116         * win32/gstelements.vcproj:
5117         * win32/gstenumtypes.c: (gst_object_flags_get_type):
5118         * win32/gstreamer.def:
5119         * win32/msvc71.sln:
5120           updates for the win32 build (patch from Sebastien Moutte)
5121
5122 2005-10-10  Andy Wingo  <wingo@pobox.com>
5123
5124         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
5125         gst_bin_get_state, cleaned up (but no logic changes).
5126         (bin_element_is_sink): Comment updates.
5127         (sink_iterator_filter): Remove needless cast.
5128         (gst_bin_iterate_sinks): Doc update.
5129         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
5130         cleaned up (but no logic changes).
5131
5132         * check/states/sinks.c (test_src_sink): Cleanups from the state
5133         change patch.
5134         (test_livesrc_sink): Sync on the state.
5135
5136         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
5137         the state change patch.
5138
5139         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
5140         change patch.
5141
5142         * check/gst/gstbin.c: Merge in some style fixes and additional
5143         checks from Wim's state change patch.
5144
5145 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
5146
5147         * gst/base/gsttypefindhelper.c: (helper_find_peek),
5148         (gst_type_find_helper):
5149           Check whether we have the requested data already in our list of
5150           cached buffers before pulling a new buffer; also make the buffer
5151           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
5152
5153 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5154
5155         * gst/gstcaps.c:
5156         * gst/gstevent.c:
5157           doc updates
5158         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
5159           don't use long long, it's not portable.  Replacing with
5160           gint64 seems to work; let's hope no skeletons fall out of the closet.
5161
5162 2005-10-10  Andy Wingo  <wingo@pobox.com>
5163
5164         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
5165
5166 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
5167
5168         * docs/gst/gstreamer-sections.txt:
5169         * gst/gstevent.c:
5170         * gst/gstevent.h:
5171         * gst/gstinfo.c:
5172         * gst/gstinfo.h:
5173         * gst/gstmessage.c: (gst_message_parse_state_changed):
5174         * gst/gstpad.c:
5175         * gst/gstpad.h:
5176           more docs, fix compilation
5177
5178 2005-10-09  Philippe Khalaf <burger@speedy.org>
5179         * gst/gstmessage.c:
5180           Fixed a few forgotten variables on previous commit
5181
5182 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
5183
5184         * gst/base/gsttypefindhelper.c: (helper_find_peek):
5185           Fix evil typefind crasher: getrange() might return a short
5186           buffer at the end of a file, but gst_type_find_peek() must
5187           either return the full data as requested or NULL, but
5188           never a short buffer.
5189
5190 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5191
5192         * gst/gstmessage.c: (gst_message_new_state_changed),
5193         (gst_message_parse_state_changed):
5194         * gst/gstmessage.h:
5195           don't use "new", it's a C++ keyword
5196
5197 2005-10-08  Wim Taymans  <wim@fluendo.com>
5198
5199         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
5200         * gst/gstelement.c: (gst_element_post_message):
5201         * gst/gstpipeline.c: (gst_pipeline_change_state):
5202         Small docs and debug updates.
5203
5204 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5205
5206         * docs/gst/gstreamer-sections.txt:
5207         * gst/gstelementfactory.c:
5208         * gst/gstevent.c:
5209         * gst/gsttaglist.c:
5210           more docs
5211
5212 2005-10-08  Wim Taymans  <wim@fluendo.com>
5213
5214         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
5215         (gst_bin_dispose), (bin_bus_handler):
5216         Fix typos, add comments.
5217         Clear EOS list when going to PAUSED from any direction and do it
5218         in a threadsafe way.
5219         Get base time in a threadsafe way too.
5220         Fix confusing debug in the change_state function.
5221         Various other small cleanups.
5222         
5223         * gst/gstelement.c: (gst_element_post_message):
5224         Fix very verbose bus posting code.
5225
5226         * gst/gstpipeline.c: (gst_pipeline_class_init),
5227         (gst_pipeline_set_property), (gst_pipeline_get_property),
5228         (gst_pipeline_change_state):
5229         Small ARG_ -> PROP_ cleanup
5230
5231 2005-10-08  Wim Taymans  <wim@fluendo.com>
5232
5233         * gst/gstbin.c: (is_eos), (bin_bus_handler):
5234         Do a less CPU demanding EOS check because we can.
5235
5236 2005-10-08  Wim Taymans  <wim@fluendo.com>
5237
5238         * libs/gst/dataprotocol/dataprotocol.c:
5239         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5240         (gst_dp_packet_from_event):
5241         * libs/gst/dataprotocol/dataprotocol.h:
5242         * libs/gst/dataprotocol/dp-private.h:
5243         It's about time we bump the version number.
5244         Since event types don't fit in the guint8 anymore describing
5245         the payload type, make payload type 16 bits wide.
5246
5247 2005-10-08  Wim Taymans  <wim@fluendo.com>
5248
5249         * docs/design/part-TODO.txt:
5250         * docs/design/part-clocks.txt:
5251         * docs/design/part-events.txt:
5252         * docs/design/part-gstbin.txt:
5253         * docs/design/part-gstelement.txt:
5254         * docs/design/part-gstpipeline.txt:
5255         * docs/design/part-live-source.txt:
5256         * docs/design/part-messages.txt:
5257         * docs/design/part-overview.txt:
5258         * docs/design/part-states.txt:
5259         Many doc updates.
5260
5261 2005-10-08  Wim Taymans  <wim@fluendo.com>
5262
5263         * gst/gstevent.c:
5264         * gst/gstevent.h:
5265         Fix event quark registration.
5266         Add some space between events so we can insert them in the
5267         right groups.
5268
5269 2005-10-08  Wim Taymans  <wim@fluendo.com>
5270
5271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5272         (gst_base_sink_handle_buffer):
5273         Better log message.
5274
5275         * gst/gstbus.h:
5276         * gst/gstelement.h:
5277         More docs.
5278
5279         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
5280         (gst_queue_set_property), (gst_queue_get_property):
5281         * gst/gstqueue.h:
5282         Remove old unused properties.
5283
5284 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
5285         * docs/gst/gstreamer-sections.txt:
5286         * gst/gstmessage.c:
5287         * gst/gstmessage.h:
5288         * gst/gstminiobject.c:
5289         * gst/gstminiobject.h:
5290         * gst/gstobject.h:
5291         * gst/gstpad.h:
5292         * gst/gstutils.h:
5293           lots of new docs and doc fixes
5294
5295 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5296
5297         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
5298         * gst/gstplugin.h:
5299         * gst/gstregistry.c: (gst_registry_lookup_locked),
5300         (gst_registry_scan_path_level):
5301         * gst/gstregistryxml.c: (load_plugin):
5302           Only ever load one plugin for a given plugin basename.
5303           This ensures correct overriding of GST_PLUGIN_PATH over
5304           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
5305           system installed plugins.
5306
5307 2005-10-08  Wim Taymans  <wim@fluendo.com>
5308
5309         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5310         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
5311         Prepare for doing QOS.
5312
5313 2005-10-08  Wim Taymans  <wim@fluendo.com>
5314
5315         * check/gst/gstbin.c: (GST_START_TEST):
5316         * check/pipelines/cleanup.c: (GST_START_TEST):
5317         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
5318         Allow new clock message too.
5319
5320 2005-10-08  Wim Taymans  <wim@fluendo.com>
5321
5322         * gst/gstmessage.c: (gst_message_new_error),
5323         (gst_message_new_warning), (gst_message_new_tag),
5324         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5325         (gst_message_new_clock_lost), (gst_message_new_new_clock),
5326         (gst_message_new_segment_start), (gst_message_new_segment_done),
5327         (gst_message_parse_state_changed),
5328         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
5329         (gst_message_parse_new_clock):
5330         * gst/gstmessage.h:
5331         Also carry the clock in question.
5332
5333 2005-10-08  Wim Taymans  <wim@fluendo.com>
5334
5335         * gst/gstmessage.c: (gst_message_new_custom),
5336         (gst_message_new_eos), (gst_message_new_error),
5337         (gst_message_new_warning), (gst_message_new_tag),
5338         (gst_message_new_state_changed), (gst_message_new_clock_provide),
5339         (gst_message_new_new_clock), (gst_message_new_segment_start),
5340         (gst_message_new_segment_done), (gst_message_parse_state_changed),
5341         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
5342         * gst/gstmessage.h:
5343         Clean up.
5344         Added clock related messages.
5345
5346         * gst/gstpipeline.c: (gst_pipeline_change_state):
5347         Post message when the clock changed.
5348
5349         * tools/gst-launch.c: (event_loop):
5350         Print new clock.
5351
5352 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
5353
5354         * tools/gst-inspect.c: (print_element_properties_info):
5355           Can't pass NULL strings to g_print() on windows.
5356
5357 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5358
5359         * docs/Makefile.am:
5360         * docs/gst/Makefile.am:
5361         * docs/gst/gstreamer-docs.sgml:
5362         * docs/gst/running.xml:
5363         * docs/version.entities.in:
5364           add a chapter on running GStreamer.
5365           document GST_DEBUG and GST_PLUGIN* env vars
5366
5367 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5368
5369         * Makefile.am:
5370           remove include dir
5371         * configure.ac:
5372           remove PLUGINS_BUILDDIR stuff
5373         * gst/gst.c: (init_post):
5374           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
5375         * idiottest.mak:
5376           remove, it was condescending and not needed
5377
5378 2005-10-08  Wim Taymans  <wim@fluendo.com>
5379
5380         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
5381         (gst_base_sink_handle_object), (gst_base_sink_event),
5382         (gst_base_sink_wait), (gst_base_sink_handle_event),
5383         (gst_base_sink_change_state):
5384         * gst/base/gstbasesink.h:
5385         Repost EOS message while going to PLAYING if still EOS.
5386         Make sure that when receiving a FLUSH_START we don't attempt
5387         to sync on the clock anymore.
5388
5389 2005-10-08  Wim Taymans  <wim@fluendo.com>
5390
5391         * tools/gst-launch.c: (event_loop):
5392         Better message printout.
5393
5394 2005-10-08  Wim Taymans  <wim@fluendo.com>
5395
5396         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
5397         (gst_bin_child_proxy_get_children_count):
5398         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
5399         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
5400         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
5401         (gst_child_proxy_set_valist):
5402         * gst/parse/grammar.y:
5403         Make ChildProxy threadsafe and fix mem leaks.
5404
5405 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5406
5407         * gst/gst.c: (init_post):
5408           debug the GST_PLUGIN_ env vars
5409
5410 2005-10-08  Wim Taymans  <wim@fluendo.com>
5411
5412         * check/gst/gstbin.c: (GST_START_TEST):
5413         * check/gst/gstmessage.c: (GST_START_TEST):
5414         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5415         * gst/gstelement.c: (gst_element_commit_state),
5416         (gst_element_lost_state):
5417         * gst/gstmessage.c: (gst_message_new_state_changed),
5418         (gst_message_parse_state_changed):
5419         * gst/gstmessage.h:
5420         * tools/gst-launch.c: (event_loop):
5421         Added extra field to STATE_CHANGE message with the pending
5422         state, which will be different from the new state soon.
5423
5424 2005-10-08  Wim Taymans  <wim@fluendo.com>
5425
5426         * gst/gstbus.c: (gst_bus_pop):
5427         * gst/gstclock.c:
5428         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
5429         Small cleanups and doc updates.
5430
5431 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
5432
5433         * gst/gst.c: (init_pre):
5434         * gst/gstbin.c: (gst_bin_add_func):
5435           log distributing clocks and base time
5436         * gst/gstregistry.c: (gst_registry_add_plugin),
5437         (gst_registry_scan_path_level), (gst_registry_scan_path):
5438           clean up the debugging output a little
5439         * gst/gstutils.c: (gst_element_state_get_name):
5440           warn about a memleak (I've actually seen this be used, though
5441           it was probably a bug)
5442
5443 2005-10-07  Wim Taymans  <wim@fluendo.com>
5444
5445         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5446         (gst_base_src_init), (gst_base_src_default_newsegment),
5447         (gst_base_src_newsegment), (gst_base_src_do_seek),
5448         (gst_base_src_loop), (gst_base_src_start):
5449         * gst/base/gstbasesrc.h:
5450         Make the newsegment event customizable by subclasses.
5451
5452 2005-10-07  Wim Taymans  <wim@fluendo.com>
5453
5454         * gst/gstevent.c: (gst_event_new_buffersize),
5455         (gst_event_parse_buffersize):
5456         * gst/gstevent.h:
5457         New event for future idea.
5458
5459 2005-10-07  Andy Wingo  <wingo@pobox.com>
5460
5461         * gst/gstelement.c (gst_element_post_message): Doc update.
5462
5463         * docs/gst/gstreamer-sections.txt: Update.
5464
5465         * gst/gstmessage.c (gst_message_new_application): Made into a
5466         function like honest API calls.
5467         (gst_message_new_element): New message type.
5468
5469         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
5470
5471         * check/elements/fakesrc.c (test_no_preroll): New check, checks
5472         that setting a live fakesrc to PAUSED returns NO_PREROLL both
5473         times.
5474
5475         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
5476         NO_PREROLL from gst_element_change_state to fall through.
5477
5478 2005-10-07  Wim Taymans  <wim@fluendo.com>
5479
5480         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
5481         (gst_ghost_pad_do_activate_push):
5482         Activating a ghostpad with no internal pad in push mode
5483         is ok.
5484
5485 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5486
5487         * gst/gstobject.h:
5488           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
5489           Fixes compilation on Windows.
5490
5491 2005-10-07  Michael Smith <msmith@fluendo.com>
5492
5493         * tools/gst-inspect.c:
5494           Print out feature and plugin count at the end when printing out
5495           all features.
5496
5497 2005-10-04  Michael Smith <msmith@fluendo.com>
5498
5499         * gst/gsterror.c: (_gst_stream_errors_init):
5500           Add another error string used in a few existing plugins.
5501
5502         * gst/gstplugin.c:
5503         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5504         * tools/gst-inspect.c: (print_element_info):
5505           When a feature disappears from a plugin (and the feature exists in
5506           the cached registry file), things went horribly wrong. This isn't a
5507           complete fix, we should actually be removing the 'missing' features
5508           from the features list when we load the actual plugin. That's not
5509           yet implemented. 
5510
5511 2005-10-04  Johan Dahlin  <johan@gnome.org>
5512
5513         * check/gst/gstiterator.c: (GST_START_TEST):
5514         * gst/gstbin.c: (gst_bin_iterate_elements),
5515         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
5516         * gst/gstelement.c: (gst_element_iterate_pads):
5517         * gst/gstformat.c: (gst_format_iterate_definitions):
5518         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
5519         (gst_iterator_new_list), (gst_iterator_filter):
5520         * gst/gstiterator.h:
5521         * gst/gstquery.c: (gst_query_type_iterate_definitions):
5522         Add a GType to GstIterator, update callsites and tests.
5523
5524 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5525
5526         * gst/gstpad.c: (gst_pad_event_default_dispatch):
5527           give events a chance to be handled by event probes when the pad
5528           is not linked
5529
5530 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5531
5532         * gst/gstevent.c: (gst_event_type_get_name),
5533         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
5534         * gst/gstevent.h:
5535           add string representations for event types
5536
5537 2005-10-06  Wim Taymans  <wim@fluendo.com>
5538
5539         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
5540         Don't use NULL pointers.
5541
5542 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5543
5544         * gst/gst_private.h:
5545         * gst/gstbus.c:
5546         * gst/gstelement.c:
5547         * gst/gstinfo.c:
5548         * gst/gstpluginfeature.c:
5549           widen the debug category in output to fit the biggest one we have
5550           add a bus category and use it
5551           play with the colors
5552           fix up some categories
5553
5554 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5555
5556         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
5557           add push activation of sink ghost pads.
5558           Andye, please verify
5559
5560 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5561
5562         * gst/gstutils.c: (gst_element_link_pads):
5563           fix a bug in the case where neither element has a pad
5564         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
5565           add a test for that case
5566
5567 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5568
5569         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
5570           emit have-data before checking for peers.  This allows
5571           for probe handlers to connect elements.  This helps autopluggers.
5572         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
5573         (gst_pad_suite):
5574           add six checks, linked/unlinked with no/true/false probe
5575
5576 2005-10-04  Wim Taymans  <wim@fluendo.com>
5577
5578         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
5579         (gst_fake_sink_event), (gst_fake_sink_preroll),
5580         (gst_fake_sink_render), (gst_fake_sink_change_state):
5581         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
5582         (gst_fake_src_get_property), (gst_fake_src_create),
5583         (gst_fake_src_stop):
5584         * gst/elements/gstidentity.c: (gst_identity_stop):
5585         Protect last_message with lock.
5586
5587 2005-10-04  Edward Hervey  <edward@fluendo.com>
5588
5589         * gst/gstformat.h: 
5590         Added precision in the comments for GST_FORMAT_DEFAULT
5591
5592 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
5593
5594         * tools/gst-launch.c: (main):
5595           Don't try to run erroneous pipelines.
5596
5597 2005-10-04  Julien MOUTTE  <julien@moutte.net>
5598
5599         * gst/gstbus.c: We don't need this header.
5600
5601 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5602
5603         * configure.ac:
5604           back to development
5605
5606 === release 0.9.3 ===
5607
5608 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5609
5610         * README:
5611         * configure.ac:
5612           Releasing 0.9.3, "Unregistered"
5613
5614 2005-10-03  Andy Wingo  <wingo@pobox.com>
5615
5616         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
5617         whereby calling a pad's activatepush() function can start a thread
5618         that starts to push or pull before the pad gets the FLUSHING flag
5619         unset. Hack around it by holding the stream lock until the flag is
5620         set. Need to replace this with a proper solution. Together with
5621         the ghost pad fixes, this fixes mp3 playing/tagreading.
5622
5623         * docs/design/part-gstghostpad.txt: Add a note about activation of
5624         proxy pads outside of ghost pads.
5625
5626         * gst/gstghostpad.c: Implement the ghost pad activation design.
5627
5628 2005-10-02  Andy Wingo  <wingo@pobox.com>
5629
5630         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
5631         It is volatile, after all.
5632
5633         * docs/design/part-gstghostpad.txt: Flesh out activation with
5634         ghost pads.
5635
5636         * gst/base/gstbasesrc.c (gst_base_src_init): Use
5637         GST_DEBUG_FUNCPTR.
5638
5639 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
5640
5641         * configure.ac:
5642           Fix (unused) AM_CONDITIONAL tests.
5643
5644 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
5645
5646         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
5647
5648         * gst/gstutils.c: (gst_pad_query_convert):
5649           Add assertion that makes sure src_val is >=0, just like
5650           gst_query_new_convert() has. (#315895)
5651
5652 2005-09-30  Edward Hervey  <edward@fluendo.com>
5653
5654         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
5655         Let's not iterate pads we're not interested in, it avoids getting 
5656         sky-high refcounts on sinkpad.
5657
5658 2005-09-30  Wim Taymans  <wim@fluendo.com>
5659
5660         * gst/gstelement.c: (gst_element_set_state),
5661         (gst_element_change_state):
5662         Small tweak, element in ASYNC remains ASYNC.
5663
5664 2005-09-30  Wim Taymans  <wim@fluendo.com>
5665
5666         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
5667         Only error is an error.
5668
5669         * gst/gstbin.c: (gst_bin_change_state):
5670         Better debugging.
5671
5672         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
5673         Also call pad_block in pad alloc.
5674
5675         * gst/gstutils.c: (gst_flow_get_name):
5676         Better debugging.
5677
5678 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5679
5680         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5681         (gst_base_src_get_range):
5682           Fix documentation typos. Add some more debug info.
5683
5684 2005-09-29  David Schleef  <ds@schleef.org>
5685
5686         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
5687           more end-user friendly.
5688         * tools/gst-inspect.c: (main): Check if command-line argument is
5689           a file and attempt to load that file as a plugin.
5690
5691 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5692
5693         * check/gst/gstbin.c:
5694         * check/states/sinks.c:
5695           fix tests for the new warning
5696         * check/gst/gstpipeline.c:
5697           add a test for pipeline and bus interaction
5698         * gst/gstelement.c:
5699           elements should be NULL if they get disposed; add a warning if not
5700
5701 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5702
5703         * gst/gstobject.c:
5704           for 2.6 refcounting, make debug log more correct by printing
5705           the actual refcounts at the time of swap (Wim)
5706
5707 2005-09-29  Andy Wingo  <wingo@pobox.com>
5708
5709         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
5710         removes signal watches previously added via
5711         gst_bus_add_signal_watch.
5712         (gst_bus_add_signal_watch): Don't return the source id, just store
5713         it on the bus if there wasn't an id already.
5714
5715         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
5716         add_signal_watch and remove_signal_watch.
5717
5718 2005-09-29  Edward Hervey  <edward@fluendo.com>
5719
5720         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
5721         Better if we actually iterate the list :)
5722
5723 2005-09-29  Wim Taymans  <wim@fluendo.com>
5724
5725         * check/gst/gstbin.c: (GST_START_TEST):
5726         Change for new bus API.
5727
5728         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
5729         (send_messages), (GST_START_TEST), (gstbus_suite):
5730         Change for new bus signal API.
5731
5732         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
5733         (gst_bus_source_prepare), (gst_bus_source_check),
5734         (gst_bus_create_watch), (gst_bus_add_watch_full),
5735         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
5736         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
5737         * gst/gstbus.h:
5738         Remove support for multiple GSources operating on different
5739         message types as it is too complex and unneeded when using
5740         signals.
5741         Added support for receiving signals from the bus.
5742
5743 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5744
5745         * docs/libs/tmpl/gstdataprotocol.sgml:
5746         * docs/manual/advanced-dataaccess.xml:
5747         * gst/elements/gstcapsfilter.c:
5748         * gst/gstutils.c:
5749           rename filter-caps to caps property
5750
5751 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5752
5753         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5754           More robust fraction string parsing.
5755
5756         * docs/pwg/appendix-porting.xml:
5757           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
5758
5759 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
5760
5761         * gst/gstcaps.c: (gst_caps_do_simplify):
5762           Thou shalt not free a structure and then continue using it
5763           in the next loop iteration.
5764
5765         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
5766         (gst_caps_suite):
5767           Add test case for caps simplification.
5768
5769 2005-09-29  Wim Taymans  <wim@fluendo.com>
5770
5771         * check/gst/gstbin.c: (GST_START_TEST):
5772         Oops.
5773
5774 2005-09-29  Wim Taymans  <wim@fluendo.com>
5775
5776         * check/gst/gstbin.c: (GST_START_TEST):
5777         Add bus to bin.
5778
5779         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5780         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5781         (find_element), (gst_bin_sort_iterator_next),
5782         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5783         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5784         (gst_bin_change_state), (gst_bin_dispose):
5785         A bin does not have a bus, it gets the bus from the parent.
5786
5787         * gst/gstelement.c: (gst_element_requires_clock),
5788         (gst_element_provides_clock), (gst_element_is_indexable),
5789         (gst_element_is_locked_state), (gst_element_change_state),
5790         (gst_element_set_bus_func):
5791         Small cleanups.
5792
5793         * gst/gstpipeline.c: (gst_pipeline_class_init),
5794         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
5795         The pipeline provides a bus.
5796
5797 2005-09-28  Johan Dahlin  <johan@gnome.org>
5798
5799         * gst/gstmessage.c (gst_message_parse_state_changed): Use
5800         gst_structure_get_enum instead of gst_structure_get_int
5801
5802         * gst/gststructure.c (gst_structure_get_enum): Impl.
5803
5804         * gst/gststructure.h (gst_structure_get_enum): Add
5805
5806         * docs/gst/gstreamer-sections.txt: Ditto
5807
5808         * gst/gstmessage.c (gst_message_new_state_changed): Use
5809         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
5810         which does introspection.
5811         Reviewed by Christian Schaller
5812
5813 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5814
5815         * gst/gstinfo.c: (gst_debug_log_default):
5816           don't do dummy g_strdup()s
5817         * libs/gst/controller/gstcontroller.c:
5818         (on_object_controlled_property_changed),
5819         (gst_controlled_property_new), (gst_controller_new_valist),
5820         (gst_controller_new_list),
5821         (gst_controller_remove_properties_valist), (gst_controller_set),
5822         (gst_controller_get), (gst_controller_sync_values),
5823         (gst_controller_get_value_array), (_gst_controller_class_init),
5824         (gst_controller_get_type):
5825         * libs/gst/controller/gstcontroller.h:
5826         * libs/gst/controller/gstinterpolation.c:
5827         (gst_controlled_property_find_timed_value_node):
5828           convert // to /**/ comments
5829
5830 2005-09-28  Wim Taymans  <wim@fluendo.com>
5831
5832         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
5833         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
5834         (gst_bus_sync_signal_handler):
5835         * gst/gstbus.h:
5836         Added async-message and sync-message signals to the bus.
5837         Added helper BusFunc to emit signals for all posted messages.
5838
5839         * gst/gstmessage.c: (gst_message_type_get_name),
5840         (gst_message_type_to_quark), (gst_message_get_type):
5841         * gst/gstmessage.h:
5842         Register quarks for message names.
5843
5844 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
5845
5846         * docs/libs/gstreamer-libs-sections.txt:
5847         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
5848         (gst_controller_new_list):
5849         * libs/gst/controller/gstcontroller.h:
5850           added another constructor for language bindings
5851
5852 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5853
5854         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
5855           add another check
5856         * gst/gstbus.c:
5857           add some doc
5858         * gst/gstinfo.c: (_gst_debug_init):
5859           slightly more readable color for refcount debugging
5860
5861 2005-09-28  Wim Taymans  <wim@fluendo.com>
5862
5863         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
5864         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
5865         (find_element), (gst_bin_sort_iterator_next),
5866         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5867         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5868         (gst_bin_change_state), (gst_bin_dispose):
5869         Small doc fixes. get_clock -> provide_clock.
5870
5871         * gst/gstelement.c: (gst_element_class_init),
5872         (gst_element_provides_clock), (gst_element_provide_clock),
5873         (gst_element_get_clock), (gst_element_commit_state),
5874         (gst_element_lost_state):
5875         * gst/gstelement.h:
5876         Make get/set_clock() symetric. Add provide_clock vmethod since
5877         that is actually what this function does.
5878
5879         * gst/gstpipeline.c: (gst_pipeline_class_init),
5880         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
5881         (gst_pipeline_get_clock):
5882         get_clock -> provide_clock.
5883
5884 2005-09-28  Andy Wingo  <wingo@pobox.com>
5885
5886         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
5887         lieu of real docs...
5888
5889         * gst/elements/gstfdsrc.c: Cleaned up a bit.
5890
5891 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
5892
5893         * gst/elements/gstcapsfilter.c:
5894         * gst/elements/gstfakesink.c:
5895         * gst/elements/gstfakesrc.c:
5896         * gst/elements/gstfdsink.c:
5897         * gst/elements/gstfdsrc.c:
5898         * gst/elements/gstfilesink.c:
5899         * gst/elements/gstfilesrc.c:
5900         * gst/elements/gstidentity.c:
5901         * gst/elements/gsttee.c:
5902         * gst/elements/gsttypefindelement.c:
5903           Make element details static.
5904
5905 2005-09-28  Wim Taymans  <wim@fluendo.com>
5906
5907         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5908         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5909         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5910         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5911         (gst_bin_change_state), (gst_bin_dispose):
5912         Some documentation updates.
5913         Clean up dispose handlers.
5914
5915         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
5916         * gst/gstpad.c: (gst_pad_dispose):
5917         Clean up dispose handler.
5918
5919         * gst/gstpipeline.c: (gst_pipeline_change_state):
5920         Removed spurious UNLOCK.
5921
5922 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
5923
5924         * docs/gst/gstreamer-sections.txt:
5925         * gst/base/gstbasesrc.h:
5926         * gst/gstelement.h:
5927         * gst/gstevent.h:
5928         * gst/gstobject.h:
5929         * gst/gstpad.h:
5930         * gst/gstpipeline.c:
5931         * gst/gstpipeline.h:
5932         * gst/gstutils.h:
5933         * gst/gstxml.h:
5934           added two new functions to the docs
5935                 documents all undocumented GstXXXFlags
5936                 completed some incomplete docs 
5937
5938 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5939
5940         * gst/gstbin.c: (gst_bin_dispose):
5941         * gst/gstelement.c: (gst_element_dispose):
5942           remove now useless and leaky resurrection code in dispose
5943         * gst/base/gstbasesrc.c: (gst_base_src_init):
5944         * gst/gstelementfactory.c: (gst_element_factory_create):
5945         * gst/gstobject.c: (gst_object_set_parent):
5946           add some debugging
5947
5948 2005-09-27  Wim Taymans  <wim@fluendo.com>
5949
5950         * docs/design/part-TODO.txt:
5951         Update TODO.
5952
5953         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5954         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5955         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5956         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5957         (gst_bin_change_state):
5958         * gst/gstelement.h:
5959         Remove element variable, we keep element info in the iterator now.
5960
5961 2005-09-27  Andy Wingo  <wingo@pobox.com>
5962
5963         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
5964         values.
5965
5966 2005-09-27  Wim Taymans  <wim@fluendo.com>
5967
5968         * check/gst/gstbin.c: (GST_START_TEST):
5969         Enable check that works now.
5970
5971         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
5972         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
5973         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
5974         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
5975         (gst_bin_change_state):
5976         * gst/gstbin.h:
5977         Redid the state change algorithm using a topological sort algo.
5978         Handles all cases correctly.
5979         Exposed iterator for state change order.
5980
5981         * gst/gstelement.h:
5982         Temp storage for state changes. Need to get rid of this soon.
5983
5984 2005-09-27  Wim Taymans  <wim@fluendo.com>
5985
5986         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
5987         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
5988         (link_fold_func), (gst_pad_proxy_setcaps):
5989         Leak fixes, the fold functions need to unref the passed object and
5990         _get_parent_*() returns ref to parent.
5991
5992 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5993
5994         * check/gst/gstbuffer.c: (test_make_writable):
5995           Plug leak in test case and fix 'make check-valgrind'
5996
5997 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
5998
5999         * gst/gstbuffer.c: (gst_subbuffer_init):
6000           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
6001           works correctly in all circumstances (we could have just copied
6002           the parent buffer's readonly flag, but conceptually it seems
6003           cleaner to mark all subbuffers as read-only). (based on patch
6004           by Alessandro Decina, #314710).
6005         
6006         * check/gst/gstbuffer.c: (create_read_only_buffer),
6007         (test_make_writable), (test_subbuffer_make_writable),
6008         (gst_test_suite):
6009           Add some tests for gst_buffer_make_writable().
6010
6011 2005-09-27  Wim Taymans  <wim@fluendo.com>
6012
6013         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
6014         use gst_object_has_ancestor().
6015
6016         * gst/gstobject.c: (gst_object_has_ancestor):
6017         * gst/gstobject.h:
6018         gst_object_has_ancestor() copied from gstbin.c as it is a
6019         usefull function.
6020
6021         * tests/instantiate/create.c: (create_all_elements):
6022         * tests/lat.c: (handoff_src), (handoff_sink):
6023         * tests/sched/runxml.c: (main):
6024         * tests/seeking/seeking1.c: (main):
6025         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
6026         (main):
6027         Fix compilation of some tests.
6028
6029 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
6030
6031         * gst/gsterror.h:
6032           Remove comment. GST_TYPE_G_ERROR is here to stay,
6033           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
6034           (#316961, #300610).
6035
6036 2005-09-26  Wim Taymans  <wim@fluendo.com>
6037
6038         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6039         Added check that shows error in state change order.
6040
6041 2005-09-26  Wim Taymans  <wim@fluendo.com>
6042
6043         * gst/gstbin.c: (gst_bin_change_state):
6044         Make state change function use 3 queues again, we were
6045         adding elements in the wrong order.
6046
6047         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
6048         Some debug info,
6049
6050         * gst/gstpad.c: (gst_pad_dispose):
6051         Added some debug info first.
6052
6053 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6054
6055         * docs/design/draft-push-pull.txt:
6056         * docs/design/part-events.txt:
6057         * docs/design/part-overview.txt:
6058         * docs/design/part-scheduling.txt:
6059           Replace all _pull_region() with _pull_range()
6060           
6061 2005-09-26  Andy Wingo  <wingo@pobox.com>
6062
6063         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
6064
6065         * check/gst-libs/controller.c: Update for controller api change.
6066
6067         * configure.ac: 
6068         * tests/Makefile.am:
6069         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
6070         over by GLib bug 118439.
6071         
6072         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
6073         routines to a function.
6074
6075         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
6076
6077         * libs/gst/controller/gsthelper.c:
6078         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
6079         (gst_object_sync_values): Renamed from sink_values. Ugh.
6080
6081         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
6082
6083         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
6084         Renamed from controller_key, as it is exported.
6085
6086         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
6087
6088 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
6089
6090         * gst/Makefile.am:
6091         * gst/gst.h:
6092         * gst/gstpad.h:
6093         * gst/gstpadtemplate.h:
6094         * gst/gstquery.c:
6095         * gst/gstquery.h:
6096         * gst/gstqueryutils.c:
6097         * gst/gstqueryutils.h:
6098           remove queryutils headers after moving the two used functions
6099           to gstquery.  also fixes build problem for gstsiddec
6100
6101 2005-09-26  Michael Smith <msmith@fluendo.com>
6102
6103         * tools/gst-launch.1.in:
6104         Correct documentation in manpage of debug syntax
6105
6106 2005-09-26  Wim Taymans  <wim@fluendo.com>
6107
6108         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
6109         (gst_base_src_is_seekable), (gst_base_src_change_state):
6110         Some more debugging info.
6111
6112 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6113
6114         * docs/gst/gstreamer-sections.txt:
6115         * gst/base/gstbasetransform.h:
6116         * gst/gstindex.h:
6117           added more docs
6118
6119 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6120
6121         * docs/gst/.cvsignore:
6122         * docs/gst/tmpl/.cvsignore:
6123         * docs/gst/tmpl/gstpipeline.sgml:
6124         * docs/gst/tmpl/gstplugin.sgml:
6125         * gst/gstpipeline.c:
6126         * gst/gstplugin.c:
6127         * gst/gstplugin.h:
6128           inlined the last two docs files
6129           removed the tmpl directory from cvs (no more conflicts here!)
6130
6131 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
6132
6133         * docs/gst/gstreamer-sections.txt:
6134         * docs/gst/tmpl/.cvsignore:
6135         * docs/gst/tmpl/gstpad.sgml:
6136         * docs/gst/tmpl/gstpadtemplate.sgml:
6137         * gst/Makefile.am:
6138         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
6139         (gst_pad_finalize), (gst_pad_set_pad_template):
6140         * gst/gstpad.h:
6141         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
6142         (gst_pad_template_class_init), (gst_pad_template_init),
6143         (gst_pad_template_dispose), (name_is_valid),
6144         (gst_static_pad_template_get), (gst_pad_template_new),
6145         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
6146         (gst_pad_template_pad_created):
6147         * gst/gstpadtemplate.h:
6148           inlined two more docs
6149           factored gstpadtemplate out of gstpad
6150
6151 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6152
6153         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6154         (test_children_state_change_order_semi_sink):
6155           Fix test case: we can't rely on a fixed state change order when
6156           going from READY => PAUSED because the sink might commit its 
6157           new state first when the first buffer created by the source 
6158           reaches the sink before the source has finished its change state.
6159           (Test case still fails at times, see #316856, comment 5 onwards)
6160
6161 2005-09-24  Wim Taymans  <wim@fluendo.com>
6162
6163         * docs/design/part-events.txt:
6164         * docs/design/part-gstbus.txt:
6165         * docs/design/part-gstpipeline.txt:
6166         * docs/design/part-messages.txt:
6167         * docs/design/part-overview.txt:
6168         * docs/design/part-segments.txt:
6169         * gst/gstbin.c:
6170         * gst/gstbuffer.c:
6171         * gst/gstclock.c:
6172         * gst/gstelement.c:
6173         * gst/gstevent.c:
6174         * gst/gstfilter.c:
6175         * gst/gstiterator.c:
6176         Various documentation updates.
6177
6178 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6179
6180         * gst/gstclock.h:
6181           Well, that's embarassing.  Luckily we weren't using
6182           GST_CLOCK_DIFF anywhere.
6183
6184 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6185
6186         * common/gtk-doc.mak:
6187           don't fail on building XML, FC4 slave shows a bunch of doc
6188           missing bits that I don't get
6189         * gst/gstpad.c:
6190         * gst/gstpipeline.c:
6191         * gst/gststructure.c:
6192           some doc updates
6193
6194 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6195
6196         * docs/design/part-gstbin.txt:
6197         * docs/design/part-gstbus.txt:
6198         * gst/gstbus.c:
6199           Add blurb about how the bus goes into flushing mode and
6200           drops all messages when its bin goes from READY into NULL 
6201           state.
6202
6203 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6204
6205         * docs/gst/gstreamer-sections.txt:
6206         * gst/gststructure.c: (gst_structure_get_clock_time):
6207         * gst/gststructure.h:
6208           add a method to get a GstClockTime out of a structure
6209
6210 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6211
6212         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
6213         (test_children_state_change_order_semi_sink), (gst_bin_suite):
6214           Added test to check state change order in bins (can still be made
6215           to fail here under heavy disk load; bails out with 'Push on pad
6216           fakesink:sink0, but it was not activated in push mode').
6217
6218         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
6219           Fix state change order when there is only a semi sink (#316856)
6220
6221         * gst/gstbus.c: (gst_bus_class_init):
6222           Use _class_peek_parent(), not _class_ref(); fix docs to say
6223           'default main context' instead of 'mainloop' where that is
6224           what's meant.
6225
6226         * gst/gstelement.c: (gst_element_commit_state),
6227         (gst_element_set_state):
6228           Fix typos in debug messages
6229
6230 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6231
6232         * docs/README:
6233         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
6234         * gst/gstpluginfeature.c:
6235         * gst/gstutils.c:
6236           various doc updates
6237         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6238           change an assert into an error until it gets fixed properly
6239
6240 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
6241
6242         * docs/gst/gstreamer-sections.txt:
6243         * docs/gst/tmpl/.cvsignore:
6244         * docs/gst/tmpl/gstelement.sgml:
6245         * docs/gst/tmpl/gstinfo.sgml:
6246         * docs/gst/tmpl/gstobject.sgml:
6247         * gst/gstelement.c:
6248         * gst/gstelement.h:
6249         * gst/gstinfo.c:
6250         * gst/gstinfo.h:
6251         * gst/gstobject.c: (gst_object_class_init):
6252         * gst/gstobject.h:
6253           inlined 3 more biiiig doc files and added some missing docs on the fly
6254
6255 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6256
6257         * check/gst/.cvsignore:
6258         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
6259         * gst/gstregistryxml.c: (load_plugin),
6260         (gst_registry_xml_save_plugin):
6261           put back source in registry.  add checks for find_plugin.
6262         * testsuite/states/bin.c: (assert_state), (empty_bin),
6263         (test_adding_one_element), (main):
6264         * testsuite/states/locked.c: (main):
6265           some compile/run fixes
6266
6267 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6268
6269         * check/gst/gstvalue.c: (GST_START_TEST):
6270           fix leaks in the test itself
6271
6272 2005-09-22  Wim Taymans  <wim@fluendo.com>
6273
6274         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6275         (gst_base_sink_send_event), (gst_base_sink_peer_query),
6276         (gst_base_sink_query):
6277         Prepare for more accurate position reporting and query
6278         handling.
6279
6280         * gst/gstelement.c: (gst_element_send_event),
6281         (gst_element_set_state):
6282         Add some comment.
6283
6284 2005-09-22  Wim Taymans  <wim@fluendo.com>
6285
6286         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
6287         (gst_query_parse_segment):
6288         * gst/gstquery.h:
6289         More documentation.
6290         Add segment query for future use.
6291
6292 2005-09-22  Wim Taymans  <wim@fluendo.com>
6293
6294         * gst/gstbin.c: (gst_bin_add_func):
6295         Some more debug info.
6296
6297         * gst/gstelement.c: (gst_element_send_event):
6298         Simplify send_event
6299
6300         * gst/gstelement.h:
6301         Don't know how flags got broken.
6302
6303         * gst/gstquery.h:
6304         Added new query.
6305
6306 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6307
6308         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
6309           Add simplistic test suite for GST_TYPE_DATE serialisation and
6310           deserialisation.
6311
6312 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
6313
6314         * docs/gst/gstreamer-sections.txt:
6315         * gst/gststructure.c: (gst_structure_set_valist),
6316         (gst_structure_get_date):
6317         * gst/gststructure.h:
6318         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
6319         (gst_date_copy), (gst_value_compare_date),
6320         (gst_value_serialize_date), (gst_value_deserialize_date),
6321         (gst_value_transform_date_string),
6322         (gst_value_transform_string_date), (_gst_value_initialize):
6323         * gst/gstvalue.h:
6324           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
6325           bunch of utility functions along with a hack that checks that
6326           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
6327           is required. Part of the grand scheme in #170777.
6328
6329 2005-09-22  Andy Wingo  <wingo@pobox.com>
6330
6331         * gst/gstconfig.h.in: Psych out gtk-doc.
6332
6333         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
6334
6335         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
6336
6337         * tools/gst-inspect.c (print_element_list): Plug some
6338         inconsequential leaks.
6339
6340         * gst/gstregistry.c (gst_registry_get_default): Doc.
6341
6342         * check/gst/gstplugin.c: 
6343         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
6344         * gst/gstelementfactory.c (gst_element_factory_create): 
6345         * gst/gstindexfactory.c (gst_index_factory_create): Update for
6346         refcount changes.
6347
6348         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
6349         (gst_plugin_feature_load): Doc, don't eat refs.
6350
6351         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
6352         (gst_plugin_list_free): Doc.
6353         (gst_plugin_load_file): Doc updates.
6354
6355         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
6356         accessors returning refcounted objects, return a ref.
6357
6358         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
6359         accessor for caps. IDEMPOTENCE. Oh yes.
6360
6361 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
6362
6363         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6364
6365         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
6366         (_gst_debug_register_funcptr):
6367           Add mutex to serialise access to the hash table with
6368           the function pointer => function name string mapping;
6369           make that hash table static scope (#316809).
6370
6371         * gst/registries/.cvsignore:
6372           Remove left-over file.
6373
6374 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6375
6376         * docs/pwg/appendix-porting.xml:
6377           And something about newsegment events and caps-on-buffers to
6378           the porting guide (feel free to improve).
6379
6380 2005-09-21  Andy Wingo  <wingo@pobox.com>
6381
6382         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
6383         data and event probes on the same pad.
6384         (test_buffer_probe_once): Test that removing probes from within
6385         the probe functions works.
6386
6387 2005-09-21  Andy Wingo  <wingo@pobox.com>
6388
6389         * check/gst/gstutils.c: New file.
6390         (test_buffer_probe_n_times): A simple buffer probe test. More to
6391         come, foolios.
6392
6393         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
6394         have-data::buffer, not have-data.
6395         (gst_pad_add_event_probe): Likewise for have-data::event.
6396         (gst_pad_add_data_probe): More docs. The part about 'resolving the
6397         peer' isn't quite right yet though.
6398         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
6399         (gst_pad_remove_data_probe): Change to take the guint handler_id
6400         as their arg, not the function+data, which is more glib-like.
6401
6402         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
6403         the signal emission to indicate if the data is a buffer or an
6404         event.
6405         (gst_pad_get_type): Initialize buffer and event quarks.
6406         (gst_pad_class_init): have-data is now a detailed signal, yes it
6407         is.
6408
6409 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
6410
6411         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
6412         * gst/gstutils.c: (gst_util_set_value_from_string),
6413         (gst_util_set_object_arg):
6414           Don't put functional code in g_return_if_fail() or
6415           g_return_val_if_fail() statements, otherwise things will 
6416           break when G_DISABLE_CHECKS is defined during compilation.
6417
6418 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6419
6420         * docs/gst/tmpl/.cvsignore:
6421         * docs/gst/tmpl/gstvalue.sgml:
6422         * gst/gstvalue.c:
6423         * gst/gstvalue.h:
6424           inlied another one and added  some obvious docs
6425
6426 2005-09-21  Wim Taymans  <wim@fluendo.com>
6427
6428         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6429         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
6430         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
6431         (gst_fdsrc_get_property), (gst_fdsrc_create):
6432         * gst/elements/gstfdsrc.h:
6433         Properly implement fdsrc. Removed signal and timeout,
6434         better implemented somewhere else.
6435
6436 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6437
6438         * docs/gst/tmpl/.cvsignore:
6439         * docs/gst/tmpl/gstimplementsinterface.sgml:
6440         * gst/gstinterface.c:
6441           inlined more docs
6442
6443 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6444
6445         * docs/gst/gstreamer-sections.txt:
6446         * docs/gst/tmpl/.cvsignore:
6447         * docs/gst/tmpl/gstenumtypes.sgml:
6448           remove obsolete doc file
6449
6450 2005-09-21  David Schleef  <ds@schleef.org>
6451
6452         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
6453         little beer, fix a little leak.
6454
6455 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
6456
6457         * docs/gst/gstreamer-docs.sgml:
6458         * docs/gst/gstreamer-sections.txt:
6459         * docs/gst/tmpl/.cvsignore:
6460         * gst/Makefile.am:
6461         * gst/gst.h:
6462         * gst/gstbin.c:
6463         * gst/gstelement.h:
6464         * gst/gstindex.c: (gst_index_class_init):
6465         * gst/gstindex.h:
6466         * gst/gstindexfactory.c: (gst_index_factory_get_type),
6467         (gst_index_factory_class_init), (gst_index_factory_init),
6468         (gst_index_factory_finalize), (gst_index_factory_new),
6469         (gst_index_factory_destroy), (gst_index_factory_find),
6470         (gst_index_factory_create), (gst_index_factory_make):
6471         * gst/gstindexfactory.h:
6472         * gst/gstpluginfeature.c:
6473         * gst/gstpluginfeature.h:
6474         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6475           more docs inlined, splitted gstindex.{c,h}
6476
6477 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6478
6479         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6480           fix a leak
6481
6482 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6483
6484         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6485           Set sync to FALSE by default.
6486
6487 2005-09-20  Wim Taymans  <wim@fluendo.com>
6488
6489         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6490         (gst_base_sink_init):
6491         Make sync property settable from subclass.
6492
6493         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
6494         (gst_fake_sink_change_state):
6495         Set sync to FALSE by default.
6496
6497 2005-09-20  Wim Taymans  <wim@fluendo.com>
6498
6499         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
6500         * tools/gst-launch.c: (main):
6501         The timeout handler should have lower priority than the source
6502         so we don't timeout before popping a message with 0 timeout.
6503         Dump error messages after failed state change.
6504
6505 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
6506
6507         * tools/gst-inspect.c: (print_element_properties_info):
6508           Fix two typos.
6509
6510 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6511
6512         * check/gst/gstevent.c:
6513         * gst/elements/gstfakesink.c:
6514         * gst/elements/gstfakesink.h:
6515           remove the sync property from fakesink.
6516           has the side effect of setting sync TRUE
6517           for fakesink, which is a change.  Anyone who knows how
6518           to fix this nicely in a GObject-y way, feel free.
6519
6520 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6521
6522         * docs/gst/gstreamer-docs.sgml:
6523           remove probe refsection
6524
6525 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6526
6527         * check/Makefile.am:
6528           disable valgrinding the controller test again
6529         * docs/gst/gstreamer-sections.txt:
6530           update for api-changes
6531
6532 2005-09-20  Wim Taymans  <wim@fluendo.com>
6533
6534         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6535         (gst_base_sink_set_property), (gst_base_sink_get_property),
6536         (gst_base_sink_do_sync):
6537         * gst/base/gstbasesink.h:
6538         Added sync property to basesink to disable clock sync.
6539
6540 2005-09-20  Andy Wingo  <wingo@pobox.com>
6541
6542         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
6543         eating the caller's refcount.
6544
6545         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
6546         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
6547         refcount.
6548
6549         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
6550         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
6551         of GLib 2.8 public, so we can know which refcount to check in
6552         tests.
6553
6554         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
6555         (gst_object_init): Only set the gst refcount if we're going ahead
6556         with the refcount hack.
6557
6558 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6559
6560         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6561         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
6562           more leaks plumbed, added more debug-logging
6563         * gst/gstmacros.h:
6564           whitespace fix
6565
6566 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6567
6568         * gst/gstmessage.c:
6569           remove include of gstmemchunk.h
6570
6571 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6572
6573         * gst/gstclock.c: (_gst_clock_id_free):
6574           Commit from the Political Party For More Atomic CVS Commits,
6575           so that people don't waste too much of their day fishing
6576           out obvious leaks out of massive commits.
6577           Oh, and fix a pretty damn obvious leak in the memchunk
6578           removal code.
6579
6580 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
6581
6582         * check/Makefile.am:
6583         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
6584           plug mem-leak, re-add to valgrindable tests
6585
6586 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6587
6588         * gst/gstplugin.h:
6589           unbreak the build for those who have chronic arthritis
6590           and typing "make check" is just too taxing on the hands
6591
6592 2005-09-20  Andy Wingo  <wingo@pobox.com>
6593
6594         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
6595         really want it out, you should fix plugins at the same time.
6596
6597 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
6598
6599         * configure.ac:
6600         * docs/gst/gstreamer-sections.txt:
6601         * gst/gstobject.c:
6602           added missing symbols to api docs
6603           disable ref-count hack if we have glib >= 2.8
6604
6605 2005-09-19  David Schleef  <ds@schleef.org>
6606
6607         * docs/gst/Makefile.am: Ignore a few more internal headers
6608         * docs/gst/gstreamer-docs.sgml: Remove old sections
6609         * docs/gst/gstreamer-sections.txt: Remove old sections
6610         * docs/gst/tmpl/gstobject.sgml: update
6611         * docs/gst/tmpl/gstplugin.sgml: update
6612         * docs/gst/tmpl/gstpluginfeature.sgml: update
6613         * docs/random/ds/0.9-suggested-changes: update.
6614         * gst/Makefile.am: remove memchunk and trashstack, since they're
6615           not used.
6616         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
6617         * gst/gst.h: don't include some headers
6618         * gst/gstchildproxy.c: add gstmarshal.h
6619         * gst/gstclock.c: Don't use memchunks
6620         * gst/gstminiobject.c: Add some docs
6621         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
6622         * gst/gstobject.h: same
6623         * gst/gstplugin.c: include gstmacros.h
6624         * gst/gstplugin.h: don't include gstmacros.h, since it's private
6625         * gst/gstquery.c: don't use memchunks
6626         * gst/gstregistry.c: rename gst_registry_deinit()
6627         * gst/gstregistry.h: same
6628
6629 2005-09-19  David Schleef  <ds@schleef.org>
6630
6631         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
6632         * docs/libs/gstreamer-libs-sections.txt:
6633         * docs/libs/tmpl/gstgetbits.sgml:
6634         * docs/libs/tmpl/gstputbits.sgml:
6635
6636 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6637
6638         * win32/gstenumtypes.c:
6639         * win32/gstenumtypes.h:
6640           Update.
6641
6642 2005-09-19  Wim Taymans  <wim@fluendo.com>
6643
6644         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
6645         Automatically PAUSE and RESUME a pipeline when a flushing seek
6646         is performed.
6647
6648 2005-09-19  Andy Wingo  <wingo@pobox.com>
6649
6650         * gst/gstregistry.h: Spacing fixen.
6651
6652 2005-09-19  Wim Taymans  <wim@fluendo.com>
6653
6654         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
6655         Handle state change failure more correctly.
6656
6657 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6658
6659         * check/Makefile.am:
6660         * check/pipelines/cleanup.c: (run_pipeline):
6661         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6662         (GST_START_TEST):
6663           enable cleanup again after fixing the leak
6664         * docs/README:
6665           some more info on docs
6666
6667 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6668
6669         * check/Makefile.am:
6670           re-enable tests now that leaks are plugged
6671         * check/gst/gst.c:
6672         * check/gst/gstbin.c:
6673         * check/gst/gstpipeline.c:
6674           add some more tests while fixing leaks
6675         * common/check.mak:
6676           make sure binaries are uptodate when valgrinding/gdbing
6677         * gst/gst.c:
6678         * gst/gstelementfactory.c:
6679           remove a ref too many, and add a FIXME for when we get
6680           round to disposing of classes
6681         * gst/gstplugin.c:
6682           fix the refcounting when loading a plugin from a file and
6683           the code pretends that the pointer is the same even though
6684           of course it can change
6685         * gst/gstpluginfeature.c:
6686           unref plugins marked cached (a bit confusing as a name)
6687           as the docs state should be done
6688           various doc additions to explain refcounting
6689         * gst/gstregistry.c:
6690         * gst/gstregistryxml.c:
6691           debugging
6692
6693 2005-09-19  Wim Taymans  <wim@fluendo.com>
6694
6695         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
6696         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6697         (send_messages), (GST_START_TEST), (gstbus_suite):
6698         * check/gst/gstpipeline.c: (GST_START_TEST):
6699         * check/pipelines/cleanup.c: (run_pipeline):
6700         * check/pipelines/simple_launch_lines.c: (run_pipeline),
6701         (GST_START_TEST):
6702         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
6703         (gst_bus_source_check), (gst_bus_source_dispatch),
6704         (gst_bus_create_watch), (gst_bus_add_watch_full),
6705         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
6706         * gst/gstbus.h:
6707         * tools/gst-launch.c: (event_loop):
6708         * tools/gst-md5sum.c: (event_loop):
6709         GstBusHandler -> GstBusFunc, return value has the same meaning as
6710         any other GSource (FALSE == remove source).
6711         _add_watch() and _add_watch_full() now take a MessageType mask to
6712         only handle specific types of messages.
6713         _poll() returns the GstMessage instead of the message type to avoid
6714         race conditions.
6715         _have_pending() takes a MessageType mask now too.
6716         Added testsuite for multiple bus watches.
6717         Fix testsuites and applications for new bus API.
6718
6719 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
6720
6721         * check/Makefile.am:
6722           mark a bunch of the tests as to fix until we fix them
6723
6724 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6725
6726         * common/check.mak:
6727           use GST_PLUGIN settings for valgrind tests as well, so we're
6728           valgrinding the correct thing
6729         * gst/gst.c: (init_post):
6730           plug another leak
6731
6732 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6733
6734         * gst/gst.c: (init_post), (gst_deinit):
6735         * gst/gstelementfactory.c: (gst_element_factory_class_init),
6736         (gst_element_factory_finalize), (gst_element_factory_cleanup):
6737         * gst/gstindex.c: (gst_index_factory_class_init),
6738         (gst_index_factory_finalize):
6739         * gst/gstobject.c: (gst_object_dispose):
6740         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
6741         (gst_plugin_load_file), (gst_plugin_desc_free):
6742         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
6743         (gst_plugin_feature_finalize):
6744         * gst/gstregistry.c: (gst_registry_class_init),
6745         (gst_registry_init), (gst_registry_finalize),
6746         (gst_registry_get_default), (gst_registry_deinit):
6747         * gst/gstregistry.h:
6748         * gst/gstregistryxml.c: (load_feature), (load_plugin):
6749           various cleanups and memleak plugging.  make valgrind is happy now.
6750
6751 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6752
6753         * common/check.mak:
6754           add a check-valgrind target
6755
6756 2005-09-18  David Schleef  <ds@schleef.org>
6757
6758         * tools/gst-inspect.c: Revert the GOption code.
6759
6760 2005-09-17  David Schleef  <ds@schleef.org>
6761
6762         * check/Makefile.am: Fix environment variables.
6763         * check/gst/gstplugin.c: Fix for API changes.
6764         * tools/gst-inspect.c: Fix for API changes.
6765         * tools/gst-xmlinspect.c: Fix for API changes.
6766         * gst/gstelementfactory.c:
6767         * gst/gstplugin.c:
6768         * gst/gstplugin.h:
6769         * gst/gstpluginfeature.c:
6770         * gst/gstpluginfeature.h:
6771         * gst/gstregistry.c:
6772         * gst/gstregistry.h:
6773         * gst/gstregistryxml.c:
6774         * gst/gsttypefind.c:
6775         * gst/gsttypefindfactory.c:
6776         * gst/indexers/gstfileindex.c:
6777         * gst/indexers/gstmemindex.c:
6778         * gst/schedulers/Makefile.am:
6779           Change registry to keep track of both plugins and features,
6780           removing the feature tracking from plugins themselves.
6781
6782 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * check/Makefile.am:
6785         * tools/gst-register.1.in:
6786           remove gst-register
6787
6788 2005-09-15  David Schleef  <ds@schleef.org>
6789
6790         * check/gst/gstplugin.c:
6791         * gst/gstelementfactory.c:
6792         * gst/gstplugin.c:
6793         * gst/gstpluginfeature.c:
6794         * gst/gstregistry.c:
6795           Getting tired of debugging.  Disabled all the unreffing of
6796           plugins and features, which fixes the segfaults, but of
6797           course leaks like crazy.  At least playbin works.
6798
6799 2005-09-15  David Schleef  <ds@schleef.org>
6800
6801         * check/gst/gstplugin.c: (register_check_elements),
6802         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
6803         More testing
6804         * gst/elements/gsttypefindelement.c: Fix refcounting.
6805         * gst/gsttypefind.c:
6806         * gst/gsttypefindfactory.c:
6807         * gst/gsttypefindfactory.h:
6808
6809 2005-09-15  David Schleef  <ds@schleef.org>
6810
6811         * gst/gstindex.c: get refcounting correct.
6812         * gst/gstregistry.c: Handle the case where a feature/plugin is
6813           not found.
6814
6815 2005-09-15  David Schleef  <ds@schleef.org>
6816
6817         * check/Makefile.am:
6818         * check/gst/gstplugin.c: Add test
6819         * gst/gstplugin.c: Fix problems noticed by testsuite
6820         * gst/gstplugin.h:
6821         * gst/gstregistry.c: 
6822         * gst/gstregistry.h:
6823
6824 2005-09-15  David Schleef  <ds@schleef.org>
6825
6826         * gst/gstplugin.c: Implement semi-decent recounting and locking
6827           in plugins and plugin features.
6828         * gst/gstplugin.h:
6829         * gst/gstpluginfeature.c:
6830         * gst/gstpluginfeature.h:
6831         * gst/gstregistry.c:
6832
6833 2005-09-15  Michael Smith <msmith@fluendo.com>
6834
6835         * gst/gstregistry.c: (gst_registry_get_feature_list):
6836           Implement this. Makes oggdemux work; decodebin still broken.
6837
6838 2005-09-14  David Schleef  <ds@schleef.org>
6839
6840         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
6841           #316076)
6842         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
6843         * gst/check/Makefile.am:
6844         * libs/gst/controller/Makefile.am:
6845         * libs/gst/dataprotocol/Makefile.am:
6846
6847 2005-09-14  David Schleef  <ds@schleef.org>
6848
6849         * configure.ac: Remove getbits library.  Nothing uses it, and
6850           it should be in something like liboil if someone did want
6851           to use it.
6852         * libs/gst/Makefile.am:
6853         * libs/gst/getbits/Makefile.am:
6854         * libs/gst/getbits/gbtest.c:
6855         * libs/gst/getbits/getbits.c:
6856         * libs/gst/getbits/getbits.h:
6857         * libs/gst/getbits/gstgetbits_generic.c:
6858         * libs/gst/getbits/gstgetbits_i386.s:
6859         * libs/gst/getbits/gstgetbits_inl.h:
6860
6861 2005-09-14  David Schleef  <ds@schleef.org>
6862
6863         * gst/Makefile.am: Dist glib-compat.h
6864
6865 2005-09-14  David Schleef  <ds@schleef.org>
6866
6867         * configure.ac: Remove gst/registries, since it's no longer used.
6868         * gst/registries/Makefile.am:
6869         * gst/registries/gstlibxmlregistry.c:
6870         * gst/registries/gstlibxmlregistry.h:
6871         * gst/registries/gstxmlregistry.c:
6872         * gst/registries/gstxmlregistry.h:
6873         * gst/registries/registrytest.c:
6874
6875 2005-09-14  David Schleef  <ds@schleef.org>
6876
6877         * gst/glib-compat.h:
6878         * gst/gstregistryxml.c:
6879           Convergence is near.  Seriously.
6880
6881 2005-09-14  David Schleef  <ds@schleef.org>
6882
6883         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6884         * gst/glib-compat.h:
6885           Attempt #4 to appease the buildbots.
6886
6887 2005-09-14  David Schleef  <ds@schleef.org>
6888
6889         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6890           Attempt #3.
6891
6892 2005-09-14  David Schleef  <ds@schleef.org>
6893
6894         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6895         Attempt #2.
6896
6897 2005-09-14  David Schleef  <ds@schleef.org>
6898
6899         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
6900           the new functions.
6901
6902 2005-09-14  David Schleef  <ds@schleef.org>
6903
6904         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
6905         * gst/glib-compat.h: Add some functions that are in newer versions
6906           of glib than we care to require.
6907         * gst/gstregistryxml.c: Use them.
6908
6909 2005-09-14  David Schleef  <ds@schleef.org>
6910
6911         * po/POTFILES.in: remove gst-register.c
6912
6913 2005-09-14  David Schleef  <ds@schleef.org>
6914
6915         * docs/gst/gstreamer-docs.sgml:
6916         * docs/gst/gstreamer-sections.txt:
6917         * docs/gst/gstreamer.types:
6918         * docs/gst/tmpl/gstelement.sgml:
6919         * docs/gst/tmpl/gstplugin.sgml:
6920         * docs/gst/tmpl/gstpluginfeature.sgml:
6921           Documentation updates for registry changes.
6922
6923 2005-09-14  David Schleef  <ds@schleef.org>
6924
6925         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
6926           because we don't require glib-2.8.
6927
6928 2005-09-14  David Schleef  <ds@schleef.org>
6929
6930         * gst/gstregistryxml.c: Added.  Essentially moved out of the
6931           registries directory.
6932
6933 2005-09-14  David Schleef  <ds@schleef.org>
6934
6935         * check/Makefile.am:
6936         * check/generic/states.c:
6937         * gst/Makefile.am:
6938         * gst/gst.c:
6939         * gst/gst.h:
6940         * gst/gst_private.h:
6941         * gst/gstelementfactory.c:
6942         * gst/gstindex.c:
6943         * gst/gstinfo.c:
6944         * gst/gstplugin.c:
6945         * gst/gstplugin.h:
6946         * gst/gstpluginfeature.c:
6947         * gst/gstpluginfeature.h:
6948         * gst/gstregistry.c:
6949         * gst/gstregistry.h:
6950         * gst/gstregistrypool.c: remove
6951         * gst/gstregistrypool.h: remove
6952         * gst/gsttypefind.c:
6953         * gst/gsttypefindfactory.c:
6954         * gst/gsturi.c:
6955         * tools/Makefile.am:
6956         * tools/gst-compprep.c:
6957         * tools/gst-inspect.c:
6958         * tools/gst-register.c: remove
6959         * tools/gst-xmlinspect.c:
6960           Registry rewrite.  Changes registry from being a file created
6961           by a tool into a simple cache file created automatically by 
6962           libgstreamer.  Removed gst-register (because it's no longer
6963           needed).  Remove registry pools, because we only have one
6964           registry implementation (XML).  Fix up other subsystems as
6965           necessary.
6966
6967 2005-09-13  Michael Smith <msmith@fluendo.com>
6968
6969         * gst/gstconfig.h.in:
6970           Don't Use windows linking attributes for MinGW. Fixes #316157
6971
6972 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6973
6974         * gst/gstutils.c: (set_state_async_thread_func),
6975         (gst_element_set_state_async):
6976           Apparently people think it's better if this function doesn't
6977           try to set the state to whatever state was asked for on the first
6978           call to this function for any object.  Seriously.
6979
6980 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6981
6982         * check/gst/gstpipeline.c: (GST_START_TEST):
6983         * docs/gst/gstreamer-sections.txt:
6984         * gst/gstutils.c: (set_state_async_thread_func),
6985         (gst_element_set_state_async):
6986         * gst/gstutils.h:
6987           add a "gst_element_set_state_async" method that
6988           sets the state and starts a thread to make sure the state
6989           change completes as best as it can
6990
6991 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6992
6993         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6994           codify design+behaviour in testsuite after discussion
6995
6996 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6997
6998         * docs/gst/tmpl/gstelement.sgml:
6999         * docs/manual/appendix-quotes.xml:
7000           add a quote
7001         * gst/gstelement.c: (gst_element_set_state):
7002           add some debug
7003
7004 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
7005
7006         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7007         (gst_base_transform_prepare_output_buf),
7008         (gst_base_transform_handle_buffer):
7009         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
7010         (gst_capsfilter_prepare_buf):
7011           Remove the requirement for sub-classes to call the parent
7012           implementation of prepare_output_buffer with a wrapper function.
7013           
7014         * gst/gsttaglist.h:
7015         * gst/gsttagsetter.h:
7016           Fix #define wrapper
7017
7018 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
7019
7020         * docs/gst/gstreamer-sections.txt:
7021           more doc cleanups
7022
7023 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7024
7025         * docs/gst/gstreamer-sections.txt:
7026         * docs/gst/tmpl/gstelement.sgml:
7027         * docs/gst/tmpl/gstplugin.sgml:
7028         * gst/gstminiobject.c:
7029         * gst/gstvalue.h:
7030           docs now stop throwing warnings
7031
7032 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7033
7034         * docs/gst/gstreamer-sections.txt:
7035         * docs/gst/gstreamer.types:
7036         * docs/gst/tmpl/gstpad.sgml:
7037         * docs/gst/tmpl/gsttypes.sgml:
7038         * gst/base/gstadapter.h:
7039         * gst/base/gstbasesink.h:
7040         * gst/base/gstbasesrc.h:
7041         * gst/gstbin.h:
7042         * gst/gstbuffer.h:
7043         * gst/gstbus.h:
7044         * gst/gstcaps.h:
7045         * gst/gstclock.h:
7046         * gst/gstelement.h:
7047         * gst/gstevent.h:
7048         * gst/gstmessage.h:
7049         * gst/gstpad.h:
7050         * gst/gststructure.c:
7051         * gst/registries/gstlibxmlregistry.h:
7052           various documentation fixes
7053
7054 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7055
7056         * docs/gst/gstreamer-sections.txt:
7057         * docs/gst/tmpl/gstvalue.sgml:
7058           rearrange gstvalue section
7059         * gst/gstutils.c: (gst_element_state_get_name):
7060           NONE -> VOID
7061         * gst/gstvalue.c: (_gst_value_initialize):
7062         * gst/gstvalue.h:
7063           doc updates
7064
7065 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
7066
7067         * check/gst-libs/controller.c:
7068           Header include fix.
7069         * gst/base/gstbasetransform.c:
7070         (gst_base_transform_default_prepare_buf),
7071         (gst_base_transform_handle_buffer):
7072         * gst/base/gstbasetransform.h:
7073           Some more basetransform changes and fixes to enable sub-classes
7074           that modify buffer metadata only.
7075         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7076         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
7077         (gst_capsfilter_prepare_buf):
7078           If the output pad has fixed allowed caps and input buffers 
7079           don't have any, set the fixed caps on outgoing buffers.
7080
7081 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
7082         * check/elements/identity.c: (GST_START_TEST):
7083           Make the error a little clearer when the test fails because
7084           identity made a copy of the buffer.
7085         * docs/gst/gstreamer-sections.txt:
7086           New symbols in gstbasetransform.h
7087         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7088         (gst_base_transform_init), (gst_base_transform_transform_size),
7089         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
7090         (gst_base_transform_default_prepare_buf),
7091         (gst_base_transform_get_unit_size),
7092         (gst_base_transform_buffer_alloc),
7093         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7094         (gst_base_transform_change_state),
7095         (gst_base_transform_set_passthrough),
7096         (gst_base_transform_set_in_place),
7097         (gst_base_transform_is_in_place):
7098         * gst/base/gstbasetransform.h:
7099           Change BaseTransform to separate in_place operate from same_caps
7100           output. in_place implies that the element can perform the transform
7101           on incoming buffers in-place, even if the caps on the output are
7102           different.
7103           Sub-class elements can now implement special buffer allocation
7104           methods for outgoing buffers if they wish to.
7105           Big documentation addition.
7106         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
7107         * gst/elements/gstelements.c:
7108           Changes for basetransform modifications.
7109         * gst/elements/Makefile.am:
7110         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
7111           Compile fix. Extra debug output.
7112
7113 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7114
7115         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
7116         (gst_pad_suite):
7117           add tests for valid pad naming
7118         * gst/check/gstcheck.c: (gst_check_log_message_func),
7119         (gst_check_log_critical_func):
7120           add ASSERT_WARNING
7121           remove printing of code, it is fragile when the code contains
7122           % and the line number is enough info
7123         * gst/check/gstcheck.h:
7124         * gst/gstpad.c: (gst_pad_template_new):
7125           fix memleaks
7126
7127 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7128
7129         * configure.ac:
7130           say what CHECK flags we use
7131         * docs/libs/gstreamer-libs.types:
7132         * libs/gst/controller/Makefile.am:
7133         * libs/gst/controller/gst-controller.c:
7134         * libs/gst/controller/gst-controller.h:
7135         * libs/gst/controller/gst-helper.c:
7136         * libs/gst/controller/gst-interpolation.c:
7137         * libs/gst/controller/gstcontroller.c:
7138         * libs/gst/controller/gsthelper.c:
7139         * libs/gst/controller/gstinterpolation.c:
7140         * tools/gst-inspect.c: (print_plugin_info):
7141           we don't use dashes in header names
7142
7143 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7144
7145         * check/Makefile.am:
7146         * check/gst/.cvsignore:
7147         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
7148         (gst_pipeline_suite), (main):
7149           adding a test for pipelines and state changes
7150         * gst/gstutils.c: (get_state_func):
7151           add some debugging
7152         * gstreamer.spec.in:
7153           fix up spec file
7154
7155 2005-09-08  Michael Smith <msmith@fluendo.com>
7156
7157         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
7158         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
7159         (gst_file_src_is_seekable), (gst_file_src_get_size),
7160         (gst_file_src_start):
7161         * gst/elements/gstfilesrc.h:
7162           Various fixes for unseekable, unmmapable, and non-normal files, so
7163           that fallback to read() rather than mmap() works.
7164         * gst/gstevent.c: (gst_event_new_newsegment):
7165           Allow newsegment events with segment_start == segment_end, as will
7166           correctly happen if you use filesrc on a zero-size file, for
7167           example.
7168
7169 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7170
7171         * gst/gstplugin.c: (gst_plugin_load_file):
7172           Call g_module_close when we don't load the module
7173
7174         * gst/registries/gstlibxmlregistry.c:
7175         (gst_xml_registry_get_property):
7176           Port leak fix from 0.8
7177
7178 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7179
7180         * docs/gst/gstreamer-docs.sgml:
7181         * docs/gst/tmpl/.cvsignore:
7182         * docs/gst/tmpl/gsttrace.sgml:
7183         * docs/gst/tmpl/gsttrashstack.sgml:
7184         * gst/Makefile.am:
7185         * gst/gst.h:
7186         * gst/gstelement.h:
7187         * gst/gstevent.h:
7188         * gst/gstmessage.c:
7189         * gst/gstmessage.h:
7190         * gst/gsttag.c:
7191         * gst/gsttag.h:
7192         * gst/gsttaginterface.c:
7193         * gst/gsttaginterface.h:
7194         * gst/gsttaglist.c:
7195         * gst/gsttaglist.h:
7196         * gst/gsttagsetter.c:
7197         * gst/gsttagsetter.h:
7198         * gst/gsttrace.c:
7199         * gst/gsttrace.h:
7200         * gst/gsttrashstack.c:
7201           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
7202           inlined docs for gsttrace, gsttrashstack
7203
7204 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7205
7206         * gst/Makefile.am:
7207         * gst/elements/gstbufferstore.h:
7208         * gst/elements/gsttypefindelement.c:
7209         * gst/elements/gsttypefindelement.h:
7210         * gst/gst.h:
7211         * gst/gsttypefind.c:
7212         * gst/gsttypefind.h:
7213         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
7214         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
7215         (gst_type_find_factory_dispose),
7216         (gst_type_find_factory_unload_thyself),
7217         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
7218         (gst_type_find_factory_get_caps),
7219         (gst_type_find_factory_get_extensions),
7220         (gst_type_find_factory_call_function):
7221         * gst/gsttypefindfactory.h:
7222         * gst/registries/gstlibxmlregistry.c:
7223         * gst/registries/gstxmlregistry.c:
7224           splitted gsttypefind into gsttypefind, gsttypefindfactory
7225
7226 2005-09-07  Andy Wingo  <wingo@pobox.com>
7227
7228         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
7229         condition whereby the pad's task function is entered before the
7230         pad_mode variable was set.
7231
7232 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
7233
7234         * gst/gstpad.c: (gst_pad_alloc_buffer):
7235           Catch misbehaving pad_alloc functions that don't
7236           set up caps and do it for them.
7237
7238 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
7239
7240         * check/pipelines/simple_launch_lines.c: (run_pipeline):
7241           test for pipe!=NULL
7242         * docs/gst/tmpl/.cvsignore:
7243         * docs/gst/tmpl/gstmemchunk.sgml:
7244         * docs/gst/tmpl/gstparse.sgml:
7245         * docs/gst/tmpl/gsttaglist.sgml:
7246         * docs/gst/tmpl/gsttagsetter.sgml:
7247         * docs/gst/tmpl/gsttypefind.sgml:
7248         * docs/gst/tmpl/gsttypefindfactory.sgml:
7249         * gst/gstmemchunk.c:
7250         * gst/gstparse.c:
7251         * gst/gsttag.c:
7252         * gst/gsttaginterface.c:
7253         * gst/gsttypefind.c:
7254         * gst/gsttypefind.h:
7255           inlined more docs
7256
7257 === release 0.9.2 ===
7258
7259 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7260
7261         * NEWS:
7262         * RELEASE:
7263         * configure.ac:
7264           releasing 0.9.2, "South"
7265
7266 2005-09-05  Andy Wingo  <wingo@pobox.com>
7267
7268         * gst/registries/gstxmlregistry.h:
7269         * gst/registries/gstxmlregistry.c: Um... resurrect...
7270         
7271         * gst/registries/gstxmlregistry.h:
7272         * gst/registries/gstxmlregistry.c: and update to newer API.
7273         Incidentally they should be a bit faster now that they don't have
7274         to parse the caps.
7275         
7276 2005-09-05  Andy Wingo  <wingo@pobox.com>
7277
7278         * gst/registries/gstxmlregistry.h:
7279         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
7280         replaced by the libxml registry a while back
7281
7282 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7283
7284         * docs/gst/tmpl/gstplugin.sgml:
7285         * gst/elements/gstelements.c:
7286         * gst/gst.c:
7287         * gst/gstplugin.c: (gst_plugin_register_func),
7288         (gst_plugin_desc_copy), (gst_plugin_desc_free),
7289         (gst_plugin_get_source):
7290         * gst/gstplugin.h:
7291         * gst/registries/gstlibxmlregistry.c: (load_plugin),
7292         (gst_xml_registry_save_plugin):
7293         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
7294         (gst_xml_registry_save_plugin):
7295         * tools/gst-inspect.c: (print_plugin_info):
7296           add a "source" plugin description field, to represent the source
7297           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
7298           will set it to PACKAGE, which is automake's idea of the name of
7299           the source project.
7300
7301 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7302
7303         * Makefile.am:
7304         * autogen.sh:
7305         * configure.ac:
7306         * docs/Makefile.am:
7307         * docs/faq/Makefile.am:
7308         * docs/gst/tmpl/gstelement.sgml:
7309         * docs/gst/tmpl/gsttypes.sgml:
7310         * docs/htmlinstall.mak:
7311         * docs/manual/Makefile.am:
7312         * docs/pwg/Makefile.am:
7313           reorganize doc build a little
7314           split out docbook and gtk-doc stuff
7315           have two separate --enable's and enable them through autogen
7316           but disable by default in configure (to be similar to other
7317           projects)
7318         * gstreamer.spec.in:
7319           clean up docs install
7320         * po/af.po:
7321         * po/az.po:
7322         * po/ca.po:
7323         * po/cs.po:
7324         * po/de.po:
7325         * po/en_GB.po:
7326         * po/fr.po:
7327         * po/it.po:
7328         * po/nb.po:
7329         * po/nl.po:
7330         * po/ru.po:
7331         * po/sq.po:
7332         * po/sr.po:
7333         * po/sv.po:
7334         * po/tr.po:
7335         * po/uk.po:
7336         * po/vi.po:
7337           translation updates
7338
7339 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
7340
7341         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
7342           Add comment.
7343           
7344         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7345         (gst_fake_sink_change_state):
7346           Make state change function thread-safe.
7347           
7348         * gst/gstpad.c: (gst_pad_alloc_buffer):
7349           Set offset on generic buffer allocated by fallback.
7350
7351 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
7352
7353         * docs/gst/gstreamer-sections.txt:
7354         * docs/gst/tmpl/gstelement.sgml:
7355         * gst/gstpad.c:
7356         * libs/gst/controller/gst-controller.c:
7357         (gst_controlled_property_set_interpolation_mode),
7358         (gst_controlled_property_new),
7359         (gst_controller_find_controlled_property):
7360          run the wingo-magic script against the docs
7361
7362 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7363
7364         * docs/gst/gstreamer-docs.sgml:
7365         * docs/gst/gstreamer-sections.txt:
7366         * docs/gst/tmpl/.cvsignore:
7367         * docs/gst/tmpl/gstelementdetails.sgml:
7368         * docs/gst/tmpl/gstelementfactory.sgml:
7369         * gst/gst.c:
7370         * gst/gstbus.c:
7371         * gst/gstelementfactory.c:
7372         * gst/gstelementfactory.h:
7373           merged elementdetails docs into elementfactory docs
7374           inlined both
7375
7376 2005-09-02  Andy Wingo  <wingo@pobox.com>
7377
7378         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
7379         consider this enum an enum and not a flags.
7380
7381 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
7382
7383         * docs/gst/gstreamer-docs.sgml:
7384         * docs/gst/tmpl/.cvsignore:
7385         * docs/gst/tmpl/gstghostpad.sgml:
7386         * docs/gst/tmpl/gstiterator.sgml:
7387         * docs/gst/tmpl/gstmacros.sgml:
7388         * docs/gst/tmpl/gstrealpad.sgml:
7389         * docs/gst/tmpl/gstregistry.sgml:
7390         * docs/gst/tmpl/gstregistrypool.sgml:
7391         * docs/gst/tmpl/gststructure.sgml:
7392         * docs/gst/tmpl/gstsystemclock.sgml:
7393         * docs/gst/tmpl/gsttrace.sgml:
7394         * gst/gstghostpad.c:
7395         * gst/gstmacros.h:
7396         * gst/gstmemchunk.c:
7397         * gst/gstmemchunk.h:
7398         * gst/gstqueue.c:
7399         * gst/gstregistry.c:
7400         * gst/gstregistrypool.c:
7401         * gst/gststructure.c:
7402         * gst/gstsystemclock.c:
7403           more docs inlined
7404
7405 2005-09-02  Andy Wingo  <wingo@pobox.com>
7406
7407         * gst/gstelement.h (GstState): Renamed from GstElementState,
7408         changed to be a normal enum instead of flags.
7409         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
7410         munged to be GST_STATE_CHANGE_*.
7411         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
7412         work with the new state representation.
7413         (GstStateChange): New enumeration of possible state transitions.
7414         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
7415         (GstElementClass::change_state): Pass the GstStateChange along as
7416         an argument. Helps language bindings, so they don't have to use
7417         tricky lock-needing macros like GST_STATE_CHANGE ().
7418
7419         * scripts/update-states (file): New script. Run it on a file to
7420         update it for state naming and API changes. Updates files in
7421         place.
7422
7423         * All files updated for the new API.
7424
7425 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7426
7427         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
7428         * gst/gstutils.c: (gst_util_set_value_from_string),
7429         (gst_util_set_object_arg):
7430           fix a bunch of unchecked return values
7431         * tools/gst-complete.c: (main):
7432         * gstreamer.spec.in:
7433           clean up a little
7434
7435 2005-09-01  Wim Taymans  <wim@fluendo.com>
7436
7437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7438         (gst_base_sink_event), (gst_base_sink_do_sync),
7439         (gst_base_sink_handle_event):
7440         * gst/base/gstbasesink.h:
7441         Handle newsegments more correctly.
7442
7443         * gst/gstbus.c:
7444         Fix docs.
7445
7446         * gst/gstevent.c: (gst_event_new_newsegment):
7447         A newsegment cannot have a start_time of -1
7448
7449 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
7450
7451         * win32/gstenumtypes.c:
7452         * win32/gstenumtypes.h:
7453           Update
7454
7455 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7456
7457         * libs/gst/controller/gst-controller.c:
7458         (gst_controlled_property_set_interpolation_mode),
7459         (gst_controlled_property_new):
7460          fixed boolean again
7461
7462 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
7463
7464         * docs/faq/gst-uninstalled:
7465           add -good
7466         * gst/gstevent.c:
7467         * gst/gstevent.h:
7468           remove wrong docs
7469         * gst/gstutils.c: (gst_element_link_filtered):
7470         * gst/gstutils.h:
7471           add gst_element_link_filtered
7472
7473 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7474
7475         * docs/gst/gstreamer-docs.sgml:
7476         * docs/gst/gstreamer-sections.txt:
7477         * docs/gst/tmpl/.cvsignore:
7478         * docs/gst/tmpl/gsterror.sgml:
7479         * docs/gst/tmpl/gstfilter.sgml:
7480         * docs/gst/tmpl/gsturihandler.sgml:
7481         * docs/gst/tmpl/gsturitype.sgml:
7482         * docs/gst/tmpl/gstutils.sgml:
7483         * docs/gst/tmpl/gstxml.sgml:
7484         * gst/gsterror.c:
7485         * gst/gsterror.h:
7486         * gst/gstfilter.c:
7487         * gst/gsturi.c:
7488         * gst/gsturitype.c:
7489         * gst/gstutils.c:
7490         * gst/gstxml.c:
7491           inlined more docs, fixed double id-ref
7492
7493 2005-08-31  Wim Taymans  <wim@fluendo.com>
7494
7495         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7496         (gst_base_transform_handle_buffer):
7497         Passthrough elements don't need the caps as they don't care.
7498
7499 2005-08-31  Wim Taymans  <wim@fluendo.com>
7500
7501         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
7502         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
7503         Don't leak refcounts on buffers.
7504
7505 2005-08-31  Wim Taymans  <wim@fluendo.com>
7506
7507         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
7508         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
7509         (gst_base_transform_chain), (gst_base_transform_change_state):
7510         * gst/base/gstbasetransform.h:
7511         Handle the case where we are not negotiated more gracefully.
7512
7513 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
7514
7515         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
7516         (gst_file_src_map_region):
7517           Set READONLY flag on mmap'ed buffers, otherwise
7518           gst_buffer_make_writable() won't work properly (#314708).
7519
7520 2005-08-31  Wim Taymans  <wim@fluendo.com>
7521
7522         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
7523         passthrough elements can even do inplace on non writable
7524         buffers (as they don't touch them).
7525
7526 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
7527
7528         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
7529         (gst_test_mono_source_set_property),
7530         (gst_test_mono_source_class_init), (GST_START_TEST),
7531         (gst_controller_suite):
7532           more tests (hehe I have the most)
7533         * gst/gstbus.c:
7534           describe popping messages whenusing mulltiple sources
7535         * libs/gst/controller/gst-controller.c:
7536         (gst_controlled_property_set_interpolation_mode),
7537         (gst_controlled_property_new):
7538         * libs/gst/controller/gst-controller.h:
7539         * libs/gst/controller/gst-interpolation.c:
7540           implement boolean properties
7541
7542 2005-08-31  Wim Taymans  <wim@fluendo.com>
7543
7544         * gst/gstminiobject.c: (gst_mini_object_ref):
7545         Cannot assert that the refcount has to be positive
7546         since a disposed object can be resurrected.
7547
7548 2005-08-31  Wim Taymans  <wim@fluendo.com>
7549
7550         * gst/gstpad.c: (gst_pad_init):
7551         Revert change, need to first fix badly behaving 
7552         apps.
7553
7554 2005-08-30  Wim Taymans  <wim@fluendo.com>
7555
7556         * check/elements/fakesrc.c: (setup_fakesrc):
7557         * check/elements/identity.c: (setup_identity):
7558         Activate pads before using them.
7559
7560 2005-08-30  Wim Taymans  <wim@fluendo.com>
7561
7562         * gst/base/gstadapter.c: (gst_adapter_flush):
7563         Flushing out 0 bytes is ok for this function.
7564
7565         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7566         no newsegment gives a warning and sets the start/stop to 
7567         invalid.
7568
7569         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
7570         (gst_base_transform_set_passthrough):
7571         Some debug info.
7572
7573         * gst/gstminiobject.c: (gst_mini_object_ref):
7574         Check refcount here too.
7575
7576         * gst/gstpad.c: (gst_pad_init):
7577         Pads are initially flushing and refusing data.
7578
7579         * gst/gstutils.c: (gst_element_link_pads_filtered):
7580         When adding a capsfilter element make sure it has the
7581         same state as the parent bin.
7582
7583 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7584
7585         * docs/gst/tmpl/.cvsignore:
7586         * docs/gst/tmpl/gstformat.sgml:
7587         * docs/gst/tmpl/gstversion.sgml:
7588         * gst/gstbus.h:
7589         * gst/gstformat.c:
7590         * gst/gstformat.h:
7591         * gst/gstversion.h.in:
7592           more docs and two more inlined
7593
7594 2005-08-30  Wim Taymans  <wim@fluendo.com>
7595
7596         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
7597         Don't sync to clock.
7598
7599 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7600
7601         * docs/gst/gstreamer-sections.txt:
7602           ultral33t func10ns deserve to appear in the docs actually
7603         * docs/gst/tmpl/.cvsignore:
7604         * docs/gst/tmpl/gstcompat.sgml:
7605         * docs/gst/tmpl/gstconfig.sgml:
7606         * gst/check/gstcheck.c:
7607         * gst/gstcompat.h:
7608         * gst/gstconfig.h.in:
7609           inlined more docs
7610
7611 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7612
7613         * docs/gst/tmpl/.cvsignore:
7614         * docs/gst/tmpl/gstquery.sgml:
7615         * docs/gst/tmpl/gstutils.sgml:
7616         * gst/gstquery.c:
7617         * gst/gstquery.h:
7618           inlined and extended docs
7619
7620 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
7621
7622         * check/gst-libs/controller.c: (GST_START_TEST),
7623         (gst_controller_suite):
7624           more tests
7625         * docs/gst/tmpl/gstutils.sgml:
7626         * docs/libs/gstreamer-libs-sections.txt:
7627         * docs/libs/tmpl/gstdataprotocol.sgml:
7628           include path fixes
7629         * examples/controller/audio-example.c: (main):
7630           controller example works now
7631         * gst/gstclock.h:
7632           doc fixes
7633         * tools/gst-inspect.c: (print_element_properties_info):
7634           show param spec flags
7635
7636 2005-08-29  Andy Wingo  <wingo@pobox.com>
7637
7638         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
7639
7640 2005-08-28  Andy Wingo  <wingo@pobox.com>
7641
7642         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
7643         as having two arguments instead of just one. Allows superclasses
7644         to access information on subclasses -- see the terrible for() loop
7645         in gtype.c:g_type_create_instance for the reason why. All callers
7646         changed.
7647
7648 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7649
7650         * docs/design/part-messages.txt:
7651           update info
7652         * docs/gst/tmpl/.cvsignore:
7653         * docs/gst/tmpl/gstcaps.sgml:
7654         * docs/gst/tmpl/gstclock.sgml:
7655         * gst/gstbus.c:
7656         * gst/gstcaps.c:
7657         * gst/gstcaps.h:
7658         * gst/gstclock.c:
7659         * gst/gstclock.h:
7660         * gst/gstmessage.c:
7661           added descriptions for bus and message
7662           inline caps and clock docs
7663
7664 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7665
7666         * gst/gstmessage.c:
7667         * gst/gstmessage.h:
7668           doc fixes
7669
7670 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
7671
7672         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7673           fix div-by-zero
7674
7675 2005-08-26  Andy Wingo  <wingo@pobox.com>
7676
7677         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
7678         element_set_state's return val.
7679         (test_2_elements): Add test that's been disabled for months.
7680
7681         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
7682         can-activate-pull properties.
7683
7684         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
7685         can-activate-pull properties. Implement is_seekable so fakesrc can
7686         operate in pull mode.
7687
7688         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
7689         properties.
7690         (gst_base_sink_activate, gst_base_sink_activate_pull)
7691         (gst_base_sink_activate_push): Make activation mode choosing work.
7692         Cleanups.
7693         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
7694         is right. Make pull mode work. Post an eos before pausing in pull
7695         mode.
7696         (gst_base_sink_change_state): Pay attention to the core's
7697         change_state() return val.
7698         
7699         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
7700         has-getrange properties. Cleanups.
7701         
7702         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
7703         has_getrange and replace with can_activate_pull and
7704         can_activate_push.
7705
7706         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
7707         locking comments. Remove has_loop, has_chain and replace with
7708         can_activate_pull and can_activate_push.
7709
7710 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
7711
7712         * configure.ac:
7713         * examples/Makefile.am:
7714         * examples/metadata/Makefile.am:
7715         * examples/metadata/read-metadata.c: (message_loop),
7716         (have_pad_handler), (make_pipeline), (print_tag), (main):
7717           Add metadata reading example that loops over a list of filenames,
7718           dumping any tags found.
7719
7720         * gst/gstbus.c: (gst_bus_dispose):
7721         * gst/gstelement.c: (gst_element_dispose):
7722           Release a few potentially-held references in dispose.
7723
7724 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7725
7726         * docs/gst/tmpl/gstminiobject.sgml:
7727           do *not* add tmpl/*.sgml files to CVS!
7728
7729 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7730
7731         * libs/gst/bytestream/.cvsignore:
7732         * libs/gst/bytestream/Makefile.am:
7733         * libs/gst/bytestream/adapter.c:
7734         * libs/gst/bytestream/adapter.h:
7735         * libs/gst/bytestream/bytestream.c:
7736         * libs/gst/bytestream/bytestream.h:
7737         * libs/gst/bytestream/filepad.c:
7738         * libs/gst/bytestream/filepad.h:
7739           removing obsolete files
7740
7741 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7742
7743         * docs/gst/gstreamer-docs.sgml:
7744         * docs/libs/gstreamer-libs-docs.sgml:
7745           disabed additional index entries again, as this makes docs-gen just
7746           slow and they aren't useful yet
7747         * docs/libs/gstreamer-libs-sections.txt:
7748           little -section.txt cleanup for libs
7749
7750 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7751
7752         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7753         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
7754           fix up some debugging
7755         (gst_base_transform_get_unit_size),
7756         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
7757         (gst_base_transform_handle_buffer):
7758         * gst/base/gstbasetransform.h:
7759           handle and store timed NEWSEGMENT events so that subclasses that
7760           calculate time by counting samples have a segment_start time they
7761           need to add to their timestamps - see audioresample
7762
7763 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
7764
7765         * gst/gstbin.h:
7766           removed ';' from the end of macro defs
7767         * docs/gst/gstreamer-docs.sgml:
7768         * docs/gst/gstreamer-sections.txt:
7769         * docs/gst/tmpl/.cvsignore:
7770         * gst/gstbus.h:
7771         * gst/gstelement.c: (gst_element_class_init),
7772         (gst_element_set_state), (activate_pads),
7773         (gst_element_save_thyself):
7774         * gst/gstevent.c: (gst_event_new_newsegment):
7775         * gst/gstevent.h:
7776         * gst/gstiterator.c:
7777         * gst/gstiterator.h:
7778         * gst/gstpad.c:
7779         * gst/gstprobe.h:
7780         * gst/gstutils.c: (gst_pad_query_convert):
7781         * gst/gstutils.h:
7782           fixed parameter name mismatches between source, header and docs
7783           added some more docs, resolved the last batch of unused elements in
7784           docs (now someone needs to doc them)
7785
7786 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7787
7788         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
7789         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
7790           don't walk through the plugins backwards.  Where is all this
7791           reversed logic coming from ?
7792
7793 2005-08-25  Wim Taymans  <wim@fluendo.com>
7794
7795         * gst/base/gstbasetransform.c: (gst_base_transform_init),
7796         (gst_base_transform_transform_size),
7797         (gst_base_transform_configure_caps),
7798         (gst_base_transform_get_unit_size),
7799         (gst_base_transform_buffer_alloc),
7800         (gst_base_transform_change_state):
7801         * gst/base/gstbasetransform.h:
7802         Cache caps unit_size.
7803         Make sure we cannot negotiate up and downstream at the
7804         same time.
7805
7806 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7807
7808         * gst/gst.c: (init_pre), (init_post):
7809           register the installed plugin path after the env var
7810         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
7811         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
7812           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
7813           directories, so the tests can prefer uninstalled over installed
7814
7815 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
7816
7817         * gst/base/gstbasetransform.h:
7818           comment
7819         * gst/gstpad.c:
7820           add to docs
7821
7822 2005-08-25  Wim Taymans  <wim@fluendo.com>
7823
7824         * gst/gstbin.c: (bin_bus_handler):
7825         Be a bit more conservative about the posted message.
7826         
7827         * gst/gstbus.c: (gst_bus_post):
7828         Some cleanups, warn wrong return values.
7829
7830 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
7831
7832         * check/gst/gstbin.c: (GST_START_TEST):
7833         * gst/gstbin.c: (bin_bus_handler):
7834         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7835         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7836         (gst_message_new_warning), (gst_message_new_tag),
7837         (gst_message_new_state_changed), (gst_message_new_segment_start),
7838         (gst_message_new_segment_done), (gst_message_new_custom):
7839         * gst/gstmessage.h:
7840         * tools/gst-launch.c: (event_loop):
7841         * tools/gst-md5sum.c: (event_loop):
7842           Revert unpopular change for GST_MESSAGE_SRC to GObject.
7843
7844 2005-08-25  Wim Taymans  <wim@fluendo.com>
7845
7846         * check/generic/states.c: (GST_START_TEST):
7847         Cleanup can be done at the end.
7848
7849         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
7850         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7851         (gst_task_get_state), (gst_task_start), (gst_task_pause):
7852         Oh boy.. Thanks for finding this, Thomas. 
7853
7854 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7855
7856         * docs/gst/gstreamer.types:
7857           added missing types
7858
7859 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
7860
7861         * docs/gst/gstreamer-docs.sgml:
7862         * docs/gst/gstreamer-sections.txt:
7863         * docs/gst/tmpl/.cvsignore:
7864         * gst/gstbin.c:
7865         * gst/gstiterator.c:
7866         * gst/gstutils.c:
7867         * gst/registries/gstxmlregistry.h:
7868           added missing classes and symbols (123 more to go)
7869           removed removed symbols from section file
7870           fixed many doc-comments
7871
7872 2005-08-24  Wim Taymans  <wim@fluendo.com>
7873
7874         * check/generic/states.c: (GST_START_TEST):
7875         Make sure all tasks are stopped.
7876
7877         * check/gst/gstbin.c: (GST_START_TEST):
7878         Unref after usage for proper valgrinding.
7879
7880         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
7881         Really wait for the task to stop before destroying the
7882         mutex.
7883
7884         * gst/gstqueue.c: (gst_queue_sink_activate_push),
7885         (gst_queue_src_activate_push):
7886         Small cleanups. Don't stop the task when we did not start
7887         it.
7888
7889         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
7890         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
7891         (gst_task_get_state), (gst_task_start), (gst_task_pause),
7892         (gst_task_join):
7893         * gst/gsttask.h:
7894         Protect the stream lock with the object lock.
7895         Disallow setting the stream lock when running.
7896         Add cleanup_all to wait for the threadpool to finish.
7897         Remove code to autoallocate a mutex if none was provided.
7898         Add _join() to wait for a task to stop.
7899         Protect the thread pool with a global lock.
7900
7901 2005-08-24  Wim Taymans  <wim@fluendo.com>
7902
7903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7904         (gst_base_sink_get_times), (gst_base_sink_do_sync),
7905         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
7906         * gst/base/gstbasesink.h:
7907         Handle newsegment events correctly.
7908         Drop buffers out of the segment range.
7909
7910 2005-08-22  Andy Wingo  <wingo@pobox.com>
7911
7912         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
7913         macro, implements an interface and gstimplementsinterface for a
7914         new type.
7915
7916 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7917
7918         * check/Makefile.am:
7919         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
7920           add a test that does a bunch of state changes on elements
7921           needs some fixing for valgrind
7922         * check/states/sinks.c: (gst_object_suite):
7923           whitespace
7924         * gst/gstcaps.h:
7925           add prototype for gst_caps_is_equal_fixed
7926         * gst/gstplugin.c:
7927         * gst/gstregistrypool.c:
7928           doc fixes
7929
7930 2005-08-24  Andy Wingo  <wingo@pobox.com>
7931
7932         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
7933         convert a negative value. Doesn't make much sense. Mostly this is
7934         here to force callers to ensure -1 maps to -1.
7935
7936 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7937
7938         * docs/pwg/advanced-types.xml:
7939           Well done to Michael for catching my deliberate introduction
7940           of this spelling mistake. 
7941         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
7942         * gst/gstelement.h:
7943           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
7944           unlink pads before removing the element from the bin.
7945
7946 2005-08-24  Andy Wingo  <wingo@pobox.com>
7947
7948         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
7949         the same thing as GST_DEBUG=*:4.
7950         (parse_debug_level, parse_debug_category): New helper parsers.
7951
7952 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7953
7954         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
7955         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
7956         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
7957         (gst_base_transform_buffer_alloc),
7958         (gst_base_transform_handle_buffer):
7959           use gboolean return values and pointers to size so we can use the
7960           full GST_BUFFER_SIZE range (guint) for buffer sizes
7961           use GstPadDirection for transform_caps
7962         * gst/base/gstbasetransform.h:
7963           rename get_size to get_unit_size since that's what it is
7964         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
7965           use GstPadDirection for transform_caps
7966         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
7967         * gst/gstutils.h:
7968           cleanup and debugging
7969
7970 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
7971
7972         * gst/gstelement.c: (gst_element_class_init),
7973         (gst_element_set_state), (activate_pads),
7974         (gst_element_save_thyself):
7975         * tools/gst-compprep.c: (main):
7976         * tools/gst-inspect.c: (print_element_properties_info):
7977         * tools/gst-xmlinspect.c: (print_element_properties):
7978           Fixed long standing mem-leak
7979
7980 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7981
7982         * check/gst/gstbin.c: (GST_START_TEST):
7983         * gst/gstbin.c: (bin_bus_handler):
7984         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
7985         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
7986         (gst_message_new_warning), (gst_message_new_tag),
7987         (gst_message_new_state_changed), (gst_message_new_segment_start),
7988         (gst_message_new_segment_done), (gst_message_new_custom):
7989         * gst/gstmessage.h:
7990         * tools/gst-launch.c: (event_loop):
7991         * tools/gst-md5sum.c: (event_loop):
7992           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
7993           that applications can sensibly post custom messages with references
7994           to their own objects.
7995
7996 2005-08-24  Andy Wingo  <wingo@pobox.com>
7997
7998         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
7999         already.
8000
8001 2005-08-24  Wim Taymans  <wim@fluendo.com>
8002
8003         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8004         (gst_base_transform_transform_caps),
8005         (gst_base_transform_transform_size),
8006         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8007         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
8008         (gst_base_transform_handle_buffer):
8009         * gst/base/gstbasetransform.h:
8010         Many fixes and new features added by Thomas. Can now also do
8011         transforms with variable sizes and a custom fixate_caps function.
8012
8013 2005-08-24  Wim Taymans  <wim@fluendo.com>
8014
8015         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8016         Some debugging.
8017
8018         * gst/gstclock.h:
8019         Cast to ClockTime before formatting to time.
8020
8021         * gst/gstutils.h:
8022         Cleanups.
8023
8024 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
8025
8026         * check/gst-libs/controller.c: (GST_START_TEST),
8027         (gst_controller_suite):
8028         * docs/gst/tmpl/gstcaps.sgml:
8029         * docs/gst/tmpl/gstghostpad.sgml:
8030         * docs/gst/tmpl/gstquery.sgml:
8031         * docs/gst/tmpl/gstutils.sgml:
8032         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
8033         (gst_object_sink_values), (gst_object_get_value_arrays),
8034         (gst_object_get_value_array):
8035           gracefully handle helper method calls to objects that are not beeing
8036           controlled, added test case for that          
8037
8038 2005-08-23  Wim Taymans  <wim@fluendo.com>
8039
8040         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
8041         (gst_event_new_newsegment), (gst_event_parse_newsegment),
8042         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
8043         (gst_event_parse_qos), (gst_event_new_seek),
8044         (gst_event_parse_seek):
8045         * gst/gstevent.h:
8046         Some more debugging output and doc cleanups.
8047
8048         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8049         Fix possible deadlock.
8050
8051 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8052
8053         * docs/gst/gstreamer-docs.sgml:
8054         * docs/gst/gstreamer-sections.txt:
8055         * docs/gst/gstreamer.types:
8056         * docs/gst/tmpl/.cvsignore:
8057         * gst/gstbin.h:
8058         * gst/gstbus.c:
8059         * gst/gstelement.c:
8060         * gst/gstevent.h:
8061           added 100 symbols from gstreamer-unused.txt to the right sections
8062           fixed more broken comments
8063           added GstBus to docs
8064
8065 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8066
8067         * docs/gst/gstreamer-sections.txt:
8068         * docs/gst/tmpl/.cvsignore:
8069         * docs/gst/tmpl/gstbin.sgml:
8070         * docs/gst/tmpl/gstbuffer.sgml:
8071         * gst/base/gstbasesrc.c:
8072         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
8073         * gst/gstbuffer.c:
8074         * gst/gstbuffer.h:
8075         * tools/gst-launch.1.in:
8076           inlined more doc comments, added missing comments and fixed comments
8077           fixed typos
8078
8079 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8080
8081         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
8082           some debugging
8083         * gst/gstcaps.h:
8084           whitespace fixes
8085         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
8086           more debugging
8087         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
8088         * gst/gststructure.h:
8089           add a fixate function for booleans; add a FIXME that these func
8090           names should probably be gst_structure_fixate_*
8091
8092 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
8093
8094         * docs/gst/gstreamer-docs.sgml:
8095         * docs/gst/gstreamer-sections.txt:
8096         * gst/Makefile.am:
8097         * gst/gstbin.c: (gst_bin_get_type),
8098         (gst_bin_child_proxy_get_child_by_index),
8099         (gst_bin_child_proxy_get_children_count),
8100         (gst_bin_child_proxy_init):
8101         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
8102         (gst_child_proxy_get_child_by_index),
8103         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
8104         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
8105         (gst_child_proxy_get), (gst_child_proxy_set_property),
8106         (gst_child_proxy_set_valist), (gst_child_proxy_set),
8107         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
8108         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
8109         * gst/gstchildproxy.h:
8110         * gst/parse/grammar.y:
8111         * tools/gst-inspect.c: (print_interfaces),
8112         (print_element_properties_info), (print_element_info):
8113           ported gstchildproxy over from 0.8
8114           ported gst-inspect fixes and enhancements over from 0.8
8115
8116 2005-08-22  Wim Taymans  <wim@fluendo.com>
8117
8118         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
8119         (gst_base_transform_handle_buffer):
8120         Also call the transform function if we have ANY caps.
8121
8122         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
8123         Fix debug info.
8124
8125 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8126
8127         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
8128           Don't pretend to handle seek events if the source is not seekable
8129
8130 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
8131
8132         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8133           Remove extra parameter to debug output
8134
8135         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8136         (gst_base_src_do_seek), (gst_base_src_activate_push):
8137           Fix seek event handling.
8138
8139         * gst/gstpipeline.c: (gst_pipeline_change_state):
8140         * gst/gstqueue.c: (gst_queue_handle_sink_event),
8141         (gst_queue_src_activate_push):
8142           Don't start the src pad task on FLUSH_STOP if the pad
8143           isn't linked.
8144           Debug changes.
8145
8146 2005-08-22  Wim Taymans  <wim@fluendo.com>
8147
8148         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8149         Added check for gst_static_caps_get() refcounting.
8150
8151 2005-08-22  Wim Taymans  <wim@fluendo.com>
8152
8153         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
8154         Make _static_caps_get() refcounting sane.
8155         
8156         * gst/gstelement.c: (gst_element_set_state):
8157         Add g_return_val_if_fail() to protect against segfaults.
8158
8159 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
8160
8161         * docs/gst/tmpl/gstevent.sgml:
8162         * gst/gstevent.c:
8163         * gst/gstevent.h:
8164           inlined remaining docs, added missing doc comments
8165
8166 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8167
8168         * check/gst/gstbin.c: (GST_START_TEST):
8169           since we don't know when preroll is done, use refcount range
8170           check for the sink
8171         * gst/check/gstcheck.h:
8172           add macro for checking refcount range
8173
8174 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8175
8176         * check/Makefile.am:
8177           clean up environment for when registry gets built versus
8178           when actual tests are run; valgrind seems to not report
8179           leaks if GST_PLUGIN_PATH is set to some specific values
8180         * check/gst/gstbin.c: (GST_START_TEST):
8181           add more refcounting checks; maybe this exposes a
8182           preroll lock bug ?
8183         * common/check.mak:
8184         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8185         * gst/check/gstcheck.h:
8186         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
8187         (gst_bin_change_state):
8188         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
8189           add/fix debugging/whitespace
8190
8191 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8192
8193         * check/gst/gstevent.c: (event_probe), (test_event),
8194         (GST_START_TEST):
8195          Er, don't call gst_bin_watch_for_state_change you idiot.
8196
8197 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
8198
8199         * check/Makefile.am:
8200           Use CHECK_CFLAGS and CHECK_LIBS
8201         * check/gst/gstevent.c: (event_probe), (test_event),
8202         (GST_START_TEST):
8203           Don't leak events.
8204         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
8205         (gst_base_src_start), (gst_base_src_stop),
8206         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8207         (gst_base_src_change_state):
8208           Sprinkle gst_base_src_stop liberally around error paths to fix
8209           problems reusing a source after failed state changes.
8210         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8211         (helper_find_suggest), (gst_type_find_helper):
8212           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
8213         * gst/gstevent.h:
8214         * docs/gst/tmpl/gstevent.sgml:
8215           Migrate part of the docs from the SGML file. Wait for ensonic to
8216           tell me how I did it wrong ;)
8217         * tools/gst-typefind.c: (main):
8218           Extra robustness to state changes between files.
8219
8220 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
8221
8222         * check/Makefile.am:
8223           don't valgrind the controller test - it's leaking - Stefan, HELP
8224         * gst/check/gstcheck.c: (gst_check_message_error),
8225         (gst_check_chain_func), (gst_check_setup_element),
8226         (gst_check_teardown_element), (gst_check_setup_src_pad),
8227         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8228         (gst_check_teardown_sink_pad):
8229         * gst/check/gstcheck.h:
8230           add a bunch of methods to set up elements, and src and sink pads
8231         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
8232         * check/elements/identity.c: (setup_identity), (cleanup_identity),
8233         (GST_START_TEST):
8234           use them
8235         * gst/gstmessage.c:
8236         * gst/gsttag.h:
8237           whitespace/doc fixes
8238
8239 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8240
8241         * gst/gstelement.h:
8242           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
8243           be handled by the application and not always printed as well
8244
8245 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8246
8247         * check/Makefile.am:
8248           set GST_TOOLS_DIR
8249         * gst/check/gstcheck.c: (gst_check_message_error):
8250         * gst/check/gstcheck.h:
8251           add a fail_unless_equals_int
8252           add fail_unless for error messages
8253
8254 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         * check/Makefile.am:
8257         * check/gst.supp:
8258         * common/Makefile.am:
8259         * common/check.mak:
8260         * common/gst.supp:
8261           factor out some of the common stuff so we can use it
8262
8263 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8264
8265         * check/Makefile.am:
8266         * check/gst/gstiterator.c: (GST_START_TEST):
8267         * check/gst/gstsystemclock.c: (GST_START_TEST),
8268         (gst_systemclock_suite):
8269         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8270         * gst/gstclock.c:
8271           valgrind more tests
8272
8273 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8274
8275         * check/elements/.cvsignore:
8276         * check/elements/gstfakesrc.c:
8277           rename to name of element
8278         * check/elements/identity.c: (chain_func), (event_func),
8279         (setup_identity), (cleanup_identity), (GST_START_TEST),
8280         (identity_suite), (main):
8281           add a test for identity
8282         * check/Makefile.am:
8283         * pkgconfig/Makefile.am:
8284         * pkgconfig/gstreamer-check.pc.in:
8285         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8286         * gst/check:
8287         * gst/Makefile.am:
8288         * configure.ac:
8289           move the check stuff to a library that gets installed
8290         * check/gst-libs/controller.c: (GST_START_TEST):
8291         * check/gst-libs/gdp.c:
8292         * check/gst/gst.c: (GST_START_TEST):
8293         * check/gst/gstbin.c:
8294         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8295         * check/gst/gstbus.c:
8296         * check/gst/gstcaps.c: (GST_START_TEST):
8297         * check/gst/gstelement.c:
8298         * check/gst/gstghostpad.c:
8299         * check/gst/gstiterator.c:
8300         * check/gst/gstmessage.c:
8301         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
8302         * check/gst/gstobject.c:
8303         * check/gst/gstpad.c: (GST_START_TEST):
8304         * check/gst/gststructure.c: (GST_START_TEST):
8305         * check/gst/gstsystemclock.c: (GST_START_TEST),
8306         (gst_systemclock_suite):
8307         * check/gst/gsttag.c: (gst_tag_suite):
8308         * check/gst/gstvalue.c:
8309         * check/pipelines/cleanup.c:
8310         * check/pipelines/simple_launch_lines.c:
8311         * check/states/sinks.c:
8312           change include statement
8313
8314         * docs/gst/gstreamer-sections.txt:
8315         * docs/gst/tmpl/gstpad.sgml:
8316           document more pad stuff
8317         * gst/gstminiobject.c: (gst_mini_object_ref),
8318         (gst_mini_object_unref):
8319           debug refcounting
8320
8321 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
8322
8323         * docs/gst/tmpl/gst.sgml:
8324         * gst/gst.c:
8325           eliminate another tmpl file, fix spelling in the long-description
8326
8327 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8328
8329         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8330         (test_event), (timediff), (gstevents_suite):
8331           Should fix build on 64-bit arch's
8332
8333 2005-08-18  Andy Wingo  <wingo@pobox.com>
8334
8335         Make sure that when a pipeline goes to PLAYING, that data has
8336         actually hit the sink.
8337
8338         * check/states/sinks.c (test_sink): A sink that doesn't get any
8339         data shouldn't return SUCCESS for going to either PLAYING or
8340         PAUSED. Test also the return values on the way back down.
8341
8342         * gst/gstelement.c (gst_element_set_state): When changing the
8343         state of an element currently changing state asynchronously, go to
8344         lost-state after commiting the pending state. Makes future calls
8345         to get_state continue to return ASYNC.
8346
8347         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
8348         ASYNC when going to PLAYING if we still don't have preroll, as can
8349         happen with live sources.
8350
8351 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8352
8353         * docs/pwg/advanced-types.xml:
8354           Hack long paragraph into 2 chunks as a workaround for buggy
8355           jadetex version in sid and breezy that loops infinitely and
8356           eats all RAM.
8357
8358 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8359
8360         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8361         (test_event), (timediff), (gstevents_suite):
8362           Provide more error margin in clock measurements to allow for 
8363           g_get_current_time inaccuracies.
8364
8365 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8366
8367         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8368         (test_event), (timediff), (gstevents_suite):
8369            Fix error message output so I might be able to tell why the
8370            test works here but fails on the build farm.
8371
8372 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
8373
8374         * check/Makefile.am:
8375         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
8376         (test_event), (timediff), (gstevents_suite), (main):
8377           I wrote a test!
8378
8379         * docs/design/part-seeking.txt:
8380           Spelling correction
8381
8382         * docs/gst/tmpl/gstevent.sgml:
8383         * docs/gst/tmpl/gstfakesrc.sgml:
8384           Docs updates.
8385
8386         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8387           Treat a buffer-without-newsegment the same as a receiving 
8388           a newsegment not in time format, and disable syncing to the clock
8389           with a warning.
8390
8391         * gst/gstbus.c: (gst_bus_set_sync_handler):
8392           Assert if anyone tries to replace the existing sync_handler for bus, 
8393           as only the owner should be setting it.
8394
8395         * gst/gstevent.h:
8396           Have a fixed set of custom event enums with events identified by
8397           their structure name (as in 0.8), rather than a free-for-all
8398           allowing collisions between enum values from different plugins.
8399
8400         * gst/gstpad.c: (gst_pad_class_init):
8401           Docs change.
8402           
8403         * gst/gstqueue.c: (gst_queue_handle_sink_event):
8404           Handle out-of-band downstream events from the sending thread.
8405
8406 2005-08-17  Andy Wingo  <wingo@pobox.com>
8407
8408         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
8409         play-timeout==0 to mean no timeout at all. In that case, don't
8410         bother with a get_state or a warning, just return directly, even
8411         if it's ASYNC.
8412
8413         * gst/base/gstbasetransform.c: Debug changes.
8414
8415         * gst/gstutils.h:
8416         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
8417         ensure bins post state change messages. A bit of a hack but I can't
8418         think of a way to avoid it.
8419
8420         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
8421
8422 2005-08-16  Andy Wingo  <wingo@pobox.com>
8423
8424         * gst/base/gstadapter.h:
8425         * gst/base/gstadapter.c (gst_adapter_take): New function, like
8426         peek() but you own the data. Not terribly efficient atm.
8427
8428 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8429
8430         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
8431         (gst_element_found_tags):
8432         * gst/gstutils.h:
8433           Add two utility functions for tag handling.
8434
8435 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8436
8437         * docs/manual/advanced-dataaccess.xml:
8438         * docs/manual/basics-helloworld.xml:
8439           Fix docs to use _bin_add() before _link(), which fixes the examples
8440           with recent core versions (reported by Madhan Raj M
8441           <raj_madan@rediffmail.com>, #313199).
8442
8443 2005-08-16  Wim Taymans  <wim@fluendo.com>
8444
8445         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8446         Added subtract checks.
8447
8448         * docs/design/part-events.txt:
8449         Some more docs about newsegment
8450
8451         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
8452         Fix FIXME
8453
8454         * gst/gstcaps.c: (gst_caps_to_string):
8455         Add comments, cleanups.
8456         
8457         * gst/gstelement.c: (gst_element_save_thyself):
8458         cleanups
8459         
8460         * gst/gstvalue.c: (gst_value_collect_int_range),
8461         (gst_string_unwrap), (gst_value_union_int_int_range),
8462         (gst_value_union_int_range_int_range),
8463         (gst_value_intersect_int_int_range),
8464         (gst_value_intersect_int_range_int_range),
8465         (gst_value_intersect_double_double_range),
8466         (gst_value_intersect_double_range_double_range),
8467         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
8468         (gst_value_subtract_int_range_int),
8469         (gst_value_subtract_double_range_double),
8470         (gst_value_subtract_double_range_double_range),
8471         (gst_value_subtract_from_list), (gst_value_subtract_list),
8472         (gst_value_can_compare), (gst_value_compare_fraction):
8473         Cleanups, add comments, remove unneeded asserts.
8474
8475 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8476
8477         * tools/gst-launch.c: (event_loop):
8478           don't convert NULL structures to strings
8479
8480 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
8481
8482         * docs/gst/gstreamer-sections.txt:
8483           made some defines private
8484         * docs/gst/tmpl/gstconfig.sgml:
8485         * docs/gst/tmpl/gstqueue.sgml:
8486         * docs/gst/tmpl/gsttaglist.sgml:
8487         * docs/gst/tmpl/gsttypes.sgml:
8488         * docs/gst/tmpl/gstutils.sgml:
8489         * docs/pwg/appendix-porting.xml:
8490         * gst/base/gstbasesink.h:
8491         * gst/base/gstbasesrc.c:
8492         * gst/base/gstbasesrc.h:
8493         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
8494         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
8495         * gst/gstelement.c: (gst_element_class_init):
8496         * gst/gstpad.c: (gst_pad_class_init):
8497         * gst/gstqueue.c: (gst_queue_class_init):
8498         * gst/gstxml.c: (gst_xml_class_init):
8499           documented all undocumented signal inline
8500         * libs/gst/controller/gst-controller.h:
8501           added padding
8502
8503 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8504
8505         * docs/pwg/appendix-porting.xml:
8506           Document _set_link_function -> _set_setcaps_function.
8507
8508 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8509
8510         * check/Makefile.am:
8511           add a .check target for running the check
8512         * check/gst-libs/controller.c: (GST_START_TEST):
8513           cosmetic fixups
8514         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
8515           complete checks for gstbuffer; would be nice if I could get the
8516           gcov stuff to work so I can see if I actually completed gstbuffer.c
8517         * check/gstcheck.h:
8518           add ASSERT_BUFFER_REFCOUNT
8519
8520 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
8521
8522         * docs/gst/gstreamer-sections.txt:
8523         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
8524         * gst/gsttag.h:
8525           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
8526           spew out a warning if a tag that is already registered
8527           is re-registered, unless it is re-registered with a 
8528           different type (#308438).
8529
8530 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
8531
8532         * docs/pwg/appendix-porting.xml:
8533         * docs/pwg/building-state.xml:
8534           Add some paragraphs about state changes in 0.9 to the PWG
8535           and the porting guide, in particular about the new meaning
8536           of GST_STATE_PAUSED and how to write state change functions
8537           with concurrent access by multiple threads in mind.
8538
8539 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
8540
8541         * docs/gst/gstreamer-docs.sgml:
8542         * docs/libs/gstreamer-libs-docs.sgml:
8543           added deprecation and since indexes
8544         * libs/gst/controller/gst-controller.c:
8545         * libs/gst/controller/gst-helper.c:
8546           added since tags
8547
8548
8549 2005-08-11  Wim Taymans  <wim@fluendo.com>
8550
8551         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
8552         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
8553         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
8554         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
8555         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
8556         (gst_ghost_pad_set_target):
8557         Actually implement (re)setting the target on a ghostpad
8558         as described in the docs.
8559
8560 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8561
8562         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
8563           Check whether GST_DEBUG_NO_COLOR environment variable is
8564           set and disable coloured debug output if that is the case.
8565
8566 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
8567
8568         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8569         (gst_type_find_helper):
8570           The memory returned by gst_type_find_peek() needs to
8571           stay valid until the end of a typefind function, and
8572           typefind functions may keep results from different 
8573           offsets around, so we can't just unref the buffer from
8574           the previous _peek(), but have to save all buffers 
8575           returned by _peek() until typefinding is done and only
8576           free them then.
8577
8578 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
8579
8580         * docs/gst/gstreamer-sections.txt:
8581         * gst/gstutils.h:
8582           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
8583
8584 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8585
8586         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8587           Fix a pretty good memleak.
8588
8589 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8590
8591         * gst/gstiterator.h:
8592           Fix wrong include and 'make distcheck'.
8593
8594 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8595
8596         * gst/gstbin.c: (bin_bus_handler):
8597           Use gst_element_post_message() instead.
8598
8599 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
8600
8601         * gst/base/gstadapter.h:
8602         * gst/base/gstbasesink.h:
8603         * gst/base/gstbasesrc.h:
8604         * gst/base/gstbasetransform.h:
8605         * gst/base/gstcollectpads.h:
8606         * gst/base/gstpushsrc.h:
8607         * gst/gstiterator.h:
8608           Add padding to our base elements' class and instance structs and
8609           to GstIterator (you will need to rebuild all plugins and apps!)
8610
8611 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8612
8613         * gst/gstbin.c: (bin_bus_handler):
8614           Make default message forwarding from child->bus to bin->bus
8615           threadsafe and make it not emit warnings if the parent has no bus.
8616
8617 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8618
8619         * gst/gstelement.c: (activate_pads):
8620           On paused->ready, set pad->caps to NULL, as is the documented
8621           behaviour in this state change. Fixes playback of series of
8622           media files when visualization is enabled in Totem.
8623
8624 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8625
8626         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
8627           Allow NULL as filter-caps (which means "any").
8628
8629 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8630
8631         * docs/libs/gstreamer-libs-sections.txt:
8632         * libs/gst/controller/gst-controller.c:
8633         * libs/gst/controller/gst-controller.h:
8634         * libs/gst/controller/gst-helper.c:
8635           adding more entries to the docs and fix small doc-bugs
8636
8637 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8638
8639         * docs/gst/gstreamer-docs.sgml:
8640         * docs/gst/gstreamer-sections.txt:
8641         * docs/gst/gstreamer.types:
8642         * docs/gst/tmpl/gstbasesink.sgml:
8643         * docs/gst/tmpl/gstbasesrc.sgml:
8644         * docs/gst/tmpl/gstbasetransform.sgml:
8645         * docs/gst/tmpl/gstfakesrc.sgml:
8646         * gst/base/gstcollectpads.c:
8647         * gst/base/gstcollectpads.h:
8648         * libs/gst/controller/gst-controller.c:
8649         * libs/gst/controller/gst-controller.h:
8650         * libs/gst/controller/gst-helper.c:
8651         * libs/gst/controller/gst-interpolation.c:
8652         * libs/gst/controller/lib.c:
8653           added long/short desc for controller docs
8654           added collectpads base class docs
8655           added correct includes to base-class docs
8656
8657 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
8658
8659         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8660         (gst_test_mono_source_set_property),
8661         (gst_test_mono_source_class_init), (GST_START_TEST),
8662         (gst_controller_suite):
8663         * docs/gst/gstreamer-docs.sgml:
8664         * docs/gst/gstreamer-sections.txt:
8665         * docs/gst/gstreamer.types:
8666         * docs/libs/gstreamer-libs-docs.sgml:
8667         * docs/libs/gstreamer-libs-sections.txt:
8668         * gst/base/gstadapter.c:
8669         * libs/gst/controller/gst-controller.c:
8670         (gst_controlled_property_new), (gst_controlled_property_free),
8671         (gst_controller_new_valist),
8672         (gst_controller_remove_properties_valist),
8673         (gst_controller_sink_values), (_gst_controller_finalize):
8674         * libs/gst/controller/gst-controller.h:
8675         * libs/gst/controller/gst-helper.c:
8676         (gst_object_control_properties), (gst_object_uncontrol_properties),
8677         (gst_object_get_controller), (gst_object_set_controller),
8678         (gst_object_sink_values), (gst_object_get_value_arrays),
8679         (gst_object_get_value_array):
8680           more tests (and fixes) for the controller
8681           more docs for the controller
8682           integrated companies docs for the adapter 
8683
8684 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8685
8686         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
8687         (GST_START_TEST), (fakesrc_suite):
8688           add tests for sizetype
8689
8690 2005-08-04  Andy Wingo  <wingo@pobox.com>
8691
8692         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
8693         fixes buffer_alloc proxying among other things.
8694
8695         * gst/base/gstbasetransform.c:
8696         * gst/base/gstbasetransform.h:
8697         Revert patch to gstbasetransform from 7-28 removing
8698         delay_configure.
8699
8700         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
8701         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
8702         Semantics changed, should return not the size of the output buffer
8703         but the byte size of a buffer with a given caps.
8704
8705         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
8706         debug object.
8707         (gst_base_transform_configure_caps): Don't set out_size here: (in,
8708         out) are not the pad caps until setcaps finishes.
8709         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
8710         not-in-place case as well. Deal with changing from in-place to
8711         not-in-place within calling pad_alloc_buffer. Still a bit
8712         concerned about the overhead here...
8713
8714 2005-08-03  Andy Wingo  <wingo@pobox.com>
8715
8716         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
8717         fixating is an error.
8718
8719 2005-08-04  Edward Hervey  <edward@fluendo.com>
8720
8721         * gst/base/gstadapter.h: 
8722         Added gst_adapter_get_type() to the header
8723
8724 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8725
8726         * check/Makefile.am:
8727         * check/gst-libs/controller.c:
8728         * libs/gst/controller/gst-controller.c:
8729         (gst_controller_new_valist):
8730           added check test suite for the controller
8731         * gst/base/gstpushsrc.c:
8732           fixed a doc typo
8733
8734 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8735
8736         * docs/gst/Makefile.am:
8737         * docs/gst/gstreamer-docs.sgml:
8738         * docs/gst/gstreamer-sections.txt:
8739         * docs/gst/gstreamer.types:
8740         * docs/gst/tmpl/gstfakesrc.sgml:
8741         * gst/base/README:
8742         * gst/base/gstbasesink.c:
8743         * gst/base/gstbasesink.h:
8744         * gst/base/gstbasesrc.c:
8745         * gst/base/gstbasesrc.h:
8746         * gst/base/gstbasetransform.c:
8747         * gst/base/gstpushsrc.c:
8748         * gst/base/gstpushsrc.h:
8749           add short/long description docs to base classes
8750           add pushsrc to the docs
8751           remove consolidated doc fragments
8752
8753 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
8754
8755         * configure.ac:
8756         * docs/libs/Makefile.am:
8757         * docs/libs/gstreamer-libs-docs.sgml:
8758         * docs/libs/gstreamer-libs-sections.txt:
8759         * docs/libs/gstreamer-libs.types:
8760         * examples/Makefile.am:
8761         * examples/controller/.cvsignore:
8762         * examples/controller/Makefile.am:
8763         * examples/controller/audio-example.c: (main):
8764         * libs/gst/Makefile.am:
8765         * libs/gst/controller/.cvsignore:
8766         * libs/gst/controller/Makefile.am:
8767         * libs/gst/controller/gst-controller.c:
8768         (on_object_controlled_property_changed), (gst_timed_value_compare),
8769         (gst_timed_value_find),
8770         (gst_controlled_property_set_interpolation_mode),
8771         (gst_controlled_property_new), (gst_controlled_property_free),
8772         (gst_controller_find_controlled_property),
8773         (gst_controller_new_valist), (gst_controller_new),
8774         (gst_controller_remove_properties_valist),
8775         (gst_controller_remove_properties), (gst_controller_set),
8776         (gst_controller_set_from_list), (gst_controller_unset),
8777         (gst_controller_get), (gst_controller_get_all),
8778         (gst_controller_sink_values), (gst_controller_get_value_arrays),
8779         (gst_controller_get_value_array),
8780         (gst_controller_set_interpolation_mode),
8781         (_gst_controller_finalize), (_gst_controller_init),
8782         (_gst_controller_class_init), (gst_controller_get_type):
8783         * libs/gst/controller/gst-controller.h:
8784         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
8785         (g_object_uncontrol_properties), (g_object_get_controller),
8786         (g_object_set_controller), (g_object_sink_values),
8787         (g_object_get_value_arrays), (g_object_get_value_array):
8788         * libs/gst/controller/gst-interpolation.c:
8789         (gst_controlled_property_find_timed_value_node),
8790         (interpolate_none_get), (interpolate_trigger_get),
8791         (interpolate_trigger_get_value_array):
8792         * libs/gst/controller/lib.c: (gst_controller_init):
8793         * pkgconfig/Makefile.am:
8794         * pkgconfig/gstreamer-control-uninstalled.pc.in:
8795         * pkgconfig/gstreamer-control.pc.in:
8796         * testsuite/Makefile.am:
8797         * testsuite/controller/.cvsignore:
8798         * testsuite/controller/Makefile.am:
8799         * testsuite/controller/interpolator.c: (main):
8800           added controller code
8801           removed dparam pc files
8802
8803 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8804         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
8805         (gst_collectpads_stop):
8806           Broadcast the condition when shutting down, to make sure we wake all
8807           threads up. Shut down pads on finalize, for safety.
8808
8809 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
8810         * gst/base/gstbasetransform.c: (gst_base_transform_init),
8811         (gst_base_transform_handle_buffer),
8812         (gst_base_transform_change_state):
8813           Handle PAUSED->READY->PAUSED transition after negotiation
8814           occurred already.
8815         * gst/gstmessage.c: (gst_message_init):
8816           Extra piece of debug for new messages.
8817
8818 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
8819
8820         * configure.ac:
8821         * docs/gst/tmpl/gstbasesrc.sgml:
8822         * docs/gst/tmpl/gstelement.sgml:
8823         * docs/gst/tmpl/gstevent.sgml:
8824         * docs/gst/tmpl/gstfakesrc.sgml:
8825         * docs/gst/tmpl/gstformat.sgml:
8826         * docs/gst/tmpl/gstghostpad.sgml:
8827         * docs/gst/tmpl/gstpad.sgml:
8828         * docs/gst/tmpl/gstquery.sgml:
8829         * docs/gst/tmpl/gststructure.sgml:
8830         * docs/gst/tmpl/gsttaglist.sgml:
8831         * docs/gst/tmpl/gstvalue.sgml:
8832         * docs/libs/gstreamer-libs-docs.sgml:
8833         * docs/libs/gstreamer-libs-sections.txt:
8834         * docs/libs/gstreamer-libs.types:
8835         * libs/gst/Makefile.am:
8836         * libs/gst/control/.cvsignore:
8837         * libs/gst/control/Makefile.am:
8838         * libs/gst/control/control.c:
8839         * libs/gst/control/control.h:
8840         * libs/gst/control/dparam.c:
8841         * libs/gst/control/dparam.h:
8842         * libs/gst/control/dparam_smooth.c:
8843         * libs/gst/control/dparam_smooth.h:
8844         * libs/gst/control/dparamcommon.h:
8845         * libs/gst/control/dparammanager.c:
8846         * libs/gst/control/dparammanager.h:
8847         * libs/gst/control/dplinearinterp.c:
8848         * libs/gst/control/dplinearinterp.h:
8849         * libs/gst/control/unitconvert.c:
8850         * libs/gst/control/unitconvert.h:
8851         * testsuite/Makefile.am:
8852         * testsuite/dynparams/.cvsignore:
8853         * testsuite/dynparams/Makefile.am:
8854         * testsuite/dynparams/dparamstest.c:
8855         * tools/Makefile.am:
8856         * tools/gst-inspect.c: (print_element_info), (main):
8857         * tools/gst-xmlinspect.c: (print_element_info), (main):
8858           deactivate and remove dparams (libgstcontrol)
8859
8860 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8861
8862         * gst/elements/gsttypefindelement.c:
8863         (gst_type_find_element_have_type), (gst_type_find_element_init),
8864         (stop_typefinding), (gst_type_find_element_handle_event),
8865         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8866         * gst/elements/gsttypefindelement.h:
8867           Set caps on all outgoing buffers, not just the first one.
8868
8869 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8870
8871         * gst/elements/gsttypefindelement.c:
8872         (gst_type_find_element_have_type),
8873         (gst_type_find_element_check_set_buffer_caps),
8874         (gst_type_find_element_init), (stop_typefinding),
8875         (gst_type_find_element_handle_event),
8876         (gst_type_find_element_chain), (gst_type_find_element_getrange):
8877         * gst/elements/gsttypefindelement.h:
8878           Set caps on first outgoing buffer when we've found the type.
8879
8880 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
8881
8882         * docs/gst/gstreamer-docs.sgml:
8883         * docs/gst/gstreamer-sections.txt:
8884         * docs/gst/tmpl/gstscheduler.sgml:
8885         * docs/gst/tmpl/gstschedulerfactory.sgml:
8886           Remove some old cruft from docs.
8887
8888 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
8889
8890         * gst/gstpad.h:
8891           Fix inline docs for GstPadLinkReturn.
8892           
8893         * gst/gststructure.c: (gst_structure_has_name):
8894         * gst/gststructure.h:
8895         * docs/gst/gstreamer-sections.txt:
8896           New API: gst_structure_has_name().
8897
8898 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
8899
8900         * configure.ac:
8901           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
8902           and _LARGEFILE_SOURCE in config.h as required. Do not 
8903           export those flags in our .pc files any longer (#142209).
8904
8905           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
8906
8907         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
8908         (gst_file_sink_do_seek), (gst_file_sink_event),
8909         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8910           Redo seek/tell calls with large file support in mind; add some
8911           debugging messages; add log message that tells us when large
8912           file support is unavailable or not enabled for some reason.
8913
8914         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
8915           Add log message that tells us when large file support 
8916           is unavailable or not enabled for some reason.
8917
8918 2005-07-29  Wim Taymans  <wim@fluendo.com>
8919
8920         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8921         Added test for removing an element with ghostpad from a bin.
8922         Fixed test as current implementation does the right thing.
8923
8924         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
8925         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
8926         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
8927         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
8928         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
8929         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
8930         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
8931         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
8932         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
8933         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
8934         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
8935         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
8936         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8937         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
8938         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
8939         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8940         * gst/gstghostpad.h:
8941         Clean up ghostpads, remove properties for internal stuff.
8942         Make threadsafe.
8943         Fix refcounting.
8944         Prepare for switching targets, not all use cases work yet.
8945
8946 2005-07-29  Wim Taymans  <wim@fluendo.com>
8947
8948         * docs/design/part-gstghostpad.txt:
8949         Small update.
8950
8951         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8952         (gst_bin_remove_func):
8953         Unlinking pads while holding the bin LOCK is not a good
8954         idea.
8955
8956         * gst/gstpad.c: (gst_pad_class_init),
8957         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
8958         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
8959         No prob setting template after creating the pad.
8960
8961 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
8962
8963         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
8964         (gst_bus_peek), (gst_bus_source_dispatch),
8965         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
8966         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
8967           gst_bus_poll may be called from other threads. Handle
8968           this nicely by not making poll_data disappear off the
8969           stack once gst_bus_poll returns.
8970           gst_bus_peek now increments the refcount on the returned
8971           message.
8972
8973 2005-07-29  Wim Taymans  <wim@fluendo.com>
8974
8975         * docs/design/part-gstghostpad.txt:
8976         Overview of current GhostPad datastructures and use
8977         cases for changing the target.
8978
8979 2005-07-28  Wim Taymans  <wim@fluendo.com>
8980
8981         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
8982         Added checks for hierarchy consistency whan adding linked
8983         elements to bins.
8984
8985         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
8986         Added check to test element scheduling without bin/pipeline.
8987
8988         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
8989         First add elements to bin, then link.
8990         
8991         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
8992         (gst_bin_remove_func):
8993         Unlink pads from elements added/removed from bin to maintain
8994         hierarchy consistency.
8995
8996 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
8997
8998         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8999         (gst_base_transform_handle_buffer):
9000         * gst/base/gstbasetransform.h:
9001           Remove broken delay_configure (fixes renegotiation of software
9002           scaling pipelines); remove some leftover printf()s.
9003
9004 2005-07-28  Wim Taymans  <wim@fluendo.com>
9005
9006         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9007         Added some more tests for wrong hierarchy
9008
9009         * docs/design/part-overview.txt:
9010         Some updates.
9011
9012         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
9013         Cleanups.
9014
9015         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
9016         (gst_element_dispose):
9017         Some more cleanups.
9018
9019         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9020         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
9021         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9022         (gst_pad_set_caps), (gst_pad_send_event):
9023         Check for correct hierarchy when linking pads. Moving to
9024         strict requirement for ghostpads when linking elements in
9025         different bins.
9026
9027         * gst/gstpad.h:
9028         Clean ups. Added WRONG_HIERARCHY return value.
9029
9030 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9031
9032         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9033           Better debug if no transform is possible.
9034
9035 2005-07-27  Wim Taymans  <wim@fluendo.com>
9036
9037         * docs/random/wtay/network-transp:
9038         Some old doc I had.
9039
9040 2005-07-27  Wim Taymans  <wim@fluendo.com>
9041
9042         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9043         (gst_dp_event_from_packet):
9044         Fix serialization of seek events.
9045
9046 2005-07-27  Wim Taymans  <wim@fluendo.com>
9047
9048         * check/gst-libs/gdp.c: (GST_START_TEST):
9049         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9050         Fix compilation and fix event serialization.
9051
9052 2005-07-27  Wim Taymans  <wim@fluendo.com>
9053
9054         * CHANGES-0.9:
9055         * docs/design/part-TODO.txt:
9056         * docs/design/part-events.txt:
9057         Some docs updates
9058
9059         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9060         (gst_base_sink_event), (gst_base_sink_do_sync),
9061         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9062         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9063         (gst_base_src_do_seek), (gst_base_src_event_handler),
9064         (gst_base_src_loop):
9065         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9066         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9067         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9068         (gst_base_transform_event), (gst_base_transform_handle_buffer),
9069         (gst_base_transform_set_passthrough),
9070         (gst_base_transform_is_passthrough):
9071         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9072         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9073         Event updates.
9074
9075         * gst/gstbuffer.h:
9076         Use faster casts.
9077
9078         * gst/gstelement.c: (gst_element_seek):
9079         * gst/gstelement.h:
9080         Update gst_element_seek.
9081
9082         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
9083         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
9084         (gst_event_new_flush_start), (gst_event_new_flush_stop),
9085         (gst_event_new_eos), (gst_event_new_newsegment),
9086         (gst_event_parse_newsegment), (gst_event_new_tag),
9087         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
9088         (gst_event_parse_qos), (gst_event_new_seek),
9089         (gst_event_parse_seek), (gst_event_new_navigation):
9090         * gst/gstevent.h:
9091         Make GstEvent use GstStructure. Add parsing code, make sure the
9092         API is sufficiently generic.
9093         Mark possible directions of events and serialization.
9094
9095         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
9096         (_gst_message_copy), (gst_message_new_segment_start),
9097         (gst_message_new_segment_done), (gst_message_new_custom),
9098         (gst_message_parse_segment_start),
9099         (gst_message_parse_segment_done):
9100         Small cleanups.
9101
9102         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9103         (gst_pad_set_caps), (gst_pad_send_event):
9104         Update for new events. 
9105         Catch events sent in wrong directions.
9106
9107         * gst/gstqueue.c: (gst_queue_link_src),
9108         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
9109         (gst_queue_handle_src_query):
9110         Event updates.
9111
9112         * gst/gsttag.c:
9113         * gst/gsttag.h:
9114         Remove event code from this file.
9115
9116         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
9117         (gst_dp_event_from_packet):
9118         Event updates.
9119
9120 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9121
9122         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
9123         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9124         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
9125           Make debugging actually useful.
9126
9127 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9128
9129         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
9130         (gst_pad_fixate_caps):
9131           Implement default fixation once again, so that gst_pad_fixate()
9132           actually does anything at all. This probably needs to be some
9133           sort of a last resort, and use profile-based fixation first, but
9134           since that doesn't exist yet, this is the best we have. Fixes
9135           visualization in Totem.
9136
9137 2005-07-22  Wim Taymans  <wim@fluendo.com>
9138
9139         * docs/design/part-events.txt:
9140         Small update.
9141
9142         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9143         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
9144         (gst_base_sink_activate_pull):
9145         Some more comments.
9146
9147         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
9148         (gst_fake_src_create):
9149         Fix handoff marshall.
9150
9151         * gst/elements/gstidentity.c: (gst_identity_class_init),
9152         (gst_identity_transform_ip):
9153         We're a real inplace element.
9154
9155         * gst/gstbus.c: (gst_bus_post):
9156         Added some comments.
9157
9158         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
9159         * tests/muxing/case1.c: (main):
9160         * tests/sched/dynamic-pipeline.c: (main):
9161         * tests/sched/interrupt1.c: (main):
9162         * tests/sched/interrupt2.c: (main):
9163         * tests/sched/interrupt3.c: (main):
9164         * tests/sched/runxml.c: (main):
9165         * tests/sched/sched-stress.c: (main):
9166         * tests/seeking/seeking1.c: (event_received), (main):
9167         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9168         (main):
9169         * tests/threadstate/threadstate3.c: (main):
9170         * tests/threadstate/threadstate4.c: (main):
9171         * tests/threadstate/threadstate5.c: (main):
9172         Fix the tests.
9173
9174 2005-07-21  Wim Taymans  <wim@fluendo.com>
9175
9176         * docs/design/part-seeking.txt:
9177         Some small additions.
9178
9179         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9180         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9181         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
9182         * gst/base/gstbasesink.h:
9183         discont values are gint64, handle the math correctly.
9184
9185         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9186         Make the basesrc report error if the source pad is not linked.
9187
9188         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
9189         (gst_queue_loop), (gst_queue_handle_src_query),
9190         (gst_queue_src_activate_push):
9191         Make queue collect data even if the srcpad is not linked.
9192         Start pushing out data as soon as it is linked.
9193
9194         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
9195         * gst/gstutils.h:
9196         Added gst_flow_get_name() to ease error reporting.
9197
9198 2005-07-20  Wim Taymans  <wim@fluendo.com>
9199
9200         * gst/gstmessage.c: (gst_message_new_segment_start),
9201         (gst_message_new_segment_done), (gst_message_parse_segment_start),
9202         (gst_message_parse_segment_done):
9203         * gst/gstmessage.h:
9204         Added a bunch of messages for advanced seeking.
9205
9206         * gst/parse/grammar.y:
9207         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
9208         (gst_dpman_state_changed):
9209         Fix some new-pad -> pad-added signals
9210
9211 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9212
9213         * docs/manual/appendix-porting.xml:
9214         * docs/pwg/appendix-porting.xml:
9215           Document new-pad/state-change signal renames and the FixedList
9216           type rename.
9217
9218 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9219
9220         * docs/manual/advanced-autoplugging.xml:
9221         * docs/manual/basics-helloworld.xml:
9222         * docs/manual/basics-pads.xml:
9223         * docs/random/ds/0.9-suggested-changes:
9224         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
9225         * gst/gstelement.h:
9226         * gst/gstevent.h:
9227         * gst/gstformat.h:
9228         * gst/gstquery.h:
9229         * gst/gststructure.c: (gst_structure_value_get_generic_type),
9230         (gst_structure_parse_array), (gst_structure_parse_value):
9231         * gst/gstvalue.c: (gst_type_is_fixed),
9232         (gst_value_list_prepend_value), (gst_value_list_append_value),
9233         (gst_value_list_get_size), (gst_value_list_get_value),
9234         (gst_value_transform_array_string), (gst_value_serialize_array),
9235         (gst_value_deserialize_array), (gst_value_intersect_array),
9236         (gst_value_is_fixed), (_gst_value_initialize):
9237         * gst/gstvalue.h:
9238           GstElement::new-pad -> pad-added, GstElement::state-change ->
9239           state-changed, GstValueFixedList -> GstValueArray, add format and
9240           flags as their own arguments in gst_element_seek() (should improve
9241           "bindeability"), remove function generators since they don't work
9242           under a whole bunch of compilers (they were deprecated already
9243           anyway).
9244
9245 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9246
9247         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
9248         (_gst_debug_register_funcptr):
9249         * gst/gstinfo.h:
9250           Fix illegal cast on some platforms (#309253).
9251
9252 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9253
9254         * gst/gstmessage.c: (gst_message_new_custom):
9255         * gst/gstmessage.h:
9256           Add _new_custom, make _new_application a macro to _new_custom.
9257
9258 2005-07-20  Wim Taymans  <wim@fluendo.com>
9259
9260         * gst/base/gstbasesrc.c: (gst_base_src_init),
9261         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
9262         * gst/base/gstbasesrc.h:
9263         Add a gboolean to decide when to push out a discont.
9264
9265         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
9266         (gst_queue_loop), (gst_queue_handle_src_query),
9267         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
9268         (gst_queue_set_property), (gst_queue_get_property):
9269         Some cleanups.
9270
9271         * tests/threadstate/threadstate1.c: (main):
9272         Make a thread test compile and run... very silly..
9273
9274
9275 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9276
9277         * docs/manual/appendix-porting.xml:
9278           Mention removal of libgstgconf-0.9.la and existence of gconf
9279           elements.
9280
9281 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9282
9283         * docs/pwg/advanced-clock.xml:
9284         * docs/pwg/appendix-porting.xml:
9285         * docs/pwg/intro-preface.xml:
9286         * docs/pwg/other-base.xml:
9287         * docs/pwg/other-manager.xml:
9288         * docs/pwg/other-nton.xml:
9289         * docs/pwg/other-ntoone.xml:
9290         * docs/pwg/other-oneton.xml:
9291         * docs/pwg/pwg.xml:
9292           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
9293           demuxer), remove n-to-n (was never written), fix some code examples
9294           and links and update the porting section to include all this.
9295
9296 2005-07-19  Wim Taymans  <wim@fluendo.com>
9297
9298         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
9299         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
9300         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
9301         (gst_queue_src_activate_push), (gst_queue_change_state),
9302         (gst_queue_get_property):
9303         * gst/gstqueue.h:
9304         Propagate GstFlowReturn more intelligently upstream and output
9305         an ERROR/EOS when streaming stopped due to fatal error.
9306
9307 2005-07-19  Wim Taymans  <wim@fluendo.com>
9308
9309         * tools/gst-launch.c: (check_intr), (event_loop), (main):
9310         Don't block forever for the state change to complete, the
9311         pipeline already did with a sensible timeout.
9312
9313 2005-07-19  Wim Taymans  <wim@fluendo.com>
9314
9315         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9316         Make sure we never call the create function is we
9317         got deactivated.
9318
9319 2005-07-19  Andy Wingo  <wingo@pobox.com>
9320
9321         * gst/parse/parse.l: Attempt to solve bug #172815.
9322
9323 2005-07-19  Wim Taymans  <wim@fluendo.com>
9324
9325         * docs/design/part-clocks.txt:
9326         * docs/design/part-events.txt:
9327         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
9328         Small docs updates.
9329         Only update the seeking values when we are not
9330         busy streaming.
9331
9332 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9333
9334         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9335           Oops, ignore the result of gst_pad_push_event here.
9336
9337 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
9338
9339         * gst/base/gstbasesrc.c: (gst_base_src_loop),
9340         (gst_base_src_activate_push):
9341           Send discont event from the loop function, as pads
9342           aren't activated yet in the activate_push handler.
9343
9344         * gst/gstbin.c: (bin_bus_handler):
9345           Don't leak element name.
9346
9347 2005-07-18  Andy Wingo  <wingo@pobox.com>
9348
9349         * configure.ac: Use AS_LIBTOOL_TAGS.
9350
9351 2005-07-18  Wim Taymans  <wim@fluendo.com>
9352
9353         * docs/gst/gstreamer.types:
9354         Remove deleted types.
9355
9356 2005-07-18  Wim Taymans  <wim@fluendo.com>
9357
9358         * check/elements/gstfakesrc.c: (GST_START_TEST):
9359         * configure.ac:
9360         * gst/Makefile.am:
9361         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
9362         (init_popt_callback):
9363         * gst/gst.h:
9364         * gst/gst_private.h:
9365         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
9366         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
9367         * gst/gstbin.h:
9368         * gst/gstbus.h:
9369         * gst/gstconfig.h.in:
9370         * gst/gstelement.c: (gst_element_class_init),
9371         (gst_element_set_base_time), (gst_element_get_base_time),
9372         (iterator_fold_with_resync), (gst_element_change_state),
9373         (gst_element_dispose), (gst_element_get_bus):
9374         * gst/gstelement.h:
9375         * gst/gstelementfactory.h:
9376         * gst/gsterror.c: (_gst_core_errors_init):
9377         * gst/gsterror.h:
9378         * gst/gstevent.h:
9379         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9380         * gst/gstindex.c:
9381         * gst/gstinfo.c: (_gst_debug_init):
9382         * gst/gstmessage.c: (_gst_message_copy):
9383         * gst/gstmessage.h:
9384         * gst/gstminiobject.h:
9385         * gst/gstobject.c:
9386         * gst/gstobject.h:
9387         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9388         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
9389         * gst/gstpad.h:
9390         * gst/gstparse.h:
9391         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
9392         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9393         (gst_pipeline_get_last_stream_time):
9394         * gst/gstpipeline.h:
9395         * gst/gstpluginfeature.h:
9396         * gst/gstquery.h:
9397         * gst/gstscheduler.c:
9398         * gst/gstscheduler.h:
9399         * gst/gststructure.h:
9400         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
9401         (gst_task_finalize), (gst_task_func), (gst_task_create),
9402         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
9403         (gst_task_stop), (gst_task_pause):
9404         * gst/gsttask.h:
9405         * gst/gsttypefind.h:
9406         * gst/gsttypes.h:
9407         * gst/registries/gstlibxmlregistry.c: (load_feature),
9408         (gst_xml_registry_load), (gst_xml_registry_save_feature):
9409         * gst/registries/gstxmlregistry.c:
9410         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
9411         * gst/schedulers/threadscheduler.c:
9412         * libs/gst/control/dparammanager.h:
9413         * tools/gst-inspect.c: (print_element_list),
9414         (print_plugin_features), (print_element_features):
9415         * tools/gst-xmlinspect.c: (print_element_list),
9416         (print_plugin_info), (main):
9417         Removed plugable schedulers.
9418         Removed Scheduler/Manager from elements.
9419         Removed gsttypes.h, rearranged includes.
9420         Removed dependency pad<->element, element<>pipeline, and
9421         various others,  fix includes.
9422         implement gst_pad_get_parent() with gst_object_get_parent()
9423         Make GstTask sefcontained.
9424         Fix _get_state() on GstBin, it did not return ASYNC with a 0
9425         timeout.
9426         Fix endless loop in iterator_fold_with_resync.
9427
9428
9429 2005-07-18  Wim Taymans  <wim@fluendo.com>
9430
9431         * gst/Makefile.am:
9432         * gst/gstarch.h:
9433         Remove old file.
9434
9435 2005-07-18  Wim Taymans  <wim@fluendo.com>
9436
9437         * gst/Makefile.am:
9438         No more cothreads.h
9439
9440 2005-07-18  Wim Taymans  <wim@fluendo.com>
9441
9442         * gst/cothreads.c:
9443         * gst/cothreads.h:
9444         Let's remove these.
9445
9446 2005-07-18  Wim Taymans  <wim@fluendo.com>
9447
9448         * docs/design/part-dynamic.txt:
9449         * docs/design/part-events.txt:
9450         * docs/design/part-seeking.txt:
9451         Some more docs in the works.
9452
9453         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9454         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
9455         (gst_base_transform_setcaps), (gst_base_transform_get_size),
9456         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9457         (gst_base_transform_handle_buffer),
9458         (gst_base_transform_sink_activate_push),
9459         (gst_base_transform_src_activate_pull),
9460         (gst_base_transform_set_passthrough),
9461         (gst_base_transform_is_passthrough):
9462         Refcounting fixes.
9463
9464         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
9465         Cleanups.
9466
9467         * gst/gstevent.c: (gst_event_finalize):
9468         Set SRC to NULL.
9469
9470         * gst/gstutils.c: (gst_element_unlink),
9471         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
9472         (gst_pad_proxy_setcaps):
9473         * gst/gstutils.h:
9474         Add _get_parent_element() to get a pads parent as an element.
9475
9476 2005-07-18  Wim Taymans  <wim@fluendo.com>
9477
9478         * check/gst/gstbin.c: (GST_START_TEST):
9479         Remove bogus test.
9480
9481 2005-07-18  Wim Taymans  <wim@fluendo.com>
9482
9483         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9484         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9485         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
9486         (gst_base_sink_event), (gst_base_sink_do_sync),
9487         (gst_base_sink_chain), (gst_base_sink_loop),
9488         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
9489         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
9490         Refcounting fixes.
9491         Fix logic for returning ASYNC when not prerolled.
9492
9493 2005-07-18  Wim Taymans  <wim@fluendo.com>
9494
9495         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9496         Fix nasty refcount bug.
9497
9498 2005-07-16 Philippe Khalaf <burger@speedy.org>
9499
9500         * gst/elements/gstfdsrc.c:
9501         * gst/elements/gstfdsrc.h:
9502         * gst/elements/gstelements.c:
9503         * gst/elements/Makefile.am:
9504         Ported fdsrc to 0.9.
9505
9506 2005-07-16  Wim Taymans  <wim@fluendo.com>
9507
9508         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9509         (gst_base_sink_do_sync):
9510         Fix compile error.
9511
9512 2005-07-16  Wim Taymans  <wim@fluendo.com>
9513
9514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9515         (gst_base_sink_event), (gst_base_sink_get_times),
9516         (gst_base_sink_do_sync), (gst_base_sink_change_state):
9517         * gst/base/gstbasesink.h:
9518         Store and use discont values when syncing buffers as described
9519         in design docs.
9520         
9521         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9522         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
9523         (gst_base_src_activate_push):
9524         Push discont event when starting.
9525
9526         * gst/elements/gstidentity.c: (gst_identity_transform):
9527         Small cleanups.
9528
9529         * gst/gstbin.c: (gst_bin_change_state):
9530         Small cleanups in base_time  distribution.
9531
9532         * gst/gstelement.c: (gst_element_set_base_time),
9533         (gst_element_get_base_time), (gst_element_change_state):
9534         * gst/gstelement.h:
9535         Added methods for the base_time of the element.
9536         Some MT fixes.
9537
9538         * gst/gstpipeline.c: (gst_pipeline_send_event),
9539         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
9540         (gst_pipeline_get_last_stream_time):
9541         * gst/gstpipeline.h:
9542         MT fixes.
9543         Handle seeking as described in design doc, remove stream_time
9544         hack.
9545         Cleanups clock and stream_time selection code. Added accessors
9546         for the stream_time.
9547         
9548
9549 2005-07-16  Andy Wingo  <wingo@pobox.com>
9550
9551         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
9552         (#305291).
9553
9554 2005-07-16  Wim Taymans  <wim@fluendo.com>
9555
9556         * check/gst/gstbin.c: (GST_START_TEST):
9557         Make elements silent as the deep_notify refs the
9558         parent, which might make the test fail.
9559
9560         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
9561         Don't hold the lock for too long.
9562
9563 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
9564
9565         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9566           Don't unref the caps we passed to gst_caps_make_writable() after
9567           passing them. gst_caps_make_writable() will do that for us.
9568
9569 2005-07-15  Andy Wingo  <wingo@pobox.com>
9570
9571         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
9572         (#157311).
9573
9574         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
9575         own marshalling function for the handoff signal. Properly type the
9576         buffer as a buffer. Fixes some warnings. Should do a more general
9577         solution.
9578         (gst_identity_class_init): Plug into the right marshaller.
9579
9580 2005-07-15  Wim Taymans  <wim@fluendo.com>
9581
9582         * docs/design/part-TODO.txt:
9583         * docs/design/part-clocks.txt:
9584         * docs/design/part-element-sink.txt:
9585         * docs/design/part-events.txt:
9586         * docs/design/part-gstpipeline.txt:
9587         Updated docs, mostly DISCONT related.
9588
9589 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
9590
9591         * docs/pwg/building-pads.xml:
9592           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
9593
9594 2005-07-15  Andy Wingo  <wingo@pobox.com>
9595
9596         * tools/gst-typefind.c: Update, add copyright block.
9597
9598         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
9599         Normalize and truncate caps before fixation.
9600
9601         * gst/gstcaps.h:
9602         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
9603         discards all but the first structure from its argument.
9604
9605 2005-07-15  Wim Taymans  <wim@fluendo.com>
9606
9607         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9608         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
9609         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9610         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9611         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
9612         (gst_base_transform_chain), (gst_base_transform_change_state),
9613         (gst_base_transform_set_passthrough),
9614         (gst_base_transform_is_passthrough):
9615         * gst/base/gstbasetransform.h:
9616         Make passthrough work using the bufferpools.
9617         Changed API a bit, subclasses have to write into a buffer
9618         provided by the base class.
9619         More debug info in nego functions.
9620         
9621         * gst/elements/gstidentity.c: (gst_identity_init),
9622         (gst_identity_transform):
9623         Port to new base class.
9624
9625 2005-07-15  Wim Taymans  <wim@fluendo.com>
9626
9627         * gst/gstmessage.c: (gst_message_new_state_changed):
9628         * tools/gst-launch.c: (event_loop), (main):
9629         Totally dump messages in -launch with the -m option.
9630         Fix message name for State messages,
9631
9632 2005-07-14  Wim Taymans  <wim@fluendo.com>
9633
9634         * gst/base/gstbasesrc.c: (gst_base_src_loop):
9635         Post error messages on errors.
9636
9637 2005-07-14  Wim Taymans  <wim@fluendo.com>
9638
9639         * gst/gstcaps.c: (gst_caps_do_simplify):
9640         Remove debug info.
9641
9642         * gst/gsterror.h:
9643         Define error for stream stopped.
9644
9645         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
9646         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
9647         Do proper return values.
9648
9649         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
9650         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
9651         (gst_pad_get_range):
9652         Better return values.
9653
9654         * gst/gstpad.h:
9655         Reorganise return values, add macro to check for fatal errors.
9656
9657         * gst/gstqueue.c: (gst_queue_chain):
9658         Return proper GstFlowReturn values,
9659
9660 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9661
9662         * docs/gst/gstreamer-sections.txt:
9663         * docs/gst/gstreamer.types:
9664         * docs/gst/tmpl/gst.sgml:
9665         * docs/gst/tmpl/gstbasesink.sgml:
9666         * docs/gst/tmpl/gstbasesrc.sgml:
9667         * docs/gst/tmpl/gstbasetransform.sgml:
9668         * docs/gst/tmpl/gstbin.sgml:
9669         * docs/gst/tmpl/gstbuffer.sgml:
9670         * docs/gst/tmpl/gstcaps.sgml:
9671         * docs/gst/tmpl/gstclock.sgml:
9672         * docs/gst/tmpl/gstcompat.sgml:
9673         * docs/gst/tmpl/gstconfig.sgml:
9674         * docs/gst/tmpl/gstelement.sgml:
9675         * docs/gst/tmpl/gstelementdetails.sgml:
9676         * docs/gst/tmpl/gstelementfactory.sgml:
9677         * docs/gst/tmpl/gstenumtypes.sgml:
9678         * docs/gst/tmpl/gsterror.sgml:
9679         * docs/gst/tmpl/gstevent.sgml:
9680         * docs/gst/tmpl/gstfakesink.sgml:
9681         * docs/gst/tmpl/gstfakesrc.sgml:
9682         * docs/gst/tmpl/gstfilesink.sgml:
9683         * docs/gst/tmpl/gstfilesrc.sgml:
9684         * docs/gst/tmpl/gstfilter.sgml:
9685         * docs/gst/tmpl/gstformat.sgml:
9686         * docs/gst/tmpl/gstghostpad.sgml:
9687         * docs/gst/tmpl/gstimplementsinterface.sgml:
9688         * docs/gst/tmpl/gstindex.sgml:
9689         * docs/gst/tmpl/gstindexfactory.sgml:
9690         * docs/gst/tmpl/gstinfo.sgml:
9691         * docs/gst/tmpl/gstiterator.sgml:
9692         * docs/gst/tmpl/gstmacros.sgml:
9693         * docs/gst/tmpl/gstmemchunk.sgml:
9694         * docs/gst/tmpl/gstminiobject.sgml:
9695         * docs/gst/tmpl/gstobject.sgml:
9696         * docs/gst/tmpl/gstpad.sgml:
9697         * docs/gst/tmpl/gstpadtemplate.sgml:
9698         * docs/gst/tmpl/gstparse.sgml:
9699         * docs/gst/tmpl/gstpipeline.sgml:
9700         * docs/gst/tmpl/gstplugin.sgml:
9701         * docs/gst/tmpl/gstpluginfeature.sgml:
9702         * docs/gst/tmpl/gstquery.sgml:
9703         * docs/gst/tmpl/gstqueue.sgml:
9704         * docs/gst/tmpl/gstregistry.sgml:
9705         * docs/gst/tmpl/gstregistrypool.sgml:
9706         * docs/gst/tmpl/gstscheduler.sgml:
9707         * docs/gst/tmpl/gstschedulerfactory.sgml:
9708         * docs/gst/tmpl/gststructure.sgml:
9709         * docs/gst/tmpl/gstsystemclock.sgml:
9710         * docs/gst/tmpl/gsttaglist.sgml:
9711         * docs/gst/tmpl/gsttagsetter.sgml:
9712         * docs/gst/tmpl/gsttrace.sgml:
9713         * docs/gst/tmpl/gsttrashstack.sgml:
9714         * docs/gst/tmpl/gsttypefind.sgml:
9715         * docs/gst/tmpl/gsttypefindfactory.sgml:
9716         * docs/gst/tmpl/gsttypes.sgml:
9717         * docs/gst/tmpl/gsturihandler.sgml:
9718         * docs/gst/tmpl/gsturitype.sgml:
9719         * docs/gst/tmpl/gstutils.sgml:
9720         * docs/gst/tmpl/gstvalue.sgml:
9721         * docs/gst/tmpl/gstversion.sgml:
9722         * docs/gst/tmpl/gstxml.sgml:
9723         * docs/libs/tmpl/gstcontrol.sgml:
9724         * docs/libs/tmpl/gstdataprotocol.sgml:
9725         * docs/libs/tmpl/gstdparam.sgml:
9726         * docs/libs/tmpl/gstdplinint.sgml:
9727         * docs/libs/tmpl/gstdpman.sgml:
9728         * docs/libs/tmpl/gstdpsmooth.sgml:
9729         * docs/libs/tmpl/gstgetbits.sgml:
9730         * docs/libs/tmpl/gstunitconvert.sgml:
9731         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
9732         (gst_push_src_base_init), (gst_push_src_class_init),
9733         (gst_push_src_init), (gst_push_src_create):
9734         * gst/base/gstpushsrc.h:
9735         * gst/elements/gstelements.c:
9736         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
9737         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
9738         (gst_fake_sink_init), (gst_fake_sink_set_property),
9739         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
9740         (gst_fake_sink_event), (gst_fake_sink_preroll),
9741         (gst_fake_sink_render), (gst_fake_sink_change_state):
9742         * gst/elements/gstfakesink.h:
9743         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9744         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9745         (gst_fake_src_base_init), (gst_fake_src_class_init),
9746         (gst_fake_src_init), (gst_fake_src_event_handler),
9747         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
9748         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
9749         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
9750         (gst_fake_src_create_buffer), (gst_fake_src_create),
9751         (gst_fake_src_start), (gst_fake_src_stop):
9752         * gst/elements/gstfakesrc.h:
9753         * gst/elements/gstfilesink.c: (_do_init),
9754         (gst_file_sink_base_init), (gst_file_sink_class_init),
9755         (gst_file_sink_init), (gst_file_sink_dispose),
9756         (gst_file_sink_set_location), (gst_file_sink_set_property),
9757         (gst_file_sink_get_property), (gst_file_sink_open_file),
9758         (gst_file_sink_close_file), (gst_file_sink_query),
9759         (gst_file_sink_event), (gst_file_sink_render),
9760         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
9761         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
9762         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
9763         * gst/elements/gstfilesink.h:
9764         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
9765         (gst_file_src_class_init), (gst_file_src_init),
9766         (gst_file_src_finalize), (gst_file_src_set_location),
9767         (gst_file_src_set_property), (gst_file_src_get_property),
9768         (gst_file_src_map_region), (gst_file_src_map_small_region),
9769         (gst_file_src_create_mmap), (gst_file_src_create_read),
9770         (gst_file_src_create), (gst_file_src_is_seekable),
9771         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
9772         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
9773         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
9774         (gst_file_src_uri_handler_init):
9775         * gst/elements/gstfilesrc.h:
9776           more autistic cleanliness in functions/names/defines
9777
9778 2005-07-13  Andy Wingo  <wingo@pobox.com>
9779
9780         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
9781         source couldn't negotiate.
9782
9783         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
9784         connections again.
9785
9786         * gst/gstutils.h:
9787         * gst/gstutils.c (gst_element_link_pads_filtered): New old
9788         function. I am channeling Hades. Put your boots on suckers!!!
9789
9790 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9791
9792         * testsuite/caps/Makefile.am:
9793         * testsuite/caps/value_compare.c:
9794         * testsuite/caps/value_intersect.c:
9795         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9796           move two testsuite apps over to the check dir
9797
9798 2005-07-12  Wim Taymans  <wim@fluendo.com>
9799
9800         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9801         Added more debug info in the negotiate process.
9802
9803         * gst/gstmessage.h:
9804         Prepare for segment playback.
9805
9806         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
9807         Better debugging.
9808
9809         * gst/gstutils.c:
9810         Some more docs.
9811
9812         * tools/gst-launch.c: (main):
9813         NULL pipeline on errors.
9814
9815 2005-07-12  Andy Wingo  <wingo@pobox.com>
9816
9817         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
9818         not it comes from a malloc region. Make sure our copy gets freed.
9819
9820 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9821
9822         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9823         * check/gst/gstmessage.c: (GST_START_TEST):
9824         * check/gst/gststructure.c: (GST_START_TEST),
9825         (gst_structure_suite), (main):
9826           more testing
9827         * gst/gstelement.c: (gst_element_message_full):
9828           clean up GError and debug string now that they get copied
9829         * gst/gstmessage.c: (gst_message_new_error),
9830         (gst_message_new_warning), (gst_message_parse_error),
9831         (gst_message_parse_warning):
9832           use GST_TYPE_G_ERROR for structure_new, and take copies of
9833           arguments, so that we don't mess up refcounting
9834
9835 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9836
9837         * check/Makefile.am:
9838           add per-test valgrind targets
9839         * check/gst-libs/gdp.c: (GST_START_TEST),
9840         (gst_data_protocol_suite), (main):
9841           clean up
9842
9843 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9844
9845         * check/Makefile.am:
9846           instate more valgrindable tests
9847         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9848         (GST_START_TEST), (fakesrc_suite):
9849         * check/gst/gstpad.c: (GST_START_TEST):
9850         * check/gst/gststructure.c: (GST_START_TEST):
9851           fix test leaks
9852         * docs/gst/tmpl/gstminiobject.sgml:
9853         * gst/gstpad.c: (gst_pad_finalize):
9854           fix the static mutex leak
9855
9856 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9857
9858         * check/Makefile.am:
9859           add two more tests for valgrinding
9860         * check/gst/gstvalue.c: (GST_START_TEST):
9861           test refcount of deserialized buffer, found a leak
9862         * docs/gst/gstreamer-docs.sgml:
9863         * docs/gst/gstreamer-sections.txt:
9864         * docs/gst/gstreamer.types:
9865         * docs/gst/tmpl/gstminiobject.sgml:
9866           add miniobject to docs
9867         * gst/gstminiobject.c:
9868           add some docs
9869         * gst/gstvalue.c: (gst_value_deserialize_buffer),
9870         (gst_string_unwrap):
9871           fix a hard-to-find invalid write for one of the tests
9872           fix a leak for deserialized buffers
9873
9874 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9875
9876         * docs/pwg/advanced-events.xml:
9877         * docs/pwg/advanced-request.xml:
9878         * docs/pwg/advanced-scheduling.xml:
9879         * docs/pwg/appendix-porting.xml:
9880         * docs/pwg/building-boiler.xml:
9881         * docs/pwg/intro-preface.xml:
9882         * docs/pwg/other-ntoone.xml:
9883           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
9884           of example code and explanation for pad activation, loop() and
9885           getrange() functions and a bit more. Remove old comments pointing
9886           to loop-functions.
9887         * examples/pwg/Makefile.am:
9888           Add loop/getrange examples.
9889
9890 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9891
9892         * configure.ac:
9893           check for valgrind binary + some fixes
9894         * check/gst.supp:
9895           valgrind suppressions for the tests
9896         * check/Makefile.am:
9897           add a valgrind: target that valgrinds the unit tests
9898         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
9899         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
9900         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9901         * check/gst/gstghostpad.c:
9902           added some cleanup
9903         * check/gst/gstdata.c:
9904           removed
9905         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
9906         (thread_unref), (gst_mini_object_suite), (main):
9907           added
9908         * gst/gst.c: (gst_deinit):
9909         * gst/gst.h:
9910           add a method to clean up.
9911         * gst/gstsystemclock.c: (gst_system_clock_dispose),
9912         (gst_system_clock_obtain):
9913           allow for disposing the system clock.
9914         * tools/gst-launch.c: (main):
9915           deinit
9916
9917 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9918
9919         * docs/gst/tmpl/gstbasesrc.sgml:
9920         * docs/gst/tmpl/gstfakesrc.sgml:
9921         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9922         (gst_base_src_init), (gst_base_src_set_property),
9923         (gst_base_src_get_property), (gst_base_src_get_range),
9924         (gst_base_src_start):
9925         * gst/base/gstbasesrc.h:
9926           add num-buffers property
9927         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
9928         (gst_fakesrc_init), (gst_fakesrc_set_property),
9929         (gst_fakesrc_get_property), (gst_fakesrc_create),
9930         (gst_fakesrc_start):
9931           remove num-buffers property
9932
9933 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9934
9935         * docs/gst/gstreamer-sections.txt:
9936         * docs/gst/tmpl/gstbasesink.sgml:
9937         * docs/gst/tmpl/gstbasesrc.sgml:
9938         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
9939         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
9940         (gst_base_sink_finalize), (gst_base_sink_set_clock),
9941         (gst_base_sink_set_property), (gst_base_sink_get_property),
9942         (gst_base_sink_handle_object), (gst_base_sink_event),
9943         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9944         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
9945         (gst_base_sink_loop), (gst_base_sink_deactivate),
9946         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
9947         (gst_base_sink_change_state):
9948         * gst/base/gstbasesink.h:
9949         * gst/base/gstbasesrc.h:
9950         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
9951         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
9952         (gst_filesink_init):
9953           more macro splitting
9954
9955 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9956
9957         * gst/gstelement.c: (gst_element_get_bus):
9958           add debug
9959         * tools/gst-launch.c: (check_intr), (event_loop):
9960           fix bus leaks
9961
9962 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9963
9964         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9965           fix a caps leak
9966
9967 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9968
9969         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9970         (gst_base_src_finalize):
9971           add finalize method and clean up properly
9972         * gst/gstpipeline.c: (gst_pipeline_dispose):
9973           add debug
9974
9975 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9976
9977         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
9978         (gst_bin_suite):
9979           add more things to check
9980         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9981         * gst/gstelement.c:
9982           more debug
9983
9984 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9985
9986         * check/elements/gstfakesrc.c: (chain_func), (event_func),
9987         (GST_START_TEST), (fakesrc_suite):
9988         * check/gst-libs/gdp.c: (GST_START_TEST):
9989         * check/gst/gst.c: (GST_START_TEST):
9990         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9991         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9992         * check/gst/gstbus.c: (GST_START_TEST):
9993         * check/gst/gstcaps.c: (GST_START_TEST):
9994         * check/gst/gstdata.c: (GST_START_TEST):
9995         * check/gst/gstelement.c: (GST_START_TEST):
9996         * check/gst/gstghostpad.c: (GST_START_TEST):
9997         * check/gst/gstiterator.c: (GST_START_TEST):
9998         * check/gst/gstmessage.c: (GST_START_TEST):
9999         * check/gst/gstobject.c: (GST_START_TEST):
10000         * check/gst/gstpad.c: (GST_START_TEST):
10001         * check/gst/gststructure.c: (GST_START_TEST):
10002         * check/gst/gstsystemclock.c: (GST_START_TEST),
10003         (gst_systemclock_suite):
10004         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
10005         * check/gst/gstvalue.c: (GST_START_TEST):
10006         * check/pipelines/cleanup.c: (GST_START_TEST):
10007         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10008         * check/states/sinks.c: (GST_START_TEST):
10009         * check/gstcheck.c: (gst_check_init):
10010         * check/gstcheck.h:
10011           add debugging category
10012           use GST_START_TEST now, so we add a debug line
10013
10014 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10015
10016         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
10017           add test for state change message on a bin
10018         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
10019           add another test
10020         * gst/gstbin.c: (gst_bin_init):
10021         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
10022         * gst/gstelement.c: (gst_element_post_message),
10023         (gst_element_set_state):
10024         * gst/gstelementfactory.c: (gst_element_factory_create):
10025         * gst/gstmessage.c: (gst_message_new):
10026         * gst/gstscheduler.c:
10027           various debugging additions and cleanups
10028
10029 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10030
10031         * check/Makefile.am:
10032         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
10033         (main):
10034           adding tests for elements
10035         * gst/gstelement.c: (gst_element_dispose):
10036
10037 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10038
10039         * gst/registries/gstlibxmlregistry.c: (load_feature):
10040           plug more leaks.  A simple gst_init() now is leakfree, yay.
10041
10042 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10043
10044         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
10045         (gst_xml_registry_load):
10046           plug another memleak
10047
10048 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10049
10050         * configure.ac:
10051           use GST_SET_ERROR_CFLAGS
10052         * docs/faq/cvs.xml:
10053           change to ERROR_CFLAGS
10054
10055 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10056
10057         * configure.ac:
10058           make GST_ERROR_CFLAGS overridable and re-enable Werror
10059         * docs/faq/cvs.xml:
10060           add a note about error CFLAGS
10061         * docs/gst/tmpl/gstfakesrc.sgml:
10062         * gst/elements/gstfakesrc.c:
10063           comment out some unused code
10064         * gst/gst.c: (split_and_iterate):
10065         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
10066         (load_feature):
10067           plug some memleaks
10068
10069 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10070
10071         * common/Makefile.am:
10072         * common/gtk-doc.mak:
10073         * docs/gst/Makefile.am:
10074           factor out gtk-doc.mak
10075
10076 2005-07-07  Wim Taymans  <wim@fluendo.com>
10077
10078         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
10079         (gst_thread_scheduler_dispose):
10080         Unlock the STREAM_LOCK completely.
10081
10082 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10083
10084         * check/Makefile.am:
10085         * check/elements/.cvsignore:
10086         * check/elements/gstfakesrc.c: (chain_func), (event_func),
10087         (START_TEST), (fakesrc_suite), (main):
10088         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10089         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
10090         (gst_fakesrc_create), (gst_fakesrc_start):
10091         * gst/elements/gstfakesrc.h:
10092           adding a first element test
10093
10094 2005-07-07  Andy Wingo  <wingo@pobox.com>
10095
10096         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
10097         debug message.
10098
10099 2005-07-07  Wim Taymans  <wim@fluendo.com>
10100
10101         * gst/gstquery.c:
10102         * gst/gstquery.h:
10103         Remove old types
10104
10105 2005-07-07  Wim Taymans  <wim@fluendo.com>
10106
10107         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10108         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
10109         Allow subclasses to implement their own negotiation.
10110
10111 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10112
10113         * docs/design/part-gstbin.txt:
10114         * docs/design/part-gstpipeline.txt:
10115           Update design notes to reflect the movement of
10116           responsibility for bus handling from GstPipeline to
10117           GstBin
10118
10119 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10120
10121         * configure.ac:
10122           Remove unnecessary queue2/3/4 examples.
10123
10124 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
10125
10126         * examples/Makefile.am:
10127         * examples/helloworld/helloworld.c: (event_loop), (main):
10128         * examples/queue/queue.c: (event_loop), (main):
10129         * examples/queue2/queue2.c: (main):
10130           Update a couple of the examples to work again.
10131
10132         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10133         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
10134          Spelling corrections and extra debug.
10135         
10136         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
10137         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
10138         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
10139         * gst/gstbin.h:
10140         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10141         (gst_pipeline_change_state):
10142         * gst/gstpipeline.h:
10143           Move the bus handler for children to the GstBin, and create a
10144           separate bus for receiving messages from children to the one the
10145           bus sends 'upwards' on.
10146
10147 2005-07-06  Wim Taymans  <wim@fluendo.com>
10148
10149         * gst/base/README:
10150         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10151         (gst_base_sink_handle_object), (gst_base_sink_loop),
10152         (gst_base_sink_change_state):
10153         * gst/base/gstbasesink.h:
10154         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10155         (gst_base_src_init), (gst_base_src_setcaps),
10156         (gst_base_src_getcaps), (gst_base_src_loop),
10157         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
10158         (gst_base_src_start), (gst_base_src_change_state):
10159         * gst/base/gstbasesrc.h:
10160         Make basesrc negotiate.
10161         Handle the case where preroll fails in basesink.
10162         Update README.
10163
10164 2005-07-06  Wim Taymans  <wim@fluendo.com>
10165
10166         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
10167         Implement the fixate function.
10168         Clean up acceptcaps.
10169
10170 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10171
10172         * docs/pwg/building-filterfactory.xml:
10173         * docs/pwg/pwg.xml:
10174           Remove never-written filter-factory chapter; I'll add the various
10175           base classes to part 4 ("other element types") later on.
10176
10177 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10178
10179         * docs/pwg/advanced-negotiation.xml:
10180         * docs/pwg/building-boiler.xml:
10181         * docs/pwg/building-pads.xml:
10182         * docs/pwg/pwg.xml:
10183         * examples/pwg/Makefile.am:
10184           Add a chapter on caps negotiation, simplify the original code
10185           samples a bit w.r.t. caps negotiation, add link to the advanced
10186           section. Add a bunch of examples showing different use cases of
10187           different types of caps negotiation. Upstream renegotiation isn't
10188           fully documented yet since nobody knows how that works.
10189
10190 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10191
10192         * check/gst/gstpad.c:
10193         * check/gstcheck.c:
10194         * gst/gstpad.c: (gst_pad_get_internal_links_default):
10195           if pad has no parent, return NULL as list of internal links
10196
10197 2005-07-05  Andy Wingo  <wingo@pobox.com>
10198
10199         * gst/elements/gstfilesrc.c:
10200         * gst/elements/gstfakesrc.c: 
10201         * gst/base/gstpushsrc.c:
10202         * gst/base/gstbasesrc.h: 
10203         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
10204         
10205 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
10206
10207         * Makefile.am:
10208           better report generation target (lcov needs a patch)
10209
10210 2005-07-05  Andy Wingo  <wingo@pobox.com>
10211
10212         * gst/elements, testsuite: Null if we got it...
10213
10214 2005-07-05  Wim Taymans  <wim@fluendo.com>
10215
10216         * configure.ac:
10217         * libs/gst/dataprotocol/Makefile.am:
10218         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
10219         * libs/gst/dataprotocol/dataprotocol.h:
10220         * pkgconfig/Makefile.am:
10221         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
10222         * pkgconfig/gstreamer-dataprotocol.pc.in:
10223         Ported dataprotol to 0.9. 
10224         Added pkgconfig files.
10225
10226 2005-07-05  Andy Wingo  <wingo@pobox.com>
10227
10228         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
10229         Default to returning TRUE for the case when tranform_caps returns
10230         a fixed caps, like for identity or volume.
10231
10232         * check/gst/gstbus.c (pound_bus_with_messages): 
10233         * check/gst/gstmessage.c (START_TEST): 
10234         * check/pipelines/simple_launch_lines.c (got_handoff): Application
10235         message API change.
10236
10237         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
10238         logic weaks here: always run transform_caps, trying passthrough
10239         operation only if the original caps intersects with the transform.
10240
10241         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
10242         source and sink caps.
10243
10244         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
10245         Intersect the peer caps with the pad template before going into
10246         transform_caps.
10247         (gst_base_transform_transform_caps): More debugging.
10248
10249         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
10250         src argument.
10251
10252 2005-07-04  Edward Hervey  <edward@fluendo.com>
10253
10254         * gst/gstutils.c:
10255         * gst/gstutils.h:
10256         (gst_pad_add_*_probe): now returns the signal id for better wrapping
10257         in bindings.
10258
10259 2005-07-04  Andy Wingo  <wingo@pobox.com>
10260
10261         * check/gst/gstpad.c: Only set explicit caps on pads.
10262
10263 2005-07-01  Andy Wingo  <wingo@pobox.com>
10264
10265         * tests/network-clock.scm: Commentary update.
10266
10267         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
10268         Didn't really make sense, not implementable with basetransform,
10269         etc.
10270         (gst_identity_transform): Unref inbuf via make_writable. Feeble
10271         attempt at implementing the sync property, needs an unlock method.
10272
10273         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
10274         New func, by default returns the same caps (the identity
10275         transformation).
10276         (gst_base_transform_getcaps): Uses transform_caps to return
10277         something sensible.
10278         (gst_base_transform_setcaps): Complicated logic to get caps on
10279         both pads, even if they are different, and to call set_caps once
10280         for every time both pads get their caps set.
10281         (gst_base_transform_handle_buffer): Give the ref to the transform
10282         function. Allows in-place modification of the buffer.
10283
10284         * gst/base/gstbasetransform.h (transform_caps): New class method.
10285         Given caps on one side, what can I do on the other.
10286         (set_caps): Take two caps, one for each side of the element.
10287
10288         * gst/gstpad.h:
10289         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
10290         caps in place. This is safe because we can check the mutability of
10291         the caps, and a good idea because fixate functions are just called
10292         as a matter of last resort. (Not actually implemented.)
10293         (gst_pad_set_caps): If the caps we're setting is actually the same
10294         as the existing pad caps, just update the pointer without calling
10295         setcaps. Assert that caps is either NULL or fixed, as per the
10296         docs.
10297
10298         * gst/gstghostpad.c: Update for fixate changes.
10299
10300 2005-07-02  Andy Wingo  <wingo@pobox.com>
10301
10302         * gst/gstcaps.c:
10303         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
10304         two refcounts makes it immutable, which is enough. Doc more.
10305
10306 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
10307
10308         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
10309           Put the mini_object into GValue as a mini_object,
10310           not a gpointer, since that's how we declared
10311           the signal.
10312
10313 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10314
10315         * examples/pwg/Makefile.am:
10316           Fix buildbot again.
10317
10318 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10319
10320         * docs/pwg/building-testapp.xml:
10321           Add extra check.
10322         * examples/pwg/Makefile.am:
10323           Fix buildbot.
10324
10325 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10326
10327         * configure.ac:
10328         * examples/Makefile.am:
10329         * examples/pwg/Makefile.am:
10330         * examples/pwg/extract.pl:
10331           Enable building the PWG examples.
10332         * docs/pwg/advanced-interfaces.xml:
10333           Add URI interface stub.
10334         * docs/pwg/advanced-types.xml:
10335         * docs/pwg/other-autoplugger.xml:
10336         * docs/pwg/appendix-porting.xml:
10337         * docs/pwg/pwg.xml:
10338           Add porting guide (mostly stubs), remove autoplugging (see ADM).
10339         * docs/pwg/building-boiler.xml:
10340         * docs/pwg/building-chainfn.xml:
10341         * docs/pwg/building-pads.xml:
10342         * docs/pwg/building-props.xml:
10343         * docs/pwg/building-state.xml:
10344         * docs/pwg/building-testapp.xml:
10345           Update the building-*.xml parts for 0.9 changes. All examples
10346           code blocks compile in examples/pwg/*.
10347
10348 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10349
10350         * docs/manual/advanced-autoplugging.xml:
10351         * docs/manual/appendix-checklist.xml:
10352         * docs/manual/appendix-integration.xml:
10353         * docs/manual/highlevel-components.xml:
10354           Fix playbin/decodebin examples, update docs a bit, mention bus
10355           instead of signals in various places, mention kmplayer and
10356           kaffeine since they have a working GStreamer backend in the KDE
10357           section.
10358
10359 2005-06-30  Wim Taymans  <wim@fluendo.com>
10360
10361         * CHANGES-0.9:
10362         * docs/design/draft-ghostpads.txt:
10363         * docs/design/draft-push-pull.txt:
10364         * docs/design/draft-query.txt:
10365         * docs/design/part-TODO.txt:
10366         * docs/design/part-query.txt:
10367         Added CHANGES-0.9 doc, updated status of other docs.
10368         
10369         * gst/gstquery.h:
10370         Remove "hmm" macro
10371
10372 2005-06-30  Wim Taymans  <wim@fluendo.com>
10373
10374         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10375         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10376         (gst_base_sink_change_state):
10377         * gst/base/gstbasesink.h:
10378         Some tweaks, only EOS and a buffer complete a preroll.
10379
10380 2005-06-30  Andy Wingo  <wingo@pobox.com>
10381
10382         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
10383         activate_push down to the internal pad as well.
10384
10385 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
10386
10387         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10388
10389         * gst/gsttaginterface.c:
10390           Some documentation fixes (#307394 and #307397).
10391
10392 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
10393
10394         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10395
10396         * gst/gstvalue.c: (gst_value_intersect_list):
10397           Fix memleak (#309125).
10398
10399 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10400
10401         * docs/manual/advanced-dataaccess.xml:
10402           Fix fakesrc example to compile; doesn't work, bug somewhere...?
10403         * docs/manual/basics-pads.xml:
10404           Add reference for filtered caps to above chapter.
10405
10406 2005-06-30  Wim Taymans  <wim@fluendo.com>
10407
10408         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
10409         (gst_bin_change_state):
10410         Probes are gone.
10411         Lame attempt at making the state change function a bit
10412         more readable.
10413
10414 2005-06-30  Wim Taymans  <wim@fluendo.com>
10415
10416         * docs/design/part-clocks.txt:
10417         * docs/design/part-element-sink.txt:
10418         * docs/design/part-events.txt:
10419         * docs/design/part-preroll.txt:
10420         * docs/design/part-states.txt:
10421         Some more tweeks and additions to the docs.
10422
10423 2005-06-30  Wim Taymans  <wim@fluendo.com>
10424
10425         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10426         (default_have_data), (gst_pad_class_init), (gst_pad_init),
10427         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10428         (gst_pad_check_pull_range), (gst_pad_get_range),
10429         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
10430         * gst/gstpad.h:
10431         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
10432         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10433         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10434         (gst_pad_remove_buffer_probe):
10435         Removed atomic operations, use existing LOCK.
10436         Move exception handling out of main code path.
10437
10438 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10439
10440         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10441         (silly_return_true_function), (gst_pad_class_init),
10442         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
10443         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
10444         (gst_pad_send_event):
10445           Fix accumulator, add default value by using _emitv() instead
10446           of _emit() for signal emission.
10447
10448 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10449
10450         * docs/manual/advanced-dataaccess.xml:
10451         * examples/manual/Makefile.am:
10452           Add probe example.
10453         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
10454           Make work (??).
10455
10456 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
10457
10458         * gst/elements/gstfilesink.c: (gst_filesink_render):
10459           Simplify code so that we don't have to handle short
10460           writes and return GST_FLOW_ERROR if an error occured.
10461
10462 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10463
10464         * docs/gst/gstreamer-docs.sgml:
10465           Remove probes more.
10466
10467 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10468
10469         * docs/gst/gstreamer-sections.txt:
10470         * docs/gst/tmpl/gstpad.sgml:
10471         * docs/gst/tmpl/gstprobe.sgml:
10472         * gst/Makefile.am:
10473         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
10474         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
10475         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
10476         (gst_pad_push_event), (gst_pad_send_event):
10477         * gst/gstpad.h:
10478         * gst/gstutils.c: (gst_pad_add_data_probe),
10479         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10480         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10481         (gst_pad_remove_buffer_probe):
10482         * gst/gstutils.h:
10483           Remove old probes, add new g-signal-based probes and some utility
10484           functions.
10485
10486 2005-06-29  Edward Hervey  <edward@fluendo.com>
10487
10488         * gst/gstelementfactory.c:
10489         * gst/gstutils.h:
10490         * gst/gstutils.c:
10491         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
10492         the definition to the header file.
10493
10494 2005-06-29  Andy Wingo  <wingo@pobox.com>
10495
10496         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
10497         plugins from the source directory.
10498
10499 2005-06-29  Wim Taymans  <wim@fluendo.com>
10500
10501         * docs/gst/tmpl/gstbuffer.sgml:
10502         * docs/gst/tmpl/gstclock.sgml:
10503         Some fixings for blantently wrong text.
10504
10505 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10506
10507         * check/Makefile.am:
10508         * gst/gst.c: (add_path_func), (init_pre):
10509         * gst/gstregistry.c: (gst_registry_add_path):
10510           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
10511           only scan the GST_PLUGIN_PATH locations, and not add
10512           system locations
10513
10514 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10515
10516         * docs/gst/gstreamer-sections.txt:
10517         * docs/gst/tmpl/gstbasesrc.sgml:
10518         * gst/gstelement.c:
10519         * gst/gstelement.h:
10520         * gst/gstevent.c:
10521         * gst/gstutils.c:
10522           doc fixes
10523
10524 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10525
10526         * docs/manual/advanced-autoplugging.xml:
10527           Fix autoplugging example.
10528
10529 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10530
10531         * docs/manual/advanced-autoplugging.xml:
10532         * docs/manual/mime-world.fig:
10533           Try to get autoplugging working, fix type detection. Fix text
10534           in hello-world image.
10535
10536 2005-06-29  Wim Taymans  <wim@fluendo.com>
10537
10538         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10539         (gst_base_sink_change_state):
10540         Small debug line.
10541
10542         * gst/gstclock.h:
10543         map SIGNAL and BROADCAST to the right function.
10544
10545         * gst/gstobject.h:
10546         Remove redundant braces.
10547
10548         * gst/gstpad.c: (gst_pad_set_caps):
10549         Don't call setcaps function when reseting caps to NULL.
10550
10551         * gst/gstsystemclock.c: (gst_system_clock_dispose),
10552         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
10553         (gst_system_clock_id_unschedule):
10554         Use BROADCAST as this is what we do.
10555
10556 2005-06-29  Wim Taymans  <wim@fluendo.com>
10557
10558         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10559         We are actually prerolling before commiting the state
10560         change. 
10561
10562 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10563
10564         * docs/manual/advanced-clocks.xml:
10565         * docs/manual/advanced-interfaces.xml:
10566         * docs/manual/advanced-metadata.xml:
10567         * docs/manual/advanced-position.xml:
10568         * docs/manual/advanced-schedulers.xml:
10569         * docs/manual/advanced-threads.xml:
10570         * docs/manual/appendix-porting.xml:
10571         * docs/manual/basics-bins.xml:
10572         * docs/manual/basics-bus.xml:
10573         * docs/manual/basics-elements.xml:
10574         * docs/manual/basics-helloworld.xml:
10575         * docs/manual/basics-pads.xml:
10576         * docs/manual/highlevel-components.xml:
10577         * docs/manual/manual.xml:
10578         * docs/manual/thread.fig:
10579           Update (until threads/scheduling) Application Development Manual;
10580           remove GstThread, add GstBus, add simple porting checklist, add
10581           documentation for tag writing, clocks, make all examples until this
10582           part compile and run.
10583         * examples/manual/Makefile.am:
10584           Update from changes to Application Development Manual; add bus
10585           example, remove thread example.
10586
10587 2005-06-28  Wim Taymans  <wim@fluendo.com>
10588
10589         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
10590         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
10591         (gst_bus_source_dispatch):
10592         Add debugging messages.
10593         Make internal methods static.
10594         Handle the case where the bus is flushed in the handler.
10595         
10596         * gst/gstelement.c: (gst_element_get_bus):
10597         Fix refcount in _get_bus();
10598
10599         * gst/gstpipeline.c: (gst_pipeline_change_state),
10600         (gst_pipeline_get_clock_func):
10601         Clock refcounting fixes.
10602         Handle the case where preroll timed out more gracefully.
10603         
10604         * gst/gstsystemclock.c: (gst_system_clock_dispose):
10605         Clean up the internal thread in dispose. This is needed
10606         for subclasses that actually get disposed.
10607         
10608         * gst/schedulers/threadscheduler.c:
10609         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
10610         (gst_thread_scheduler_dispose):
10611         Free thread pool in dispose.
10612
10613 2005-06-28  Andy Wingo  <wingo@pobox.com>
10614
10615         * tests/network-clock-utils.scm (debug, print-event): New utils.
10616
10617         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
10618         (*packet-loss*): Unified loss probability.
10619         (network-time): Report out-of-band events.
10620
10621         * tests/plot-data: Add support for out-of-band events. Hack it
10622         into this script instead of passing it down the pipe; should fix
10623         this later.
10624
10625 2005-06-28  Wim Taymans  <wim@fluendo.com>
10626
10627         * docs/gst/gstreamer.types:
10628         * docs/gst/tmpl/gstbasesrc.sgml:
10629         * docs/gst/tmpl/gstpad.sgml:
10630         Docs fixes.
10631
10632 2005-06-28  Wim Taymans  <wim@fluendo.com>
10633
10634         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10635         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
10636         (gst_proxy_pad_do_fixatecaps):
10637         Correctly proxy the check_pull_range function.
10638
10639 2005-06-28  Andy Wingo  <wingo@pobox.com>
10640
10641         * tests/network-clock.scm: Removed need for slib.
10642         
10643 2005-06-28  Wim Taymans  <wim@fluendo.com>
10644
10645         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
10646         (gst_basesink_preroll_queue_flush):
10647         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
10648         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
10649         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10650         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10651         (gst_proxy_pad_set_property):
10652         * gst/gstpad.c:
10653         * gst/gstpad.h:
10654         * gst/gstqueue.c: (gst_queue_init):
10655         The deprecated pad loop function is removed now.
10656
10657 2005-06-28  Andy Wingo  <wingo@pobox.com>
10658
10659         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
10660         New parameters, simulate network packet loss.
10661
10662         * tests/network-clock-utils.scm: Initialize the RNG.
10663
10664 2005-06-28  Wim Taymans  <wim@fluendo.com>
10665
10666         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
10667         (gst_basesink_event), (gst_basesink_deactivate):
10668         Flushing the preroll queue always needs to unlock the waiters.
10669
10670 2005-06-28  Edward Hervey  <edward@fluendo.com>
10671
10672         * gst/gstpipeline.c: (gst_pipeline_send_event): 
10673         Wheen a seek was successful on a pipeline, set the stream_time to the
10674         seek offset in order to have a synchronized stream_time.
10675
10676 2005-06-28  Wim Taymans  <wim@fluendo.com>
10677
10678         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10679         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
10680         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
10681         (gst_proxy_pad_do_fixatecaps):
10682         Call wrapper function instead of just calling the function
10683         pointers. This takes care of any locking and whatmore.
10684
10685 2005-06-28  Wim Taymans  <wim@fluendo.com>
10686
10687         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
10688         (gst_pad_pull_range):
10689         * gst/gstpad.h:
10690         CONNECTED -> LINKED.
10691
10692 2005-06-28  Andy Wingo  <wingo@pobox.com>
10693
10694         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
10695         source-munging commit!!!
10696
10697         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
10698         (gst_object_sink): Take gpointer arguments, not GstObject --
10699         avoids casts. Like GLib.
10700
10701         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
10702         activate.
10703
10704 2005-06-27  Andy Wingo  <wingo@pobox.com>
10705
10706         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
10707         remaining buffer.
10708
10709         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
10710         returns a sorted copy of the trace list.
10711         (gst_alloc_trace_print_live): New API, only prints traces with
10712         live objects. Sort the list.
10713         (gst_alloc_trace_print_all): Sort the list.
10714         (gst_alloc_trace_print): Align columns.
10715
10716         * gst/elements/gstttypefindelement.c:
10717         * gst/elements/gsttee.c:
10718         * gst/base/gstbasesrc.c:
10719         * gst/base/gstbasesink.c:
10720         * gst/base/gstbasetransform.c:
10721         * gst/gstqueue.c: Adapt for pad activation changes.
10722
10723         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
10724         sched.
10725         (gst_pipeline_dispose): Drop ref on sched.
10726
10727         * gst/gstpad.c (gst_pad_init): Set the default activate func.
10728         (gst_pad_activate_default): Push mode by default.
10729         (pre_activate_switch, post_activate_switch): New stubs, things to
10730         do before and after switching activation modes on pads.
10731         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
10732         the pad's activate function to choose which mode to activate.
10733         Shortcut on deactivation and call the right function directly.
10734         (gst_pad_activate_pull): New API, (de)activates a pad in pull
10735         mode.
10736         (gst_pad_activate_push): New API, same for push mode.
10737         (gst_pad_set_activate_function) 
10738         (gst_pad_set_activatepull_function) 
10739         (gst_pad_set_activatepush_function): Setters for new API.
10740
10741         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
10742         Trace all miniobjects.
10743         (gst_mini_object_make_writable): Unref the arg if we copy, like
10744         gst_caps_make_writable.
10745
10746         * gst/gstmessage.c (_gst_message_initialize): No trace init.
10747
10748         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
10749         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
10750         Adapt for new pad API.
10751
10752         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
10753
10754         * gst/gstelement.h:
10755         * gst/gstelement.c (gst_element_iterate_src_pads) 
10756         (gst_element_iterate_sink_pads): New API functions.
10757         
10758         * gst/gstelement.c (iterator_fold_with_resync): New utility,
10759         should fold into gstiterator.c in some form.
10760         (gst_element_pads_activate): Simplified via use of fold and
10761         delegation of decisions to gstpad->activate.
10762
10763         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
10764         help in debugging.
10765
10766         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
10767         class once in init, like gstmessage. Didn't run into this issue
10768         but it seems correct. Don't initialize a trace, gstminiobject does
10769         that.
10770
10771         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
10772         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
10773         to the bus.
10774         (assert_live_count): New util function, uses alloc traces to check
10775         cleanup.
10776
10777         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
10778         To be modified when unlink drops the internal pad.
10779
10780 2005-06-27  Wim Taymans  <wim@fluendo.com>
10781
10782         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
10783         (gst_bin_change_state):
10784         Cleanup the get_state() function a little, make sure it
10785         iterates the same set of elements.
10786         Added stub iterate_state_order().
10787
10788 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10789
10790         * docs/gst/gstreamer-docs.sgml:
10791         * docs/gst/gstreamer-sections.txt:
10792         * docs/gst/gstreamer.types:
10793         * docs/gst/tmpl/gstbasesink.sgml:
10794         * docs/gst/tmpl/gstbasesrc.sgml:
10795         * docs/gst/tmpl/gstbasetransform.sgml:
10796         * docs/gst/tmpl/gstelement.sgml:
10797         * docs/gst/tmpl/gstiterator.sgml:
10798         * gst/base/gstbasesrc.c:
10799         * gst/base/gstbasesrc.h:
10800         * gst/base/gstbasetransform.h:
10801         * gst/gstelement.c:
10802         * gst/gstiterator.h:
10803           adding basetransform and iterator docs
10804
10805 2005-06-27  Andy Wingo  <wingo@pobox.com>
10806
10807         * docs/design/part-activation.txt: Notes on how activation should
10808         work -- not quite implemented yet.
10809
10810 2005-06-25  Wim Taymans  <wim@fluendo.com>
10811
10812         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
10813         At least get the chain function correct, needs more
10814         fixing.
10815
10816 2005-06-25  Wim Taymans  <wim@fluendo.com>
10817
10818         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10819         (gst_basesink_handle_object), (gst_basesink_event),
10820         (gst_basesink_do_sync), (gst_basesink_handle_event),
10821         (gst_basesink_change_state):
10822         * gst/gsttask.h:
10823         Right, two problems here: ghostpads don't take locks and
10824         glib _rec_mutex_lock_full() with depth==0 still locks.
10825         Catch illegal locking and g_warn them.
10826
10827 2005-06-25  Wim Taymans  <wim@fluendo.com>
10828
10829         * check/states/sinks.c: (START_TEST), (gst_object_suite):
10830         Have to check for completion now...
10831
10832 2005-06-25  Wim Taymans  <wim@fluendo.com>
10833
10834         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
10835         (gst_basesink_handle_object), (gst_basesink_event),
10836         (gst_basesink_do_sync), (gst_basesink_handle_event),
10837         (gst_basesink_change_state):
10838         * gst/gstpad.h:
10839         Unlock STREAM_LOCK whatever the recursion was.
10840
10841 2005-06-25  Wim Taymans  <wim@fluendo.com>
10842
10843         * gst/base/gstbasesink.c: (gst_basesink_set_property),
10844         (gst_basesink_preroll_queue_empty),
10845         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
10846         (gst_basesink_event), (gst_basesink_do_sync),
10847         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
10848         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
10849         (gst_basesink_change_state):
10850         Reworked the base sink, handle event and buffer serialisation
10851         correctly and removed possible deadlock.
10852         Handle EOS correctly.
10853
10854 2005-06-25  Wim Taymans  <wim@fluendo.com>
10855
10856         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
10857         (gst_pipeline_change_state):
10858         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10859         Allow elements to post EOS in the state change function.
10860         Fix up -launch, make it exit the poll loop when the
10861         pipeline actually changed state.
10862         Fix up warning parsing in -launch.
10863
10864 2005-06-25  Wim Taymans  <wim@fluendo.com>
10865
10866         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
10867         (gst_tee_sink_activate):
10868         Core takes STREAM_LOCK for us now.
10869
10870 2005-06-25  Wim Taymans  <wim@fluendo.com>
10871
10872         * gst/gstelement.c: (gst_element_get_state_func),
10873         (gst_element_set_state):
10874         * gst/gstelement.h:
10875         * gst/gstmessage.c: (gst_message_parse_error),
10876         (gst_message_parse_warning):
10877         Keep track of current target state while performing a state
10878         change so that subclasses can do something interesting.
10879         Fix parsing of warning/error messages when GError is NULL.
10880
10881 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10882
10883         * docs/gst/Makefile.am:
10884         * docs/gst/gstreamer-docs.sgml:
10885         * docs/gst/gstreamer-sections.txt:
10886         * docs/gst/gstreamer.types:
10887         * docs/gst/tmpl/gstbasesink.sgml:
10888         * docs/gst/tmpl/gstbasesrc.sgml:
10889         * docs/gst/tmpl/gstbin.sgml:
10890         * docs/gst/tmpl/gstcompat.sgml:
10891         * docs/gst/tmpl/gstfakesink.sgml:
10892         * docs/gst/tmpl/gstfakesrc.sgml:
10893         * docs/gst/tmpl/gstfilesink.sgml:
10894         * docs/gst/tmpl/gstfilesrc.sgml:
10895         * docs/gst/tmpl/gstindex.sgml:
10896         * docs/manual/appendix-quotes.xml:
10897         * gst/base/gstbasesrc.h:
10898         * gst/elements/gstfakesrc.h:
10899         * gst/gstmessage.h:
10900           start pulling in base classes and elements in our docs
10901
10902 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
10903
10904         * docs/gst/Makefile.am:
10905         * docs/libs/Makefile.am:
10906           fixed make distcheck with gtk-doc 1.3
10907
10908 2005-06-23  Wim Taymans  <wim@fluendo.com>
10909
10910         * gst/gstelement.c: (gst_element_get_state_func),
10911         (gst_element_set_state), (gst_element_change_state):
10912         When the state did not change, also report NO_PREROLL
10913         when it matters.
10914
10915 2005-06-23  Wim Taymans  <wim@fluendo.com>
10916
10917         * gst/gstpad.c: (gst_pad_event_default):
10918         * gst/gstqueue.c: (gst_queue_loop):
10919         No unsafe task pausing please.
10920
10921 2005-06-23  Wim Taymans  <wim@fluendo.com>
10922
10923         * gst/schedulers/threadscheduler.c:
10924         (gst_thread_scheduler_task_start),
10925         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
10926         Ref the task before pushing it on the threadpool. This
10927         makes sure that we have a ref when the threadfunction is
10928         actually called.
10929
10930 2005-06-23  Andy Wingo  <wingo@pobox.com>
10931
10932         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
10933         offset is greater than the file's size.
10934
10935         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
10936         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
10937         * gst/gstobject.c (gst_object_class_init): Make the class lock
10938         recursive. Wim won't let me drop deep_notify. Decodebin works
10939         again, whoopdy doo.
10940
10941         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
10942         internal pad, and hacks accordingly. Doesn't do it on the target
10943         pad because we change its caps. Probably catches all cases of
10944         interest tho.
10945         (gst_ghost_pad_set_property): Connect to notify::caps as
10946         appropritate.
10947
10948         * tests/network-clock.scm (plot-simulation): Pipe data to the
10949         elite python skript.
10950
10951         * tests/network-clock-utils.scm (define-parameter): New macro,
10952         defines a parameter that can be set via the command line.
10953         (set-parameter!, parse-parameter-arguments): Command line args
10954         parser.
10955
10956         * tests/plot-data: Simple matplotlib-based plotter, takes input on
10957         stdin.
10958
10959 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
10960
10961         * gst/elements/gsttypefindelement.c:
10962         (gst_type_find_element_handle_event):
10963           Don't restart typefinding on a discont.
10964         * gst/gstelement.c: (gst_element_set_state):
10965           Debug spelling fix.
10966         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
10967           Allow changing mode of an active pad.
10968           Debug output fixes.
10969         * gst/registries/gstlibxmlregistry.c: (load_feature):
10970           Don't cast a static pad template to a normal pad template.
10971
10972 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
10975         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10976           remove gst_strtoll completely, since it didn't actually do
10977           anything more than what g_ascii_strtoull already does.
10978           check for range errors when deserializing
10979           do a cast for the unsigned cases; but further fixing needs
10980           a decision on what the interpretation of "(int)" and
10981           deserialization should be for values that fall outside the
10982           type's boundaries (ie, refuse, or interpret as casting)
10983
10984 2005-06-23  Wim Taymans  <wim@fluendo.com>
10985
10986         * check/Makefile.am:
10987         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
10988         * docs/design/part-live-source.txt:
10989         * docs/design/part-states.txt:
10990         * gst/base/gstbasesrc.c: (gst_basesrc_init),
10991         (gst_basesrc_set_live), (gst_basesrc_is_live),
10992         (gst_basesrc_get_range), (gst_basesrc_activate),
10993         (gst_basesrc_change_state):
10994         * gst/base/gstbasesrc.h:
10995         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
10996         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
10997         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
10998         * gst/gstelement.c: (gst_element_get_state_func),
10999         (gst_element_set_state):
11000         * gst/gstelement.h:
11001         * gst/gsttypes.h:
11002         * tools/gst-launch.c: (event_loop), (main):
11003         Added support for live sources and other elements that
11004         cannot do preroll.
11005         Updated design docs, added live-source design doc.
11006         Implemented live source functionality in basesrc
11007         Fix error condition in _bin_get_state()
11008         Implement live source handling in -launch.
11009         Added check for live sources.
11010         Fixed case in GstBin where elements were changed state
11011         multiple times.
11012
11013
11014 2005-06-23  Andy Wingo  <wingo@pobox.com>
11015
11016         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
11017         borken refcounting.
11018
11019         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
11020         gst_caps_replace takes care of this for us.
11021
11022         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
11023         gst_pad_set_caps on the target, not just its setcaps() function.
11024
11025         * tests/network-clock.scm: 
11026         * tests/network-clock-utils.scm: A network clock simulator.
11027         Something of an algorithmic testbed before doing something in C.
11028
11029 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11030
11031         * check/Makefile.am:
11032         * check/gst/capslist.h:
11033           copy over from 0.8, and add two with bitmasks specified with
11034           (int) 0xFF...
11035         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11036           add test to parse everything from capslist.h
11037         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
11038         (main):
11039           add test for structure deserialization
11040         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11041           add tests for deserialization of strings to int types
11042         * gst/gststructure.c: (gst_structure_nth_field_name):
11043         * gst/gststructure.h:
11044           add a way to get the name of a field referenced by index
11045         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11046           instead of checking if the resulting long long lies between
11047           min and max, we check if the long long would fit into
11048           a number of bytes for the final type.
11049           This fixes cases where a string represents 2^32 - 1, which
11050           when cast to int would be the (valid) -1, but is bigger than
11051           G_MAXINT
11052
11053 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * gst/parse/grammar.y:
11056           add a log line for type deserialization
11057
11058 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11059
11060         * check/gst/gstvalue.c: (START_TEST):
11061         * gst/gstvalue.c: (gst_value_deserialize):
11062           return long long, not int, so gint64 deserialization actually
11063           works.  Is there any flag that makes the compiler check this ?
11064           Fixes #308559
11065
11066 2005-06-22  Wim Taymans  <wim@fluendo.com>
11067
11068         * gst/gstbuffer.h:
11069         Added convenience macros for setting buffers in GValue.
11070
11071 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11072
11073         * check/gst/.cvsignore:
11074         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
11075           add a test deserializing int64, and comment part out because
11076           it fails, yay !
11077
11078 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11079
11080         * check/Makefile.am:
11081         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
11082         * testsuite/Makefile.am:
11083         * testsuite/caps/Makefile.am:
11084         * testsuite/caps/value_serialize.c:
11085         * testsuite/test_gst_init.c:
11086           move a value_serialize test over
11087
11088 2005-06-20  Wim Taymans  <wim@fluendo.com>
11089
11090         * gst/gstpad.c:
11091         Small doc updates.
11092         
11093         * gst/gstvalue.c: (gst_value_compare_buffer),
11094         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
11095         (gst_value_compare_flags), (gst_value_serialize_flags),
11096         (gst_value_deserialize_flags), (_gst_value_initialize):
11097         Fix serialisation of buffers, they are not boxed types anymore
11098
11099 2005-06-20  Wim Taymans  <wim@fluendo.com>
11100
11101         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
11102         Testcase to show error in buffer-on-caps serialisation.
11103
11104 2005-06-20  Andy Wingo  <wingo@pobox.com>
11105
11106         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
11107         will be adding to later.
11108
11109         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
11110         if its socks fill with rocks.
11111         (gst_system_clock_obtain): Set the name on object construction.
11112         Avoid double-checked locking.
11113
11114 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
11115
11116         * gst/gsturi.c: (gst_element_make_from_uri):
11117           Fix potential endless loop.
11118
11119 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11120
11121         * check/Makefile.am:
11122           add gsttag
11123         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
11124         (main):
11125           move over from testsuite dir and clean up
11126         * configure.ac:
11127         * gst/gsttag.c:
11128         * testsuite/Makefile.am:
11129         * testsuite/tags/.cvsignore:
11130         * testsuite/tags/Makefile.am:
11131         * testsuite/tags/merge.c:
11132           remove testsuite/tags
11133
11134 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11135
11136         * docs/gst/gstreamer-sections.txt:
11137         * docs/gst/tmpl/gstenumtypes.sgml:
11138         * win32/gstenumtypes.c:
11139           clean up documentation build a little
11140
11141 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11142
11143         * check/gstcheck.h:
11144           add macros for checking refcounts on objects and caps
11145         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
11146           add some more unit tests
11147         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
11148         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
11149           fix leaked refcounts (I hope :)) so unittest works
11150         * gst/gstpad.h:
11151           whitespace removal
11152
11153 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11154
11155         * configure.ac: back to HEAD
11156
11157 === release 0.9.1 ===
11158
11159 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11160
11161         * NEWS:
11162         * RELEASE:
11163           updated
11164
11165 2005-06-17  Andy Wingo  <wingo@pobox.com>
11166
11167         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
11168         assert; it's always possible that the pad gets deactivated in
11169         between the checks in gstpad.c and the implementation. Rely on
11170         finish_preroll() to return a FLUSHING or similar instead of on the
11171         assert.
11172         
11173         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
11174         clock and post an EOS message if we come out of finish_preroll in
11175         the playing state.
11176
11177 2005-06-16  David Schleef  <ds@schleef.org>
11178
11179         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11180         (gst_capsfilter_set_property): Allow NULL as possible value
11181         for filter_caps property, indicating GST_CAPS_ANY.
11182
11183 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11184
11185         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
11186           fix debug output
11187         * gst/schedulers/Makefile.am:
11188           use libgst prefix
11189         * gstreamer.spec.in:
11190           fix spec for it
11191
11192 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11193
11194         * gstreamer.spec.in:
11195           clean up
11196
11197 2005-06-08  Andy Wingo  <wingo@pobox.com>
11198
11199         * gst/gstutils.c: RPAD fixes all around.
11200         (gst_element_link_pads): Refcounting fixes.
11201
11202         * tools/gst-inspect.c:
11203         * tools/gst-xmlinspect.c:
11204         * parse/grammar.y:
11205         * gst/base/gsttypefindhelper.c:
11206         * gst/base/gstbasesink.c:
11207         * gst/gstqueue.c: RPAD fixes.
11208
11209         * gst/gstghostpad.h:
11210         * gst/gstghostpad.c: New ghost pad implementation as full proxy
11211         pads. The tricky thing is they provide both source and sink
11212         interfaces, since they proxy the internal pad for the external
11213         pad, and vice versa. Implement with lower-level ProxyPad objects,
11214         with the interior proxy pad as a child of the exterior ghost pad.
11215         Should write a doc on this.
11216         
11217         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
11218         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
11219         gst_object API.
11220         
11221         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
11222         pads are real pads. No ghost pads in this file. Not documenting
11223         the myriad s/RPAD/PAD/ and REALIZE fixes.
11224         (gst_pad_class_init): Add properties for "direction" and
11225         "template". Both are construct-only, so they can't change during
11226         the life of the pad. Fixes properly deriving from GstPad.
11227         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
11228         derived objects, just set properties when creating the objects via
11229         g_object_new.
11230         (gst_pad_get_parent): Implement as a function, return NULL if the
11231         parent is not an element.
11232         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
11233         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
11234         
11235         * gst/gstobject.c (gst_object_class_init): Make name a construct
11236         property. Don't set it in the object init.
11237
11238         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
11239         with UNKNOWN direction.
11240         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
11241         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
11242         (gst_element_remove_pad): Remove ghost-pad special cases.
11243         (gst_element_pads_activate): Remove rpad cruft.
11244
11245         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
11246         catch the pad's-parent-not-an-element case.
11247
11248         * gst/gst.h: Include gstghostpad.h.
11249
11250         * gst/gst.c (init_post): No more real, ghost pads.
11251
11252         * gst/Makefile.am: Add gstghostpad.[ch].
11253
11254         * check/Makefile.am:
11255         * check/gst/gstbin.c:
11256         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
11257         into a bin creates ghost pads, and that the refcounts are right.
11258         Partly moved from gstbin.c.
11259
11260 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11261
11262         * check/gst-libs/.cvsignore:
11263         * check/gst/.cvsignore:
11264         * check/pipelines/.cvsignore:
11265           ignore more
11266         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
11267         (START_TEST), (cleanup_suite), (main):
11268           add some tests related to cleanup after running pipelines
11269
11270 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11271
11272         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
11273           add a testsuite for GstBuffer
11274
11275 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11276
11277         * gst/gstminiobject.h:
11278           add defines for accessing the refcount
11279
11280 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
11281
11282         * Makefile.am: added support for html unit test coverage reports
11283
11284 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
11285
11286         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
11287           Free existing caps if the capsfilter changes. Add a FIXME about
11288           setting those caps on the pads.
11289
11290         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
11291           Before adding a ghost pad to a parent bin, check that there isn't
11292           already one for the element on the bin. Prevents infinite recursion
11293           when using decodebin in parse pipelines. Andy says he'll rewrite the
11294           way this works anyway, so ignore the hack.
11295
11296 2005-06-02  Andy Wingo  <wingo@pobox.com>
11297
11298         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
11299         file size, pass it on to the type find helper.
11300
11301         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
11302         segment_start and segment_end properly according to the seek
11303         method. Segment_end is still a bit flaky because offset can be
11304         negative for CUR and END cases, but it takes -1 as an "unset"
11305         value.
11306
11307 2005-06-02  Wim Taymans  <wim@fluendo.com>
11308
11309         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
11310         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
11311         (gst_basesink_activate):
11312         * gst/base/gstbasesink.h:
11313         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11314         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11315         (gst_pad_query), (gst_pad_start_task):
11316         * gst/gstpad.h:
11317         * gst/gstqueue.c: (gst_queue_bufferalloc),
11318         (gst_queue_handle_sink_event), (gst_queue_chain):
11319         Bufferalloc: return GstFlowReturn to more accuratly report
11320         why allocation failed.
11321
11322 2005-06-02  Wim Taymans  <wim@fluendo.com>
11323
11324         * gst/gstpipeline.c: (gst_pipeline_send_event):
11325         Take snapshot of state without blocking.
11326
11327 2005-06-02  Wim Taymans  <wim@fluendo.com>
11328
11329         * docs/design/part-TODO.txt:
11330         * docs/design/part-caps.txt:
11331         * docs/design/part-clocks.txt:
11332         * docs/design/part-negotiation.txt:
11333         * docs/design/part-preroll.txt:
11334         Small doc updates 
11335
11336 2005-05-30  Wim Taymans  <wim@fluendo.com>
11337
11338         * gst/elements/gstidentity.c: (gst_identity_event),
11339         (gst_identity_transform), (gst_identity_get_property):
11340         Protect last_message property as it is accessed from
11341         multiple threads.
11342
11343 2005-05-30  Wim Taymans  <wim@fluendo.com>
11344
11345         * gst/gstelement.c: (gst_element_init),
11346         (gst_element_pads_activate), (gst_element_change_state):
11347         Slicker pad activation code.
11348
11349 2005-05-30  Wim Taymans  <wim@fluendo.com>
11350
11351         * gst/Makefile.am:
11352         * gst/gstelement.h:
11353         * gst/gstelementfactory.h:
11354         * gst/gsttypes.h:
11355         Move elementfactory methods to separate .h file.
11356
11357 2005-05-30  Wim Taymans  <wim@fluendo.com>
11358
11359         * docs/design/part-overview.txt:
11360         * gst/gstsystemclock.h:
11361         Small typo fixes, doc updates.
11362
11363 2005-05-30  Wim Taymans  <wim@fluendo.com>
11364
11365         * gst/gst.c: (gst_init_get_popt_table), (init_post),
11366         (init_popt_callback):
11367         Remove cpu-opt flag.
11368
11369 2005-05-30  Wim Taymans  <wim@fluendo.com>
11370
11371         * gst/gstbuffer.c: (gst_subbuffer_finalize),
11372         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
11373         * gst/gstbuffer.h:
11374         Avoid typechecking in places where not needed.
11375         Added accessor for malloc_data.
11376
11377 2005-05-30  Wim Taymans  <wim@fluendo.com>
11378
11379         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
11380         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
11381         (gst_pad_configure_sink), (gst_pad_configure_src),
11382         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
11383         (gst_pad_start_task):
11384         Propagate errors from _set_caps() in configure_src/sink
11385         functions instead of returning TRUE.
11386         FLUSH events can travel up and downstream
11387
11388
11389 2005-05-30  Wim Taymans  <wim@fluendo.com>
11390
11391         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11392         (gst_basesink_activate):
11393         Handle EOS in preroll.
11394
11395 2005-05-30  Wim Taymans  <wim@fluendo.com>
11396
11397         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11398         (gst_queue_loop), (gst_queue_handle_src_event):
11399         Remove old pieces of code
11400         Flushing the queue in an upstream event is a very bad idea.
11401
11402 2005-05-26  Andy Wingo  <wingo@pobox.com>
11403
11404         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
11405         gst_value_set_mini_object so as to add a ref on the object (which
11406         will be removed when the value is unset).
11407
11408         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
11409         arg type in ::handoff.
11410
11411         * gst/gstelement.c (gst_element_change_state): Also deactivate
11412         pads in READY->NULL, just in case the element didn't make it to
11413         PAUSED. Wingo tested, Wim approved.
11414
11415 2005-05-26  Wim Taymans  <wim@fluendo.com>
11416
11417         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11418         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
11419         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
11420         A flushing pad cannot be used to alloc_buffer from.
11421
11422 2005-05-26  Wim Taymans  <wim@fluendo.com>
11423
11424         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
11425         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
11426         (gst_bus_source_dispatch), (gst_bus_source_finalize),
11427         (gst_bus_create_watch), (gst_bus_add_watch_full):
11428         * gst/gstbus.h:
11429         Implement a real GSource and use g_main_context_wakeup() to
11430         signal new messages instead of the socketpair.
11431
11432 2005-05-25  Wim Taymans  <wim@fluendo.com>
11433
11434         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
11435         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
11436         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11437         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11438         (gst_pad_send_event), (gst_pad_start_task):
11439         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
11440         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
11441         (gst_queue_sink_activate), (gst_queue_src_activate),
11442         (gst_queue_change_state):
11443         * gst/gstqueue.h:
11444         Fix state changes for non sinks. We now change sinks, then elements
11445         with unconnected srcpads, then the rest.
11446         More efficient queue unlocking in flush and state changes.
11447         Set the pad activate mode even if it does not have an activate
11448         function.
11449
11450 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11451
11452         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
11453           Don't go in pull mode for non-seekable sources.
11454         * gst/elements/gsttypefindelement.h:
11455         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
11456         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
11457         (free_entry), (stop_typefinding),
11458         (gst_type_find_element_handle_event), (find_peek),
11459         (gst_type_find_element_chain), (do_pull_typefind),
11460         (gst_type_find_element_change_state):
11461           Allow typefinding (w/o seeking) in push-mode, simplified version
11462           of what was in 0.8.
11463         * gst/gstutils.c: (gst_buffer_join):
11464         * gst/gstutils.h:
11465           gst_buffer_join() from 0.8.
11466
11467 2005-05-25  Wim Taymans  <wim@fluendo.com>
11468
11469         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
11470         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
11471         (gst_pad_send_event), (gst_pad_start_task):
11472         Disable attempt at mode switching until it is figured out.
11473
11474 2005-05-25  Wim Taymans  <wim@fluendo.com>
11475
11476         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
11477         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
11478         (gst_basesink_finish_preroll), (gst_basesink_chain),
11479         (gst_basesink_loop), (gst_basesink_activate),
11480         (gst_basesink_change_state):
11481         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
11482         (gst_basesrc_get_range), (gst_basesrc_loop),
11483         (gst_basesrc_activate):
11484         * gst/elements/gsttee.c: (gst_tee_sink_activate):
11485         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
11486         (gst_real_pad_init), (gst_real_pad_set_property),
11487         (gst_real_pad_get_property), (gst_pad_set_active),
11488         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
11489         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
11490         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
11491         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
11492         (gst_pad_event_default_dispatch), (gst_pad_event_default),
11493         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
11494         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
11495         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11496         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
11497         (gst_pad_stop_task):
11498         * gst/gstpad.h:
11499         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11500         (gst_queue_loop), (gst_queue_src_activate):
11501         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
11502         (gst_task_get_state):
11503         * gst/gsttask.h:
11504         * gst/schedulers/threadscheduler.c:
11505         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
11506         Implement gst_pad_pause/start/stop_task(), take STREAM lock
11507         in task function.
11508         Remove ACTIVE pad flag, use FLUSHING everywhere
11509         Added _pad_chain(), _pad_get_range() to call chain/getrange 
11510         functions.
11511         Add locks around IS_FLUSHING when reading.
11512         Take STREAM lock in chain(), get_range() functions so plugins
11513         don't need to take it anymore.
11514         
11515
11516
11517 2005-05-25  Wim Taymans  <wim@fluendo.com>
11518
11519         * tools/gst-launch.c: (event_loop):
11520         Unref message after using its contents instead of
11521         before.
11522
11523 2005-05-24  Wim Taymans  <wim@fluendo.com>
11524
11525         * docs/design/draft-ghostpads.txt:
11526         * docs/design/draft-push-pull.txt:
11527         * docs/design/draft-query.txt:
11528         * docs/design/part-overview.txt:
11529         Docs updates, added general overview doc.
11530
11531 2005-05-21  David Schleef  <ds@schleef.org>
11532
11533         * docs/gst/tmpl/old/GstBin.sgml:
11534         * docs/gst/tmpl/old/GstBuffer.sgml:
11535         * docs/gst/tmpl/old/GstCaps.sgml:
11536         * docs/gst/tmpl/old/GstClock.sgml:
11537         * docs/gst/tmpl/old/GstCompat.sgml:
11538         * docs/gst/tmpl/old/GstData.sgml:
11539         * docs/gst/tmpl/old/GstElement.sgml:
11540         * docs/gst/tmpl/old/GstEvent.sgml:
11541         * docs/gst/tmpl/old/GstIndex.sgml:
11542         * docs/gst/tmpl/old/GstStructure.sgml:
11543         * docs/gst/tmpl/old/GstTag.sgml:
11544         * docs/gst/tmpl/old/cothreads.sgml:
11545         * docs/gst/tmpl/old/cothreads_compat.sgml:
11546         * docs/gst/tmpl/old/gettext.sgml:
11547         * docs/gst/tmpl/old/gobject2gtk.sgml:
11548         * docs/gst/tmpl/old/grammar.tab.sgml:
11549         * docs/gst/tmpl/old/gst-i18n-app.sgml:
11550         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
11551         * docs/gst/tmpl/old/gst_private.sgml:
11552         * docs/gst/tmpl/old/gstaggregator.sgml:
11553         * docs/gst/tmpl/old/gstarch.sgml:
11554         * docs/gst/tmpl/old/gstatomic_impl.sgml:
11555         * docs/gst/tmpl/old/gstbufferstore.sgml:
11556         * docs/gst/tmpl/old/gstdata_private.sgml:
11557         * docs/gst/tmpl/old/gstdisksink.sgml:
11558         * docs/gst/tmpl/old/gstdisksrc.sgml:
11559         * docs/gst/tmpl/old/gstelementfactory.sgml:
11560         * docs/gst/tmpl/old/gstextratypes.sgml:
11561         * docs/gst/tmpl/old/gstfakesink.sgml:
11562         * docs/gst/tmpl/old/gstfakesrc.sgml:
11563         * docs/gst/tmpl/old/gstfdsink.sgml:
11564         * docs/gst/tmpl/old/gstfdsrc.sgml:
11565         * docs/gst/tmpl/old/gstfilesink.sgml:
11566         * docs/gst/tmpl/old/gstfilesrc.sgml:
11567         * docs/gst/tmpl/old/gsthttpsrc.sgml:
11568         * docs/gst/tmpl/old/gstidentity.sgml:
11569         * docs/gst/tmpl/old/gstindexfactory.sgml:
11570         * docs/gst/tmpl/old/gstmarshal.sgml:
11571         * docs/gst/tmpl/old/gstmd5sink.sgml:
11572         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
11573         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
11574         * docs/gst/tmpl/old/gstpadtemplate.sgml:
11575         * docs/gst/tmpl/old/gstpipefilter.sgml:
11576         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
11577         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
11578         * docs/gst/tmpl/old/gstshaper.sgml:
11579         * docs/gst/tmpl/old/gstspider.sgml:
11580         * docs/gst/tmpl/old/gstspideridentity.sgml:
11581         * docs/gst/tmpl/old/gststatistics.sgml:
11582         * docs/gst/tmpl/old/gsttee.sgml:
11583         * docs/gst/tmpl/old/gsttimecache.sgml:
11584         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
11585         * docs/gst/tmpl/old/gstxmlregistry.sgml:
11586         * docs/gst/tmpl/old/gthread-cothreads.sgml:
11587         * docs/gst/tmpl/old/types.sgml:
11588           I didn't intend to add these or check them in.
11589
11590 2005-05-19  David Schleef  <ds@schleef.org>
11591
11592         * configure.ac: Use -no-common everywhere.  In a sane world, it
11593           would be the default in libtool, because without it, you can't
11594           build DLLs on Windows.
11595         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
11596         * docs/gst/gstreamer-sections.txt:
11597         * docs/gst/tmpl/gstcpu.sgml:
11598         * docs/gst/tmpl/gstdata.sgml:
11599         * docs/gst/tmpl/gstthread.sgml:
11600
11601 2005-05-19  David Schleef  <ds@schleef.org>
11602
11603         * gst/gstminiobject.c: (gst_value_set_mini_object),
11604         (gst_value_take_mini_object), (gst_value_get_mini_object):
11605         * gst/gstminiobject.h: Add GValue set/get functions.
11606
11607 2005-05-19  Wim Taymans  <wim@fluendo.com>
11608
11609         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
11610         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
11611         (gst_subbuffer_init), (gst_buffer_is_span_fast):
11612         * gst/gstbuffer.h:
11613         * gst/gstbus.c: (gst_bus_post):
11614         * gst/gstelement.c: (gst_element_get_random_pad):
11615         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
11616         Make subbufer unref the parent in finalize.
11617         some more debugging info.
11618
11619
11620 2005-05-19  Wim Taymans  <wim@fluendo.com>
11621
11622         * gst/base/gstbasesink.c: (gst_basesink_class_init),
11623         (gst_basesink_init), (gst_basesink_finalize),
11624         (gst_basesink_activate), (gst_basesink_change_state):
11625         Don't free preroll queue too early.
11626
11627 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11628
11629         * gst/Makefile.am:
11630         * gst/ROADMAP:
11631           Hi, I'm outdated. Please shoot me.
11632
11633 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11634
11635         * gst/gstpipeline.c: (gst_pipeline_send_event):
11636           Do not access variables after they have been deleted.
11637
11638 2005-05-19  Wim Taymans  <wim@fluendo.com>
11639
11640         * tools/gst-inspect.c: (print_plugin_features):
11641         A plugin feature does unfortunatly not use the
11642         object name yet...
11643
11644 2005-05-18  Wim Taymans  <wim@fluendo.com>
11645
11646         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
11647         Port _span() functions to new subbuffers.
11648
11649 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11650
11651         * gst/gstbin.c: (gst_bin_add_func):
11652           Fix clock settery in bins when adding kids after the clock has
11653           been selected.
11654
11655 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11656
11657         * gst/elements/gstidentity.c: (gst_identity_class_init):
11658           Workaround until signals support GstMiniObject.
11659
11660 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11661
11662         * gst/gstbuffer.c:
11663         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
11664
11665 2005-05-18  Wim Taymans  <wim@fluendo.com>
11666
11667         * gst/base/Makefile.am:
11668         * gst/base/gstadapter.c: (gst_adapter_base_init),
11669         (gst_adapter_class_init), (gst_adapter_init),
11670         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
11671         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
11672         (gst_adapter_flush), (gst_adapter_available),
11673         (gst_adapter_available_fast):
11674         * gst/base/gstadapter.h:
11675         Ported and added adapter to the base classes.
11676
11677 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11678
11679         * gst/gst.c:
11680         * gst/gstmessage.c:
11681           Make sure the class is reffed/unreffed once before threads can be
11682           used.  Fixes #304551.
11683
11684 2005-05-17  Wim Taymans  <wim@fluendo.com>
11685
11686         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
11687         (gst_basesink_chain_unlocked), (gst_basesink_activate):
11688         * gst/gstminiobject.c: (gst_mini_object_get_type),
11689         (gst_mini_object_free):
11690         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
11691         (gst_pad_push), (gst_pad_push_event):
11692         * gst/gstqueue.c: (gst_queue_change_state):
11693         Don't queue buffers in basesink when we are flushing.
11694         Unref buffer when flushing in basesink.
11695         Flush queue when going to READY
11696         Unref buffer when _push() returns an error.
11697         Don't free MiniObject instance when refcount is incremented
11698         in _finalize() so that we can recover objects.
11699
11700 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11701
11702         * docs/manual/advanced-schedulers.xml:
11703         * docs/manual/appendix-checklist.xml:
11704         * docs/pwg/advanced-clock.xml:
11705         * docs/pwg/advanced-interfaces.xml:
11706         * docs/pwg/advanced-request.xml:
11707         * docs/pwg/advanced-types.xml:
11708         * docs/pwg/intro-preface.xml:
11709         * examples/plugins/example.c: (gst_example_get_type),
11710         (gst_example_class_init), (gst_example_chain),
11711         (gst_example_set_property), (gst_example_get_property),
11712         (gst_example_change_state), (plugin_init):
11713         * examples/plugins/example.h:
11714           small doc fixes
11715
11716 2005-05-17  Wim Taymans  <wim@fluendo.com>
11717
11718         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
11719         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
11720         * gst/gstqueue.c: (gst_queue_change_state):
11721         Clear queue when going to READY.
11722         Remove IN_SETCAPS flag too.
11723
11724 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
11725
11726         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
11727           Remove implicit cast from gboolean to GstElementStateReturn;
11728           make sure we still return failure in paused => ready case if
11729           the parent class fails to change state and our own stop 
11730           vfunc succeeds.
11731
11732 2005-05-17  Wim Taymans  <wim@fluendo.com>
11733
11734         * tools/gst-launch.c: (event_loop):
11735         Message was unreffed too soon.
11736
11737 2005-05-16  Andy Wingo  <wingo@pobox.com>
11738
11739         * gst/gstbin.c (sink_iterator_filter): Err... um...
11740
11741         * check/gst/gstbin.c (test_ghost_pads): New test for the
11742         ghosting-if-elements-not-in-same-bin behavior.
11743
11744 2005-05-16  David Schleef  <ds@schleef.org>
11745
11746         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
11747         accessing refcount directly.
11748
11749 2005-05-15  David Schleef  <ds@schleef.org>
11750
11751         * check/Makefile.am: remove GstData checks
11752         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
11753         * gst/Makefile.am: add miniobject, remove data
11754         * gst/gst.h: add miniobject, remove data
11755         * gst/gstdata.c: remove
11756         * gst/gstdata.h: remove
11757         * gst/gstdata_private.h: remove
11758         * gst/gsttypes.h: remove GstEvent and GstMessage
11759         * gst/gstelement.c: (gst_element_post_message): fix for API changes
11760         * gst/gstmarshal.list: change BOXED -> OBJECT
11761
11762         Implement GstMiniObject.
11763         * gst/gstminiobject.c:
11764         * gst/gstminiobject.h:
11765
11766         Modify to be subclasses of GstMiniObject.
11767         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
11768         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
11769         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
11770         (gst_subbuffer_get_type), (gst_subbuffer_init),
11771         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
11772         (gst_buffer_span):
11773         * gst/gstbuffer.h:
11774         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
11775         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
11776         (_gst_event_copy), (gst_event_new):
11777         * gst/gstevent.h:
11778         * gst/gstmessage.c: (_gst_message_initialize),
11779         (gst_message_get_type), (gst_message_class_init),
11780         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
11781         (gst_message_new), (gst_message_new_error),
11782         (gst_message_new_warning), (gst_message_new_tag),
11783         (gst_message_new_state_changed), (gst_message_new_application):
11784         * gst/gstmessage.h:
11785         * gst/gstprobe.c: (gst_probe_perform),
11786         (gst_probe_dispatcher_dispatch):
11787         * gst/gstprobe.h:
11788         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
11789         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
11790         (_gst_query_copy), (gst_query_new):
11791
11792         Update elements for GstData -> GstMiniObject changes
11793         * gst/gstquery.h:
11794         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
11795         (gst_queue_chain), (gst_queue_loop):
11796         * gst/elements/gstbufferstore.c:
11797         (gst_buffer_store_add_buffer_func),
11798         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
11799         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
11800         (gst_fakesink_render):
11801         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
11802         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
11803         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
11804         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
11805         (gst_filesrc_create_read):
11806         * gst/elements/gstidentity.c: (gst_identity_class_init):
11807         * gst/elements/gsttypefindelement.c:
11808         (gst_type_find_element_src_event), (free_entry_buffers),
11809         (gst_type_find_element_handle_event):
11810         * libs/gst/dataprotocol/dataprotocol.c:
11811         (gst_dp_header_from_buffer):
11812         * libs/gst/dataprotocol/dataprotocol.h:
11813         * libs/gst/dataprotocol/dp-private.h:
11814
11815 2005-05-15  David Schleef  <ds@schleef.org>
11816
11817         * gst/elements/gstelements.c: Don't include headers that were
11818         just removed.
11819
11820 2005-05-15  David Schleef  <ds@schleef.org>
11821
11822         * gst/elements/Makefile.am: Remove some elements that don't
11823         need to be in the core (or even exist at all).
11824         * gst/elements/gstaggregator.c:
11825         * gst/elements/gstaggregator.h:
11826         * gst/elements/gstmd5sink.c:
11827         * gst/elements/gstmd5sink.h:
11828         * gst/elements/gstmultifilesrc.c:
11829         * gst/elements/gstmultifilesrc.h:
11830         * gst/elements/gstpipefilter.c:
11831         * gst/elements/gstpipefilter.h:
11832         * gst/elements/gstshaper.c:
11833         * gst/elements/gstshaper.h:
11834         * gst/elements/gststatistics.c:
11835         * gst/elements/gststatistics.h:
11836         * po/POTFILES.in: Remove above files.
11837
11838 2005-05-14  Andy Wingo  <wingo@pobox.com>
11839
11840         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
11841         so as to get the refs right.
11842         (sink_iterator_filter): New function, wraps bin_element_is_sink,
11843         unreffing objects that don't pass the filter.
11844
11845         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
11846         gst_element_set_bus.
11847         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
11848         normal cases, this will destroy the bus.
11849
11850         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
11851         object.
11852
11853         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
11854         has no sinks.
11855
11856 2005-05-13  Andy Wingo  <wingo@pobox.com>
11857
11858         * gst/gstutils.c (gst_element_link_pads): Instead of calling
11859         gst_pad_link, call pad_link_maybe_ghosting,
11860         (pad_link_maybe_ghosting): Links pads, making sure that the
11861         elements being linked are in the same bin.
11862         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
11863         Helpers for pad_link_maybe_ghosting.
11864
11865 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11866
11867         * configure.ac:
11868           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
11869
11870 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11871
11872         * docs/design/part-element-source.txt:
11873           Mention GstPushSrc
11874
11875 2005-05-12  Wim Taymans  <wim@fluendo.com>
11876
11877         * gst/base/gstbasesink.c: (gst_basesink_init),
11878         (gst_basesink_activate):
11879         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
11880         (gst_basesrc_is_seekable):
11881         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11882         (bin_element_is_sink), (gst_bin_change_state):
11883         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11884         * gst/gstelement.h:
11885         Identify sinks by their flag to avoid overly complicated
11886         checks (fow now).
11887         Do state changes even for elements not reachable from the
11888         sinks.
11889         BaseSink is a sink now :)
11890         Some more debugging info in the basesrc.
11891
11892
11893 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11894
11895         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
11896           Implement _query on a bin, similar to _send_event.
11897
11898 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11899
11900         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
11901           Discont event offset format should be GST_FORMAT_BYTES,
11902           not GST_FORMAT_TIME.
11903
11904 2005-05-12  Wim Taymans  <wim@fluendo.com>
11905
11906         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
11907         Same fix as Ronald's but without the signal. 
11908
11909 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11910
11911         * gst/gstutils.c: (gst_element_query_position):
11912           No, an element is not a pad.
11913
11914 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11915
11916         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
11917         (gst_bin_get_state):
11918           If a child is removed from a bin while we remove the child from
11919           the bin and while we're retrieving its state, signal this to the
11920           get_state function so we abort the wait (instead of waiting for
11921           a timeout) and can immediately re-iterate over all other elements.
11922
11923 2005-05-12  Wim Taymans  <wim@fluendo.com>
11924
11925         * gst/base/Makefile.am:
11926         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
11927         (gst_basesrc_start):
11928         * gst/base/gstbasesrc.h:
11929         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
11930         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
11931         (gst_pushsrc_init), (gst_pushsrc_create):
11932         * gst/base/gstpushsrc.h:
11933         Added is_seekable to BaseSrc
11934         Added simple PushSrc.
11935
11936 2005-05-11  Wim Taymans  <wim@fluendo.com>
11937
11938         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
11939         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
11940         (gst_element_link_pads), (gst_element_query_position),
11941         (gst_element_query_convert), (intersect_caps_func),
11942         (gst_pad_query_position), (gst_pad_query_convert):
11943         Fix refcounting in utils function.
11944         No point in trying to activate a pad when it's added, it could
11945         be added from the state change function and then we deadlock, the
11946         element has to decide what to do.
11947
11948 2005-05-10  Andy Wingo  <wingo@pobox.com>
11949
11950         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
11951         *all* the arguments.
11952
11953         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
11954         stream lock if it's a FLUSH_DONE; normal flushes don't get the
11955         lock (according to the docs -- if this is wrong change the docs).
11956
11957         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
11958         flush messages in the NULL state.
11959
11960         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
11961         message immediately and return.
11962         (gst_bus_set_flushing): New function. If a bus is flushing, it
11963         flushes out any queued messages and immediately unrefs new
11964         messages. This is so when an element goes to NULL, all of the
11965         unhandled messages coming from it can be freed, and their
11966         references to the element dropped. In other words: message source
11967         ref considered harmful :P
11968
11969         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
11970         we're finished with it.
11971
11972         * gst/gstmessage.c (gst_message_new_state_changed): 
11973
11974 2005-05-10  Wim Taymans  <wim@fluendo.com>
11975
11976         * gst/gstvalue.c: (gst_value_compare_flags),
11977         (gst_value_serialize_flags), (gst_value_deserialize_flags),
11978         (_gst_value_initialize):
11979         Added flags serialize/deserialize/compare code.
11980
11981 2005-05-09  Andy Wingo  <wingo@pobox.com>
11982
11983         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
11984         Intersect the peer's caps with our caps.
11985
11986 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11987
11988         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11989         * gst/elements/gsttypefindelement.c: (find_peek):
11990           Handle negative offsets better. Fixes decodebin.
11991
11992 2005-05-09  Wim Taymans  <wim@fluendo.com>
11993
11994         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
11995         (gst_base_transform_event):
11996         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
11997         Implement accept_caps.
11998         Fix silly lock/unlock mismatch in base class.
11999
12000 2005-05-09  Wim Taymans  <wim@fluendo.com>
12001
12002         * docs/design/draft-push-pull.txt:
12003         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
12004         * gst/elements/gstfilesink.c: (gst_filesink_init),
12005         (gst_filesink_query):
12006         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12007         (gst_type_find_handle_src_query), (find_element_get_length):
12008         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
12009         * gst/gstelement.h:
12010         * gst/gstmessage.c:
12011         * gst/gstmessage.h:
12012         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
12013         (gst_real_pad_get_caps_unlocked),
12014         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
12015         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12016         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
12017         (gst_real_pad_dispose), (gst_real_pad_finalize),
12018         (gst_pad_load_and_link), (gst_pad_save_thyself),
12019         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
12020         (gst_pad_check_pull_range), (gst_pad_pull_range),
12021         (gst_pad_template_get_type), (gst_pad_template_class_init),
12022         (gst_pad_template_init), (gst_pad_template_dispose),
12023         (name_is_valid), (gst_static_pad_template_get),
12024         (gst_pad_template_new), (gst_static_pad_template_get_caps),
12025         (gst_pad_template_get_caps), (gst_pad_set_element_private),
12026         (gst_pad_get_element_private), (gst_pad_start_task),
12027         (gst_pad_pause_task), (gst_pad_stop_task),
12028         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
12029         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12030         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
12031         (gst_ghost_pad_new):
12032         * gst/gstpad.h:
12033         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
12034         (gst_query_new_position), (gst_query_set_position),
12035         (gst_query_parse_position), (gst_query_new_convert),
12036         (gst_query_set_convert), (gst_query_parse_convert):
12037         * gst/gstquery.h:
12038         * gst/gstqueryutils.c:
12039         * gst/gstqueryutils.h:
12040         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12041         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12042         (gst_queue_handle_src_query):
12043         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12044         (gst_element_query_position), (gst_element_query_convert),
12045         (intersect_caps_func), (gst_pad_query_position),
12046         (gst_pad_query_convert):
12047         * gst/gstutils.h:
12048         * tools/gst-inspect.c: (print_pad_info):
12049         * tools/gst-xmlinspect.c: (print_element_info):
12050         Remove old query functions. Ported old code.
12051         Added position/convert helper functions to gstutils.
12052         Reordered gstpad.c code, grouping relevant things.
12053         Remove gst_message_new(), always need to speficy a specific
12054         message.
12055
12056
12057 2005-05-09  Andy Wingo  <wingo@pobox.com>
12058
12059         * gst/gstiterator.h: Add some includes.
12060
12061         * gst/gstqueryutils.h: Include more headers.
12062
12063         * gst/gstpad.h:
12064         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
12065         some uses of gst_pad_query.
12066
12067         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
12068         NULL out parameters.
12069         (gst_query_new_position): New proc, allocates a new position
12070         query.
12071
12072         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
12073         gstqueryutils.c to the build.
12074
12075         * gst/gststructure.c (gst_structure_set_valist): Implement with
12076         the generic G_VALUE_COLLECT.
12077         
12078 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
12079
12080         * gst/Makefile.am: (gst_headers):
12081         Added gstqueryutils.h to the list of headers to install, that was
12082         a 'nachty' move wingo :)
12083
12084 2005-05-06  Andy Wingo  <wingo@pobox.com>
12085
12086         * gst/gstquery.h
12087         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
12088         GstData, init a memchunk.
12089         (standard_definitions): Add a few query types, deprecate a few.
12090         (gst_query_get_type): New proc.
12091         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
12092         implementation.
12093         (gst_query_new_application, gst_query_get_structure): New public
12094         procs.
12095
12096         * docs/design/draft-query.txt: Removed LINKS from the query types,
12097         because all the rest can be dispatched to other pads -- seemed
12098         ugly to have a query that couldn't be dispatched. internal_links
12099         is fine as a pad method.
12100
12101         * gst/gstpad.h: Add query2 as a pad method, add the new functions
12102         in gstpad.c, but maintain binary compatibility for the moment.
12103         Will fix before 0.9 is out.
12104
12105         * gst/gstqueryutils.c: 
12106         * gst/gstqueryutils.h: New files, implement 3 methods for each
12107         query type: parse_query, parse_response, and set. Probably need an
12108         allocator as well.
12109
12110         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
12111
12112         * gst/elements/gstfilesink.c (gst_filesink_query2):
12113         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
12114         query_types, and formats methods.
12115
12116         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
12117         (gst_pad_set_query2_function): New functions.
12118         (gst_real_pad_init): Set query2_default as the default query2
12119         function. Basically just dispatches to internally linked pads.
12120
12121         Needs review!
12122         
12123         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
12124         without using the atomic operations. Only one thread can possibly
12125         be accessing the data at this point. Changed so as to avoid
12126         gst_atomic operations.
12127
12128 2005-05-06  Wim Taymans  <wim@fluendo.com>
12129
12130         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
12131         Also set caps if we use the fallback buffer alloc.
12132
12133 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
12134
12135         * docs/gst/Makefile.am:
12136         * docs/gst/gstreamer-docs.sgml:
12137         * docs/gst/gstreamer-sections.txt:
12138         * docs/gst/tmpl/gstatomic.sgml:
12139         * docs/gst/tmpl/gstmemchunk.sgml:
12140         * testsuite/elements/struct_i386.h:
12141         * win32/GStreamer.vcproj:
12142         * win32/Makefile:
12143           Purge GstAtomic stuff from docs and win32 makefiles as well
12144
12145 2005-05-06  Wim Taymans  <wim@fluendo.com>
12146
12147         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
12148         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
12149         * gst/gstpad.c: (gst_pad_peer_get_caps):
12150         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
12151         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
12152         (gst_queue_src_activate), (gst_queue_change_state):
12153         * gst/gstqueue.h:
12154         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12155         (intersect_caps_func):
12156         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
12157         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
12158         Some fixes for the peer_get_caps() change.
12159
12160 2005-05-06  Wim Taymans  <wim@fluendo.com>
12161
12162         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12163         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
12164         (gst_basesink_activate):
12165         Actually do something with error codes returned from the push
12166         functions.
12167
12168 2005-05-06  Wim Taymans  <wim@fluendo.com>
12169
12170         * docs/design/part-element-sink.txt:
12171         * docs/design/part-element-source.txt:
12172         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12173         (gst_basesink_event), (gst_basesink_activate):
12174         * gst/base/gstbasesink.h:
12175         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
12176         (gst_basesrc_activate):
12177         * gst/base/gstbasesrc.h:
12178         * gst/gstelement.c: (gst_element_pads_activate):
12179         Some more documentation.
12180         Fixed scheduling decision in _pads_activate().
12181
12182 2005-05-05  Andy Wingo  <wingo@pobox.com>
12183
12184         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
12185         the test suite.
12186
12187 2005-05-05  Wim Taymans  <wim@fluendo.com>
12188
12189         * gst/base/Makefile.am:
12190         * gst/base/gstbasesink.h:
12191         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12192         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
12193         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
12194         (gst_collectpads_class_init), (gst_collectpads_init),
12195         (gst_collectpads_finalize), (gst_collectpads_new),
12196         (gst_collectpads_set_function), (gst_collectpads_add_pad),
12197         (find_pad), (gst_collectpads_remove_pad),
12198         (gst_collectpads_is_active), (gst_collectpads_collect),
12199         (gst_collectpads_collect_range), (gst_collectpads_start),
12200         (gst_collectpads_stop), (gst_collectpads_peek),
12201         (gst_collectpads_pop), (gst_collectpads_available),
12202         (gst_collectpads_read), (gst_collectpads_flush),
12203         (gst_collectpads_chain):
12204         * gst/base/gstcollectpads.h:
12205         * gst/elements/Makefile.am:
12206         * gst/elements/gstelements.c:
12207         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12208         (gst_fakesink_get_times), (gst_fakesink_event),
12209         (gst_fakesink_preroll), (gst_fakesink_render):
12210         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
12211         (gst_filesink_init), (gst_filesink_set_location),
12212         (gst_filesink_open_file), (gst_filesink_close_file),
12213         (gst_filesink_pad_query), (gst_filesink_event),
12214         (gst_filesink_render), (gst_filesink_change_state):
12215         * gst/elements/gstfilesink.h:
12216         Added object to help in making collect pad based elements.
12217         Ported filesink.
12218         Make event function in sink baseclass return gboolean.
12219
12220 2005-05-05  Wim Taymans  <wim@fluendo.com>
12221
12222         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
12223         (gst_bin_get_by_name):
12224         * gst/gstbuffer.h:
12225         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
12226         (gst_clock_finalize):
12227         * gst/gstdata.c: (gst_data_replace):
12228         * gst/gstdata.h:
12229         * gst/gstelement.c: (gst_element_request_pad),
12230         (gst_element_pads_activate):
12231         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
12232         (gst_object_unref):
12233         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12234         (gst_pad_set_checkgetrange_function),
12235         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
12236         (gst_pad_check_pull_range), (gst_pad_pull_range),
12237         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12238         (gst_pad_pause_task), (gst_pad_stop_task):
12239         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
12240         (gst_element_request_pad), (gst_pad_proxy_getcaps):
12241         Fix name lookup in GstBin.
12242         Added _data_replace() function and _buffer_replace()
12243         Use finalize method to clean up clock.
12244         Fix refcounting on request pads.
12245         Fix pad schedule mode error.
12246         Some more object refcounting debug info,
12247
12248
12249 2005-05-04  Andy Wingo <wingo@pobox.com>
12250
12251         * check/Makefile.am:
12252         * docs/gst/tmpl/gstatomic.sgml:
12253         * docs/gst/tmpl/gstplugin.sgml:
12254         * gst/base/gstbasesink.c: (gst_basesink_activate):
12255         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
12256         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
12257         (gst_basesrc_query), (gst_basesrc_set_property),
12258         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
12259         (gst_basesrc_activate):
12260         * gst/base/gstbasesrc.h:
12261         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
12262         (gst_base_transform_src_activate):
12263         * gst/elements/gstelements.c:
12264         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12265         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12266         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12267         * gst/elements/gsttypefindelement.c: (find_element_get_length),
12268         (gst_type_find_element_checkgetrange),
12269         (gst_type_find_element_activate):
12270         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
12271         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
12272         (gst_caps_load_thyself):
12273         * gst/gstelement.c: (gst_element_pads_activate),
12274         (gst_element_save_thyself), (gst_element_restore_thyself):
12275         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
12276         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
12277         * gst/gstpad.h:
12278         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
12279         (gst_xml_parse_file), (gst_xml_parse_memory),
12280         (gst_xml_get_element), (gst_xml_make_element):
12281         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12282         (_file_index_id_save_xml), (gst_file_index_commit):
12283         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
12284         (read_enum), (load_pad_template), (load_feature), (load_plugin),
12285         (load_paths):
12286         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
12287         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
12288         * tools/gst-complete.c: (main):
12289         * tools/gst-compprep.c: (main):
12290         * tools/gst-inspect.c: (print_element_properties_info):
12291         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12292         * tools/gst-xmlinspect.c: (print_element_properties):
12293         GCC 4 fixen.
12294         
12295 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12296
12297         * gst/gstplugin.c: (gst_plugin_check_module),
12298         (gst_plugin_check_file), (gst_plugin_load_file):
12299             apply patch from #172526 to make register work on MacOSX
12300
12301 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12302
12303         * docs/gst/tmpl/gstconfig.sgml:
12304         * gst/gstconfig.h.in:
12305           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
12306         * testsuite/debug/printf_extension.c: (main):
12307           Do not use GST_PTR_FORMAT on pointers to types with
12308           sizeof < sizeof(gpointer).  Fixes test on 64-bit
12309         * testsuite/elements/property.h:
12310           use correct printf format
12311
12312 2005-05-02  Wim Taymans  <wim@fluendo.com>
12313
12314         * docs/design/draft-push-pull.txt:
12315         * docs/design/draft-query.txt:
12316         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
12317         (gst_basesrc_start):
12318         Added draft for new query API.
12319         Added draft for better selecting scheduling methods.
12320         Make basesrc ignore length if the subclass does not support
12321         it.
12322
12323 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12324
12325         * gst/Makefile.am:
12326           possible fixes for automake-1.5 - _LIBADD is reserved
12327
12328 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12329
12330         * docs/faq/Makefile.am:
12331         * docs/manual/Makefile.am:
12332         * docs/manuals.mak:
12333         * docs/pwg/Makefile.am:
12334         * gst/Makefile.am:
12335           possible fixes for automake-1.5
12336
12337 2005-04-28  Wim Taymans  <wim@fluendo.com>
12338
12339         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12340         (gst_basesink_pad_getcaps), (gst_basesink_init),
12341         (gst_basesink_do_sync):
12342         * gst/gstclock.c: (gst_clock_entry_new):
12343         * gst/gstevent.c: (gst_event_discont_get_value):
12344         * gst/gstpipeline.c: (pipeline_bus_handler),
12345         (gst_pipeline_change_state):
12346         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
12347         Better debugging of clocking info.
12348         Allow NULL values when getting discont values.
12349
12350 2005-04-27  Wim Taymans  <wim@fluendo.com>
12351
12352         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
12353         * check/gst/gstpad.c: (gst_pad_suite):
12354         Increase timeout for checks.
12355
12356 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12357
12358         * check/Makefile.am:
12359           fix the broken rule for cleanup.  Apparently this rule is
12360           only needed on FC2, so maybe this warrants further autotool
12361           inspection.
12362
12363 2005-04-26  Wim Taymans  <wim@fluendo.com>
12364
12365         * gst/gsttrashstack.h:
12366         Ooohh. a nasty one! After having a failed pop() from the stack,
12367         it's possible that the stack is empty. In that case, don't
12368         follow the NULL pointer.
12369
12370 2005-04-25  Wim Taymans  <wim@fluendo.com>
12371
12372         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12373         (gst_pad_set_checkgetrange_function),
12374         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
12375         (gst_pad_check_pull_range), (gst_pad_pull_range),
12376         (gst_static_pad_template_get_caps), (gst_pad_start_task),
12377         (gst_pad_pause_task), (gst_pad_stop_task):
12378         * gst/gstplugin.c: (gst_plugin_load):
12379         * gst/gstplugin.h:
12380         Remove gst_library_load as it does more harm than good with
12381         the new g_module flags.
12382         Revert bogus caps template check in pad linking, pad caps
12383         are important when linking not the template, which is more
12384         general than the current caps.
12385
12386 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12387
12388         * gst/autoplug/.cvsignore:
12389         * gst/autoplug/Makefile.am:
12390         * gst/autoplug/gstsearchfuncs.c:
12391         * gst/autoplug/gstsearchfuncs.h:
12392         * gst/autoplug/gstspider.c:
12393         * gst/autoplug/gstspider.h:
12394         * gst/autoplug/gstspideridentity.c:
12395         * gst/autoplug/gstspideridentity.h:
12396         * gst/autoplug/spidertest.c:
12397           Die, spider, die.
12398
12399 2005-04-25  Wim Taymans  <wim@fluendo.com>
12400
12401         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12402         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12403         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
12404         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
12405         * gst/gstpad.h:
12406         Added stubs for unimplemented functions. 
12407
12408 2005-04-24  David Schleef  <ds@schleef.org>
12409
12410         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
12411         please fix.
12412
12413 2005-04-24  David Schleef  <ds@schleef.org>
12414
12415         Convert everything from GstAtomicInt to g_atomic_int_*, and
12416         remove gstatomic.
12417         * gst/Makefile.am:
12418         * gst/gstatomic.c:
12419         * gst/gstatomic.h:
12420         * gst/gstatomic_impl.h:
12421         * gst/gstbuffer.c:
12422         * gst/gstcaps.c:
12423         * gst/gstcaps.h:
12424         * gst/gstclock.c:
12425         * gst/gstclock.h:
12426         * gst/gstdata.c:
12427         * gst/gstdata.h:
12428         * gst/gstdata_private.h:
12429         * gst/gstevent.c:
12430         * gst/gstinfo.c:
12431         * gst/gstinfo.h:
12432         * gst/gstmessage.c:
12433         * gst/gstobject.c:
12434         * gst/gstobject.h:
12435         * gst/gststructure.c:
12436         * gst/gststructure.h:
12437         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
12438         * gst/gstutils.h:
12439
12440 2005-04-24  David Schleef  <ds@schleef.org>
12441
12442         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
12443         make the regressions tests work.  Remove some code that is no
12444         longer true.
12445         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
12446         Disable warning for pads without templates.
12447
12448 2005-04-24  David Schleef  <ds@schleef.org>
12449
12450         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
12451         functions that handle filtered links.
12452         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
12453         removed functions.
12454         * gst/gstutils.c: Fix/remove utility functions that handle
12455         filtered caps.
12456         * gst/gstutils.h:
12457         * gst/gstvalue.c: Add serialization/deserialization of caps
12458         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
12459         requires fixing so that the filter caps notation creates
12460         a capsfilter element and sets the filter_caps property.  I
12461         think everyone probably wants to keep the shorthand notation.
12462         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
12463         * docs/gst/tmpl/gstpad.sgml:
12464
12465         * gst/elements/gstelements.c: Register capsfilter element.
12466         * gst/Makefile.am: fix spacing
12467         * docs/random/ds/0.9-suggested-changes: random
12468
12469 2005-04-23  David Schleef  <ds@schleef.org>
12470
12471         * gst/elements/Makefile.am:
12472         * gst/elements/gstcapsfilter.c: New element that acts like an
12473         identity, but filters caps.  Will eventually replace filtered
12474         caps in pad linking.
12475         * gst/gstutils.c: (gst_element_create_all_pads): New function
12476         to create all the ALWAYS pads that are registered with an
12477         element class.  This functionality should eventually be
12478         merged in with GstElement initialization.
12479         * gst/gstutils.h:
12480         * testsuite/trigger/README: part of trigger test code that should
12481         have been checked in a long time ago.
12482
12483 2005-04-23  David Schleef  <ds@schleef.org>
12484
12485         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
12486         needed with new versions of libtool (nobody will confirm this),
12487         and hard to carry around.
12488         * gst/autoplug/Makefile.am:
12489         * gst/base/Makefile.am:
12490         * gst/elements/Makefile.am:
12491         * gst/indexers/Makefile.am:
12492         * gst/schedulers/Makefile.am:
12493         * libs/gst/bytestream/Makefile.am:
12494         * libs/gst/control/Makefile.am:
12495         * libs/gst/dataprotocol/Makefile.am:
12496         * libs/gst/getbits/Makefile.am:
12497
12498 2005-04-21  Wim Taymans  <wim@fluendo.com>
12499
12500         * docs/design/draft-push-pull.txt:
12501         * docs/design/part-MT-refcounting.txt:
12502         * docs/design/part-TODO.txt:
12503         * docs/design/part-caps.txt:
12504         * docs/design/part-events.txt:
12505         * docs/design/part-gstbus.txt:
12506         * docs/design/part-gstpipeline.txt:
12507         * docs/design/part-messages.txt:
12508         * docs/design/part-push-pull.txt:
12509         * docs/design/part-query.txt:
12510         Some more docs.
12511
12512 2005-04-21  Wim Taymans  <wim@fluendo.com>
12513
12514         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
12515         (gst_message_new), (gst_message_new_error),
12516         (gst_message_new_warning), (gst_message_new_tag),
12517         (gst_message_new_state_changed), (gst_message_new_application),
12518         (gst_message_get_structure):
12519         * gst/gstmessage.h:
12520         * gst/gststructure.c: (gst_structure_set_parent_refcount),
12521         (gst_structure_copy_conditional):
12522         Use parent refcount in GstMessage to ensure GstStructure
12523         consistency.
12524         Cleaned up headers a bit.
12525         
12526
12527 2005-04-20  Wim Taymans  <wim@fluendo.com>
12528
12529         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12530         (gst_basesink_pad_getcaps), (gst_basesink_init),
12531         (gst_basesink_chain_unlocked):
12532         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
12533         (gst_type_find_helper):
12534         * gst/elements/gsttypefindelement.c:
12535         (gst_type_find_element_have_type), (gst_type_find_element_init),
12536         (stop_typefinding), (gst_type_find_element_handle_event),
12537         (find_suggest), (gst_type_find_element_chain),
12538         (gst_type_find_element_checkgetrange),
12539         (gst_type_find_element_getrange), (do_typefind),
12540         (gst_type_find_element_activate):
12541         * gst/gstbuffer.c: (_gst_buffer_sub_free),
12542         (gst_buffer_default_free), (gst_buffer_default_copy),
12543         (gst_buffer_set_caps):
12544         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
12545         (gst_caps_replace):
12546         * gst/gstmessage.c: (gst_message_new),
12547         (gst_message_new_state_changed):
12548         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12549         (gst_pad_set_checkgetrange_function),
12550         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
12551         (gst_pad_set_caps), (gst_pad_check_pull_range),
12552         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
12553         * gst/gstpad.h:
12554         * gst/gsttypefind.c: (gst_type_find_register):
12555         Make gst_caps_replace() work like other _replace() functions.
12556         Use _caps_replace() where possible.
12557         Make sure _message_new() initialises its field.
12558         Add gst_static_pad_template_get_caps()
12559
12560
12561 2005-04-18  Andy Wingo  <wingo@pobox.com>
12562
12563         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
12564         on the peer, not the pad. I think that was a typo. Pass an extra
12565         arg to see if random access is possible. Activate the pads as
12566         PULL_RANGE if possible.
12567
12568         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
12569
12570         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
12571         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
12572         to PROP_....
12573
12574 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12575
12576         * docs/faq/using.xml:
12577           Add note on gstreamer-properties (#154996).
12578
12579 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12580
12581         * docs/random/bbb/optional-properties:
12582           Some analysis on optional properties.
12583
12584 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12585
12586         * docs/gst/tmpl/gstelementfactory.sgml:
12587         * gst/gstelement.h:
12588         * gst/gstelementfactory.c: (gst_element_factory_init),
12589         (gst_element_factory_cleanup), (gst_element_register),
12590         (__gst_element_factory_add_static_pad_template),
12591         (gst_element_factory_get_static_pad_templates),
12592         (gst_element_factory_can_src_caps),
12593         (gst_element_factory_can_sink_caps):
12594         * gst/registries/Makefile.am:
12595         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
12596         (gst_xml_registry_class_init), (gst_xml_registry_init),
12597         (gst_xml_registry_new), (gst_xml_registry_set_property),
12598         (gst_xml_registry_get_property), (get_time), (make_dir),
12599         (gst_xml_registry_get_perms_func),
12600         (plugin_times_older_than_recurse), (plugin_times_older_than),
12601         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
12602         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
12603         (add_to_char_array), (read_string), (read_uint), (read_enum),
12604         (load_pad_template), (load_feature), (load_plugin), (load_paths),
12605         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
12606         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
12607         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
12608         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
12609         (gst_xml_registry_rebuild):
12610         * gst/registries/gstlibxmlregistry.h:
12611         * tools/gst-compprep.c: (main):
12612         * tools/gst-inspect.c: (print_pad_templates_info):
12613         * tools/gst-xmlinspect.c: (print_element_info):
12614           Use libxml2 for registry parsing, use staticpadtemplates in
12615           elementfactories. Makes gst_init() +/- 10x faster.
12616
12617 2005-04-12  Wim Taymans  <wim@fluendo.com>
12618
12619         * gst/base/Makefile.am:
12620         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12621         (gst_basesink_pad_getcaps), (gst_basesink_init),
12622         (gst_basesink_event), (gst_basesink_change_state):
12623         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12624         (gst_basesrc_init), (gst_basesrc_query),
12625         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12626         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12627         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12628         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12629         (gst_basesrc_stop), (gst_basesrc_activate),
12630         (gst_basesrc_change_state):
12631         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12632         (helper_find_suggest), (gst_type_find_helper):
12633         * gst/base/gsttypefindhelper.h:
12634         * gst/elements/Makefile.am:
12635         * gst/elements/gstelements.c:
12636         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
12637         (gst_fakesink_get_times), (gst_fakesink_event),
12638         (gst_fakesink_preroll), (gst_fakesink_render):
12639         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12640         (gst_fakesrc_init), (gst_fakesrc_event_handler),
12641         (gst_fakesrc_get_property), (gst_fakesrc_create),
12642         (gst_fakesrc_start), (gst_fakesrc_stop):
12643         * gst/elements/gstfakesrc.h:
12644         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
12645         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12646         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12647         (gst_filesrc_create_read), (gst_filesrc_create),
12648         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
12649         (gst_filesrc_start):
12650         * gst/elements/gsttypefindelement.c:
12651         (gst_type_find_element_have_type), (gst_type_find_element_init),
12652         (start_typefinding), (stop_typefinding), (push_buffer_store),
12653         (gst_type_find_element_handle_event),
12654         (gst_type_find_element_chain),
12655         (gst_type_find_element_checkgetrange),
12656         (gst_type_find_element_getrange), (do_typefind),
12657         (gst_type_find_element_activate),
12658         (gst_type_find_element_change_state):
12659         * gst/elements/gsttypefindelement.h:
12660         * gst/gstpipeline.c: (pipeline_bus_handler):
12661         Added typefind helper.
12662         Small preroll fix in the base sink.
12663         Disable typefind code in basesrc.
12664         Crude port of typefindelement.
12665         Fakesrc cleanups.
12666
12667
12668 2005-04-11  Wim Taymans  <wim@fluendo.com>
12669
12670         * check/gst/gstbus.c: (gstbus_suite):
12671         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
12672         * check/gstcheck.h:
12673           Fix up the timeout so that the test does not fail.
12674
12675 2005-04-06  Wim Taymans  <wim@fluendo.com>
12676
12677         * gst/base/README:
12678         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12679         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
12680         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
12681         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
12682         (gst_basesrc_check_get_range), (gst_basesrc_loop),
12683         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
12684         (gst_basesrc_stop), (gst_basesrc_activate),
12685         (gst_basesrc_change_state), (basesrc_find_peek),
12686         (basesrc_find_suggest), (gst_basesrc_type_find):
12687         * gst/base/gstbasesrc.h:
12688         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
12689         (gst_filesrc_class_init), (gst_filesrc_init),
12690         (gst_filesrc_finalize), (gst_filesrc_set_location),
12691         (gst_filesrc_set_property), (gst_filesrc_get_property),
12692         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
12693         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
12694         (gst_filesrc_create_read), (gst_filesrc_create),
12695         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
12696         * gst/elements/gstfilesrc.h:
12697         * gst/gstelement.c: (gst_element_get_state_func),
12698         (gst_element_lost_state), (gst_element_pads_activate):
12699         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12700         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
12701         (gst_pad_pull_range):
12702         * gst/gstpad.h:
12703         More work on the generic source base class, implement seeking,
12704         query.
12705         Make filesrc extend the base source class.
12706         Added gst_pad_set_checkgetrange_function to GstPad.
12707
12708 2005-04-06  Andy Wingo  <wingo@pobox.com>
12709
12710         * pkgconfig/gstreamer-base.pc.in:
12711         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
12712
12713         * pkgconfig/Makefile.am:
12714         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
12715
12716 2005-04-04  Wim Taymans  <wim@fluendo.com>
12717
12718         * gst/base/Makefile.am:
12719         * gst/base/README:
12720         * gst/base/gstbasesink.c: (gst_basesink_base_init),
12721         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12722         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12723         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
12724         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
12725         (gst_basesrc_base_init), (gst_basesrc_class_init),
12726         (gst_basesrc_init), (gst_basesrc_get_formats),
12727         (gst_basesrc_get_query_types), (gst_basesrc_query),
12728         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
12729         (gst_basesrc_set_property), (gst_basesrc_get_property),
12730         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
12731         (gst_basesrc_loop), (gst_basesrc_activate),
12732         (gst_basesrc_change_state):
12733         * gst/base/gstbasesrc.h:
12734         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
12735         (gst_fakesrc_class_init), (gst_fakesrc_init),
12736         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
12737         (gst_fakesrc_get_property), (gst_fakesrc_create):
12738         * gst/elements/gstfakesrc.h:
12739         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
12740         (gst_filesrc_open_file), (gst_filesrc_loop),
12741         (gst_filesrc_activate), (filesrc_find_peek),
12742         (gst_filesrc_type_find):
12743         Made base source class, make fakesrc extend it.
12744         Add comments to basesink class.
12745         Some filesrc cleanup.
12746
12747 2005-03-31  David Schleef  <ds@schleef.org>
12748
12749         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
12750         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
12751         expected to link against libgstreamer.
12752         * gst/base/Makefile.am: link against libgstreamer
12753         * gst/elements/Makefile.am: same
12754
12755 2005-03-31  Andy Wingo  <wingo@pobox.com>
12756
12757         * tests/instantiate/Makefile.am:
12758         * tests/instantiate/caps.c: Add test to test speed of caps copy
12759         and free.
12760
12761         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
12762         GMemChunk to be fair.
12763
12764         * gst/gsttrashstack.h: Remove warning about using the fallback
12765         trash stack implementation, it's still faster than malloc.
12766
12767 2005-03-30  Andy Wingo  <wingo@pobox.com>
12768
12769         * tests/complexity.c: Add a copyright.
12770
12771 2005-03-31  Wim Taymans  <wim@fluendo.com>
12772
12773         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
12774         (gst_base_transform_class_init), (gst_base_transform_init),
12775         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12776         (gst_base_transform_get_property),
12777         (gst_base_transform_sink_activate),
12778         (gst_base_transform_src_activate),
12779         (gst_base_transform_change_state):
12780         * gst/base/gstbasetransform.h:
12781         * gst/elements/gstidentity.c: (gst_identity_class_init),
12782         (gst_identity_event), (gst_identity_check_perfect),
12783         (gst_identity_transform), (gst_identity_start),
12784         (gst_identity_stop):
12785         Added start/stop methods to transform base class so subclasses 
12786         don't need to deal with state changes even.
12787
12788 2005-03-31  Wim Taymans  <wim@fluendo.com>
12789
12790         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
12791         (gst_event_new_discontinuous), (gst_event_discont_get_value):
12792         * gst/gstevent.h:
12793         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12794         (gst_pad_pull_range):
12795         Added rate to the discont event to prepare for variable speed
12796         and reverse playback.
12797
12798 2005-03-29  David Schleef  <ds@schleef.org>
12799
12800         * configure.ac:
12801         * testsuite/trigger/Makefile.am:
12802         * testsuite/trigger/trigger.c: A little example program to show
12803         how trigger-based elements can work.
12804
12805 2005-03-29  Wim Taymans  <wim@fluendo.com>
12806
12807         * gst/base/Makefile.am:
12808         * gst/base/README:
12809         * gst/base/gstbasesink.c: (gst_basesink_get_type),
12810         (gst_basesink_base_init), (gst_basesink_class_init),
12811         (gst_basesink_pad_getcaps), (gst_basesink_init),
12812         (gst_basesink_activate), (gst_basesink_change_state):
12813         * gst/base/gstbasesink.h:
12814         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
12815         (gst_base_transform_base_init), (gst_base_transform_finalize),
12816         (gst_base_transform_class_init), (gst_base_transform_init),
12817         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
12818         (gst_base_transform_event), (gst_base_transform_getrange),
12819         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
12820         (gst_base_transform_set_property),
12821         (gst_base_transform_get_property),
12822         (gst_base_transform_sink_activate),
12823         (gst_base_transform_src_activate),
12824         (gst_base_transform_change_state):
12825         * gst/base/gstbasetransform.h:
12826         * gst/elements/gstidentity.c: (gst_identity_finalize),
12827         (gst_identity_class_init), (gst_identity_init),
12828         (gst_identity_event), (gst_identity_check_perfect),
12829         (gst_identity_transform), (gst_identity_set_property),
12830         (gst_identity_get_property), (gst_identity_change_state):
12831         * gst/elements/gstidentity.h:
12832         * gst/gstelement.c: (gst_element_get_state_func),
12833         (gst_element_lost_state), (gst_element_pads_activate):
12834         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
12835         (gst_pad_check_pull_range), (gst_pad_pull_range):
12836         * gst/gstpad.h:
12837         Simplify pad activation.
12838         Added function to check if pull_range can be performed.
12839         Error out when pulling inactive or flushing pads.
12840         Removed const from refcounted types as it does not make sense.
12841         Simplify pad templates in basesink
12842         Added base class for simple 1-to-1 transforms.
12843         Make identity subclass the base transform.
12844
12845 2005-03-29  Andy Wingo  <wingo@pobox.com>
12846
12847         * docs/libs/gstreamer-libs-overrides.txt: 
12848         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
12849         really don't understand what's going on, but like whatever. I want
12850         green buildbot!
12851
12852         * docs/gst/Makefile.am:
12853         * docs/libs/Makefile.am: Dist the overrides files.
12854
12855         * check/Makefile.am (clean-local): Remove .libs directories.
12856
12857         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
12858         elements to EXTRA_DIST, so po/ files are happy.
12859
12860         * po/POTFILES.in: Er, remove it here.
12861
12862         * po/POTFILES: Remove gstspider.c.
12863
12864         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
12865
12866         * docs/libs/gstreamer-libs-docs.sgml: 
12867         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
12868         bytestream.
12869
12870         * tests/complexity.c (main): Set the length of the preroll queue
12871         on the sinks to prevent a lockup.
12872
12873         * libs/gst/dataprotocol/Makefile.am: 
12874         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
12875         the same as the one in check/gst-libs/gdp.c.
12876
12877         * po/, docs/gst/: Commit automatic changes to docs and po files.
12878
12879         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
12880         the versioned libgstbase.
12881
12882         * check/Makefile.am: Depend on an unversioned gst-register, seems
12883         to make autoconf happier.
12884
12885         * gst/base/Makefile.am: Make libgstbase a versioned lib.
12886
12887 2005-03-28  Wim Taymans  <wim@fluendo.com>
12888
12889         * configure.ac:
12890         * docs/design/part-gstelement.txt:
12891         * docs/design/part-negotiation.txt:
12892         * docs/design/part-preroll.txt:
12893         * docs/design/part-scheduling.txt:
12894         * docs/design/part-states.txt:
12895         * gst/Makefile.am:
12896         * gst/base/Makefile.am:
12897         * gst/base/README:
12898         * gst/base/gstbasesink.c: (gst_basesink_get_template),
12899         (gst_basesink_base_init), (gst_basesink_class_init),
12900         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
12901         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
12902         (gst_basesink_set_pad_functions),
12903         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
12904         (gst_basesink_set_property), (gst_basesink_get_property),
12905         (gst_base_sink_get_template), (gst_base_sink_get_caps),
12906         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
12907         (gst_basesink_preroll_queue_push),
12908         (gst_basesink_preroll_queue_empty),
12909         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
12910         (gst_basesink_event), (gst_basesink_get_times),
12911         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
12912         (gst_basesink_chain_unlocked), (gst_basesink_chain),
12913         (gst_basesink_loop), (gst_basesink_activate),
12914         (gst_basesink_change_state):
12915         * gst/base/gstbasesink.h:
12916         * gst/elements/Makefile.am:
12917         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
12918         (gst_fakesink_class_init), (gst_fakesink_init),
12919         (gst_fakesink_set_property), (gst_fakesink_get_property),
12920         (gst_fakesink_get_times), (gst_fakesink_event),
12921         (gst_fakesink_preroll), (gst_fakesink_render),
12922         (gst_fakesink_change_state):
12923         * gst/elements/gstfakesink.h:
12924         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12925         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
12926         * gst/gstelement.c: (gst_element_add_pad),
12927         (gst_element_get_state_func), (gst_element_abort_state),
12928         (gst_element_commit_state), (gst_element_lost_state),
12929         (gst_element_set_state), (gst_element_pads_activate):
12930         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
12931         * gst/gstpipeline.c: (gst_pipeline_send_event),
12932         (gst_pipeline_change_state):
12933         Added state change code.
12934         Added/updated docs.
12935         Added sink base class, make fakesink extend the base class.
12936         Small cleanups in GstPipeline.
12937
12938 2005-03-26  David Schleef  <ds@schleef.org>
12939
12940         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
12941         is broken and should be implemented in a different library.
12942         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
12943         * gst/gst.h: remove gstcpu.h
12944         * gst/gstcpu.c: remove
12945         * gst/gstcpu.h: remove
12946         * gst/Makefile.am.future: Remove this file.  It's ancient.
12947
12948 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12949
12950         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
12951         (gst_bin_send_event):
12952           Add default event/set_manager handlers. The set_manager handler
12953           takes care that the manager is distributed over kids that were
12954           already in the bin before the manager was set. The event handler
12955           is a utility virtual function that sends the event over all sinks,
12956           so that gst_element_send_event (bin, event); has the expected
12957           behaviour.
12958         * gst/gstpad.c: (gst_pad_event_default):
12959           Re-install default event handling for discontinuities, so that
12960           seeking works without requiring hacks in applications or extra
12961           code in sinks.
12962         * gst/gstpipeline.c: (gst_pipeline_class_init),
12963         (gst_pipeline_send_event):
12964           Half hack, half utility: set a pipeline to PAUSED for seek events,
12965           since that is the only way we can guarantee a/v sync. Means that
12966           you can do gst_element_seek (pipeline, method, pos); on a pipeline
12967           and it "just works".
12968
12969 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12970
12971         * gst/gstpipeline.c: (gst_pipeline_use_clock):
12972           Lock/unlock mismatch.
12973
12974 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12975
12976         * docs/faq/gst-uninstalled:
12977           add gst-plugins-base
12978         * docs/gst/Makefile.am:
12979           don't error out until docs are fixed
12980         * docs/gst/gstreamer.types:
12981           remove thread
12982
12983 2005-03-22  Wim Taymans  <wim@fluendo.com>
12984
12985         * check/Makefile.am:
12986         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
12987         * gst/gststructure.c: (gst_structure_set_valist),
12988         (gst_structure_copy_conditional):
12989         Activated more tests.
12990         Added message test.
12991         Added G_TYPE_POINTER to GstStructure.
12992         
12993
12994 2005-03-22  Wim Taymans  <wim@fluendo.com>
12995
12996         * docs/design/part-TODO.txt:
12997         * docs/design/part-events.txt:
12998         * docs/design/part-gstbin.txt:
12999         * docs/design/part-gstbus.txt:
13000         * docs/design/part-gstpipeline.txt:
13001         * docs/design/part-messages.txt:
13002         * gst/gstbus.c:
13003         * gst/gstmessage.c:
13004         Docs updates
13005
13006 2005-03-21  Wim Taymans  <wim@fluendo.com>
13007
13008         * gst/gstbus.c: (gst_bus_post):
13009         Fix copy-and-paste error.
13010
13011 2005-03-21  Wim Taymans  <wim@fluendo.com>
13012
13013         * check/Makefile.am:
13014         * gst/Makefile.am:
13015         * gst/elements/Makefile.am:
13016         * gst/elements/gstelements.c:
13017         * gst/elements/gstfakesink.c: (gst_fakesink_init),
13018         (gst_fakesink_event), (gst_fakesink_chain):
13019         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13020         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
13021         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
13022         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
13023         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13024         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
13025         (gst_fakesrc_loop), (gst_fakesrc_activate),
13026         (gst_fakesrc_change_state):
13027         * gst/elements/gstfakesrc.h:
13028         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
13029         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
13030         (gst_filesrc_open_file), (gst_filesrc_loop),
13031         (gst_filesrc_activate), (gst_filesrc_change_state),
13032         (filesrc_find_peek), (filesrc_find_suggest),
13033         (gst_filesrc_type_find):
13034         * gst/elements/gstidentity.c: (gst_identity_finalize),
13035         (gst_identity_class_init), (gst_identity_init),
13036         (gst_identity_proxy_getcaps), (identity_queue_push),
13037         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
13038         (gst_identity_getrange), (gst_identity_chain),
13039         (gst_identity_sink_loop), (gst_identity_src_loop),
13040         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
13041         (gst_identity_set_property), (gst_identity_get_property),
13042         (gst_identity_change_state):
13043         * gst/elements/gstidentity.h:
13044         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
13045         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
13046         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
13047         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
13048         (gst_tee_sink_activate):
13049         * gst/elements/gsttee.h:
13050         * gst/gst.c: (gst_register_core_elements), (init_post):
13051         * gst/gst.h:
13052         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
13053         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
13054         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
13055         (gst_bin_change_state):
13056         * gst/gstbin.h:
13057         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
13058         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
13059         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
13060         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
13061         (gst_bus_set_sync_handler), (gst_bus_create_watch),
13062         (bus_watch_callback), (bus_watch_destroy),
13063         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
13064         (poll_timeout), (gst_bus_poll):
13065         * gst/gstbus.h:
13066         * gst/gstcaps.h:
13067         * gst/gstdata.h:
13068         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13069         (gst_element_post_message), (gst_element_message_full),
13070         (gst_element_get_state_func), (gst_element_get_state),
13071         (gst_element_abort_state), (gst_element_commit_state),
13072         (gst_element_lost_state), (gst_element_set_state),
13073         (gst_element_pads_activate), (gst_element_change_state),
13074         (gst_element_dispose), (gst_element_set_manager_func),
13075         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
13076         (gst_element_set_manager), (gst_element_get_manager),
13077         (gst_element_set_bus), (gst_element_get_bus),
13078         (gst_element_set_scheduler), (gst_element_get_scheduler):
13079         * gst/gstelement.h:
13080         * gst/gstevent.c: (gst_event_new_segment_seek),
13081         (gst_event_new_flush):
13082         * gst/gstevent.h:
13083         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
13084         (_gst_message_free), (gst_message_get_type), (gst_message_new),
13085         (gst_message_new_eos), (gst_message_new_error),
13086         (gst_message_new_warning), (gst_message_new_tag),
13087         (gst_message_new_state_changed), (gst_message_new_application),
13088         (gst_message_get_structure), (gst_message_parse_tag),
13089         (gst_message_parse_state_changed), (gst_message_parse_error),
13090         (gst_message_parse_warning):
13091         * gst/gstmessage.h:
13092         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
13093         (gst_real_pad_set_property), (gst_pad_set_active),
13094         (gst_pad_is_active), (gst_pad_set_blocked_async),
13095         (gst_pad_set_blocked), (gst_pad_is_blocked),
13096         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
13097         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
13098         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13099         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
13100         (gst_pad_link_filtered), (gst_pad_relink_filtered),
13101         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
13102         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
13103         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
13104         (gst_pad_set_caps), (gst_pad_configure_sink),
13105         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
13106         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
13107         (gst_real_pad_dispose), (gst_real_pad_finalize),
13108         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
13109         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13110         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
13111         * gst/gstpad.h:
13112         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
13113         (pipeline_bus_handler), (gst_pipeline_change_state),
13114         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
13115         * gst/gstpipeline.h:
13116         * gst/gstprobe.h:
13117         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
13118         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
13119         (gst_queue_link_src), (gst_queue_bufferalloc),
13120         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
13121         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
13122         (gst_queue_loop), (gst_queue_handle_src_event),
13123         (gst_queue_handle_src_query), (gst_queue_src_activate),
13124         (gst_queue_change_state):
13125         * gst/gstqueue.h:
13126         * gst/gstscheduler.c: (gst_scheduler_init),
13127         (gst_scheduler_dispose), (gst_scheduler_create_task),
13128         (gst_scheduler_factory_create):
13129         * gst/gstscheduler.h:
13130         * gst/gststructure.c: (gst_structure_get_type),
13131         (gst_structure_copy_conditional):
13132         * gst/gststructure.h:
13133         * gst/gsttaginterface.h:
13134         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13135         (gst_task_init), (gst_task_dispose), (gst_task_create),
13136         (gst_task_get_state), (gst_task_start), (gst_task_stop),
13137         (gst_task_pause):
13138         * gst/gsttask.h:
13139         * gst/gstthread.c:
13140         * gst/gstthread.h:
13141         * gst/gsttypes.h:
13142         * gst/schedulers/Makefile.am:
13143         * gst/schedulers/cothreads_compat.h:
13144         * gst/schedulers/entryscheduler.c:
13145         * gst/schedulers/faircothreads.c:
13146         * gst/schedulers/faircothreads.h:
13147         * gst/schedulers/fairscheduler.c:
13148         * gst/schedulers/gstbasicscheduler.c:
13149         * gst/schedulers/gstoptimalscheduler.c:
13150         * gst/schedulers/gthread-cothreads.h:
13151         * gst/schedulers/threadscheduler.c:
13152         (gst_thread_scheduler_task_get_type),
13153         (gst_thread_scheduler_task_class_init),
13154         (gst_thread_scheduler_task_init),
13155         (gst_thread_scheduler_task_start),
13156         (gst_thread_scheduler_task_stop),
13157         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
13158         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
13159         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
13160         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
13161         (plugin_init):
13162         * libs/gst/Makefile.am:
13163         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
13164         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
13165         (gst_file_pad_parent_set):
13166         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13167         (gst_dp_event_from_packet):
13168         * tests/complexity.c: (main):
13169         * tests/mass_elements.c: (main):
13170         * testsuite/states/locked.c: (message_received), (main):
13171         * testsuite/states/parent.c: (main):
13172         * tools/gst-inspect.c: (print_element_flag_info),
13173         (print_implementation_info), (print_pad_info):
13174         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
13175         (main):
13176         * tools/gst-md5sum.c: (event_loop), (main):
13177         * tools/gst-typefind.c: (main):
13178         * tools/gst-xmlinspect.c: (print_element_info):
13179         Next big merge.
13180         Added GstBus for mainloop integration.
13181         Added GstMessage for sending notifications on the bus.
13182         Added GstTask as an abstraction for pipeline entry points.
13183         Removed GstThread.
13184         Removed Schedulers.
13185         Simplified GstQueue for multithreaded core.
13186         Made _link threadsafe, removed old capsnego.
13187         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
13188         Added pad blocking functions.
13189         Reworked scheduling functions in GstPad to prepare for
13190         scheduling updates soon.
13191         Moved events out of data stream.
13192         Simplified GstEvent types.
13193         Added return values to push/pull.
13194         Removed clocking from GstElement.
13195         Added prototypes for state change function for next merge.
13196         Removed iterate from bins and state change management.
13197         Fixed some elements, disabled others for now.
13198         Fixed -inspect and -launch.
13199         Added check for GstBus.
13200
13201 2005-03-10  Wim Taymans  <wim@fluendo.com>
13202
13203         * docs/design/part-MT-refcounting.txt:
13204         * docs/design/part-clocks.txt:
13205         * docs/design/part-gstelement.txt:
13206         * docs/design/part-gstobject.txt:
13207         * docs/design/part-standards.txt:
13208         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13209         (gst_bin_remove_func), (gst_bin_remove):
13210         * gst/gstbin.h:
13211         * gst/gstbuffer.c:
13212         * gst/gstcaps.h:
13213         * testsuite/clock/clock1.c: (main):
13214         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
13215         (main):
13216         * testsuite/dlopen/loadgst.c: (do_test):
13217         * testsuite/refcounting/bin.c: (add_remove_test1),
13218         (add_remove_test2), (main):
13219         * testsuite/refcounting/element.c: (main):
13220         * testsuite/refcounting/element_pad.c: (main):
13221         * testsuite/refcounting/pad.c: (main):
13222         * tools/gst-launch.c: (sigint_handler_sighandler):
13223         * tools/gst-typefind.c: (main):
13224         Doc updates.
13225         Added doc about clock.
13226         removed gst_bin_iterate_recurse_up(), marked methods
13227         for removal.
13228         Fix more testsuites.
13229
13230 2005-03-09  Wim Taymans  <wim@fluendo.com>
13231
13232         * gst/gstpad.c: (gst_pad_get_direction),
13233         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
13234         (gst_pad_collect_valist):
13235         * testsuite/bins/interface.c: (main):
13236         * testsuite/caps/audioscale.c: (test_caps):
13237         * testsuite/caps/caps.c: (test1), (test2), (test3):
13238         * testsuite/caps/deserialize.c: (main):
13239         * testsuite/caps/enumcaps.c: (main):
13240         * testsuite/caps/filtercaps.c: (main):
13241         * testsuite/caps/intersect2.c: (main):
13242         * testsuite/caps/random.c: (main):
13243         * testsuite/caps/renegotiate.c: (my_fixate), (main):
13244         * testsuite/caps/sets.c: (check_caps):
13245         * testsuite/caps/simplify.c: (check_caps), (main):
13246         * testsuite/caps/subtract.c: (check_caps):
13247         Fix _pad_get_direction wrt ghostpads.
13248         Fix caps testsuite.
13249
13250 2005-03-09  Wim Taymans  <wim@fluendo.com>
13251
13252         * check/Makefile.am:
13253         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
13254         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
13255         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
13256         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
13257         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
13258         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
13259         (gst_bin_remove), (gst_bin_iterate_recurse_up),
13260         (bin_element_is_sink), (gst_bin_iterate_sinks),
13261         (gst_bin_iterate_all_by_interface):
13262         * gst/gstbin.h:
13263         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
13264         (gst_element_change_state), (gst_element_dispose),
13265         (gst_element_finalize), (gst_element_set_loop_function):
13266         * gst/gstelement.h:
13267         * gst/gstiterator.c: (find_custom_fold_func):
13268         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13269         (gst_pad_collectv), (gst_pad_collect_valist),
13270         (gst_pad_template_new):
13271         * gst/gstpipeline.c: (gst_pipeline_class_init),
13272         (gst_pipeline_dispose), (gst_pipeline_set_property),
13273         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
13274         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
13275         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
13276         * gst/gstutils.h:
13277         * gst/schedulers/entryscheduler.c:
13278         * gst/schedulers/gstbasicscheduler.c:
13279         (gst_basic_scheduler_cothreaded_chain),
13280         (gst_basic_scheduler_chain_add_element):
13281         * testsuite/bins/interface.c: (main):
13282         Added GstBin test.
13283         Added GstSystemClock test.
13284         Implemented clock distribution code in GstBin.
13285         Implemented iterate sinks method for future use.
13286         Rearranged gstelement.h
13287         Fix GstIterator comparison bug.
13288         Moved some code to GstPipeline, mostly clocking related.
13289
13290 2005-03-09  Wim Taymans  <wim@fluendo.com>
13291
13292         * configure.ac:
13293         * gst/gst_private.h:
13294         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13295         (gst_bin_remove_func), (gst_bin_remove),
13296         (gst_bin_get_by_name_recurse_up):
13297         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
13298         (gst_clock_id_compare_func), (gst_clock_id_wait),
13299         (gst_clock_id_wait_async), (gst_clock_init),
13300         (gst_clock_adjust_unlocked), (gst_clock_get_time):
13301         * gst/gstelement.h:
13302         * gst/gstinfo.c: (_gst_debug_init):
13303         * gst/gstobject.h:
13304         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
13305         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
13306         * gst/gstpad.h:
13307         Bump version number, we're now 0.9.0
13308         Add future debugging category.
13309         Fix NULL _unref() in _get_by_name_recurse_up
13310         Rearrange gstpad.h.
13311         Update some docs.
13312
13313 2005-03-08  Wim Taymans  <wim@fluendo.com>
13314
13315         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
13316         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
13317         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13318         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
13319         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
13320         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
13321         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
13322         * gst/elements/gstidentity.c: (gst_identity_class_init):
13323         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
13324         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
13325         * gst/elements/gstshaper.c: (gst_shaper_class_init):
13326         * gst/elements/gststatistics.c: (gst_statistics_class_init):
13327         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
13328         (gst_tee_link):
13329         * gst/gstelement.c: (gst_element_class_init),
13330         (gst_element_base_class_init), (gst_element_init),
13331         (gst_element_get_random_pad), (gst_element_wait_state_change),
13332         (gst_element_change_state), (gst_element_dispose),
13333         (gst_element_finalize), (gst_element_set_loop_function):
13334         * gst/gstelement.h:
13335         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
13336         * gst/gstthread.c: (gst_thread_class_init),
13337         (gst_thread_release_children_locks), (gst_thread_change_state):
13338         * gst/schedulers/gstbasicscheduler.c:
13339         (gst_basic_scheduler_loopfunc_wrapper),
13340         (gst_basic_scheduler_chain_wrapper),
13341         (gst_basic_scheduler_src_wrapper),
13342         (gst_basic_scheduler_remove_element):
13343         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
13344         Remove threadsafe properties. Fix elements because GObject
13345         complains when installing a property before declaring a
13346         set/get_property handler.
13347         Rearrange gstelement.h file, use STATE macros for state locks.
13348         Free mutexes in the finalize method instead of dispose.
13349
13350 2005-03-08  Wim Taymans  <wim@fluendo.com>
13351
13352         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13353         * gst/gstthread.c: (gst_thread_release_children_locks):
13354         Added parentage check.
13355         Fix build og GstThread again.
13356
13357 2005-03-08  Wim Taymans  <wim@fluendo.com>
13358
13359         * docs/design/part-MT-refcounting.txt:
13360         * docs/design/part-conventions.txt:
13361         * docs/design/part-gstobject.txt:
13362         * docs/design/part-relations.txt:
13363         * docs/design/part-standards.txt:
13364         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
13365         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
13366         (gst_bin_get_by_name), (gst_bin_get_by_interface),
13367         (gst_bin_iterate_all_by_interface):
13368         * gst/gstbuffer.h:
13369         * gst/gstclock.h:
13370         * gst/gstelement.c: (gst_element_class_init),
13371         (gst_element_change_state), (gst_element_set_loop_function):
13372         * gst/gstelement.h:
13373         * gst/gstiterator.c:
13374         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
13375         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
13376         (gst_object_dispatch_properties_changed), (gst_object_set_name),
13377         (gst_object_set_parent), (gst_object_unparent),
13378         (gst_object_check_uniqueness):
13379         * gst/gstobject.h:
13380         Docs updates, clean up some headers.
13381
13382 2005-03-07  Wim Taymans  <wim@fluendo.com>
13383
13384         * check/.cvsignore:
13385         * check/Makefile.am:
13386         * check/gst-libs/.cvsignore:
13387         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
13388         * check/gst/.cvsignore:
13389         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
13390         (START_TEST), (gstbus_suite), (main):
13391         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
13392         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
13393         (gst_data_suite), (main):
13394         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
13395         (add_fold_func), (gstiterator_suite), (main):
13396         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
13397         (thread_name_object), (thread_name_object_default),
13398         (gst_object_name_compare), (gst_object_suite), (main):
13399         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
13400         (gst_pad_suite), (main):
13401         * check/gstcheck.c: (gst_check_log_message_func),
13402         (gst_check_log_critical_func), (gst_check_init):
13403         * check/gstcheck.h:
13404         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
13405         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
13406         Added checks.
13407
13408 2005-03-07  Wim Taymans  <wim@fluendo.com>
13409
13410         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13411         (gst_list_iterator_next), (gst_list_iterator_resync),
13412         (gst_list_iterator_free), (gst_iterator_new_list),
13413         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
13414         (gst_iterator_free), (gst_iterator_push), (filter_next),
13415         (filter_resync), (filter_uninit), (filter_free),
13416         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
13417         (gst_iterator_foreach), (find_custom_fold_func),
13418         (gst_iterator_find_custom):
13419         * gst/gstiterator.h:
13420         Added missing files.
13421
13422 2005-03-07  Wim Taymans  <wim@fluendo.com>
13423
13424         * Makefile.am:
13425         * configure.ac:
13426         * docs/design/part-MT-refcounting.txt:
13427         * docs/design/part-conventions.txt:
13428         * docs/design/part-gstobject.txt:
13429         * docs/design/part-relations.txt:
13430         * examples/mixer/mixer.c: (main):
13431         * examples/thread/thread.c: (eos), (main):
13432         * gst/Makefile.am:
13433         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
13434         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
13435         (gst_spider_plug_from_srcpad):
13436         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
13437         (gst_spider_identity_change_state),
13438         (gst_spider_identity_sink_loop_type_finding):
13439         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
13440         * gst/elements/gstidentity.c: (gst_identity_init):
13441         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
13442         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
13443         * gst/elements/gsttypefindelement.c: (free_entry):
13444         * gst/gst.c:
13445         * gst/gst.h:
13446         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
13447         (gst_bin_set_clock_func), (gst_bin_auto_clock),
13448         (gst_bin_set_index), (gst_bin_set_element_sched),
13449         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
13450         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
13451         (gst_bin_iterate_elements), (iterate_child_recurse),
13452         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
13453         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
13454         (compare_interface), (gst_bin_get_by_interface),
13455         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
13456         * gst/gstbin.h:
13457         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
13458         (gst_buffer_default_free), (gst_buffer_default_copy),
13459         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
13460         (gst_buffer_create_sub):
13461         * gst/gstbuffer.h:
13462         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
13463         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
13464         (gst_caps_unref), (gst_static_caps_get),
13465         (gst_caps_remove_and_get_structure), (gst_caps_append),
13466         (gst_caps_append_structure), (gst_caps_remove_structure),
13467         (gst_caps_copy_nth), (gst_caps_set_simple),
13468         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
13469         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
13470         (gst_caps_structure_intersect_field), (gst_caps_intersect),
13471         (gst_caps_structure_subtract_field), (gst_caps_subtract),
13472         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
13473         (gst_caps_structure_figure_out_union),
13474         (gst_caps_switch_structures), (gst_caps_do_simplify),
13475         (gst_caps_replace), (gst_caps_from_string),
13476         (gst_caps_copy_conditional):
13477         * gst/gstcaps.h:
13478         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
13479         (_gst_clock_id_free), (gst_clock_id_unref),
13480         (gst_clock_id_compare_func), (gst_clock_id_wait),
13481         (gst_clock_id_wait_async), (gst_clock_class_init),
13482         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
13483         (gst_clock_get_time), (gst_clock_set_time_adjust),
13484         (gst_clock_set_property), (gst_clock_get_property):
13485         * gst/gstclock.h:
13486         * gst/gstcompat.h:
13487         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
13488         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
13489         * gst/gstdata.h:
13490         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
13491         (gst_element_requires_clock), (gst_element_provides_clock),
13492         (gst_element_set_clock), (gst_element_clock_wait),
13493         (gst_element_wait), (gst_element_set_time_delay),
13494         (gst_element_is_indexable), (gst_element_add_pad),
13495         (gst_element_add_ghost_pad), (gst_element_remove_pad),
13496         (pad_compare_name), (gst_element_get_static_pad),
13497         (gst_element_request_pad), (gst_element_get_request_pad),
13498         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
13499         (gst_element_class_get_pad_template_list),
13500         (gst_element_class_get_pad_template), (gst_element_error_func),
13501         (gst_element_get_random_pad), (gst_element_get_event_masks),
13502         (gst_element_send_event), (gst_element_seek),
13503         (gst_element_get_query_types), (gst_element_query),
13504         (gst_element_get_formats), (gst_element_convert),
13505         (gst_element_is_locked_state), (gst_element_set_locked_state),
13506         (gst_element_sync_state_with_parent), (gst_element_change_state),
13507         (gst_element_finalize), (gst_element_yield),
13508         (gst_element_interrupt), (gst_element_set_scheduler),
13509         (gst_element_get_scheduler), (gst_element_set_loop_function):
13510         * gst/gstelement.h:
13511         * gst/gstevent.h:
13512         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
13513         (gst_format_get_by_nick), (gst_format_get_details),
13514         (gst_format_iterate_definitions):
13515         * gst/gstformat.h:
13516         * gst/gstindex.c: (gst_index_gtype_resolver):
13517         * gst/gstinfo.c:
13518         * gst/gstinfo.h:
13519         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
13520         (gst_mem_chunk_free):
13521         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
13522         (gst_object_ref), (gst_object_unref), (gst_object_sink),
13523         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
13524         (gst_object_dispatch_properties_changed),
13525         (gst_object_set_name_default), (gst_object_set_name),
13526         (gst_object_get_name), (gst_object_set_name_prefix),
13527         (gst_object_get_name_prefix), (gst_object_set_parent),
13528         (gst_object_get_parent), (gst_object_unparent),
13529         (gst_object_check_uniqueness), (gst_object_save_thyself),
13530         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
13531         (gst_object_set_property), (gst_object_get_property),
13532         (gst_object_get_path_string):
13533         * gst/gstobject.h:
13534         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
13535         (gst_real_pad_init), (gst_real_pad_get_property),
13536         (gst_pad_custom_new), (gst_pad_get_direction),
13537         (gst_pad_set_active), (gst_pad_is_active),
13538         (gst_pad_set_event_function), (gst_pad_is_linked),
13539         (gst_pad_link_free), (gst_pad_link_intersect),
13540         (gst_pad_link_fixate), (gst_pad_set_caps),
13541         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
13542         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
13543         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
13544         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
13545         (gst_pad_get_caps), (gst_pad_peer_get_caps),
13546         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
13547         (gst_pad_realize), (gst_pad_get_allowed_caps),
13548         (gst_real_pad_dispose), (gst_real_pad_finalize),
13549         (gst_pad_collectv), (gst_pad_collect_valist),
13550         (gst_pad_template_dispose), (gst_pad_template_new),
13551         (gst_pad_get_internal_links):
13552         * gst/gstpad.h:
13553         * gst/gstpipeline.c: (gst_pipeline_dispose),
13554         (gst_pipeline_change_state):
13555         * gst/gstpipeline.h:
13556         * gst/gstplugin.c:
13557         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
13558         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
13559         * gst/gstpluginfeature.h:
13560         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
13561         * gst/gstquery.c: (_gst_query_type_initialize),
13562         (gst_query_type_register), (gst_query_type_get_by_nick),
13563         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
13564         * gst/gstquery.h:
13565         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
13566         * gst/gstscheduler.c: (gst_scheduler_add_element),
13567         (gst_scheduler_factory_create):
13568         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13569         (gst_structure_free), (gst_structure_set_name),
13570         (gst_structure_id_set_value), (gst_structure_set_value),
13571         (gst_structure_set_valist), (gst_structure_remove_field),
13572         (gst_structure_remove_fields),
13573         (gst_structure_remove_fields_valist),
13574         (gst_structure_remove_all_fields), (gst_structure_foreach),
13575         (gst_structure_map_in_place),
13576         (gst_caps_structure_fixate_field_nearest_int),
13577         (gst_caps_structure_fixate_field_nearest_double):
13578         * gst/gststructure.h:
13579         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13580         (gst_system_clock_init), (gst_system_clock_dispose),
13581         (gst_system_clock_async_thread),
13582         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
13583         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
13584         * gst/gstsystemclock.h:
13585         * gst/gsttag.c: (gst_tag_list_add_value_internal),
13586         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
13587         * gst/gsttaginterface.c:
13588         * gst/gstthread.c: (gst_thread_dispose),
13589         (gst_thread_release_children_locks), (gst_thread_change_state),
13590         (gst_thread_main_loop):
13591         * gst/gsttrashstack.h:
13592         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
13593         * gst/gsttypes.h:
13594         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13595         (gst_element_request_pad), (gst_element_get_pad_from_template),
13596         (gst_element_request_compatible_pad),
13597         (gst_element_get_compatible_pad_filtered),
13598         (gst_element_get_compatible_pad), (gst_element_state_get_name),
13599         (gst_element_link_pads_filtered), (gst_element_link_filtered),
13600         (gst_element_link_many), (gst_element_link),
13601         (gst_element_link_pads), (gst_element_unlink_pads),
13602         (gst_element_unlink_many), (gst_element_unlink),
13603         (gst_pad_can_link_filtered), (gst_pad_can_link),
13604         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
13605         (gst_object_default_error), (gst_bin_add_many),
13606         (gst_bin_remove_many), (gst_element_populate_std_props),
13607         (gst_element_class_install_std_props), (gst_buffer_merge),
13608         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
13609         (link_fold_func), (gst_pad_proxy_setcaps):
13610         * gst/gstutils.h:
13611         * gst/gstvalue.c: (gst_value_deserialize_string):
13612         * gst/parse/grammar.y:
13613         * gst/schedulers/gstbasicscheduler.c:
13614         (gst_basic_scheduler_cothreaded_chain),
13615         (gst_basic_scheduler_chain_recursive_add),
13616         (gst_basic_scheduler_pad_link):
13617         * gst/schedulers/gstoptimalscheduler.c:
13618         (get_group_schedule_function),
13619         (gst_opt_scheduler_state_transition),
13620         (gst_opt_scheduler_add_element), (element_get_reachables_func):
13621         * libs/gst/bytestream/bytestream.c:
13622         * libs/gst/dataprotocol/dataprotocol.c:
13623         (gst_dp_header_from_buffer):
13624         * po/nb.po:
13625         * po/ru.po:
13626         * tests/threadstate/threadstate2.c: (eos):
13627         * tools/gst-compprep.c: (main):
13628         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
13629         (print_pad_info), (print_children_info):
13630         * tools/gst-launch.c: (idle_func), (main):
13631         * tools/gst-md5sum.c: (idle_func), (main):
13632         * tools/gst-xmlinspect.c: (print_element_info):
13633         First THREADED backport attempt, focusing on adding locks and
13634         making sure the API is threadsafe. Needs more work. More docs
13635         follow this week.
13636
13637 2005-02-24  Andy Wingo  <wingo@pobox.com>
13638
13639         * tests/bench-complexity.scm:
13640         * tests/complexity.gnuplot: New files, good for running complexity
13641         benchmarks.
13642
13643         * tests/Makefile.am:
13644         * tests/complexity.c: New test, sets up N elements, at each level
13645         teeing into M streams per element. Eeeenteresting.
13646
13647         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
13648         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
13649         running bench-mass_elements.scm.
13650
13651         * tests/bench-mass_elements.scm: New script, runs mass_elements
13652         for various numbers of identities, outputting the results to a
13653         file. Requires guile 1.6. Just for testing.
13654
13655 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13656
13657         * gst/schedulers/fairscheduler.c:
13658           compile with debug disabled
13659
13660 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13661
13662         * configure.ac:
13663           hunting season on 0.9 is now OPEN