tests/check/gst/gstghostpad.c: Added some more ghostpad tests, mainly blocking and...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-20  Wim Taymans  <wim@fluendo.com>
2
3         * tests/check/gst/gstghostpad.c: (block_callback),
4         (GST_START_TEST), (gst_ghost_pad_suite):
5         Added some more ghostpad tests, mainly blocking
6         and probes.
7
8 2006-06-16  Wim Taymans  <wim@fluendo.com>
9
10         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11         (gst_file_sink_close_file), (gst_file_sink_do_seek),
12         (gst_file_sink_event), (gst_file_sink_render):
13         * plugins/elements/gstfilesink.h:
14         Check if we can seek in the file instead of assuming
15         we always can. Post an error when we are asked to seek in a
16         non-seekable file (like a fifo). Fixes #343312.
17         Some cleanups.
18
19 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
20
21         * tools/gst-launch.1.in:
22           Un-garble (fourcc) bit in filtered caps section.
23
24 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
25
26         * docs/manual/advanced-autoplugging.xml:
27         * docs/manual/basics-helloworld.xml:
28         * docs/manual/highlevel-components.xml:
29           Don't leak bus reference in sample code.
30
31 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
32
33         * autogen.sh:
34           Add default for new --enable-plugin-docs switch.
35
36         * configure.ac:
37           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
38           Fixes #344039.
39
40         * docs/Makefile.am:
41           Use new ENABLE_PLUGIN_DOCS conditional.
42
43 2006-06-14  Wim Taymans  <wim@fluendo.com>
44
45         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
46         Make it clear with a FIXME and a real define what the #if 0
47         previously disabled.
48
49 2006-06-14  Wim Taymans  <wim@fluendo.com>
50
51         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
52         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
53         * libs/gst/base/gstbasetransform.c:
54         (gst_base_transform_sink_eventfunc):
55         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
56         Don't randomly and silently reset a segment when the format 
57         changes as this is a bug somewhere upstream. Fixes #330379.
58
59 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
60
61         Patch by: Wouter Paesen  <wouter at kangaroot net>
62
63         * libs/gst/controller/gstcontroller.c:
64         (gst_controlled_property_new):
65           Fix controlling of float properties (#344849).
66
67         * tests/check/libs/controller.c:
68         (gst_test_mono_source_get_property),
69         (gst_test_mono_source_set_property),
70         (gst_test_mono_source_class_init), (GST_START_TEST):
71           While we're at it, add some float stuff to unit test.
72
73 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
74
75         * docs/README:
76         * docs/images/gdp-header.svg:
77           add a gdp image
78         * docs/libs/Makefile.am:
79         * docs/libs/gdp-header.png:
80         * libs/gst/dataprotocol/dataprotocol.c:
81           add it to the API docs
82         * docs/manual/intro-motivation.xml:
83           fix typo
84
85 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
86
87         * gst/gst.c: (scan_and_update_registry), (init_post):
88           If the fork()'ed child process can't write the updated registry cache
89           file to disk for some reason, make it exit with a failure exit code,
90           so that the parent can then re-scan the plugins itself and update the
91           registry structures in memory and work with that (rather than failing
92           when creating elements because seemingly no plugins are available).
93           Refactor registry scanning code into separate function for this and
94           also separate fork() and non-fork() code paths. Fixes #344748.
95
96 2006-06-13  Wim Taymans  <wim@fluendo.com>
97
98         * docs/manual/advanced-dataaccess.xml:
99         Fix wrong PluginDesc. Fixes #344755.
100
101 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
102
103         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
104           Fix silly bug that prevented us from creating
105           ~/.gstreamer-0.10 and writing the registry in one
106           go (the first call to g_mkstemp() would overwrite the
107           placeholder in the template string, so the second call
108           to g_mkstemp() after creating the missing directory
109           would then error out with 'invalid argument').
110
111 2006-06-13  Edward Hervey  <edward@fluendo.com>
112
113         * gst/gst.c: (init_post):
114         Free string.
115
116 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
117
118         * gst/glib-compat-private.h:
119         * gst/glib-compat.c:
120         * gst/glib-compat.h:
121         * gst/gstvalue.c: (gst_value_serialize_flags):
122           remove GLib 2.6 compatibility code
123
124 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
125
126         * gst/parse/Makefile.am:
127           Fix build with 'make -j N' even more (#340016).
128
129 2006-06-12  Wim Taymans  <wim@fluendo.com>
130
131         * docs/gst/gstreamer-sections.txt:
132         Fix docs.
133
134 2006-06-12  Wim Taymans  <wim@fluendo.com>
135
136         * gst/gstsegment.c: (gst_segment_set_duration),
137         (gst_segment_set_last_stop), (gst_segment_set_seek),
138         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
139         (gst_segment_to_running_time), (gst_segment_clip):
140         Use G_UNLIKELY to help the compiler a bit.
141
142 2006-06-12  Wim Taymans  <wim@fluendo.com>
143
144         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
145
146         * gst/gstevent.c: (gst_event_get_type):
147         * gst/gstmessage.c:
148         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
149         (gst_pad_push):
150         constify quark registration strings. Fixes #344115
151         Avoid unneeded type checking is _pad_push() by internally
152         calling gst_pad_chain_unchecked().
153
154 2006-06-12  Wim Taymans  <wim@fluendo.com>
155
156         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
157         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
158         (gst_subbuffer_finalize), (gst_buffer_create_sub),
159         (gst_buffer_is_span_fast), (gst_buffer_span):
160         Init _type for consistency.
161         Use _FLAGS macro to avoid type check.
162         Avoid unneeded type checks in subbufer code.
163
164 2006-06-12  Wim Taymans  <wim@fluendo.com>
165
166         * gst/gst.c: (gst_debug_help):
167         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
168         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
169         (gst_plugin_feature_list_free):
170         * gst/gstregistry.c: (gst_registry_add_plugin),
171         (gst_registry_add_feature), (gst_registry_plugin_filter),
172         (gst_registry_feature_filter), (gst_registry_find_plugin),
173         (gst_registry_find_feature), (gst_registry_get_plugin_list),
174         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
175         * gst/gstregistryxml.c: (load_feature),
176         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
177         * gst/gstminiobject.c: (gst_mini_object_unref),
178         (gst_mini_object_replace), (gst_value_mini_object_free),
179         (gst_value_mini_object_copy):
180         Use _CAST macros to avoid unneeded type checking.
181         Added some more G_UNLIKELY.
182
183 2006-06-12  Wim Taymans  <wim@fluendo.com>
184
185         * gst/gstbuffer.h:
186         Avoid unneeded type checking.
187         API: GST_BUFFER_IS_DISCONT
188
189         * gst/gstminiobject.h:
190         Avoid type check in flag accessor.
191
192         * gst/gstelementfactory.h:
193         * gst/gstplugin.h:
194         * gst/gstpluginfeature.h:
195         Add _CAST macros.
196         API: GST_ELEMENT_FACTORY_CAST
197         API: GST_PLUGIN_CAST
198         API: GST_PLUGIN_FEATURE_CAST
199
200 2006-06-12  Wim Taymans  <wim@fluendo.com>
201
202         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
203         (gst_object_unref):
204         Add G_UNLIKELY in type registration.
205         Avoid type check in _ref/_unref since that is also
206         done in glib.
207
208 2006-06-12  Wim Taymans  <wim@fluendo.com>
209
210         * gst/gsterror.c: (gst_g_error_get_type):
211         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
212         (gst_static_pad_template_get_type):
213         * gst/gsttaglist.c: (gst_tag_list_get_type):
214         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
215         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
216         * gst/gsturi.c: (gst_uri_handler_get_type):
217         * gst/gstvalue.c: (gst_date_get_type):
218         * gst/gstxml.c: (gst_xml_get_type):
219         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
220         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
221         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
222         Add G_UNLIKELY in type registration.
223
224 2006-06-12  Wim Taymans  <wim@fluendo.com>
225
226         * tools/gst-inspect.c: (print_signal_info):
227         Properly print enum values.
228
229 2006-06-12  Wim Taymans  <wim@fluendo.com>
230
231         * gst/gstinfo.c: (gst_debug_set_active),
232         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
233         * gst/gstinfo.h:
234         Add some G_[UN]LIKELY.
235         Maintain __gst_debug_min to avoid formatting the arguments of
236         debug messages that will be dropped anyway to avoid a lot of 
237         overhead from the debugging system.
238
239 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
240
241         * po/POTFILES.in:
242         * po/POTFILES.skip:
243           add missing files containing translatable strings, tell intltool about
244           one exception
245
246 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
247
248         * tests/check/libs/.cvsignore:
249         add test-binary to ignore list
250
251 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
252
253         * docs/libs/gstreamer-libs-docs.sgml:
254         reorder (put dp into a chapter) and indent
255
256 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
257
258         * configure.ac:
259           back to HEAD
260
261 === release 0.10.8 ===
262
263 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
264
265         * configure.ac:
266           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
267
268 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
269
270         * gst/gst.c: (init_post):
271           move pid declaration to declaration block
272
273 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
274
275         * gst/gst.c: (init_post):
276           use _exit() instead of exit() in our forked child; this ensures
277           that none of the registered exit handlers from whatever is using
278           GStreamer get executed.  This fixes gnome-mixer-applet failing
279           to load, because ORBit would shut down.
280           Spotted by: Edward Hervey  <edward@fluendo.com>
281           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
282           Fixes #344474
283
284 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
285
286         * configure.ac:
287           back to TRUNK
288
289 === release 0.10.7 ===
290
291 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
292
293         * configure.ac:
294           releasing 0.10.7, "Soepeke, ik zie ou"
295
296 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
297
298         * configure.ac:
299         * po/af.po:
300         * po/az.po:
301         * po/bg.po:
302         * po/ca.po:
303         * po/cs.po:
304         * po/de.po:
305         * po/en_GB.po:
306         * po/fr.po:
307         * po/it.po:
308         * po/nb.po:
309         * po/nl.po:
310         * po/ru.po:
311         * po/sq.po:
312         * po/sr.po:
313         * po/sv.po:
314         * po/tr.po:
315         * po/uk.po:
316         * po/vi.po:
317         * po/zh_CN.po:
318         * po/zh_TW.po:
319         * win32/common/config.h:
320           0.10.6.2 prerelease
321
322 2006-06-07  Wim Taymans  <wim@fluendo.com>
323
324         * gst/gstindex.c: (gst_index_gtype_resolver):
325         * tools/gst-xmlinspect.c: (print_plugin_info):
326         Fix leak spotted by coverity checker. Fixes #343827
327         Fix another other leak found by paolo borelli.
328
329 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
330
331         * libs/gst/dataprotocol/dataprotocol.c:
332         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
333         (gst_dp_version_get_type), (gst_dp_init),
334         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
335         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
336         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
337         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
338         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
339         (gst_dp_packetizer_free):
340         * libs/gst/dataprotocol/dataprotocol.h:
341           API: add a GstDPPacketizer object, and create/free functions
342           API: add GstDPVersion enum
343           Add 1.0 event function that uses the string serialization
344           Serialize more useful buffer flags
345           Fixes #343988
346
347 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
348
349         * tests/check/Makefile.am:
350         * tests/check/gst/gstabi.c:
351         * tests/check/gst/struct_ppc64.h:
352         * tests/check/libs/libsabi.c:
353         * tests/check/libs/struct_ppc64.h:
354           add ppc64 structure sizes
355
356 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
357
358         * tests/check/Makefile.am:
359         * tests/check/gst/gstabi.c:
360         * tests/check/gst/struct_x86_64.h:
361         * tests/check/libs/libsabi.c:
362         * tests/check/libs/struct_x86_64.h:
363           generate and add structure size lists for x86_64
364
365 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
366
367         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
368         * libs/gst/check/gstcheck.h:
369           factor out the method from tests that checks size of structures,
370           and add code to generate the header containing these sizes
371         * tests/check/gst/gstabi.c: (GST_START_TEST):
372         * tests/check/gst/struct_i386.h:
373         * tests/check/libs/libsabi.c: (GST_START_TEST):
374         * tests/check/libs/struct_i386.h:
375           use it
376
377 2006-06-06  Michael Smith  <msmith@fluendo.com>
378
379         * gst/gstsegment.h:
380           Don't use c++-style comments, fixes #343929
381
382 2006-06-05  Edward Hervey  <edward@fluendo.com>
383
384         * gst/gst.c:
385         plugin_paths is not used if we build without registry support.
386
387         * gst/gstsegment.c: (gst_segment_copy): 
388         _copy() was always returning NULL...
389
390 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
391
392         * libs/gst/dataprotocol/dataprotocol.c:
393         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
394         (gst_dp_packet_from_event):
395           factor out CRC code
396
397 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
398
399         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
400           make sure we unset caps
401
402 2006-06-02  Michael Smith  <msmith@fluendo.com>
403
404         * libs/gst/check/gstcheck.c: (gst_check_init),
405         (gst_check_chain_func):
406         * libs/gst/check/gstcheck.h:
407           Add a cond/mutex to the check support lib, signal this whenever we
408           add to the buffers list. This will allow tests to not busy-wait on
409           the buffer-list.
410
411 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
412
413         * libs/gst/dataprotocol/dataprotocol.c:
414         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
415         (gst_dp_packet_from_event):
416           factor out some common header init code
417
418 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
419
420         * docs/libs/gstreamer-libs-sections.txt:
421         * docs/libs/tmpl/gstdataprotocol.sgml:
422         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
423         * libs/gst/dataprotocol/dataprotocol.h:
424           API: make gst_dp_crc() public
425
426 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
427
428         * plugins/indexers/gstindexers.c: (plugin_init):
429         conditionally register fileindexer (fixes #343598)
430
431 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
432
433         * gst/gsttagsetter.h:
434         Can't cast ifaces to a class
435
436         * libs/gst/net/gstnetclientclock.h:
437         * libs/gst/net/gstnettimeprovider.h:
438         * plugins/elements/gstfakesink.h:
439         * plugins/elements/gstfakesrc.h:
440         * plugins/elements/gstfdsink.h:
441         * plugins/elements/gstfdsrc.h:
442         * plugins/elements/gstfilesink.h:
443         * plugins/elements/gstfilesrc.h:
444         * plugins/elements/gstidentity.h:
445         * plugins/elements/gstqueue.h:
446         * plugins/elements/gsttee.h:
447         * plugins/indexers/gstfileindex.c:
448         * plugins/indexers/gstmemindex.c:
449         * tests/old/examples/plugins/example.h:
450         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
451
452 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
453
454         * libs/gst/dataprotocol/dataprotocol.c:
455         (gst_dp_header_from_buffer):
456           make sure we zero the whole ABI-compatible area
457
458 2006-06-01  Wim Taymans  <wim@fluendo.com>
459
460         Patch by: Alessandro Decina <alessandro at nnva dot org>
461
462         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
463         Make sure the EOS flag is cleared from pads after a flush
464         or stop. Fixes #343538.
465
466         * tests/check/libs/collectpads.c: (GST_START_TEST),
467         (gst_collect_pads_suite):
468         Added test for collectpads reusage after EOS.
469
470 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
471
472         * gst/gst.c:
473          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
474         * win32/common/libgstbase.def:
475          export gst_collect_pads_set_flushing
476         * win32/common/libgstreamer.def:
477          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
478          gst_value_fraction_multiply
479         * win32/vs6/gst_inspect.dsp:
480          add a link to intl.lib
481
482 2006-05-30  Wim Taymans  <wim@fluendo.com>
483
484         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
485         (gst_collect_pads_chain):
486         Handle the case where a pad is removed from the collection
487         that could cause the other pads to become collectable.
488
489 2006-05-30  Wim Taymans  <wim@fluendo.com>
490
491         * gst/gstelement.c:
492         Clarify the use of _release_request_pad() and
493         _get_request_pad() a bit better.
494
495         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
496         (gst_adapter_take_buffer):
497         Fix some doc and comment typos.
498
499 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
500
501         * docs/gst/gstreamer-sections.txt:
502         * docs/libs/gstreamer-libs-sections.txt:
503           add declared symbols
504
505 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
506
507         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
508         Add debug that can be enabled using a #define at the top of the file,
509         for dumping stats about how late/early we were when waking up from
510         waiting on the clock.
511
512 2006-05-30  Wim Taymans  <wim@fluendo.com>
513
514         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
515         When rebuilding the pad list, don't leak the previous list.
516
517 2006-05-30  Wim Taymans  <wim@fluendo.com>
518
519         Patch by: Lutz Mueller <lutz at topfrose dot de>
520
521         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
522         (gst_base_src_get_query_types), (gst_base_src_update_length):
523         Publish supported query types.
524         Update last_stop field in get_range mode so the position
525         query works. Fixes #342321.
526
527 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
528
529         * docs/gst/gstreamer-sections.txt:
530         * gst/gsttaglist.c: (_gst_tag_initialize):
531         * gst/gsttaglist.h:
532           API: add GST_TAG_PREVIEW_IMAGE (#343341).
533
534 2006-05-30  Wim Taymans  <wim@fluendo.com>
535
536         Patch by: Alessandro Decina <alessandro at nnva dot org>
537
538         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
539         Unlock mutex when removing an unknown pad.
540         Fixes #343334.
541
542         * tests/check/Makefile.am:
543         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
544         (push_event), (setup), (teardown), (GST_START_TEST),
545         (gst_collect_pads_suite), (main):
546         Added collecpads check, disabled for now as check crashes for
547         some reason.
548
549 2006-05-29  Wim Taymans  <wim@fluendo.com>
550
551         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
552         Don't leak pads lists.
553
554 2006-05-29  Wim Taymans  <wim@fluendo.com>
555
556         * docs/libs/gstreamer-libs-sections.txt:
557         * libs/gst/base/gstcollectpads.c:
558         (gst_collect_pads_set_flushing_unlocked),
559         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
560         (gst_collect_pads_stop):
561         * libs/gst/base/gstcollectpads.h:
562         API: gst_collect_pads_set_flushing()
563         Added api to set the pads to flushing, useful for seeking
564         code in elements using collectpads.
565         Clear segment when receiving a flush.
566
567 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
568
569         * gst/gst.c: (add_path_func), (init_post):
570           Don't scan registry paths passed via --gst-plugin-path immediately
571           (will crash, because absolutely nothing is set up and no types are
572           registered etc.); do this later in init_post(). Fixes #343057.
573
574 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
575
576         * gst/gst.c: (init_post):
577           if we have fork, fork while reading/rebuilding the registry
578           so the parent doesn't take the hit of having all plugins loaded
579           in memory.  Fixes #342777.
580         * configure.ac:
581           Check if we have fork()
582         * win32/common/config.h.in:
583           no fork() on win32
584
585 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
586
587         * plugins/elements/gstelements.c:
588         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
589         (gst_file_src_init), (gst_file_src_set_property),
590         (gst_file_src_get_property), (gst_file_src_start):
591         * plugins/elements/gstfilesrc.h:
592           API: GstFileSrc::use-mmap
593
594         Add a use-mmap property to enable easier testing of all code paths.
595         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
596         in the absence of gnomevfssrc. (Closes #340501)
597
598 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
599
600         * tools/gst-inspect.c:
601         Add missing include, removes warning of ngettext not being defined on
602         some arches.
603
604 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
605
606         * gst/gstvalue.c: (gst_value_deserialize_fraction):
607         Handle NULL input and output pointers silently as a failed conversion,
608         rather than g_warnings.
609
610 2006-05-25  Wim Taymans  <wim@fluendo.com>
611
612         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
613         Initialize variable before using. Fixes #342820.
614
615 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
616
617         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
618           Fix off-by-one bug that would only allow peeks of N-1 bytes
619           from the start even if the buffer to typefind on contains
620           in fact N bytes of data (makes vorbis typefinding from a
621           vorbis identification header buffer work).
622
623         * tests/check/Makefile.am:
624         * tests/check/libs/.cvsignore:
625         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
626         (gst_typefindhelper_suite), (main), (foobar_typefind),
627         (plugin_init):
628           Add very basic unit test for gst_type_find_helper_for_buffer()
629           that checks for the problem fixed above.
630
631 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
632
633         * tools/gst-inspect.c: (print_interfaces),
634         (print_element_properties_info), (print_element_list), (main):
635           add more translatable strings
636
637 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
638
639         Patch by: Julien Moutte  <julien at moutte net>
640
641         * docs/gst/gstreamer-sections.txt:
642           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
643           
644         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
645         (gst_fake_sink_preroll):
646         * plugins/elements/gstfakesink.h:
647           API: Add new GstFakeSink::preroll-handoff signal (#337100).
648
649 2006-05-23  Wim Taymans  <wim@fluendo.com>
650
651         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
652         * gst/gstpad.h:
653         Added _CUSTOM error and success GstFlowReturn that can be
654         used be elements internally. 
655         Added macro to check for SUCCESS flowreturns.
656         API: GST_FLOW_CUSTOM_SUCCESS
657         API: GST_FLOW_CUSTOM_ERROR
658         API: GST_FLOW_IS_SUCCESS
659
660         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
661         Added check for GstFlowReturn sanity.
662
663 2006-05-23  Wim Taymans  <wim@fluendo.com>
664
665         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
666
667         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
668         (gst_collect_pads_event):
669         clear/reset segment info in FLUSH_STOP.
670         Fixes #336929.
671
672 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
673
674         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
675         (gst_collect_pads_check_collected):
676         Flush queued buffer on _stop(), fixes playing again (#342454)
677
678 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
679
680         * tests/check/gst/gststructure.c: (GST_START_TEST),
681         (gst_structure_suite):
682           add a test for a complete structure
683
684 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
685
686         * docs/faq/developing.xml:
687         * docs/faq/faq.xml:
688         * docs/faq/troubleshooting.xml:
689         * docs/faq/using.xml:
690           Some minor FAQ updates that won't change the fact that
691           our FAQ is badly structured, full of information hardly
692           anyone new to GStreamer needs to know and lacking lots
693           of information people constantly ask for.
694           
695 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
696
697         * gst/gstpad.c: (gst_pad_set_caps):
698           Short-circuit gst_pad_set_caps if setting the existing
699           caps pointer again, and avoid printing debug and 
700           reffing/unreffing the caps.
701
702         * plugins/elements/gstqueue.c: (gst_queue_push_one):
703           There's actually no need to set the caps before pushing -
704           the acceptcaps method will handle it anyway.
705
706 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
707
708         * docs/gst/gstreamer-sections.txt:
709         * win32/common/libgstreamer.def:
710         * gst/gstutils.c: (gst_element_seek_simple):
711         * gst/gstutils.h:
712           API: add gst_element_seek_simple() (#342238).
713
714 2006-05-18  Edward Hervey  <edward@fluendo.com>
715
716         * gst/gsttypefind.c: (gst_type_find_get_type):
717         * gst/gsttypefind.h:
718         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
719         registered for GstTypeFind pointers. This allows wrapping the structure
720         in bindings (i.e. gst-python).
721
722 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
723
724         * gst/gsttagsetter.c:
725           Docs additions and fixes (see #339918).
726
727 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
728
729         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
730         The caps intersection algorithm can produce multiple copies of the
731         caps. Until that is fixed, we need to simplify the result to be
732         sure whether the allowed caps are fixed or not.
733
734         * plugins/elements/gstqueue.c: (gst_queue_init),
735         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
736         (gst_queue_push_one):
737         Proxied buffer alloc should not set the caps on the source pad.
738         When pushing buffers, we always accept the caps change that triggers.
739         This prevents negotiation errors caused by caps changing mid-stream 
740         and then being refused on our source pad (because upstream is now
741         refusing those caps).
742
743 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
744
745         * tests/examples/helloworld/helloworld.c: (main):
746           Must plug audioconvert and audioresample between decoder
747           and audio sink.
748
749 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
750
751         * gst/gstregistryxml.c: (read_string), (load_pad_template),
752         (load_feature), (load_plugin):
753         Allow empty strings for some of the plugin fields so we don't 
754         drop valid plugin entries that were written out correctly
755         (Fixes #341479)
756
757 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
758         
759         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
760           Use g_remove and g_rename instead of remove and rename that don't 
761           handle utf8 characters. rename was failing for users who had specific
762           characters in their name then the registry was built at each 
763           gstreamer init.
764         * win32/vs6/gst_inspect.dsp:
765         * win32/vs6/gst_launch.dsp:
766         * win32/vs6/libgstbase.dsp:
767         * win32/vs6/libgstcoreelements.dsp:
768         * win32/vs6/libgstreamer.dsp:
769           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
770           build of libgstreamer and clean unused libraries in projects link 
771           settings.
772
773 2006-05-17  Edward Hervey  <edward@fluendo.com>
774
775         * plugins/elements/gstqueue.c: (gst_queue_push_one):
776         The queue is not responsible for pushing an EOS when receiving a fatal
777         flow error. It's up to the real element driving the pipeline to do that.
778
779 2006-05-16  Edward Hervey  <edward@fluendo.com>
780
781         * plugins/elements/gstqueue.c: (gst_queue_push_one):
782         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
783         buffer returned a fatal error. It should just send an EOS and stop
784         its task.
785         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
786         when pushing buffers on the queue and will be able to handle the event.
787
788 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
789
790         * docs/manual/basics-bins.xml:
791         * docs/manual/basics-init.xml:
792           Fix typos and minor errors in sample code (#341856).
793
794 2006-05-16  Wim Taymans  <wim@fluendo.com>
795
796         * docs/design/part-qos.txt:
797         Fix indexes in formulas to make more sense.
798
799 2006-05-15  Wim Taymans  <wim@fluendo.com>
800
801         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
802         Don't report POSITION based on clock time if sync is
803         disabled in a sink.
804
805 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
806
807         * gst/gstobject.h:
808           Add cast to make compiler happy - refcount variable was a gint
809           in GstObject but is a guint in GObject and g_atomic_int_get()
810           wants a gint *.
811
812 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
813
814         * gst/parse/Makefile.am:
815           chain commands using &&, which also makes parallel make work
816
817 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
818
819         * docs/gst/gstreamer-sections.txt:
820         * gst/gstevent.c:
821         * gst/gstevent.h:
822         * gst/gstmessage.h:
823           Minor docs fixes.
824
825 === release 0.10.6 ===
826
827 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
828
829         * configure.ac:
830           releasing 0.10.6, "Take the cannoli"
831
832 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
833
834         * tools/gst-launch.c: (print_tag):
835           Fix use of uninitialized variable in the hypothetical
836           case that some broken plugin creates a GST_TAG_IMAGE
837           tag containing a NULL buffer (#341667).
838
839 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
840
841         * tools/gst-launch.c: (print_tag):
842           Print something more intelligible for image tags when
843           using the -t switch (#341556).
844
845 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
846
847         * Makefile.am:
848           updates for win32
849         * configure.ac:
850           define GST_MAJORMINOR so we have it available in win32/common/config.h
851           Possibly remove it from our Makefile.am files later
852         * win32/common/config.h:
853         * win32/common/config.h.in:
854           added GST_MAJORMINOR
855         * win32/common/gstenumtypes.c: (register_gst_resource_error):
856         * win32/common/gstversion.h:
857           updated
858
859 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
860
861         * win32/MANIFEST:
862           Update win32 files listing.
863         * win32/common/gstversion.h:
864           Add GST_MAJORMINOR definition.
865         * win32/common/libgstreamer.def:
866           Add new exported functions.
867           
868 2006-05-12  Michael Smith  <msmith@fluendo.com>
869
870         * gst/gstplugin.c: (gst_plugin_load_file):
871           If an so file has no plugin entry point, unload the module.
872
873 2006-05-11  Wim Taymans  <wim@fluendo.com>
874
875         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
876         (gst_queue_set_property):
877         Don't forget to signal the _chain or _loop function 
878         when the queue size or thresholds change since that might
879         cause them to make progres again.
880
881 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
882
883         * gst/gstclock.c: (gst_clock_class_init):
884         * gst/gstindex.c: (gst_index_class_init):
885         * gst/gstobject.c: (gst_object_class_init):
886         * gst/gstpad.c: (gst_pad_class_init):
887         * gst/gstpipeline.c: (gst_pipeline_class_init):
888         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
889         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
890         * libs/gst/base/gstbasetransform.c:
891         (gst_base_transform_class_init):
892         * libs/gst/net/gstnetclientclock.c:
893         (gst_net_client_clock_class_init):
894         * libs/gst/net/gstnettimeprovider.c:
895         (gst_net_time_provider_class_init):
896         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
897         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
898         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
899         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
900         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
901         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
902         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
903         * plugins/elements/gstidentity.c: (gst_identity_class_init):
904         * plugins/elements/gsttee.c: (gst_tee_class_init):
905         * tests/old/examples/plugins/example.c: (gst_example_class_init):
906         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
907           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
908
909 2006-05-11  Wim Taymans  <wim@fluendo.com>
910
911         * gst/gstbuffer.c: (_gst_buffer_initialize):
912         Register subbufer along with the buffer type so that
913         it does not accidentally gets registered from N
914         different streaming threads in a non threadsafe way.
915
916 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
917
918         * gst/gstbuffer.h:
919         * gst/gstevent.h:
920         * gst/gstmessage.h:
921           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
922           gst_event_ref() and gst_message_ref() functions again
923           (ugly hack, please do fix if there's a better way besides
924           overrides.txt, which doesn't seem to work).
925
926 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
927
928         * libs/gst/check/gstcheck.h:
929           add an assert for setting state to avoid lots of repetitive code
930           in the future
931
932 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
933
934         * gst/gstvalue.c: (gst_value_serialize_flags):
935           fix a leak if no flags are set
936         * tests/check/gst/gstvalue.c: (GST_START_TEST):
937           fix leak in tests
938
939 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
940
941         * docs/manual/basics-pads.xml:
942           Expand a bit on caps and filtered links and update
943           examples that were still using the no longer existing
944           gst_pad_link_filtered() (#338206).
945
946 2006-05-10  Wim Taymans  <wim@fluendo.com>
947
948         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
949         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
950         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
951         (gst_collect_pads_stop):
952         * libs/gst/base/gstcollectpads.h:
953         No need to call _stop in _finalize.
954         Iterate the main pad list in _finalize.
955         Added some more debug.
956         Free lists and data in the right order.
957         Also free data whem doing _remove_pad when stopped for
958         backward compatibility protect ::started with PAD_LOCK as
959         well.
960
961 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
962
963         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
964         (gst_structure_parse_value):
965           add some comments
966           rename a method so that it actually says what it does better
967
968 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
969
970         * gst/gstevent.c: (_gst_event_initialize):
971         * gst/gstformat.c: (_gst_format_initialize):
972           make sure some essential types used by events are registered
973           as part of gst_init()
974         * gst/gstvalue.c: (gst_value_serialize_flags):
975           if no flags are set, serialize them to a value that represents NONE
976           so that deserializing them works
977         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
978           add tests for serialization and deserialization of flags
979
980 2006-05-10  Wim Taymans  <wim@fluendo.com>
981
982         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
983         (gst_collect_pads_collect_range), (gst_collect_pads_available),
984         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
985         (gst_collect_pads_event), (gst_collect_pads_chain):
986         Update docs.
987         Better debug info.
988         Catch and return errors from the collect function
989         Refuse data on eos pads.
990
991 2006-05-10  Edward Hervey  <edward@fluendo.com>
992
993         * gst/gstinterface.h:
994         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
995         GInterface type checking.
996         They were previously using non-defined macros.
997
998 2006-05-09  Wim Taymans  <wim@fluendo.com>
999
1000         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1001         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1002         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1003         (gst_collect_pads_start), (gst_collect_pads_stop),
1004         (gst_collect_pads_peek), (gst_collect_pads_pop),
1005         (gst_collect_pads_available), (gst_collect_pads_read),
1006         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1007         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1008         (gst_collect_pads_chain):
1009         * libs/gst/base/gstcollectpads.h:
1010         Clean up the mess that is collectpads, add comments and
1011         FIXMEs where needed.
1012         Maintain a separate pad list so we can add pads while
1013         collecting the other ones. For this we need a new separate 
1014         lock (see comics).
1015         Fix memory leak in finalize.
1016         Refactor some weird code to set/unset pad flushing flags, mark
1017         with comments.
1018         Don't crash in _available, _read, _flush when we're EOS.
1019
1020         * tests/check/libs/.cvsignore:
1021         Ignore adapter check binary.
1022
1023 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1024
1025         * gst/gstindex.c: (gst_index_resolver_get_type):
1026         * plugins/elements/gstfakesink.c:
1027         (gst_fake_sink_state_error_get_type):
1028         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1029         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1030         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1031           Const-ify GEnumValue arrays.
1032
1033 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1034
1035         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1036           Add test case for flags + gst_buffer_make_metadata_writable().
1037
1038 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1039
1040         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1041           gst_buffer_make_metadata_writable() should maintain the
1042           buffer flags (those that make sense at least) (see #340859).
1043
1044 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1045
1046         * tools/gst-inspect.c:
1047         * tools/gst-launch.c:
1048         * tools/gst-typefind.c:
1049         * tools/gst-xmlinspect.c:
1050         * tools/tools.h:
1051           Fix up includes: need to include stdlib.h in tools.h for exit().
1052
1053 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1054
1055         * gst/gsttaglist.c: (_gst_tag_initialize):
1056         * gst/gsttaglist.h:
1057           API: add GST_TAG_IMAGE tag (#340721).
1058
1059 2006-05-08  Wim Taymans  <wim@fluendo.com>
1060
1061         * gst/gstquery.c:
1062         Added some docs for the segment query.
1063
1064 2006-05-08  Wim Taymans  <wim@fluendo.com>
1065
1066         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1067         (gst_base_src_loop), (gst_base_src_change_state):
1068         Always push non-flushing serialized events in the streaming 
1069         thread.
1070
1071 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1072
1073         * gst/gsterror.c: (_gst_stream_errors_init):
1074           Add a missing error string.
1075
1076 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1077
1078         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1079         Add applied_rate to the debug
1080
1081         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1082         Copy applied_rate into the outgoing NEWSEGMENT event
1083
1084 2006-05-08  Wim Taymans  <wim@fluendo.com>
1085
1086         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1087
1088         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1089         (gst_base_sink_change_state):
1090         call ::unlock before taking the PREROLL_LOCK so we can safely
1091         handle elements that lock in ::render.
1092         Fixes #340174.
1093
1094 2006-05-08  Edward Hervey  <edward@fluendo.com>
1095
1096         * autogen.sh: (CONFIGURE_DEF_OPT): 
1097         Darwin's libtoolize is in fact called glibtoolize.
1098         Adding glibtoolize to the list of accepted names for libtoolize.
1099
1100 2006-05-08  Wim Taymans  <wim@fluendo.com>
1101
1102         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1103         Unify error handling, don't post an error message
1104         when a push() returns EOS but perform our normal EOS
1105         handling code. Fixes #340772.
1106
1107 2006-05-08  Wim Taymans  <wim@fluendo.com>
1108
1109         * docs/design/part-overview.txt:
1110         Make upsteam/downstream concepts more clear.
1111         Give an example of serialized/non-serialized events.
1112
1113         * docs/design/part-events.txt:
1114         * docs/design/part-streams.txt:
1115         Mention applied_rate.
1116
1117         * docs/design/part-trickmodes.txt:
1118         Mention applied rate, flesh out some more use cases.
1119
1120         * gst/gstevent.c: (gst_event_new_new_segment),
1121         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1122         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1123         (gst_event_parse_tag), (gst_event_new_buffer_size),
1124         (gst_event_parse_buffer_size), (gst_event_new_qos),
1125         (gst_event_parse_qos), (gst_event_parse_seek),
1126         (gst_event_new_navigation):
1127         * gst/gstevent.h:
1128         Add applied_rate field to NEWSEGMENT event.
1129         API: gst_event_new_new_segment_full()
1130         API: gst_event_parse_new_segment_full()
1131
1132         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1133         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1134         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1135         * gst/gstsegment.h:
1136         Add applied_rate to GstSegment structure.
1137         Make calculation of stream_time and running_time more correct
1138         wrt rate/applied_rate.
1139         Add some more docs.
1140         API: GstSegment::applied_rate field
1141         API: gst_segment_set_newsegment_full();
1142
1143         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1144         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1145         * libs/gst/base/gstbasetransform.c:
1146         (gst_base_transform_sink_eventfunc),
1147         (gst_base_transform_handle_buffer):
1148         Parse and use applied_rate in the GstSegment field.
1149
1150         * tests/check/gst/gstevent.c: (GST_START_TEST):
1151         Add check for applied_rate field.
1152
1153         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1154         (gstsegments_suite):
1155         Add more checks for various GstSegment operations.
1156
1157 2006-05-08  Wim Taymans  <wim@fluendo.com>
1158
1159         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1160         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1161         (gst_base_sink_get_position), (gst_base_sink_change_state):
1162         Store the sync time of the buffer end position separatly in a
1163         new variable eos_rtime so we can properly sync the EOS event.
1164         Fixes #340697.
1165         Fix the docs for gst_base_sink_set_qos_enabled().
1166         Don't set segment start to invalid value when we receive a 
1167         non TIME newsegment.
1168         get closer to handling position reporting for negative rates 
1169         correctly.
1170
1171 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1172
1173         * gst/gstcaps.c:
1174         Docs about how to print caps for debug purposes.
1175
1176         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1177         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1178
1179 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1180
1181         * gst/gstelement.c:
1182           use full enum names and preprend a '%' in docs strings to make recent 
1183           gtk-doc turn that into a link
1184
1185 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1186
1187         * docs/manual/basics-bins.xml:
1188         * docs/manual/basics-bus.xml:
1189         * docs/manual/basics-pads.xml:
1190           Some typo fixes, some additions, some clarifications. 
1191
1192 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1193
1194         * tools/gst-inspect.c: (main):
1195         * tools/gst-launch.c: (main):
1196         * tools/gst-run.c: (main):
1197         * tools/gst-typefind.c: (main):
1198         * tools/gst-xmlinspect.c: (main):
1199           Use the string passed to g_option_context_new() for
1200           what it's intended for - the program name is already
1201           printed elsewhere.
1202
1203 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1204
1205         * tools/Makefile.am:
1206         * tools/gst-inspect.c: (main):
1207         * tools/gst-launch.c: (main):
1208         * tools/gst-xmlinspect.c: (main):
1209         * tools/tools.h:
1210           Add back --version command line option (#340460).
1211
1212         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1213           Add --version option and use GOption for argument parsing; refactor a
1214           bit; accept directories as arguments and recurse into them; lastly,
1215           print a decent error message when things go wrong.
1216
1217 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1218
1219         * docs/manual/basics-bins.xml:
1220         Don't mention GstThread (#340611)
1221         * docs/manual/basics-elements.xml:
1222         Update link to GObject tutorial (#340607)
1223         
1224 2006-05-05  Wim Taymans  <wim@fluendo.com>
1225
1226         * gst/gstbuffer.h:
1227         * gst/gstminiobject.c:
1228         Add note about refcounting and miniobject/buffer writeability
1229         to docs. Fixes #340604
1230
1231         * gst/gstelementfactory.h:
1232         Added some explanation about @klass.
1233
1234 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1235
1236         * docs/manual/intro-motivation.xml:
1237         * docs/manual/manual.xml:
1238         Avoid CORBA & Bonobo references (#340598)
1239
1240 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1241
1242         * docs/manual/basics-bus.xml:
1243         * docs/manual/basics-pads.xml:
1244         Fix up some inaccuracies and omissions (#340609)
1245         
1246 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1247
1248         * gst/gstghostpad.c:
1249           Small typo in docs (#340625)
1250
1251 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1252
1253         * gst/parse/Makefile.am:
1254           Make 'make -j' proof (see #340698).
1255
1256 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1257
1258         * configure.ac:
1259           Require GLib-2.8 here as well.
1260
1261 2006-05-05  Wim Taymans  <wim@fluendo.com>
1262
1263         * gst/glib-compat.c:
1264         * gst/gst.c: (init_pre):
1265         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1266         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1267         (gst_object_dispatch_properties_changed):
1268         * gst/gstobject.h:
1269         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1270         * gst/gststructure.c: (gst_structure_set_valist):
1271         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1272         Remove pre glib2.8 compatibility, fixes #340508
1273
1274 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1275
1276         * gst/gsttaglist.h:
1277           Mention type of tags in doc blurbs.
1278
1279 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1280
1281         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1282         (gst_pad_configure_src), (gst_pad_push):
1283         Restore acceptcaps checking behaviour now that good plugins have
1284         been released.
1285
1286 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1287
1288         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1289
1290         * gst/gst.c:
1291         * gst/gstbus.c:
1292         * gst/gstclock.c:
1293         * gst/gstevent.c:
1294         * gst/gstformat.c:
1295         * gst/gstmessage.c:
1296         * gst/gstparse.c:
1297         * gst/gstquery.c:
1298         * gst/gstutils.c:
1299         * gst/parse/Makefile.am:
1300         * libs/gst/base/gstadapter.c:
1301         * libs/gst/base/gstbasesrc.c:
1302         * libs/gst/base/gstpushsrc.c:
1303         * libs/gst/base/gsttypefindhelper.c:
1304         * plugins/elements/gstfakesrc.c:
1305         * plugins/elements/gstidentity.c:
1306           Make sure gstprivate.h and/or config.h are
1307           always included first, otherwise some of our
1308           defines (like _FILE_OFFSET_BITS) might be
1309           redefined in the system headers. Fixes build
1310           on opensolaris (#340016).
1311
1312 2006-05-04  Wim Taymans  <wim@fluendo.com>
1313
1314         * docs/libs/gstreamer-libs-sections.txt:
1315         API: addition: gst_adapter_take_buffer()
1316         
1317         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1318         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1319         (gst_adapter_available_fast):
1320         * libs/gst/base/gstadapter.h:
1321         Prepare for optimizing the hell out of this hugely inefficient
1322         piece of code. 
1323         Added gst_adapter_take_buffer() so we can at least start thinking
1324         about subbuffering and merging.
1325         Added some comments.
1326
1327         * tests/check/Makefile.am:
1328         * tests/check/libs/adapter.c: (GST_START_TEST),
1329         (gst_adapter_suite), (main):
1330         Added GstAdapter check.
1331
1332 2006-05-04  Wim Taymans  <wim@fluendo.com>
1333
1334         * docs/design/part-overview.txt:
1335         Fix some typos, add blurb about buffer flags.
1336
1337 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1338
1339         * docs/libs/gstreamer-libs-sections.txt:
1340           make sure GstBaseTransformClass shows up in the docs
1341         * libs/gst/base/gstbasetransform.c:
1342         * libs/gst/base/gstbasetransform.h:
1343           move docs so gtk-doc picks it up now
1344
1345 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1346
1347         * docs/libs/gstreamer-libs-sections.txt:
1348           add missing symbols to docs
1349
1350 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1351
1352         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1353           back out the newsegment handling change, see #340060 for ongoing
1354           discussion
1355
1356 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1357
1358         * tools/gst-run.c: (get_candidates), (main):
1359           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1360           work); fix typo in error message. Fixes #340079.
1361
1362 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1363
1364         * common/Makefile.am:
1365         * docs/Makefile.am:
1366         * docs/faq/Makefile.am:
1367         * docs/gst/Makefile.am:
1368         * docs/libs/Makefile.am:
1369         * docs/manual/Makefile.am:
1370         * docs/plugins/Makefile.am:
1371         * docs/pwg/Makefile.am:
1372         * docs/slides/Makefile.am:
1373         * docs/upload.mak:
1374         * common/upload.mak:
1375           move upload.mak to common
1376
1377 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1378
1379         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1380           add more asserts on refcounts
1381           do more cleanup at end of tests
1382           fix test leaks showing in FC5
1383
1384 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1385
1386         * plugins/elements/gsttypefindelement.c:
1387         (gst_type_find_element_handle_event):
1388         reverted wrong change and reflowed code to avoid others falling into
1389         this trap
1390
1391 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1392
1393         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1394           fix changelog entry about last collectpads change,
1395           add notes about proper fix
1396
1397 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1398
1399         * gst/gst.c:
1400         * gst/gstregistry.c: (gst_registry_scan_path_level),
1401         (gst_registry_scan_path):
1402         * gst/gstregistry.h:
1403           only write out registry if it has changed, fixes #338339
1404
1405 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1406
1407         * gst/gstbin.c:
1408         * gst/gstpipeline.c:
1409         * plugins/elements/gstcapsfilter.c:
1410         * plugins/elements/gstfakesink.c:
1411         * plugins/elements/gstfakesrc.c:
1412         * plugins/elements/gstfdsink.c:
1413         * plugins/elements/gstfdsrc.c:
1414         * plugins/elements/gstfilesink.c:
1415         * plugins/elements/gstfilesrc.c:
1416         * plugins/elements/gstidentity.c:
1417         * plugins/elements/gstqueue.c:
1418         * plugins/elements/gsttee.c:
1419         * plugins/elements/gsttypefindelement.c:
1420         (gst_type_find_element_handle_event):
1421           make GstElementDetails const
1422
1423 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1424
1425         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1426         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1427         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1428           more detailed debug and formatting cleanup,
1429           forward newsegments to src-pad (so that e.g. adder not eats them)
1430
1431 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1432
1433         * gst/gstutils.c: (gst_element_link_pads):
1434           cleanup double code
1435
1436 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1437
1438         * libs/gst/controller/gstcontroller.c:
1439         (gst_controller_sync_values):
1440           some little tuning
1441         * tests/check/libs/controller.c: (GST_START_TEST),
1442         (gst_controller_suite):
1443           a new test for live value handling
1444
1445 2006-04-28  Wim Taymans  <wim@fluendo.com>
1446
1447         * gst/gstutils.c: (push_and_ref):
1448         Added some more docs.
1449         Fix refcount issue whith gst_element_found_tags() helper 
1450         function. Fixes #338335
1451
1452         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1453         Added testsuite for gst_element_found_tags().
1454
1455 2006-04-28  Michael Smith  <msmith@fluendo.com>
1456
1457         * gst/gstvalue.c: (gst_value_serialize_flags):
1458           Avoid NULL dereference when trying to serialize flags containing
1459           invalid values.
1460
1461 2006-04-28  Michael Smith  <msmith@fluendo.com>
1462
1463         * plugins/elements/gsttypefindelement.c:
1464         (gst_type_find_element_handle_event):
1465           If we get EOS before any data is accumulated, don't use
1466           uninitialised local variables.
1467
1468 2006-04-28  Michael Smith  <msmith@fluendo.com>
1469
1470         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1471         (gst_dp_event_from_packet):
1472           Fixes in reading/writing events over GDP (not currently used?) - 
1473           dereferencing NULL events for unknown/invalid event types, memory
1474           leak, and change g_warning to GST_WARNING.
1475
1476 2006-04-28  Wim Taymans  <wim@fluendo.com>
1477
1478         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1479         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1480         (gst_base_sink_get_position), (gst_base_sink_change_state):
1481         When frame dropping is enabled, we should not ignore frames
1482         without a duration.
1483         Update some documentation.
1484
1485 2006-04-28  Wim Taymans  <wim@fluendo.com>
1486
1487         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1488         (gst_base_src_send_event), (gst_base_src_change_state):
1489         Documentation updates.
1490
1491 2006-04-28  Wim Taymans  <wim@fluendo.com>
1492
1493         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1494         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1495         handle EAGAIN, EINTR and short writes correctly. Also clean
1496         up some error cases, avoid a deadlock on bad file descriptors and
1497         use GST_DEBUG_OBJECT.
1498         Fixes #339843
1499
1500 2006-04-28  Wim Taymans  <wim@fluendo.com>
1501
1502         * gst/gstvalue.c: (gst_value_serialize_buffer),
1503         (gst_value_deserialize_buffer):
1504         Don't try to serialize a GValue with a NULL buffer. 
1505         Fixes #339821.
1506
1507         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1508         Added check for serialisation of NULL buffers.
1509
1510 2006-04-28  Wim Taymans  <wim@fluendo.com>
1511
1512         * gst/gstminiobject.c: (gst_value_take_mini_object):
1513         Taking a NULL miniobject is valid, fix the case where
1514         we try to unref the NULL miniobject.
1515
1516 2006-04-28  Wim Taymans  <wim@fluendo.com>
1517
1518         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1519
1520         * gst/gstbin.c: (gst_bin_handle_message_func):
1521         Update docs.
1522         Don't leak bin refcount when a state recalc is
1523         in progress and we delay another one #339808.
1524
1525 2006-04-28  Wim Taymans  <wim@fluendo.com>
1526
1527         * docs/design/part-TODO.txt:
1528         Mention QoS as an ongoing work item.
1529
1530         * docs/design/part-buffering.txt:
1531         New doc about buffering that needs to be fleshed out
1532         at some point.
1533
1534         * docs/design/part-qos.txt:
1535         More QoS policy for decoders/demuxers/transforms
1536
1537         * docs/design/part-trickmodes.txt:
1538         Small update.
1539
1540 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1541
1542         * configure.ac:
1543           back to HEAD
1544
1545 === release 0.10.5 ===
1546
1547 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1548
1549         * configure.ac:
1550           releasing 0.10.5, "Fogo"
1551
1552 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1553
1554         patch by: Wim Taymans
1555
1556         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1557         (gst_pad_configure_src), (gst_pad_push):
1558         * gst/gstpipeline.c: (gst_pipeline_init):
1559           Fix internal data flow errors.  Fixes #338711.
1560
1561 2006-04-12  Wim Taymans  <wim@fluendo.com>
1562
1563         * tests/check/gst/gstelement.c: (GST_START_TEST):
1564         Don't leak the factory.
1565
1566 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1567
1568         * configure.ac:
1569         * win32/common/config.h:
1570           prerelease
1571
1572 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1573
1574         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1575         (gst_controller_unset_all):
1576           Free allocated GstTimedValues when freeing list nodes.
1577           Should fix leaks 'make check-valgrind' complains about.
1578
1579         * win32/common/libgstcontroller.def:
1580           Add gst_controller_unset_all.
1581
1582 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1583
1584         * docs/libs/gstreamer-libs-sections.txt:
1585         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1586         (gst_controller_unset_all):
1587         * libs/gst/controller/gstcontroller.h:
1588         API: Added new method gst_controller_unset_all()
1589         fixed gst_controller_unset()
1590         * tests/check/libs/controller.c: (GST_START_TEST),
1591         (gst_controller_suite):
1592         Added two testcases for new and fixed method
1593
1594 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1595
1596         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1597           MSG_DONTWAIT is not defined on Cygwin, so work
1598           around that (fixes #317048).
1599           
1600 2006-04-11  Wim Taymans  <wim@fluendo.com>
1601
1602         * gst/gstelementfactory.c: (gst_element_register),
1603         (gst_element_factory_create), (gst_element_factory_make):
1604         Some cleanups.
1605         Fixed a FIXME.
1606         Updated docs (Fixes #131079)
1607
1608         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1609         Small cleanups.
1610
1611         * tests/check/gst/gstelement.c: (GST_START_TEST),
1612         (gst_element_suite):
1613         Added testcase for elementfactory class field.
1614
1615 2006-04-10  Wim Taymans  <wim@fluendo.com>
1616
1617         * gst/gstsegment.c:
1618         Added some more docs.
1619
1620         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1621         (gst_base_sink_reset_qos):
1622         Calculate more accurate rate values.
1623
1624 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1625
1626         * gst/gst_private.h:
1627           add a new #ifdef to use __declspec(dllimport) only for
1628           other modules and not for gstreamer core
1629         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1630           use gst_guint64_to_gdouble for conversion
1631         * win32/common/libgstreamer.def:
1632           add new exported functions
1633         * win32/vs6/gst_inspect.dsp:
1634         * win32/vs6/gst_launch.dsp:
1635         * win32/vs6/libgstbase.dsp:
1636         * win32/vs6/libgstcontroller.dsp:
1637         * win32/vs6/libgstcoreelements.dsp:
1638         * win32/vs6/libgstdataprotocol.dsp:
1639         * win32/vs6/libgstnet.dsp:
1640           update project files
1641
1642 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1643
1644         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1645         * gst/gstclock.c: (gst_clock_class_init):
1646         * gst/gstelement.c: (gst_element_class_init):
1647         * gst/gstindex.c: (gst_index_class_init):
1648         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1649         * gst/gstobject.c: (gst_object_class_init),
1650         (gst_signal_object_class_init):
1651         * gst/gstpad.c: (gst_pad_class_init):
1652         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1653         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1654         * gst/gstregistry.c: (gst_registry_class_init):
1655         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1656         * gst/gsttask.c: (gst_task_class_init):
1657         * gst/gstxml.c: (gst_xml_class_init):
1658         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1659         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1660         (gst_base_src_loop):
1661         * libs/gst/controller/gstcontroller.c:/
1662         (_gst_controller_class_init):
1663         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1664         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1665         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1666         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1667         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1668         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1669
1670 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1671
1672         * gst/gstpad.c: (gst_pad_link):
1673           Must set peer pads before calling the link function, otherwise
1674           a task started from a link function might get a flow-not-linked
1675           result when trying to push because the other thread where the
1676           linking happens hasn't had a chance to set the peers yet. This
1677           might happen for example when a queue gets linked to a downstream
1678           element, as queue starts a streaming task when its source pad
1679           gets linked. Happens in real life when playing back flac/musepack
1680           files in playbin (#332390).
1681           
1682 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1683
1684         * gst/gstindex.h:
1685         * gst/gstxml.h:
1686         * libs/gst/base/gstadapter.h:
1687         * libs/gst/base/gstbasesink.h:
1688         * libs/gst/base/gstbasesrc.h:
1689         * libs/gst/base/gstbasetransform.h:
1690         * libs/gst/base/gstcollectpads.h:
1691         * libs/gst/base/gstpushsrc.h:
1692         Fix broken GObject macros
1693
1694 2006-04-07  Wim Taymans  <wim@fluendo.com>
1695
1696         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1697         Initialize start and stop times, thanks valgrind.
1698
1699 2006-04-07  Wim Taymans  <wim@fluendo.com>
1700
1701         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1702         Be a bit nicer to badly behaving upstream elements that expect
1703         us to deal with non TIME segments and timestamps (such as fakesrc
1704         in the testsuite).
1705
1706 2006-04-07  Wim Taymans  <wim@fluendo.com>
1707
1708         * gst/gstbus.c:
1709         Small documentation clarification about the signal watch.
1710
1711         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1712         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1713         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1714         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1715         (gst_base_sink_get_position_last),
1716         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1717         Convert and store timestamps in stream time and running time, the
1718         raw timestamps are not usefull, also document this better.
1719         Use different window sizes for good and bad QoS observations so
1720         we react to badness a little quicker.
1721         Keep track of the amount of rendered and dropped buffers.
1722         Send QoS timestamps in running time.
1723
1724         * libs/gst/base/gstbasetransform.c:
1725         (gst_base_transform_sink_eventfunc),
1726         (gst_base_transform_handle_buffer):
1727         Compare QoS timestamps against running time.
1728
1729 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1730
1731         * gst/gstpad.c:
1732           Typo fixes in docs.
1733
1734 2006-04-06  Michael Smith  <msmith@fluendo.com>
1735
1736         * gst/gstpad.c: (gst_pad_set_property):
1737           Use g_value_get_object() instead of g_value_dup_gst_object(),
1738           to avoid double-reffing the pad template (which we then sink,
1739           so this worked previously if (and only if) the pad template
1740           was floating.
1741
1742         * gst/gstpadtemplate.c: (gst_pad_template_init),
1743         (gst_pad_template_pad_created):
1744           Never return floating references to pad templates, create
1745           them as initially-sunken.
1746
1747           Document an extra function (and make this stop sinking our
1748           pad template, since that is now guaranteed to do nothing,
1749           since we created it sunken).
1750
1751         * gst/gstghostpad.c:
1752           Fix docs typo.
1753
1754 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1755
1756         * gst/gstinfo.c: (__gst_in_valgrind):
1757           Add some newlines.
1758
1759         * plugins/elements/gsttypefindelement.c:
1760         (gst_type_find_element_chain):
1761           Don't leak buffer caps.
1762
1763 2006-04-06  Michael Smith  <msmith@fluendo.com>
1764
1765         * gst/parse/grammar.y:
1766           Fix a leak in parse-launch for any source-or-sink named element 
1767           references used.
1768
1769         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1770           Unref the pipeline if it exists after we've failed parsing.
1771
1772 2006-04-05  Michael Smith  <msmith@fluendo.com>
1773
1774         * gst/gstpipeline.c: (gst_pipeline_init):
1775           When we create a pipeline bus, initially create it in flushing mode.
1776           Fixes leaks in at least one test, and makes a new pipeline work the
1777           same as one that has gone to READY and then back to NULL.
1778
1779         * gst/gstelement.c:
1780           Typo fix in docs.
1781
1782 2006-04-05  Michael Smith  <msmith@fluendo.com>
1783
1784         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1785           Unref a pad we reffed.
1786         * tests/check/gst/gstutils.c: (GST_START_TEST):
1787           Unref bins
1788
1789 2006-04-05  Michael Smith  <msmith@fluendo.com>
1790
1791         * gst/gstquery.c: (gst_query_set_formats),
1792         (gst_query_set_formatsv):
1793           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1794
1795 2006-04-05  Michael Smith  <msmith@fluendo.com>
1796
1797         * tests/check/generic/sinks.c: (GST_START_TEST):
1798           Fix a variety of memleaks in sinks check, which are only sometimes 
1799           shown by running the tests under valgrind (weird?).
1800
1801 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1802
1803         * docs/version.entities.in:
1804           Fix the substituted entity name after thomas' changes on the
1805           weekend.
1806
1807 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1808
1809         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1810         VALGRIND_PRINTF
1811         
1812 2006-04-05  Andy Wingo  <wingo@pobox.com>
1813
1814         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1815
1816         * libs/gst/base/gstbasetransform.c
1817         (gst_base_transform_sink_eventfunc): When resetting our segment on
1818         FLUSH_STOP, also update the flag saying we haven't seen a
1819         newsegment.
1820
1821 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1822
1823         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1824
1825         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1826         (gst_plugin_check_license):
1827           minor clean-ups: G_DEFINE_TYPE already takes care of the
1828           parent_class stuff, no need to do it twice. Mark array of
1829           license strings as constant. (#337103)
1830           
1831 2006-04-04  Michael Smith  <msmith@fluendo.com>
1832
1833         * tools/gst-inspect.c: (print_element_list):
1834           Free the right plugin list; fixes a memory leak.
1835
1836 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1837
1838         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1839
1840         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1841           Don't error out on empty buffers (#336945).
1842           
1843 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1844
1845         * docs/libs/gstreamer-libs-sections.txt:
1846         * gst/gsttaglist.c:
1847         * libs/gst/base/gstbasesink.c:
1848         * libs/gst/base/gstbasesink.h:
1849         * libs/gst/base/gstbasesrc.c:
1850         * libs/gst/base/gstbasesrc.h:
1851           Documentation updates. Make BaseSink and BaseSrc docs contain the
1852           class structure so that people can actually see the prototypes for
1853           virtual functions they're supposed to be overriding.
1854
1855 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1856
1857         * plugins/elements/gsttypefindelement.c:
1858         (gst_type_find_element_chain):
1859           More debug info; when skipping typefinding, send cached
1860           events in all cases.
1861
1862 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1863
1864         * configure.ac:
1865           use new AS_VERSION and AS_NANO macros
1866         * gst/gst-i18n-lib.h:
1867         * gst/gst.c:
1868         * gst/gsterror.c:
1869         * gst/gstversion.h.in:
1870         * win32/common/config.h:
1871         * win32/common/config.h.in:
1872           update accordingly
1873
1874 2006-03-31  Michael Smith  <msmith@fluendo.com>
1875
1876         * plugins/elements/gsttypefindelement.c:
1877         (gst_type_find_element_chain):
1878           Do not typefind content if the buffers already have caps.
1879           Neccesary for icydemux (#333657), and the right thing to do anyway.
1880
1881 2006-03-30  Wim Taymans  <wim@fluendo.com>
1882
1883         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1884         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1885         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1886         (gst_base_sink_record_qos_observation),
1887         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1888         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1889         (gst_base_sink_change_state):
1890         More QoS measurements as described in the design doc.
1891         Get rid of ringbuffer with observations, running average is
1892         more simple and equally good.
1893         Calculates valid proportion now.
1894         Added beginning of flood measurement.
1895
1896 2006-03-29  Wim Taymans  <wim@fluendo.com>
1897
1898         * docs/design/part-qos.txt:
1899         * gst/gstclock.c:
1900         Small documentation updates and additions.
1901
1902 2006-03-29  Wim Taymans  <wim@fluendo.com>
1903
1904         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1905         (gst_base_src_send_event), (gst_base_src_loop),
1906         (gst_base_src_change_state):
1907         Perform the EOS logic when we reach the segment stop position.
1908         Fix compilation on gcc4.1
1909
1910 2006-03-29  Wim Taymans  <wim@fluendo.com>
1911
1912         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1913
1914         * plugins/elements/gstqueue.c: (gst_queue_init),
1915         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1916         (gst_queue_set_property):
1917         * plugins/elements/gstqueue.h:
1918         In queue, when EOS is received, if minimum threshold > max_size -
1919         current_level, there is chance that queue blocks forever in conditional
1920         item del wait. This is because the queue is not emptied completely due
1921         to minimum threshold.  Here is another approach. Instead of setting
1922         cur_levels to max in EOS, just zero all minimum threshold levels. This
1923         should make sure that queue gives out all data. When going to READY
1924         (stop) state, just reset the original minimum threshold levels.
1925         Fixes #336336.
1926
1927 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1928
1929         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1930         (gst_type_find_element_handle_event),
1931         (gst_type_find_element_send_cached_events),
1932         (gst_type_find_element_change_state):
1933         * plugins/elements/gsttypefindelement.h:
1934           When typefinding is done in push mode, we should cache
1935           events we receive during typefinding instead of just
1936           dropping them (e.g. newsegment, custom events from
1937           dvdreadsrc etc.) and then send them out once we've
1938           determined the type of the stream (and decodebin
1939           has had a chance to plug in a decoder/demuxer).
1940           
1941 2006-03-27  Wim Taymans  <wim@fluendo.com>
1942
1943         * docs/design/part-qos.txt:
1944         First QoS ideas.
1945
1946 2006-03-27  Wim Taymans  <wim@fluendo.com>
1947
1948         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1949
1950         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1951         (gst_base_src_send_event), (gst_base_src_change_state):
1952         Handle element seek correctly when we are streaming.
1953         Fixes #326998.
1954
1955 2006-03-24  Michael Smith  <msmith@fluendo.com>
1956
1957         * docs/faq/gst-uninstalled:
1958           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1959           allow you to correctly run intalled applications built against old 
1960           core, using plugins that require updated core (e.g. running
1961           installed totem against a full uninstalled gstreamer stack)
1962
1963 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1964
1965         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1966         more debug details
1967
1968 2006-03-24  Wim Taymans  <wim@fluendo.com>
1969
1970         * docs/gst/gstreamer-sections.txt:
1971         Rearrange the order of the methods so that related methods
1972         are grouped together in sections.
1973
1974 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1975
1976         * gst/gstelement.c:
1977           Little clarification in the docs
1978
1979 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1980
1981         * docs/README:
1982         formatting fix
1983         * plugins/elements/gstidentity.c:
1984         * plugins/elements/gstqueue.c:
1985         * plugins/elements/gsttee.c:
1986         * plugins/elements/gsttypefindelement.c:
1987         GST_ELEMENT_DETAILS formatting
1988
1989 2006-03-24  Wim Taymans  <wim@fluendo.com>
1990
1991         * libs/gst/base/gstbasesink.h:
1992         Only add fields, not insert or we break ABI.
1993
1994 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1995
1996         * win32/common/libgstbase.def:
1997         * win32/common/libgstreamer.def:
1998           Update, add recently added functions.
1999
2000 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2001
2002         * docs/gst/gstreamer-sections.txt:
2003         * gst/gstutils.c: (gst_pad_query_peer_position),
2004         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2005         * gst/gstutils.h:
2006           API: add some new utility functions:
2007            - gst_pad_query_peer_position()
2008            - gst_pad_query_peer_duration()
2009            - gst_pad_query_peer_convert()
2010           
2011 2006-03-23  Wim Taymans  <wim@fluendo.com>
2012
2013         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2014         (gst_base_sink_init), (gst_base_sink_finalize),
2015         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2016         (gst_base_sink_set_property), (gst_base_sink_get_property),
2017         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2018         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2019         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2020         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2021         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2022         (gst_base_sink_preroll_object), (gst_base_sink_event),
2023         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2024         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2025         (gst_base_sink_query), (gst_base_sink_change_state):
2026         Decouple max-lateness and the fact that QoS messages are generated
2027         with a new property (qos).
2028         added API: GstBaseSink::async_play()
2029         Add vmethod so subclasses can be notified of ASYNC playing
2030         state changes.
2031         Collect timestamp start and stop to report better current
2032         position in EOS/PLAYING/PAUSED/READY/NULL.
2033         Refactor QoS/frame dropping and other measurements.
2034         API: GstBaseSrc::qos
2035         Fixes #326311
2036
2037         * libs/gst/base/gstbasesink.h:
2038         Added Private struct.
2039         API: gst_base_sink_set_qos_enabled()
2040         API: gst_base_sink_is_qos_enabled()
2041
2042 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2043
2044         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2045           If compiling against GLib-2.8 or newer, try to read the
2046           registry file using GMappedFile first before falling back
2047           to fopen() + fread() (#332151).
2048
2049 2006-03-22  Wim Taymans  <wim@fluendo.com>
2050
2051         * gst/gstinfo.c: (gst_debug_set_active),
2052         (gst_debug_category_set_threshold):
2053         Disable debugging unless explicitly activated.
2054         Fixes #335480.
2055
2056 2006-03-22  Wim Taymans  <wim@fluendo.com>
2057
2058         * gst/gstelement.c: (gst_element_set_locked_state),
2059         (gst_element_dispose):
2060         Cleanup the error case.
2061
2062         * gst/gstobject.c: (gst_object_dispose):
2063         print a critical when some object was disposed with
2064         a parent, also revive the object since it might
2065         crash the parent.
2066
2067 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2068
2069         * tools/gst-launch.1.in:
2070           Fix another typo.
2071
2072 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2073
2074         * configure.ac:
2075         * tests/check/Makefile.am:
2076           disable some tests when we don't have a registry
2077         * tests/check/gst/gstutils.c: (gst_utils_suite):
2078           don't build the part that needs parsing
2079
2080 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2081
2082         * gst/Makefile.am
2083         * tests/examples/Makefile.am:
2084           fix --disable-parse build
2085
2086 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2087
2088         * tools/gst-feedback.1.in:
2089           Fix typo: s/feeback/feedback/ (#133494).
2090
2091 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2092
2093         * tools/Makefile.am:
2094         * tools/gst-launch.1.in:
2095           Add FILES section and correct entry about GST_REGISTRY_PATH
2096           environment variable (#133495; #133494).
2097
2098 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2099
2100         * tools/Makefile.am:
2101         * tools/gst-md5sum.1.in:
2102         * tools/gst-md5sum.c:
2103           Remove gst-md5sum and man page (the md5sink element
2104           required was removed ages ago)
2105
2106 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2107
2108         * gst/gststructure.c: (gst_structure_id_set_value):
2109           Make sure that string fields in structures/taglists
2110           contain valid UTF-8 - we don't want to pass rubbish to
2111           applications because of a buggy plugin (cp. #334167).
2112
2113 2006-03-21  Edward Hervey  <edward@fluendo.com>
2114
2115         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2116         (gst_bin_handle_message_func):
2117         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2118         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2119         (gst_element_set_bus_func):
2120         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2121         * gst/gstminiobject.c: (gst_value_set_mini_object),
2122         (gst_value_take_mini_object):
2123         * gst/gstpad.c: (gst_pad_set_pad_template):
2124         * gst/gstpipeline.c: (gst_pipeline_dispose),
2125         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2126         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2127         (gst_collect_pads_chain):
2128         * libs/gst/net/gstnettimeprovider.c:
2129         (gst_net_time_provider_set_property):
2130         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2131         It's in fact all issues with gst_*object_replace().
2132
2133 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2134
2135         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2136         
2137         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2138         * pkgconfig/gstreamer-check.pc.in:
2139           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2140
2141 2006-03-21  Edward Hervey  <edward@fluendo.com>
2142
2143         * gst/gstbuffer.h:
2144         * gst/gstevent.h:
2145         * gst/gstmessage.h:
2146         gst_[buffer|event|message]_ref() macros are replaced by a static
2147         inline functions because gcc-4.1 will about if the return value
2148         isn't used.
2149         * tests/check/gst/gstevent.c: (event_probe):
2150         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2151
2152 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2153
2154         * gst/gstutils.h:
2155         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2156         the type' case. (Closes: #335195 for now). In the future, when we
2157         depend on GLib 2.10, we could also intern the type name using
2158         g_intern_static_string()
2159
2160 2006-03-20  Wim Taymans  <wim@fluendo.com>
2161
2162         * gst/gstbin.c: (gst_bin_handle_message_func),
2163         (bin_query_max_init), (bin_query_position_fold),
2164         (bin_query_position_done), (gst_bin_query):
2165         Position query should also take max of all streams.
2166
2167 2006-03-20  Wim Taymans  <wim@fluendo.com>
2168
2169         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2170         (gst_fake_src_finalize):
2171         Fix leaks in fakesrc.
2172
2173         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2174         Fix leaks in the testcase.
2175
2176 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2177
2178         * gst/gst_private.h:
2179           add win32 specific import decoration(__declspec(dllimport)) 
2180           for all extern GstDebugCategory * variables
2181         * win32/common/libgstbase.def:
2182         * win32/common/libgstcontroller.def:
2183         * win32/common/libgstreamer.def:
2184           Add some exports, remove empty lines
2185         * win32/common/libgstdataprotocol.def:
2186         * win32/common/libgstdataprotocol.dsp:
2187         * win32/common/libgstnet.def:
2188         * win32/common/libgstnet.dsp:
2189           new project files and exportation files added
2190         
2191 2006-03-19  Wim Taymans  <wim@fluendo.com>
2192
2193         * tests/check/libs/basesrc.c: (eos_event_counter):
2194         Use proper return value for probe.
2195
2196 2006-03-17  Wim Taymans  <wim@fluendo.com>
2197
2198         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2199         (gst_pad_push):
2200         Don't leak buffers, caps and pads on negotiation errors.
2201
2202 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2203
2204         * docs/faq/cvs.xml:
2205         * docs/faq/dependencies.xml:
2206         * docs/faq/developing.xml:
2207         * docs/faq/faq.xml:
2208         * docs/faq/general.xml:
2209         * docs/faq/getting.xml:
2210         * docs/faq/legal.xml:
2211         * docs/faq/troubleshooting.xml:
2212         * docs/faq/using.xml:
2213         Faq review and update.
2214
2215 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2216
2217         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2218         (gst_pad_push):
2219         Don't pound the cpu to pieces by checking get_caps when accept_caps
2220         is called with the same caps as the pad already has.
2221         Use GST_DEBUG_OBJECT when outputting caps change information.
2222
2223 2006-03-15  Wim Taymans  <wim@fluendo.com>
2224
2225         * gst/gstclock.c: (gst_clock_class_init):
2226         Fix docs.
2227
2228 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2229
2230         * gst/gstbuffer.h:
2231         Documentation fix.
2232
2233         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2234         (gst_pad_accept_caps), (gst_pad_configure_sink),
2235         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2236         Make the default acceptcaps behaviour be to check the requested 
2237         caps against the gst_pad_get_caps output. 
2238
2239         Ensure that gst_pad_accept_caps is used to check caps when a pad
2240         doesn't have a setcaps function, so that pads automatically refuse 
2241         caps that they don't allow in their pad template. (Fixes #332986)
2242
2243         When a buffer with attached caps is pushed, ensure that the source 
2244         pad receives those caps even if the element didn't call
2245         gst_pad_set_caps first.
2246
2247 2006-03-15  Wim Taymans  <wim@fluendo.com>
2248
2249         * libs/gst/base/gstadapter.c:
2250         Add some docs.
2251
2252 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2253
2254         * win32/common/libgstbase.def:
2255         * win32/common/libgstcontroller.def:
2256         * win32/common/libgstreamer.def:
2257           Add a whole bunch of missing functions (#334434).
2258
2259 2006-03-14  Wim Taymans  <wim@fluendo.com>
2260
2261         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2262         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2263         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2264         Better debug info when we receive a segment event.
2265         Reorganize a bit so we can pass the get_times() results around.
2266         Use the segment format when calculating the running time.
2267         Don't do QoS is sync is disabled or we have no clock or the
2268         element does not want us to sync to the clock.
2269         Don't drop buffers if QoS is disabled for now.
2270
2271 2006-03-14  Wim Taymans  <wim@fluendo.com>
2272
2273         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2274         Marked the stats property as unimplemented so people don't get
2275         wild ideas.
2276         Add debug message when regression goes wrong.
2277         Added some more docs.
2278
2279 2006-03-14  Wim Taymans  <wim@fluendo.com>
2280
2281         * gst/gstsegment.c: (gst_segment_to_stream_time):
2282         Return correct return type in case of errors.
2283
2284 2006-03-14  Wim Taymans  <wim@fluendo.com>
2285
2286         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2287           Don't segfault on invalid formats.
2288
2289 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2290
2291         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2292           Can't use gst_segment_to_running_time() when the segment
2293           is not in GST_TIME_FORMAT (like with filesink, for example).
2294           Stops flac encoding pipelines from spewing critical warnings
2295           at EOS (#331248).
2296           
2297 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2298
2299         * gst/gstpipeline.c: (gst_pipeline_class_init):
2300           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2301
2302         * plugins/elements/gsttypefindelement.c:
2303         (gst_type_find_element_handle_event):
2304           Don't try to typefind empty streams.
2305
2306 2006-03-14  Wim Taymans  <wim@fluendo.com>
2307
2308         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2309         (gst_base_sink_do_qos):
2310         Separate QoS calculation.
2311         Only drop buffers when lateness is bigger than the 
2312         duration of the buffer.
2313
2314 2006-03-13  Wim Taymans  <wim@fluendo.com>
2315
2316         * gst/gstpipeline.c: (gst_pipeline_set_property),
2317         (gst_pipeline_get_property), (do_pipeline_seek),
2318         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2319         (gst_pipeline_get_delay):
2320         Don't deadlock when reading properties.
2321
2322 2006-03-13  Wim Taymans  <wim@fluendo.com>
2323
2324         * libs/gst/base/gstbasetransform.c:
2325         (gst_base_transform_class_init), (gst_base_transform_init),
2326         (gst_base_transform_sink_event),
2327         (gst_base_transform_sink_eventfunc),
2328         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2329         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2330         (gst_base_transform_set_property),
2331         (gst_base_transform_get_property),
2332         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2333         (gst_base_transform_set_qos_enabled),
2334         (gst_base_transform_is_qos_enabled):
2335         * libs/gst/base/gstbasetransform.h:
2336         Make basetransform virtual method for src events too.
2337         Handle QOS in basetransform.
2338         API: gst_base_transform_update_qos()
2339         API: gst_base_transform_set_qos_enabled()
2340         API: gst_base_transform_is_qos_enabled()
2341
2342 2006-03-13  Wim Taymans  <wim@fluendo.com>
2343
2344         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2345         (gst_base_sink_do_sync):
2346         Small cleanups.
2347         Use QOS debug category.
2348
2349 2006-03-13  Wim Taymans  <wim@fluendo.com>
2350
2351         * plugins/elements/gstqueue.c:
2352         Very small doc update.
2353
2354 2006-03-13  Wim Taymans  <wim@fluendo.com>
2355
2356         * gst/gst_private.h:
2357         * gst/gstinfo.c: (_gst_debug_init):
2358         Added QOS debug category
2359
2360 2006-03-13  Wim Taymans  <wim@fluendo.com>
2361
2362         * docs/gst/gstreamer-sections.txt:
2363         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2364         * gst/gstbin.h:
2365         * gst/gstbus.c: (gst_bus_class_init):
2366         * gst/gstbus.h:
2367         * gst/gstclock.c:
2368         * gst/gstelement.c: (gst_element_set_locked_state):
2369         * gst/gstsegment.c:
2370         Documentation updates.
2371
2372         * gst/gstpipeline.c: (gst_pipeline_get_type),
2373         (gst_pipeline_class_init), (gst_pipeline_init),
2374         (gst_pipeline_dispose), (gst_pipeline_set_property),
2375         (gst_pipeline_get_property), (do_pipeline_seek),
2376         (gst_pipeline_send_event), (gst_pipeline_change_state),
2377         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2378         (gst_pipeline_get_delay):
2379         * gst/gstpipeline.h:
2380         Added methods for setting the delay.
2381         API: gst_pipeline_set_delay()
2382         API: gst_pipeline_get_delay()
2383         Add pipeline debug category
2384         Various cleanups.
2385         Updated docs.
2386         Don't reset stream time when seek failed.
2387
2388 2006-03-13  Wim Taymans  <wim@fluendo.com>
2389
2390         * docs/design/draft-klass.txt:
2391         * docs/design/part-clocks.txt:
2392         * docs/design/part-events.txt:
2393         * docs/design/part-gstbin.txt:
2394         * docs/design/part-gstpipeline.txt:
2395         * docs/design/part-messages.txt:
2396         * docs/design/part-negotiation.txt:
2397         * docs/design/part-overview.txt:
2398         * docs/design/part-preroll.txt:
2399         * docs/design/part-seeking.txt:
2400         * docs/design/part-states.txt:
2401         * docs/design/part-streams.txt:
2402         Documentation updates.
2403
2404 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2405
2406         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2407         us to leak strings...
2408
2409 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2410
2411         * libs/gst/net/gstnettimeprovider.c:
2412           fix docs
2413         * win32/common/config.h:
2414           update
2415
2416 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2417
2418         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2419
2420         * configure.ac:
2421           Don't check for libgnomeui (leftover from old examples
2422           that aren't built or disted any longer) (#334303).
2423           
2424 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2425
2426         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2427         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2428           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2429           there's no space left on the device.
2430
2431 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2432
2433         * gst/gstclock.h:
2434           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2435           to cast the input to GstClockTime before comparing with
2436           another GstClockTime value.
2437
2438 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2439
2440         * configure.ac:
2441           back to trunk
2442
2443 === release 0.10.4 ===
2444
2445 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2446
2447         * configure.ac:
2448           releasing 0.10.4, "Light"
2449
2450 2006-03-10  Michael Smith  <msmith@fluendo.com>
2451
2452         * libs/gst/dataprotocol/dataprotocol.c:
2453           Fix docs for dataprocotol to not get the return types completely
2454           wrong for a few functions.
2455
2456 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2457
2458         * docs/gst/gstreamer-sections.txt:
2459         * gst/gstpipeline.c: (gst_pipeline_class_init),
2460         (gst_pipeline_init), (gst_pipeline_set_property),
2461         (gst_pipeline_get_property), (gst_pipeline_change_state),
2462         (gst_pipeline_set_auto_flush_bus),
2463         (gst_pipeline_get_auto_flush_bus):
2464         * gst/gstpipeline.h:
2465           Add new API: gst_pipeline_set_auto_flush_bus() and
2466           gst_pipeline_get_auto_flush_bus() to disable automatic
2467           flushing of the pipeline's GstBus when going from READY
2468           to NULL state (#332045).
2469
2470 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2471
2472         * docs/gst/gstreamer-sections.txt:
2473         * gst/gsturi.c: (gst_uri_has_protocol):
2474         * gst/gsturi.h:
2475            Add new API: gst_uri_has_protocol() (#333779).
2476
2477 2006-03-09  Wim Taymans  <wim@fluendo.com>
2478
2479         * gst/gstclock.c: (gst_clock_entry_new),
2480         (gst_clock_id_compare_func), (gst_clock_id_wait),
2481         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2482         (gst_clock_init), (gst_clock_get_internal_time),
2483         (gst_clock_set_master), (do_linear_regression),
2484         (gst_clock_add_observation), (gst_clock_set_property):
2485         * gst/gstclock.h:
2486         Review docs.
2487         Small cleanups.
2488         Fix a possible segfault when the window-size is made smaller.
2489         Calculate jitter before performing the clock wait. Ideally
2490         the clock implementation should calculate jitter but we need
2491         API breakage for that.
2492
2493         * gst/gstsystemclock.c: (gst_system_clock_init):
2494         Docs review.
2495         
2496         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2497         Remove leftover else
2498
2499         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2500         (gst_systemclock_suite):
2501         Added check to test GST_CLOCK_DIFF.
2502
2503 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2504
2505         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2506         (gst_type_find_helper_get_range):
2507           If we are provided with the size, we should implement
2508           GstTypeFind::get_length, so that typefind functions who
2509           want to can actually peek at the middle of a file.
2510
2511 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2512
2513         * docs/manual/advanced-dataaccess.xml:
2514           Add some very very basic error checking.
2515
2516         * docs/pwg/appendix-checklist.xml:
2517           Some updates to the list of things to check when writing an element.
2518
2519 2006-03-08  Wim Taymans  <wim@fluendo.com>
2520
2521         * docs/design/part-element-transform.txt:
2522         Added some docs about the design of tranform elements.
2523
2524         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2525         (gst_base_src_loop), (gst_base_src_change_state):
2526         Mark buffers with the DISCONT flag.
2527
2528 2006-03-08  Michael Smith  <msmith@fluendo.com>
2529
2530         * gst/gstregistry.h:
2531         * gst/gstregistryxml.c: (gst_registry_save),
2532         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2533         (gst_registry_xml_save_pad_template),
2534         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2535         (gst_registry_xml_write_cache):
2536           Rewrite registry-saving to avoid race conditions and check for
2537           failed writes.
2538
2539 2006-03-08  Wim Taymans  <wim@fluendo.com>
2540
2541         * libs/gst/base/gstbasetransform.c:
2542         (gst_base_transform_transform_caps),
2543         (gst_base_transform_transform_size),
2544         (gst_base_transform_prepare_output_buffer),
2545         (gst_base_transform_get_unit_size),
2546         (gst_base_transform_buffer_alloc),
2547         (gst_base_transform_handle_buffer),
2548         (gst_base_transform_change_state):
2549         Cleanups, separate normal flow from errors, add sensible
2550         DEBUG lines.
2551         Don't try to renegotiate when allocating an output buffer.
2552         Also copy DISCONT buffer flag when copying a buffer.
2553         Reset the transform after we finish streaming, not during.
2554
2555 2006-03-08  Wim Taymans  <wim@fluendo.com>
2556
2557         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2558         Use last buffer timestamp in qos message.
2559
2560 2006-03-07  Wim Taymans  <wim@fluendo.com>
2561
2562         Patch by: Christophe Fergeau
2563
2564         * docs/pwg/advanced-tagging.xml:
2565         * docs/pwg/building-pads.xml:
2566           fixes #333416
2567
2568 2006-03-07  Wim Taymans  <wim@fluendo.com>
2569
2570         * docs/libs/gstreamer-libs-sections.txt:
2571         Added basesink new methods.
2572
2573         * gst/gstevent.c:
2574         * gst/gstevent.h:
2575         Docs updates. Flesh out the QoS docs.
2576
2577         * libs/gst/base/gstadapter.c:
2578         Small doc clarification about ownership and flushing.
2579
2580         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2581         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2582         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2583         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2584         * libs/gst/base/gstbasesink.h:
2585         API additions: 
2586         Added new methods to allow subclass to control max-lateness 
2587         and sync.
2588         Generate very basic QoS events based on last sync observation.
2589         Updated docs, fix typo, added some QoS blurb.
2590
2591         * libs/gst/base/gstbasesrc.c:
2592         Remove obsolete _get_state() calls from docs.
2593
2594 2006-03-07  Wim Taymans  <wim@fluendo.com>
2595
2596         * docs/libs/gstreamer-libs-sections.txt:
2597         * libs/gst/base/gstbasetransform.h:
2598         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2599         Fix docs for GstBaseSrc.
2600
2601 2006-03-07  Wim Taymans  <wim@fluendo.com>
2602
2603         * docs/gst/gstreamer-sections.txt:
2604         * gst/gstbuffer.h:
2605         * gst/gstvalue.c:
2606         * libs/gst/base/gstbasetransform.h:
2607         Small documentation fixes.
2608
2609 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2610
2611         * gst/gstvalue.c:
2612           Document thread-unsafety of gst_value_register_foo_func()
2613           when used at the same time as gst_value_foo() (#322628).
2614
2615 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2616
2617         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2618         (gst_push_src_check_get_range):
2619           Push sources don't support pull mode by default.
2620
2621 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2622
2623         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2624         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2625         (gst_base_src_default_check_get_range):
2626         * libs/gst/base/gstbasesrc.h:
2627           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2628           provide default implementation, and rename
2629           gst_base_src_check_get_range() to
2630           gst_base_src_pad_check_get_range() for clarity.
2631
2632 2006-03-06  Wim Taymans  <wim@fluendo.com>
2633
2634         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2635         Make property overridable.
2636
2637 2006-03-06  Wim Taymans  <wim@fluendo.com>
2638
2639         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2640         (gst_base_sink_init), (gst_base_sink_set_property),
2641         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2642         * libs/gst/base/gstbasesink.h:
2643         API addition: Make max-lateness a property.
2644
2645 2006-03-06  Wim Taymans  <wim@fluendo.com>
2646
2647         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2648         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2649         Don't ever draw a frame that is >10ms late.
2650
2651 2006-03-06  Michael Smith  <msmith@fluendo.com>
2652
2653         * gst/gstmessage.c: (_gst_message_copy):
2654           When copying a message, set the parent_refcount of the enclosed
2655           structure to point at the copy, not the original message.
2656
2657 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2658
2659         Patch by: Christophe Fergeau
2660
2661         * gst/gstutils.h:
2662           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2663           usable in c++ code (#333417)
2664
2665 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2666
2667         * gst/gstclock.h:
2668           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2669
2670 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * libs/gst/base/gstbasetransform.c:
2673         (gst_base_transform_transform_caps):
2674           Make sure caps are writable before passing them to
2675           gst_caps_append().
2676
2677 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2678
2679         * gst/gsterror.h:
2680           Fix some minor docs errors.
2681
2682 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2683
2684           Patch by: Ross Burton <ross at burtonini dot com>
2685
2686         * gst/gsterror.c: (_gst_resource_errors_init):
2687         * gst/gsterror.h:
2688           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2689
2690 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2691
2692         * gst/gst.c:
2693         Add a check and output a g_warning when GStreamer is built
2694         against GLib 2.6 but running against 2.8 or higher, and vice 
2695         versa. (Closes: #323542)
2696
2697 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2698
2699         * gst/parse/parse.l:
2700           Commit patch for parse_launch syntax from #331255. Removes 
2701           support for quoted strings and mimetypes when writing filtered 
2702           caps. See the bug report for more details - I'm pretty sure this
2703           obscure feature is not in use by _anyone_ anywhere.
2704
2705           With this simple change, the size of the gstreamer.so here 
2706           drops from 2193KB to 1565KB.
2707
2708 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2709
2710         * plugins/elements/gsttypefindelement.h:
2711         * plugins/elements/gsttypefindelement.c:
2712         (gst_type_find_element_src_event), (start_typefinding),
2713         (stop_typefinding), (gst_type_find_element_handle_event),
2714         (gst_type_find_element_chain),
2715         (gst_type_find_element_chain_do_typefinding):
2716           Use gst_type_find_helper_for_buffer() for chain-based
2717           typefinding.
2718
2719 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2720
2721         * plugins/elements/gsttypefindelement.c:
2722         (gst_type_find_element_class_init),
2723         (gst_type_find_element_set_property),
2724         (gst_type_find_element_get_property):
2725           Deprecate "maximum" property (not only was it only taken into
2726           account for typefinding in push-mode anyway, it also was never
2727           actually possible to set it in the first place because the
2728           property was registered with the numeric property ID for the
2729           "minimum" property). Register "maximum" property correctly,
2730           for the sake of future copy'n'pasters. Remove some cruft
2731           from property get/set functions.
2732
2733 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2734
2735         * plugins/elements/gsttypefindelement.c:
2736         (gst_type_find_element_activate):
2737           Use gst_type_find_helper_get_range() here, so we
2738           can honour the "minimum" property and also emit
2739           the signal with the correct probability of the found caps.
2740
2741 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2742
2743         * docs/libs/gstreamer-libs-sections.txt:
2744         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2745         (helper_find_suggest), (gst_type_find_helper_get_range),
2746         (gst_type_find_helper):
2747         * libs/gst/base/gsttypefindhelper.h:
2748           New API: gst_type_find_helper_get_range() (#333042).
2749
2750 2006-03-02  Michael Smith  <msmith@fluendo.com>
2751
2752         * gst/gstregistryxml.c: (load_feature):
2753           Asserting on a failure to read part of the registry is Not Cool.
2754           Just log a warning and return NULL (which is already handled)
2755
2756 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2757
2758         * win32/common/libgstbase.def:
2759           added export of gst_type_find_helper_for_buffer
2760         * win32/common/libgstbase.def:
2761           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2762           gst_ghost_pad_get_target
2763
2764 2006-02-28  Wim Taymans  <wim@fluendo.com>
2765
2766         * docs/design/draft-klass.txt:
2767         We use Filter now.
2768         Added Connector to mark elements that are only used to
2769         allow pipeline connections.
2770         Moved Debug to extra feature since most of them are 
2771         functionally something else.
2772
2773 2006-02-28  Wim Taymans  <wim@fluendo.com>
2774
2775         * docs/design/draft-klass.txt:
2776         Some updates and clarifications.
2777
2778 2006-02-28  Wim Taymans  <wim@fluendo.com>
2779
2780         * docs/design/draft-klass.txt:
2781         Proposal for klass field values.
2782
2783         * docs/design/part-streams.txt:
2784         Start of a doc describing stream anatomy.
2785
2786 2006-02-28  Wim Taymans  <wim@fluendo.com>
2787
2788         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2789         Help the compiler a bit with type registration.
2790         Use existing forward cod path instead of duplicating it when 
2791         handling a message.
2792         
2793         * gst/gstbus.c: (gst_bus_get_type):
2794         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2795         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2796         * gst/gstclock.c: (gst_clock_get_type):
2797         * gst/gstelement.c: (gst_element_get_type),
2798         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2799         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2800         * gst/gstminiobject.c: (gst_mini_object_get_type):
2801         * gst/gstpad.c: (gst_pad_get_type):
2802         * gst/gstsegment.c: (gst_segment_get_type):
2803         * gst/gststructure.c: (gst_structure_get_type):
2804         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2805         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2806         * gst/gstvalue.c:
2807         Help compiler with type registration.
2808
2809         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2810         Small doc update.
2811
2812 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2813
2814         * plugins/elements/gsttypefindelement.c:
2815         (gst_type_find_element_handle_event):
2816           When we get an EOS event and have not found a type yet
2817           (most likely because we had not yet accumulated
2818           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2819           type given the data we have so far. Fixes typefinding
2820           for very short streams again, most notably quicktime
2821           redirections as used on Apple's trailer site (#331701).
2822
2823 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2824
2825         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2826         (gst_type_find_helper):
2827           Try typefinding factories with the highest rank first.
2828
2829 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2830
2831         * docs/libs/gstreamer-libs-docs.sgml:
2832         * docs/libs/gstreamer-libs-sections.txt:
2833         * libs/gst/base/gsttypefindhelper.c:
2834           Add section for typefind helper and add documentation
2835           for the old and the new function.
2836
2837 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2838
2839         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2840         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2841         (gst_type_find_helper_for_buffer):
2842         * libs/gst/base/gsttypefindhelper.h:
2843           New API: gst_type_find_helper_for_buffer() (#332723).
2844           
2845 2006-02-27  Michael Smith  <msmith@fluendo.com>
2846
2847         Patch by: Loïc Minier
2848
2849         * configure.ac:
2850         * docs/Makefile.am:
2851         * docs/slides/Makefile.am:
2852           prevent CVS directories getting disted.
2853
2854 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2855
2856         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2857           Use the REFCOUNTING category for caps refcounting.
2858           
2859 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2860
2861         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2862           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2863
2864 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2865
2866         * plugins/elements/gsttypefindelement.c:
2867         (gst_type_find_element_activate):
2868           Use gst_pad_check_pull_range() before _activate_pull()
2869           to avoid unnecessary open/close (see #331690).
2870
2871 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2872
2873         * gst/gstutils.c:
2874           Docs enhancement: make it crystal clear what the
2875           gst_pad_add_*_probe() callbacks should look like.
2876
2877 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2878
2879         * libs/gst/base/gstbasesrc.c:
2880           Document how applications can stop recording from
2881           live sources (see #330996).
2882
2883 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2884
2885         * tests/check/Makefile.am:
2886         * tests/check/libs/basesrc.c: (eos_event_counter),
2887         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2888         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2889         (gst_basesrc_suite), (main):
2890           ... and add some tests for the base source EOS stuff.
2891
2892 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2893
2894         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2895           Test case originally showed the problem fixed below,
2896           but was then amended. Add checks back at the place
2897           where they used to be.
2898
2899 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2900
2901         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2902         (gst_base_src_init), (gst_base_src_loop),
2903         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2904         (gst_base_src_change_state):
2905         * libs/gst/base/gstbasesrc.h:
2906           Don't unconditionally send EOS when going from PAUSED to
2907           READY state, esp. make sure we don't send two EOS events
2908           in some cases (e.g. one when reaching EOS and one when
2909           going from PAUSED to READY). Also, we don't want to send
2910           EOS events when operating in pull mode. However, we do
2911           want to send an EOS event when shutting down a live
2912           source explicitly, for example (fixes #330996).
2913           
2914 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2915
2916         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2917           Update src->read_position after a seek when not using mmap.
2918           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2919
2920 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2921
2922         * gst/Makefile.am:
2923         * gst/gstparse.h:
2924         * gst/gstutils.c:
2925         * gst/gstutils.h:
2926         Make things work with --disable-parse as they do with 
2927         --disable-load-save - the symbols involved disappear, but the
2928         header is still installed and GST_DISABLE_PARSE is included via
2929         gstconfig.h
2930
2931 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2932
2933         * libs/gst/base/gstbasetransform.c:
2934         (gst_base_transform_change_state): Fix a stupid bug. I was 
2935         sure I compiled that.
2936
2937 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2938
2939         * gst/gstpad.c: (gst_pad_set_blocked_async):
2940         * gst/gstutils.c: (gst_pad_add_data_probe),
2941         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2942         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2943         (gst_pad_remove_buffer_probe): Make those function act on the
2944         ghostpad target when it's a ghostpad. (Closes #331727)
2945
2946 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2947
2948         * libs/gst/base/gstbasetransform.c:
2949         (gst_base_transform_change_state): Make basetransform reusable.
2950         (Closes #331898)
2951
2952 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2953
2954         * docs/random/release:
2955         Move the current documentation of how to do a release to the top
2956         of the file.
2957
2958         * gst/gstbin.c: (gst_bin_class_init),
2959         (gst_bin_handle_message_func):
2960         Allow multiple state-recalculation threads. (Closes #328873)
2961
2962 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2963
2964         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2965         * gst/gstpad.c: (gst_pad_set_event_function),
2966         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2967         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2968         2 strings. You can't use the STR_NULL macro on that.
2969
2970 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2971
2972         * gst/gstpad.c: (gst_pad_set_event_function),
2973         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2974         (gst_pad_set_getcaps_function)
2975         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2976           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2977           So now, we can use --gst-debug-level=5 on Windows
2978         * win32/common/libgstcontroller.def:
2979           Added export of gst_controller_init
2980         * win32/vs6/libgstcontroller.dsp:
2981           Fixed Release post build configuration
2982
2983 2006-02-17  Wim Taymans  <wim@fluendo.com>
2984
2985         * tests/check/gst/gstquery.c: (GST_START_TEST):
2986         Added another check.
2987
2988 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2989
2990         * plugins/elements/gsttypefindelement.c: (find_peek):
2991           We can do peeks at non-zero offsets, as long as they
2992           fall within the buffer we have.
2993
2994 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2995
2996         * tests/check/Makefile.am:
2997         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2998         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2999         (parse_suite), (main):
3000           Add testsuite for parse launch syntax
3001
3002 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3003
3004         * plugins/elements/gsttypefindelement.c:
3005         (gst_type_find_element_chain):
3006           When typefinding is unsuccessful in the chain function, don't
3007           error out immediately. Only error out with NO_CAPS_FOUND if
3008           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3009           otherwise simply wait for more data so we can try typefinding
3010           again with more data later. Also, don't attempt to typefind
3011           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3012           this should improve typefinding from network sources where the
3013           size of the first buffer can be somewhat random.
3014
3015 2006-02-14  Wim Taymans  <wim@fluendo.com>
3016
3017         * docs/gst/gstreamer-sections.txt:
3018         * gst/gstpadtemplate.c:
3019         * gst/gstpadtemplate.h:
3020         Fix padtemplate docs, fixes #328805.
3021
3022 2006-02-14  Wim Taymans  <wim@fluendo.com>
3023
3024         * tools/gst-launch.c: (main):
3025         NO_PREROLL is not an ERROR so don't send confusing messages
3026         to the user.
3027
3028 2006-02-14  Wim Taymans  <wim@fluendo.com>
3029
3030         Patch by: Torsten Schoenfeld
3031
3032         * gst/gstregistry.c: (gst_registry_get_default),
3033         (_gst_registry_cleanup):
3034         Protect default registry with lock and ref/sink it.
3035         Fixes #324818
3036
3037 2006-02-14  Wim Taymans  <wim@fluendo.com>
3038
3039         * gst/gstbuffer.c:
3040         * gst/gstquery.c: (gst_query_list_add_format),
3041         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3042         (gst_query_parse_formats_nth):
3043         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3044         Docs fixes.
3045
3046 2006-02-14  Wim Taymans  <wim@fluendo.com>
3047
3048         * docs/gst/gstreamer-sections.txt:
3049         Reworked query docs.
3050
3051         * gst/gstquery.c: (gst_query_new_formats),
3052         (gst_query_list_add_format), (gst_query_set_formats),
3053         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3054         (gst_query_parse_formats_nth):
3055         * gst/gstquery.h:
3056         Flesh out formats query, added some new methods.
3057         Fix part of #324398.
3058
3059         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3060         Added query creation tests.
3061
3062 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3063
3064         * gst/gstpad.c: (fixate_value):
3065         Add a default fixation for fraction lists.
3066
3067 2006-02-13  Wim Taymans  <wim@fluendo.com>
3068
3069         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3070         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3071         (gst_task_join):
3072         * gst/gsttask.h:
3073         Detect and warn for obvious deadlocks. fixes #320340
3074         Fix error case where lock was not released.
3075
3076         * tests/check/Makefile.am:
3077         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3078         (task_func), (gst_element_suite), (main):
3079         Add task check.
3080
3081 2006-02-13  Wim Taymans  <wim@fluendo.com>
3082
3083         * docs/gst/gstreamer-sections.txt:
3084         * gst/gstbus.c:
3085         Add new functions to docs.
3086
3087 2006-02-13  Wim Taymans  <wim@fluendo.com>
3088
3089         * docs/design/part-TODO.txt:
3090         Updated TODO list, basesrc supports seeking to non-bytes
3091         formats.
3092
3093         * docs/design/part-element-sink.txt:
3094         Update docs.
3095
3096         * gst/gstbin.c: (bin_replace_message),
3097         (gst_bin_handle_message_func):
3098         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3099         * gst/gstevent.c: (gst_event_finalize):
3100         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3101         (gst_pad_send_event):
3102         Use shiny new _TYPE_NAME macros.
3103
3104         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3105         Move debug statement up.
3106
3107         * gst/gstelement.c: (gst_element_set_locked_state):
3108         Add some debugging.
3109
3110 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3111
3112         * docs/gst/gstreamer-sections.txt:
3113         * gst/gstmessage.h:
3114         * gst/gstquery.h:
3115           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3116           macros (#330906). Also, document the already existing
3117           GST_QUERY_TYPE macro.
3118
3119 2006-02-13  Wim Taymans  <wim@fluendo.com>
3120
3121         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3122         (event_probe), (GST_START_TEST):
3123         Only events up to the pipeline EOS are counted, there are
3124         some more when going to NULL currently which we don't care
3125         about for now.
3126
3127 2006-02-13  Wim Taymans  <wim@fluendo.com>
3128
3129         * gst/gstpad.c: (gst_pad_send_event):
3130         Correctly check flushing and emit probes. fixes #330125
3131
3132 2006-02-10  Andy Wingo  <wingo@pobox.com>
3133
3134         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3135         structure.
3136         (gst_bus_init): Cache the location of the private data in the
3137         instance structure.
3138         (gst_bus_enable_sync_message_emission) 
3139         (gst_bus_disable_sync_message_emission): Implement new public
3140         functions.
3141         (gst_bus_post): Emit the sync-message signal if the user asked for
3142         it. Fixes #330684.
3143
3144         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3145         location of the bus-private structure.
3146         (gst_bus_enable_sync_message_emission)
3147         (gst_bus_disable_sync_message_emission): API addition
3148
3149 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3150
3151         Patch by: Vincent Torri
3152
3153         * docs/pwg/building-boiler.xml:
3154         PWG patch from #326800
3155
3156 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3157
3158         * configure.ac:
3159         * docs/Makefile.am:
3160         * docs/design/Makefile.am:
3161           Dist design docs.
3162
3163 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3164
3165         * configure.ac:
3166           back to CVS
3167
3168 === release 0.10.3 ===
3169
3170 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3171
3172         * configure.ac:
3173           releasing 0.10.3, "Like a virgin"
3174
3175 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3176
3177         * configure.ac:
3178           2nd prerelease of 0.10.3
3179           Bump libtool versioning.
3180
3181 2006-02-07  Andy Wingo  <wingo@pobox.com>
3182
3183         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3184         update last_stop if we're in TIME format and the timestamp is
3185         valid.
3186
3187         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3188         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3189         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3190         If we get a new newsegment with a different format, adapt
3191         accordingly.
3192
3193         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3194         of 0. Not a problem, really.
3195
3196         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3197         warn if sync=true.
3198
3199 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3200
3201         * configure.ac:
3202           Prelease of 0.10.3
3203
3204 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3205
3206         * win32/vs7:
3207           project files updated to the default vs7 configuration
3208         * win32/common/libgstbase.def:
3209         * win32/common/libgstreamer.def:
3210           added new symbols,
3211           removed empty lines,
3212           sorted all exported symbols alphabetically
3213         * win32/common/dirent.c:
3214         * win32/common/dirent.h:
3215         * win32/common/gchar.h:
3216           use windows line end.
3217           
3218 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3219
3220         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3221           Send EOS event when stopping.
3222
3223 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3224
3225         * docs/README:
3226           Tell folks what to do if the plugin-foobar.xml file
3227           hasn't been generated for a newly-added plugin.
3228
3229 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3230
3231         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3232         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3233         (gst_collect_pads_start), (gst_collect_pads_stop),
3234         (gst_collect_pads_event): Collectpads now holds a reference
3235         to the GstPad that was added. Indeed we don't want to look
3236         at pads that might just go away with no warning...
3237
3238 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3239
3240         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3241         (gst_collect_pads_start), (gst_collect_pads_stop),
3242         (gst_collect_pads_event), (gst_collect_pads_chain):
3243         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3244         Mark Nauwelaerts's patch on bug #328491.
3245
3246 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3247
3248         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3249         (gst_utils_suite):
3250           Add some simple tests for gst_parse_bin_from_description() and
3251           gst_bin_find_unconnected_pad() (#329069).
3252
3253 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3254
3255         * tools/gst-launch.c: (event_loop), (main):
3256           Catch errors during preroll (#320084).
3257
3258 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3259
3260         * plugins/elements/gsttypefindelement.c:
3261         (gst_type_find_element_activate):
3262           Post TYPE_NOT_FOUND error message when typefinding
3263           is unsuccessful in the activate function as well.
3264
3265 2006-02-02  Wim Taymans  <wim@fluendo.com>
3266
3267         * docs/design/part-element-sink.txt:
3268         Updated doc.
3269
3270 2006-02-02  Wim Taymans  <wim@fluendo.com>
3271
3272         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3273         (gst_base_sink_render_object),
3274         (gst_base_sink_queue_object_unlocked):
3275         Only keep track of prerollable items when we are 
3276         prerolling.
3277         Before rendering after preroll, always check if we
3278         have queued items.
3279         Added some more debugging.
3280
3281 2006-02-02  Wim Taymans  <wim@fluendo.com>
3282
3283         * gst/gstelement.c: (gst_element_continue_state),
3284         (gst_element_set_state_func), (gst_element_change_state):
3285         Fixed #326576, been running this for quite some time with
3286         no regressions at all.
3287
3288 2006-02-02  Wim Taymans  <wim@fluendo.com>
3289
3290         * common/gst.supp:
3291         Added more suppressions
3292
3293 2006-02-02  Wim Taymans  <wim@fluendo.com>
3294
3295         * docs/design/part-element-sink.txt:
3296         Updated document.
3297
3298         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3299         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3300         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3301         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3302         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3303         (gst_base_sink_preroll_object),
3304         (gst_base_sink_queue_object_unlocked),
3305         (gst_base_sink_queue_object), (gst_base_sink_event),
3306         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3307         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3308         (gst_base_sink_get_position), (gst_base_sink_change_state):
3309         * libs/gst/base/gstbasesink.h:
3310         Totally refactored matching the design doc.
3311         Use two segments, one to clip incomming buffers and another to
3312         perform sync.
3313         Handle queueing correctly, bypass the queue when playing.
3314         Make EOS cancelable.
3315         Handle errors correctly when operating in pull based mode.
3316
3317         * tests/check/elements/fakesink.c: (GST_START_TEST),
3318         (fakesink_suite):
3319         Added new check for sinks.
3320
3321 2006-02-02  Wim Taymans  <wim@fluendo.com>
3322
3323         * gst/gstsegment.c: (gst_segment_clip):
3324         No reason to refuse to clip when start == -1
3325
3326 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3327
3328         * docs/README:
3329         * docs/manual/intro-basics.xml:
3330         * docs/manual/intro-preface.xml:
3331         * docs/manual/manual.xml:
3332         * docs/pwg/advanced-dparams.xml:
3333         * docs/pwg/intro-basics.xml:
3334         * docs/pwg/intro-preface.xml:
3335         * docs/pwg/pwg.xml:
3336           describe dparams (controller) for plugins
3337           unify docs a little more
3338
3339 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3340
3341         * docs/gst/gstreamer-sections.txt:
3342         * gst/gstutils.c: (element_find_unconnected_pad),
3343         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3344         * gst/gstutils.h:
3345           Add new API: gst_parse_bin_from_description() and
3346           gst_bin_find_unconnected_pad() (#329069).
3347
3348 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3349
3350         * docs/manual/README:
3351           uncover a nasty detail of the docs build
3352
3353 2006-01-31  Wim Taymans  <wim@fluendo.com>
3354
3355         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3356         Don't cache duration messages if we're not going to use or
3357         free them.
3358
3359 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3360
3361         * docs/manual/advanced-dparams.xml:
3362         * docs/pwg/advanced-dparams.xml:
3363           more dparam docs
3364         * gst/gstindex.c:
3365           fix docs
3366         * libs/gst/controller/lib.c: (gst_controller_init):
3367           init just once
3368
3369 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3370
3371         * gst/gstelement.c: (gst_element_message_full):
3372           also show file/line/func if no additional debug was given
3373
3374 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3375         
3376         * win32/vs7/grammar.vcproj:
3377           activate copy of autogenerated files for Release mode
3378
3379 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3380         
3381         * win32/common/libgstreamer.def:
3382           export gst_value_compare
3383
3384 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3385
3386         * plugins/elements/Makefile.am:
3387         * plugins/elements/gstelements.c:
3388         * plugins/elements/gstfdsink.c: (_do_init),
3389         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3390         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3391         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3392         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3393         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3394         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3395         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3396         * plugins/elements/gstfdsink.h:
3397         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3398
3399 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3400
3401         * docs/manual/advanced-dparams.xml:
3402           describe controller
3403         * docs/manual/advanced-position.xml:
3404         * docs/manual/basics-init.xml:
3405         * docs/manual/manual.xml:
3406         * docs/manual/titlepage.xml:
3407         * docs/pwg/pwg.xml:
3408         * docs/pwg/titlepage.xml:
3409           cleanup xml (more to come)
3410         * libs/gst/controller/gstcontroller.c:
3411           fix typo
3412
3413 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3414         
3415         * win32/vs6/grammar.dsp:
3416           add autogen of gstmarshal.c,h for Release mode
3417                 
3418 2006-01-30  Wim Taymans  <wim@fluendo.com>
3419
3420         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3421         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3422         (gst_base_sink_handle_object), (gst_base_sink_event),
3423         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3424         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3425         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3426         (gst_base_sink_deactivate), (gst_base_sink_activate),
3427         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3428         (gst_base_sink_query), (gst_base_sink_change_state):
3429         Basesink cleanups, remove some old code.
3430         Handle the case where a subclass can preroll in the render
3431         method (mostly audiosinks).
3432         Handle more events.
3433         Remove some locks around variables that are now protected
3434         with the PREROLL_LOCK (clock_id, flushing, ..).
3435         Optimize position query some more, do correct locking.
3436         Remove old code to push queue in state change, this is not
3437         needed anymore since preroll blocks on all prerollable items 
3438         now.
3439         Almost implemented as described in design doc.
3440
3441 2006-01-30  Wim Taymans  <wim@fluendo.com>
3442
3443         * tests/check/gst/gstbin.c: (GST_START_TEST):
3444         Wait for refcount to settle down before checking.
3445
3446 2006-01-30  Wim Taymans  <wim@fluendo.com>
3447
3448         * docs/design/part-element-sink.txt:
3449         Pseudo code overview of desired sink behaviour regarding
3450         preroll.
3451
3452 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3453         * win32/vs6/grammar.dsp:
3454           fix some bugs in Release mode for autogenerated files
3455                 
3456 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3457         * win32/common/libgstbase.def:
3458         * win32/common/libgstreamer.def:
3459           export some new symbols: gst_base_src_set_format,
3460           gst_iterator_next, gst_structure_set_valist
3461
3462 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3463
3464         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3465         Set pad functions unconditionally. Fixes #329105.
3466
3467 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3468         * win32/vs8:
3469           add vs8 project files created by Sergey Scobich
3470
3471 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3472
3473         * gst/gstutils.c: (gst_element_unlink_pads):
3474         Don't leak pad references.
3475
3476         * tests/check/elements/fakesink.c: (GST_START_TEST):
3477         * tests/check/generic/sinks.c: (GST_START_TEST):
3478         * tests/check/generic/states.c: (GST_START_TEST):
3479         * tests/check/gst/gstbin.c: (GST_START_TEST):
3480         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3481         * tests/check/gst/gstelement.c: (GST_START_TEST):
3482         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3483         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3484         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3485         Fix a bunch of leaks. Make generic/sinks.c
3486         use a bit less cpu by slowing the buffer rate
3487         between fakesrc and fakesink.
3488         
3489 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3490         * gst/gstcaps.c:
3491         * gst/gstelement.c: (gst_element_send_event):
3492         * gst/gstevent.c:
3493         * gst/gstinfo.c:
3494         * gst/gstiterator.c:
3495         * gst/gstiterator.h:
3496         * gst/gstpad.c: (gst_pad_send_event):
3497         * gst/gststructure.c:
3498         * gst/gsturi.c:
3499         * gst/gstutils.c:
3500         * gst/gstvalue.c:
3501         * libs/gst/base/gstadapter.c:
3502           doc fixes, to link to function, just write gst_cool_function(), don't
3503           prefix with '#'
3504
3505 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3506
3507         * plugins/elements/gsttee.c: (gst_tee_do_push),
3508         (gst_tee_handle_buffer):
3509         Always prefer an actual return value from a src
3510         pad in place of NOT_LINKED. This means we return
3511         WRONG_STATE when all src pads are WRONG_STATE
3512         instead of NOT_LINKED.
3513
3514         Lock when replacing the last message to prevent
3515         racing with the get_property method.
3516
3517         Add debug output
3518
3519 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3520
3521         * tests/check/Makefile.am:
3522         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3523         (main):
3524         Add a very simple check that should have caught the memleak I fixed
3525         last night (if not for the slice allocator hiding it)
3526
3527 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3528
3529         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3530         (gst_bin_remove_func), (gst_bin_handle_message_func),
3531         (bin_query_duration_fold), (bin_query_generic_fold):
3532         Clean up references to the clock provider when disposed or when
3533         handling a clock-lost message from it.
3534
3535         Unref sinks when performing a query via gst_iterator_fold, as the
3536         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3537
3538         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3539         (gst_clock_set_master):
3540         Drop our reference to the master clock, if any, when we are disposed.
3541
3542         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3543         Chain up in dispose. 
3544
3545 2006-01-26  Wim Taymans  <wim@fluendo.com>
3546
3547         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3548         Add some debugging.
3549
3550 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3551
3552         * plugins/elements/gsttee.c: (gst_tee_do_push),
3553         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3554         handles pad being NOT_LINKED or in WRONG_STATE.
3555
3556 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3557
3558         * win32/MANIFEST:
3559           more updating
3560
3561 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3562
3563         * win32/MANIFEST:
3564           remove obsolete entry
3565
3566 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3567
3568         * docs/gst/gstreamer-sections.txt:
3569         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3570         (gst_bin_iterate_sources), (gst_bin_send_event):
3571         * gst/gstbin.h:
3572         * gst/gstelement.c: (gst_element_send_event):
3573         * gst/gstevent.c:
3574         * gst/gstpad.c: (gst_pad_send_event):
3575           added code for downstream events, reviewed docs in gstevent.c
3576
3577 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3578
3579         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3580         We only query position using the clock in the playing state.
3581         Query peer in the other cases.
3582         * win32/common/config.h: Updates.
3583
3584 2006-01-24  Wim Taymans  <wim@fluendo.com>
3585
3586         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3587         A clock entry that is scheduled for the exact time of the
3588         clock is still in time.
3589
3590         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3591         (gst_base_sink_do_sync):
3592         Add some more debug info.
3593
3594 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3595
3596         * win32/vs7:
3597           Add new vs7 project files and solution.
3598
3599 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3600
3601         * win32/vs7:
3602           all files removed as they were out-dated.
3603
3604 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3605
3606         * docs/random/release:
3607           update notes
3608         * gst/gstbin.c: (gst_bin_init):
3609         * gst/gstbus.c: (gst_bus_new):
3610         * gst/gstbus.h:
3611         * gst/gstpipeline.c: (gst_pipeline_init):
3612           use gst_bus_new(), improve logging, fix docs
3613         * win32/common/config.h:
3614           update for cvs build
3615
3616 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3617
3618         * autogen.sh:
3619           up required version of automake to 1.7
3620
3621 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3622
3623         * win32/common/libgstreamer.def:
3624           export gst_buffer_is_metadata_writable
3625
3626 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3627
3628         * docs/gst/gstreamer-sections.txt:
3629         * gst/gstevent.h:
3630           Add gst_event_replace() (#327001)
3631
3632 2006-01-20  Wim Taymans  <wim@fluendo.com>
3633
3634         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3635         Make it actually compile too..
3636
3637 2006-01-20  Wim Taymans  <wim@fluendo.com>
3638
3639         * gst/gstcaps.c:
3640         Clarify behaviour of _is_equal() when passing NULL parameters.
3641
3642         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3643         (gst_pad_set_caps):
3644         Cleanups. Don't unref NULL caps.
3645         When setting the same caps, protect caps of the pad with
3646         proper lock.
3647         Use full functionality of _is_equal() when comparing caps.
3648
3649 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3650
3651         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3652         Don't loop infinitely if there are no buffers to present. Partially
3653         fixes #327197, but collectpads is just broken for reusing elements
3654         to do multiple encodes atm.
3655
3656 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3657
3658         * tools/gst-inspect.c: (print_element_features):
3659         * tools/gst-xmlinspect.c: (main):
3660         URL_HANDLER is not a plugin feature we can search for in
3661         the registry.
3662
3663 2006-01-19  Edward Hervey  <edward@fluendo.com>
3664
3665         * gst/gstelement.c: (gst_element_pads_activate): 
3666         When activating, do src pads first, then sink pads.
3667         When de-activating, do sink pads first, then src pads.
3668
3669 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3670
3671         * docs/gst/gstreamer-sections.txt:
3672         Add gst_index_add_associationv to the docs
3673
3674 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3675
3676         * gst/gstevent.c:
3677           Fix docs typo
3678
3679         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3680         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3681           Do some refactoring. Doesn't actually change functionality,
3682           but makes landing the DRAIN event easier later.
3683
3684 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3685
3686         * docs/pwg/advanced-scheduling.xml:
3687           Update from 0.9.x to 0.10 API and make example a bit
3688           clearer.
3689
3690 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3691
3692         * docs/gst/gstreamer-sections.txt:
3693         Add gst_buffer_(is|make)_metadata_writable methods.
3694
3695 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3696
3697         * docs/design/part-sparsestreams.txt:
3698         Update sparse streams doc, hopefully for greater clarity
3699
3700 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3701
3702         * docs/design/part-events.txt:
3703         Remove mention of FILLER events.
3704         Add DRAIN event.
3705
3706         * docs/design/part-sparsestreams.txt:
3707         Write some things about using NEWSEGMENT to keep sparse streams
3708         flowing.
3709
3710 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3711
3712         * gst/gstbin.c: (gst_bin_dispose):
3713           Guard gst_object_unref call against a NULL object (dispose
3714           can theoretically be called multiple times).
3715           
3716 2006-01-18  Wim Taymans  <wim@fluendo.com>
3717
3718         * gst/gstbin.c: (gst_bin_element_set_state):
3719         * gst/gstclock.c: (gst_clock_id_wait):
3720         Added some more debug info.
3721
3722         * libs/gst/base/gstadapter.c:
3723         Added more docs.
3724
3725         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3726         (gst_base_sink_do_sync), (gst_base_sink_chain):
3727         Added some comments.
3728
3729 2006-01-18  Wim Taymans  <wim@fluendo.com>
3730
3731         * tests/check/Makefile.am:
3732         * tests/check/elements/fakesink.c: (chain_async_buffer),
3733         (chain_async), (chain_async_return), (GST_START_TEST),
3734         (fakesink_suite), (main):
3735         Added fakesink test that checks prerolling and clipping
3736         behaviour.
3737
3738         * tests/check/gst/gstutils.c: (GST_START_TEST):
3739         Make check run faster so that buildbots don't timeout.
3740
3741 2006-01-18  Wim Taymans  <wim@fluendo.com>
3742
3743         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3744         (gst_base_sink_do_sync):
3745         Some cleanups.
3746         When the sink finishes blocking on the preroll buffer, it can
3747         immediatly render it instead of rendering when the next buffer
3748         arrives.
3749
3750 2006-01-18  Wim Taymans  <wim@fluendo.com>
3751
3752         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3753         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3754         (gst_base_sink_chain):
3755         Small cleanups.
3756         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3757         Don't store _last_stop if the buffer is dropped.
3758
3759 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3760
3761         * plugins/elements/gsttypefindelement.c:
3762         (gst_type_find_element_class_init):
3763           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3764           object method handler that sets the caps on the pad and we want
3765           that to happen before we emit the signal (fixes e.g. feeding a
3766           plain text file to decodebin).
3767
3768 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3769
3770         * gst/gstplugin.c: Add MPL and Proprietary as license options
3771
3772 2006-01-18  Andy Wingo  <wingo@pobox.com>
3773
3774         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3775         symbol was exported before, it appears this was just an oversight.
3776         Fixes #168703.
3777         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3778
3779         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3780         prototype to gint. OK since this prototype was not in the header.
3781
3782 2006-01-17  Andy Wingo  <wingo@pobox.com>
3783
3784         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3785         registry while we remove plugins.
3786
3787         * tools/gst-inspect.c (print_element_info): Don't unref the
3788         factory arg, that should be the responsibility of whatever code
3789         received the ref. Fixes a double-free when called from
3790         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3791         (main): Unref the factory if we have one.
3792         (print_element_list): No change -- relies on the
3793         plugin_feature_list_free to free the list of features.
3794
3795 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3796
3797         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3798         (gst_buffer_make_metadata_writable):
3799         * gst/gstbuffer.h:
3800         * libs/gst/base/gstbasetransform.c:
3801         (gst_base_transform_prepare_output_buf):
3802         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3803         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3804           Replace gst_buffer_(make|is)_metadata_writable patch now
3805           that the release is out.
3806
3807 2006-01-17  Andy Wingo  <wingo@pobox.com>
3808
3809         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3810         in the present tense without reference to versions.
3811
3812         * gst/gstregistry.c (gst_registry_add_plugin)
3813         (gst_registry_remove_plugin, gst_registry_remove_feature)
3814         (gst_registry_find_feature, gst_registry_get_feature_list)
3815         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3816         (gst_registry_lookup, gst_registry_scan_path)
3817         (_gst_registry_remove_cache_plugins)
3818         (gst_registry_get_feature_list_by_plugin): Add argument
3819         validation.
3820
3821 === release 0.10.2 ===
3822
3823 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3824
3825         * configure.ac:
3826           releasing 0.10.2, "If man is five"
3827
3828 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3829
3830         * gst/gstbuffer.c:
3831         * gst/gstbuffer.h:
3832         * libs/gst/base/gstbasetransform.c:
3833         (gst_base_transform_prepare_output_buf):
3834         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3835         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3836           Back out patch until after the release.
3837
3838 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3839
3840         * gst/gstminiobject.c:
3841           Spelling fix in docs.
3842         * ChangeLog - remove conflict indicator
3843
3844 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3845
3846         Reviewed By: Andy Wingo
3847
3848         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3849         (gst_buffer_make_metadata_writable):
3850         * gst/gstbuffer.h:
3851           Add gst_buffer_(is|make)_metadata_writable as analogues of
3852           gst_buffer_(is|make)_writable.
3853
3854         * libs/gst/base/gstbasetransform.c:
3855         (gst_base_transform_prepare_output_buf):
3856         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3857           Use name gst_buffer_(is|make)_metadata_writable functions.
3858
3859         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3860           Test gst_buffer_(is|make)_metadata_writable
3861         
3862           (Closes: #324162)
3863
3864 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3865
3866         * docs/manual/Makefile.am:
3867           don't do parallel make
3868         * configure.ac:
3869           AC_SUBST HOST_CPU
3870         * win32/common/config.h.in:
3871           add generations for HOST_CPU and GST_MAJORMINOR
3872         * win32/common/config.h:
3873           commit generated result
3874
3875 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3876
3877         * docs/manual/appendix-integration.xml:
3878           Update GNOME integration section to use gst_init_get_option_group()
3879           instead of the old popt stuff (#322911). Also, GNOME applications
3880           should  now use gconf*sink and gconf*src instead of the old gconf
3881           helper lib we had.
3882
3883 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3884
3885
3886         * docs/gst/gstreamer-docs.sgml:
3887         * docs/gst/gstreamer-sections.txt:
3888         * docs/libs/gstreamer-libs-sections.txt:
3889           add new API entries to the docs
3890         * libs/gst/controller/Makefile.am:
3891         * libs/gst/controller/gstcontroller.c:
3892         * libs/gst/controller/gstcontroller.h:
3893         * libs/gst/controller/gstcontrollerprivate.h:
3894         * libs/gst/controller/gsthelper.c:
3895         * libs/gst/controller/gstinterpolation.c:
3896           move private structs to private header
3897         * po/README:
3898           gstreamer-0.7 -> gstreamer-0.10
3899         * tests/check/libs/struct_i386.h:
3900           remove private structs
3901
3902 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3903
3904         * plugins/indexers/Makefile.am:
3905           Fixes as part of #317048
3906
3907 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3908
3909         * plugins/indexers/Makefile.am:
3910           fix #316086 - compilation when mmap is missing
3911
3912 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3913
3914         * libs/gst/base/gstbasesink.c:
3915           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3916           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3917         * win32/common/config.h:
3918           added some defines GST_MAJORMINOR and HOST_CPU
3919         * win32/common/libgstbase.def:
3920         * win32/common/libgstreamer.def:
3921           added some exported functions.
3922
3923 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3924
3925         * libs/gst/controller/gstcontroller.c:
3926         (gst_controlled_property_set_interpolation_mode),
3927         (gst_controlled_property_new):
3928         * libs/gst/controller/gstcontroller.h:
3929         * libs/gst/controller/gstinterpolation.c:
3930         (interpolate_none_get_string_value_array):
3931           make G_TYPE_STRING controlable
3932
3933 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3934
3935         * tools/README:
3936         * tools/gst-feedback.1.in:
3937         * tools/gst-inspect.1.in:
3938         * tools/gst-launch.1.in:
3939         * tools/gst-md5sum.1.in:
3940         * tools/gst-typefind.1.in:
3941         * tools/gst-xmlinspect.1.in:
3942         * tools/gst-xmllaunch.1.in:
3943           cleanup man-pages, remove reference to gst-register, document env-vars
3944
3945 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3946
3947         * gst/gstbuffer.c: (gst_buffer_span):
3948           gst_buffer_span should copy the timestamp of the first buffer
3949           if they were both originally overlapping subbuffers of the 
3950           same parent, using the same logic as the 'slow copy' case.
3951
3952 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3953
3954         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3955           Need to awaken ALL the pads when we pop a buffer, otherwise
3956           collectpads only works when there is 2 input streams.
3957
3958 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3959
3960         * docs/random/ensonic/media-device-daemon.txt:
3961           more ideas (dbus)
3962         * gst/gstbuffer.c:
3963           fix doc example, add clarification
3964         * tools/gst-launch.1.in:
3965           add initial info about GST_PLUGIN_PATH, needs more work
3966
3967 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3968
3969         * docs/manual/basics-bins.xml:
3970         * docs/manual/basics-elements.xml:
3971         * docs/manual/intro-basics.xml:
3972           Some more minor docs additions and updates.
3973
3974 2006-01-11  Wim Taymans  <wim@fluendo.com>
3975
3976         * docs/manual/basics-bins.xml:
3977         * docs/manual/basics-elements.xml:
3978         Some small fixes as pointed out by Ser-ver on IRC.
3979
3980 2006-01-10  Edward Hervey  <edward@fluendo.com>
3981
3982         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3983         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3984         the single-segment mode.
3985
3986 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3987
3988         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3989
3990         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3991         (gst_base_src_perform_seek), (gst_base_src_send_event),
3992         (gst_base_src_set_property), (gst_base_src_get_property),
3993         (gst_base_src_loop), (gst_base_src_start),
3994         (gst_base_src_activate_push):
3995         * libs/gst/base/gstbasesrc.h:
3996           Name (private) union; makes Sun's Forte compiler happy (#324900).
3997
3998 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3999
4000         * README:
4001           gst-register is gone.
4002
4003 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4004
4005         * gst/gstvalue.c: (_gst_value_initialize):
4006           make the G_TYPE_DATE instantiation work if debug is disabled
4007
4008 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4009
4010         * gst/gstmessage.c: (gst_message_parse_tag),
4011         (gst_message_parse_error), (gst_message_parse_warning):
4012           Don't crash when return location for error/warning debug
4013           string is NULL; add fact that return locations can be
4014           NULL to docs where appropriate.
4015
4016 2006-01-05  Wim Taymans  <wim@fluendo.com>
4017
4018         * gst/gstplugin.c: (gst_plugin_load_file):
4019         Replace strdup by g_strdup.
4020
4021 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4022
4023         * docs/pwg/advanced-types.xml:
4024           fix doc borkage
4025
4026 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4027
4028         submitted by: Abel Cheung
4029
4030         * po/LINGUAS:
4031         * po/zh_TW.po:
4032           Added Chinese (traditional) translation
4033
4034 2006-01-04  Wim Taymans  <wim@fluendo.com>
4035
4036         * docs/manual/basics-pads.xml:
4037         * docs/plugins/Makefile.am:
4038         * docs/plugins/gstreamer-plugins-docs.sgml:
4039         * docs/plugins/gstreamer-plugins-sections.txt:
4040         * docs/pwg/advanced-clock.xml:
4041         * docs/pwg/advanced-scheduling.xml:
4042         * docs/pwg/advanced-types.xml:
4043         * plugins/elements/gstfdsink.c:
4044         * plugins/elements/gstfdsrc.c:
4045         * plugins/elements/gstfdsrc.h:
4046         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4047         * plugins/elements/gstidentity.h:
4048         * plugins/elements/gstqueue.h:
4049         * plugins/elements/gsttee.c:
4050         * plugins/elements/gsttee.h:
4051         * plugins/elements/gsttypefindelement.c:
4052         (gst_type_find_element_class_init):
4053         * plugins/elements/gsttypefindelement.h:
4054         Small updates to various docs.
4055         Added core plugins to docs.
4056
4057 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4058
4059         * common/gst.supp:
4060           add a suppression for liboil's uninitialized variable
4061
4062 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4063
4064         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4065
4066         * gst/gstutils.h:
4067           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4068           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4069           compiler switch is being used (#325429).
4070
4071 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4072
4073         * gst/gstbin.c: (gst_bin_query):
4074           Disable duration query caching in bins until it gets
4075           fixed (see #324807).
4076
4077 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4078
4079         * tools/gst-inspect.c: (print_element_properties_info):
4080           Handle properties of POINTER and BOXED type.
4081
4082 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4083
4084         * gst/gst.c: (init_post):
4085           Init tags stuff and some other things before loading
4086           any static plugins (there may be other static plugins
4087           than just the GStreamer ones, and they may want to
4088           register their own tags or formats or whatever, and
4089           preferably without segfaulting).
4090
4091         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4092           Print at least a warning in the debug logs if we drop a
4093           query just because we don't know how to adjust the value
4094           in the particular format.
4095
4096 2005-12-24  David Schleef  <ds@schleef.org>
4097
4098         * tools/gstreamer-completion:
4099           Replacement for gst-complete written in sh and sed.  Only
4100           completes names of features, but that's 90% of what I want
4101           it for.  Properties are not available in registry.xml.  (Maybe
4102           they should be...)
4103
4104 === release 0.10.1 ===
4105
4106 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4107
4108         * configure.ac:
4109           releasing 0.10.1, "Nollaig chridheil"
4110
4111 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4112
4113         * docs/faq/cvs.xml:
4114           Add missing quote, should be make ERROR_CFLAGS="".
4115
4116 2005-12-20  Wim Taymans  <wim@fluendo.com>
4117
4118         * docs/design/part-trickmodes.txt:
4119         More documentation on trickmodes.
4120
4121 2005-12-20  Edward Hervey  <edward@fluendo.com>
4122
4123         * gst/gstcaps.c: (gst_static_caps_get_type):
4124         * gst/gstcaps.h:
4125           API addition: GST_TYPE_STATIC_CAPS
4126         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4127         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4128         * gst/gstpadtemplate.h:
4129           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4130         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4131         bindings.
4132
4133 2005-12-18  Wim Taymans  <wim@fluendo.com>
4134
4135         * libs/gst/base/gstadapter.c:
4136         * libs/gst/base/gstadapter.h:
4137         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4138         (gst_base_sink_get_position):
4139         * libs/gst/base/gstbasesink.h:
4140         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4141         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4142         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4143         (gst_base_src_send_event), (gst_base_src_update_length),
4144         (gst_base_src_get_range), (gst_base_src_loop),
4145         (gst_base_src_start):
4146         * libs/gst/base/gstbasesrc.h:
4147         * libs/gst/base/gstbasetransform.h:
4148         * libs/gst/base/gstcollectpads.h:
4149         * libs/gst/base/gstpushsrc.c:
4150         * libs/gst/base/gstpushsrc.h:
4151         * libs/gst/dataprotocol/dataprotocol.c:
4152         * libs/gst/dataprotocol/dataprotocol.h:
4153         * libs/gst/net/gstnetclientclock.h:
4154         * libs/gst/net/gstnettimeprovider.h:
4155         Documentation updates.
4156
4157 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4158
4159         * docs/manual/basics-helloworld.xml:
4160           Remove superfluous closing bracket in helloworld example.
4161
4162 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4163
4164         * tools/gst-launch.1.in:
4165           Update gst-launch man page; add a section with useful
4166           environment variables. Fixes #323882.
4167
4168 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4169
4170         * gst/gst.c:
4171         * gst/gst_private.h:
4172           change some char* into char[]
4173
4174 2005-12-16  Wim Taymans  <wim@fluendo.com>
4175
4176         * gst/gstregistryxml.c: (load_feature):
4177         Cleanups.
4178         Don't use g_object_unref on GstObjects so that we avoid
4179         leaks on unsafe glibs.
4180
4181 2005-12-16  Wim Taymans  <wim@fluendo.com>
4182
4183         * gst/gstbin.c: (gst_bin_recalc_state):
4184         Small doc updates.
4185
4186 2005-12-16  Wim Taymans  <wim@fluendo.com>
4187
4188         * common/check.mak:
4189         Added make forever target for check.
4190
4191 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4192
4193         * gst/gst.c: (init_post):
4194           make the registry cache file HOST_CPU-dependent
4195
4196 2005-12-16  Andy Wingo  <wingo@pobox.com>
4197
4198         * plugins/elements/gstbufferstore.c
4199         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4200         return value.
4201
4202         * tests/check/gst/gstobject.c
4203         (test_fake_object_name_threaded_unique): Pay attention to
4204         g_list_sort return value.
4205
4206 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4207
4208         * tools/gst-feedback-m.m:
4209           Update for 0.9/0.10 (fixes #323870).
4210
4211 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4212
4213         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4214           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4215           
4216         * tests/check/gst/gstminiobject.c: (my_foo_init),
4217         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4218         (test_value_collection), (gst_mini_object_suite):
4219           Add test to ensure refcounts end up as expected when passing
4220           GstMiniObjects through g_object_get() and g_object_set().
4221
4222 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4223
4224         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4225         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4226         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4227         of collectpads. This version removes a lot of races without
4228         touching API/ABI. Yay !
4229
4230 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4231
4232         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4233           Don't allow activation of a srcpad in pull_range if it has no
4234           getrange function.
4235           Change some debug statements to be a little clearer
4236
4237         * plugins/elements/gsttypefindelement.c:
4238         (gst_type_find_handle_src_query):
4239           Check that we have a peer before executing queries thereupon.
4240
4241         * tests/examples/metadata/read-metadata.c: (message_loop):
4242           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4243           immediately return us any available message with 0 timeout.
4244
4245 2005-12-12  Michael Smith  <msmith@fluendo.com>
4246
4247         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4248           Don't unref factories after calling them.
4249         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4250         * plugins/elements/gsttypefindelement.c:
4251         (gst_type_find_element_chain):
4252           Free lists of factories after using them. Fixing typefinding memory
4253           leaks.
4254
4255 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4256
4257         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4258         (gst_plugin_feature_load):
4259           more meaningful debug output
4260         * configure.ac:
4261         * tests/Makefile.am:
4262         * tests/old/examples/Makefile.am:
4263           make make distcheck happy again
4264
4265 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4266
4267         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4268           Catch the special case where we are operating chain-based,
4269           but the downstream peer pad has no chain function. Emit a
4270           custom error message in this case instead of letting the
4271           core generate one implying that this is some sort of core
4272           bug. It's not, it just means that whatever got plugged
4273           into the pipeline downstream when we announced the type
4274           can only operate pull-based, while our source can only
4275           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4276           Error string has not been marked for translation yet, as
4277           it probably needs some more work first.
4278
4279         (gst_type_find_element_get_best_possibility):
4280           Add helper function to find the best of all available
4281           found possibilities that qualify given the min. threshold.
4282
4283         (gst_type_find_element_handle_event):
4284           Fix the case where we get an EOS while still in TYPEFIND
4285           mode (we want to chose the best of all possible types,
4286           not just the first type that happens to be in our unsorted
4287           list of possible types).
4288
4289         (gst_type_find_element_chain):
4290           Make sure we return GST_FLOW_ERROR when we errored out
4291           in stop_typefinding(); also, don't just find the best of
4292           all found type entries and then use the last examined
4293           type entry, but actually use the best entry.
4294
4295 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4296
4297         * tests/examples/typefind/typefind.c: (type_found):
4298         * tests/examples/xml/runxml.c: (xml_loaded):
4299           More gcc4 fixes and a mem leak fix.
4300
4301 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4302
4303         * tests/examples/xml/createxml.c: (object_saved):
4304           gcc 4 fixes
4305
4306 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4307
4308         * tests/Makefile.am:
4309           enable the examples even more
4310
4311 2005-12-12  Andy Wingo  <wingo@pobox.com>
4312
4313         * libs/gst/net/gstnettimeprovider.c
4314         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4315         (gst_net_time_provider_set_property)
4316         (gst_net_time_provider_get_property):
4317         API addition: Export "active" as a GObject property.
4318         (gst_net_time_provider_thread): Only respond to time queries if
4319         the time provider is active.
4320
4321         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4322         NetTimeProvider, preserving binary compat.
4323
4324 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4325
4326         * tests/examples/controller/audio-example.c: (main):
4327         * tests/examples/launch/Makefile.am:
4328           convert comments again
4329
4330 2005-12-12  Wim Taymans  <wim@fluendo.com>
4331
4332         * libs/gst/base/gstpushsrc.c:
4333         Fix typo.
4334
4335 2005-12-12  Wim Taymans  <wim@fluendo.com>
4336
4337         * docs/libs/gstreamer-libs-sections.txt:
4338         Added new symbol to docs.
4339
4340         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4341         (gst_base_src_init), (gst_base_src_set_format),
4342         (gst_base_src_default_query), (gst_base_src_query),
4343         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4344         (gst_base_src_perform_seek), (gst_base_src_send_event),
4345         (gst_base_src_default_event), (gst_base_src_event_handler),
4346         (gst_base_src_set_property), (gst_base_src_get_property),
4347         (gst_base_src_wait), (gst_base_src_do_sync),
4348         (gst_base_src_update_length), (gst_base_src_get_range),
4349         (gst_base_src_check_get_range), (gst_base_src_loop),
4350         (gst_base_src_default_negotiate), (gst_base_src_start),
4351         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4352         (gst_base_src_change_state):
4353         * libs/gst/base/gstbasesrc.h:
4354         Implement seeking to other formats than _BYTES.
4355         Implement more seeking methods correctly.
4356         Doc updates.
4357         Added query vmethod.
4358         Added do_seek vmethod to make life easier for subclasses
4359         when seeking.
4360         API addition: gst_base_src_set_format()
4361
4362 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4363
4364         * tests/examples/Makefile.am:
4365           added that too
4366
4367 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4368
4369         * configure.ac:
4370         * docs/random/ensonic/media-device-daemon.txt:
4371         * tests/examples/controller/.cvsignore:
4372         * tests/examples/controller/Makefile.am:
4373         * tests/examples/controller/audio-example.c: (main):
4374         * tests/examples/helloworld/.cvsignore:
4375         * tests/examples/helloworld/Makefile.am:
4376         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4377         * tests/examples/launch/.cvsignore:
4378         * tests/examples/launch/Makefile.am:
4379         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4380         * tests/examples/metadata/.cvsignore:
4381         * tests/examples/metadata/Makefile.am:
4382         * tests/examples/metadata/read-metadata.c: (message_loop),
4383         (make_pipeline), (print_tag), (main):
4384         * tests/examples/queue/.cvsignore:
4385         * tests/examples/queue/Makefile.am:
4386         * tests/examples/queue/queue.c: (event_loop), (main):
4387         * tests/examples/typefind/.cvsignore:
4388         * tests/examples/typefind/Makefile.am:
4389         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4390         (main):
4391         * tests/examples/xml/.cvsignore:
4392         * tests/examples/xml/Makefile.am:
4393         * tests/examples/xml/createxml.c: (object_saved), (main):
4394         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4395         * tests/old/examples/Makefile.am:
4396         * tests/old/examples/TODO:
4397         * tests/old/examples/controller/.cvsignore:
4398         * tests/old/examples/controller/Makefile.am:
4399         * tests/old/examples/controller/audio-example.c:
4400         * tests/old/examples/helloworld/.cvsignore:
4401         * tests/old/examples/helloworld/Makefile.am:
4402         * tests/old/examples/helloworld/helloworld.c:
4403         * tests/old/examples/launch/.cvsignore:
4404         * tests/old/examples/launch/Makefile.am:
4405         * tests/old/examples/launch/mp3parselaunch.c:
4406         * tests/old/examples/launch/mp3play:
4407         * tests/old/examples/manual/Makefile.am:
4408         * tests/old/examples/metadata/Makefile.am:
4409         * tests/old/examples/metadata/read-metadata.c:
4410         * tests/old/examples/queue/.cvsignore:
4411         * tests/old/examples/queue/Makefile.am:
4412         * tests/old/examples/queue/queue.c:
4413         * tests/old/examples/typefind/.cvsignore:
4414         * tests/old/examples/typefind/Makefile.am:
4415         * tests/old/examples/typefind/typefind.c:
4416         * tests/old/examples/xml/.cvsignore:
4417         * tests/old/examples/xml/Makefile.am:
4418         * tests/old/examples/xml/createxml.c:
4419         * tests/old/examples/xml/runxml.c:
4420           applied some simple fixing to some examples
4421           re-enabled the working examples
4422
4423 2005-12-12  Wim Taymans  <wim@fluendo.com>
4424
4425         * gst/gstsegment.c: (gst_segment_init),
4426         (gst_segment_set_last_stop), (gst_segment_set_seek),
4427         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4428         (gst_segment_to_running_time):
4429         Added more documentation.
4430         Make sure the last_pos value is updated properly.
4431         Make sure to_stream_time and to_running_time don't
4432         operate on wrong values.
4433
4434         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4435         Update check.
4436
4437 2005-12-12  Michael Smith  <msmith@fluendo.com>
4438
4439         * plugins/elements/gsttypefindelement.c: (free_entry),
4440         (gst_type_find_element_chain):
4441           Now that we're not leaking factories, make sure we keep references
4442           to them while we need them.
4443
4444 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4445
4446         * tests/check/gst/struct_i386.h:
4447           ifdef out the XML structs
4448
4449 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4450
4451         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4452           floor is not needed, F is always positive; this obviates the
4453           need for adding -lm when building without libxml
4454
4455 2005-12-12  Wim Taymans  <wim@fluendo.com>
4456
4457         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4458         Take current playback rate into account when reporting
4459         the position.
4460
4461 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4462
4463         * docs/manual/mime-world.fig:
4464           Let's try this again, this time with a file that is
4465           actually in XFig format.
4466
4467 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4468
4469         * docs/manual/mime-world.fig:
4470           Add audioconvert element to diagram so that it
4471           matches the text and the code (fixes #319526).
4472
4473 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4474
4475         * docs/pwg/building-chainfn.xml:
4476         * docs/pwg/building-pads.xml:
4477         * docs/pwg/building-state.xml:
4478         * docs/pwg/other-source.xml:
4479           Update state change stuff for 0.10 (fixes #322969).
4480
4481 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4482
4483         * docs/manual/advanced-dataaccess.xml:
4484         * docs/manual/appendix-checklist.xml:
4485         * docs/manual/appendix-programs.xml:
4486         * docs/manual/basics-pads.xml:
4487         * docs/manual/highlevel-components.xml:
4488         * docs/manual/manual.xml:
4489           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4490           add converters in front of pipelines; remove curly
4491           brackets for threads stuff, they no longer exist; use
4492           GST_TYPE_FRACTION for framerates; update some pieces of
4493           code to 0.10, but there's plenty more to do.
4494
4495         * docs/manual/appendix-porting.xml:
4496           Expand on asynchroneous state changes; s/0.9/0.10/;
4497           mention disappearance of gst_init_get_popt_table()
4498           (fixes #322916).
4499
4500 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4501
4502         * docs/faq/using.xml:
4503           Spider no longer exists, and neither does gst-launch-ext.
4504           Update examples to use decodebin and playbin and put
4505           converters in front of sinks (fixes #323726).
4506
4507 2005-12-09  Michael Smith  <msmith@fluendo.com>
4508
4509         * plugins/elements/gsttypefindelement.c: (find_peek),
4510         (gst_type_find_element_chain):
4511           Fix leaking element factories in typefinding.
4512           Fix problem where we forgot about a probable type on non-seekable
4513           files, and thus later mis-typefound it.
4514
4515 2005-12-09  Michael Smith  <msmith@fluendo.com>
4516
4517         * common/m4/gst-makecontext.m4:
4518         * common/m4/gst-mcsc.m4:
4519         * configure.ac:
4520         * win32/common/config.h:
4521         * win32/common/config.h.in:
4522           Remove makecontext stuff; not used in 0.10 and causes problems on
4523           HPUX according to bug #322441
4524
4525 2005-12-07  Wim Taymans  <wim@fluendo.com>
4526
4527         * tests/check/Makefile.am:
4528         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4529         (main):
4530         * tests/check/libs/struct_i386.h:
4531         Added ABI check for libs
4532
4533 2005-12-07  Wim Taymans  <wim@fluendo.com>
4534
4535         * tests/check/Makefile.am:
4536         And add the struct_i386.h to dist.
4537
4538 2005-12-07  Wim Taymans  <wim@fluendo.com>
4539
4540         * tests/check/Makefile.am:
4541         * tests/check/gst/.cvsignore:
4542         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4543         (main):
4544         * tests/check/gst/struct_i386.h:
4545         Added check for ABI compatibility.
4546
4547 2005-12-07  Wim Taymans  <wim@fluendo.com>
4548
4549         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4550         (gst_fake_src_get_times), (gst_fake_src_create):
4551         Fix broken sync option, fixes #323259
4552
4553 2005-12-07  Wim Taymans  <wim@fluendo.com>
4554
4555         * gst/gstbuffer.c:
4556         Small docs update.
4557
4558         * gst/gstcaps.c: (gst_caps_is_equal):
4559         Don't assert on NULL <--> X. Fixes #323260
4560
4561         * gst/gstminiobject.c: (gst_mini_object_replace):
4562         If we're doing atomic operations, we might just as well use
4563         the proper way to get an atomic pointer.
4564
4565         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4566         Clean up debugging.
4567
4568 2005-12-07  Michael Smith  <msmith@fluendo.com>
4569
4570         * gst/parse/grammar.y:
4571           Remove handling of { } for threads.
4572
4573 2005-12-06  David Schleef  <ds@schleef.org>
4574
4575         * libs/gst/base/gstbasetransform.c: speling fix.
4576
4577 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4578
4579         * docs/libs/tmpl/gstdataprotocol.sgml:
4580         * docs/random/omega/testing/gstobject.c:
4581         * gst/gst.c:
4582         * gst/gstclock.c:
4583         * gst/gstelement.c:
4584         * gst/gstelementfactory.c:
4585         * gst/gsterror.c:
4586         * gst/gstevent.c:
4587         * gst/gstghostpad.c:
4588         * gst/gstinfo.c:
4589         * gst/gstpadtemplate.c:
4590         * gst/gstregistryxml.c:
4591         * gst/gsttaglist.c:
4592         * gst/gsttagsetter.c:
4593         * gst/gsttypefind.c:
4594         * gst/gstvalue.c:
4595         * libs/gst/base/gstbasesrc.c:
4596         * libs/gst/net/gstnetclientclock.c:
4597         * libs/gst/net/gstnettimeprovider.c:
4598         * plugins/elements/gstfakesrc.c:
4599         * plugins/elements/gstfdsrc.c:
4600         * plugins/elements/gstfilesrc.c:
4601         * plugins/elements/gstidentity.c:
4602         * plugins/elements/gstqueue.c:
4603         * plugins/elements/gsttypefindelement.c:
4604         * plugins/indexers/gstfileindex.c:
4605         * plugins/indexers/gstmemindex.c:
4606         * tests/check/gst/gsttag.c:
4607         * tests/old/examples/cutter/cutter.c:
4608         * tests/old/examples/mixer/mixer.c:
4609         * tests/old/examples/xml/runxml.c: (main):
4610         * tests/old/testsuite/caps/normalisation.c:
4611         * tests/old/testsuite/debug/global.c:
4612         * tests/old/testsuite/parse/parse1.c:
4613         * tools/gst-xmlinspect.c:
4614         * win32/common/dirent.c:
4615           expand tabs
4616
4617 === release 0.10.0 ===
4618
4619 2005-12-05   <thomas (at) apestaart (dot) org>
4620
4621         * configure.ac:
4622           releasing 0.10.0, "Maroilles"
4623
4624 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4625
4626         submitted by: Funda Wang <fundawang@linux.net.cn>
4627
4628         * po/LINGUAS:
4629         * po/zh_CN.po:
4630           added Chinese (Traditional) translation
4631
4632 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4633
4634         * docs/gst/gstreamer-sections.txt:
4635         * docs/libs/tmpl/gstdataprotocol.sgml:
4636         * docs/random/thomasvs/TODO:
4637         * gst/gstutils.c:
4638         * gst/gstutils.h:
4639           fix docs
4640
4641 2005-12-05  Andy Wingo  <wingo@pobox.com>
4642
4643         patch by: Wim Taymans <wim@fluendo.com>
4644
4645         * libs/gst/base/gstbasetransform.c
4646         (gst_base_transform_prepare_output_buf)
4647         (gst_base_transform_buffer_alloc):
4648         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4649         alloc_buffer_and_set_caps.
4650
4651         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4652         set_caps on the source pad.
4653         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4654         alloc_buffer used to do. Fixes #322874.
4655
4656         * docs/gst/gstreamer-sections.txt: 
4657         * docs/design/part-negotiation.txt: 
4658         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4659         changes.
4660
4661 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4662
4663         patch by: Sebastien Moutte
4664
4665         * win32/MANIFEST:
4666         * win32/common/config.h.in:
4667         * win32/vs6/libgstcontroller.dsp:
4668           win32 build fixes
4669
4670 2005-12-05  Wim Taymans  <wim@fluendo.com>
4671
4672         * gst/gstcaps.c: (gst_caps_is_equal):
4673         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4674         (gst_fake_src_create):
4675         Back out previous code changes, leave doc updates, file bugs 
4676         instead. 
4677
4678 2005-12-05  Wim Taymans  <wim@fluendo.com>
4679
4680         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4681         (gst_fake_src_get_times), (gst_fake_src_create):
4682         * plugins/elements/gstfakesrc.h:
4683         Fix broken sync code.
4684
4685 2005-12-05  Wim Taymans  <wim@fluendo.com>
4686
4687         * gst/gstcaps.c: (gst_caps_is_equal):
4688         Comparing NULL against !NULL yields different caps, not a
4689         failure.
4690
4691 2005-12-05  Wim Taymans  <wim@fluendo.com>
4692
4693         * gst/gstpipeline.c:
4694         Fix small typo in docs.
4695
4696 2005-12-05  Andy Wingo  <wingo@pobox.com>
4697
4698         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4699
4700         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4701         registries/plugins with a MAJORMINOR one.
4702         (plugin_desc): Rename library from gstcoreleements to
4703         staticelements. Fixes #323222.
4704
4705 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4706
4707         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4708           Change debug category to 'collectpads' from 'collect_pads'
4709           (fixes #323250).
4710
4711 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4712
4713         patch by: Sebastien Moutte
4714
4715         * libs/gst/controller/gstinterpolation.c:
4716           use convert function for uint64/double
4717         * win32/vs6/libgstcontroller.dsp:
4718           link to GLib
4719
4720 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4721
4722         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4723         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4724         * gst/gstutils.h:
4725         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4726           add tests that seem to show that the guint64/gdouble conversions
4727           are correct.
4728
4729 2005-12-02  Wim Taymans  <wim@fluendo.com>
4730
4731         * gst/gstregistry.c: (gst_registry_add_path):
4732         * gst/gstregistry.h:
4733         * gst/gstregistryxml.c:
4734         Fix docs again.
4735
4736 2005-12-02  Wim Taymans  <wim@fluendo.com>
4737
4738         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4739         (gst_util_uint64_scale_int):
4740         Small cleanup.
4741
4742         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4743         Add debug log line.
4744
4745         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4746         Add FIXME.
4747
4748 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4749
4750         * win32/MANIFEST:
4751         * win32/common/config.h:
4752         * win32/vs6/gstreamer.dsw:
4753         * win32/vs6/libgstcoreelements.dsp:
4754         * win32/vs6/libgstelements.dsp:
4755           renamed core elements plugin
4756
4757 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4758
4759         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4760         (get_candidates):
4761           do piece-wise major/minor comparison so 0.9 < 0.10
4762           also allow .exe extensions for tools
4763
4764 2005-12-02  Michael Smith  <msmith@fluendo.com>
4765
4766         * gst/gst.c:
4767           Escape a % to make gtkdoc happier; bug 322958.
4768
4769 === release 0.9.7 ===
4770
4771 2005-12-01   <thomas (at) apestaart (dot) org>
4772
4773         * configure.ac:
4774           releasing 0.9.7, "My Dog Has No Nose"
4775
4776 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4777
4778         * common/gst-xmlinspect.py:
4779         * configure.ac:
4780         * docs/libs/tmpl/gstdataprotocol.sgml:
4781         * docs/random/release:
4782         * po/af.po:
4783         * po/az.po:
4784         * po/bg.po:
4785         * po/ca.po:
4786         * po/cs.po:
4787         * po/de.po:
4788         * po/en_GB.po:
4789         * po/fr.po:
4790         * po/it.po:
4791         * po/nb.po:
4792         * po/nl.po:
4793         * po/ru.po:
4794         * po/sq.po:
4795         * po/sr.po:
4796         * po/sv.po:
4797         * po/tr.po:
4798         * po/uk.po:
4799         * po/vi.po:
4800         * win32/common/config.h:
4801         * win32/common/config.h.in:
4802         * win32/vs6/gst_inspect.dsp:
4803         * win32/vs6/gst_launch.dsp:
4804         * win32/vs6/libgstbase.dsp:
4805         * win32/vs6/libgstelements.dsp:
4806         * win32/vs6/libgstreamer.dsp:
4807         * win32/vs7/GStreamer.vcproj:
4808         * win32/vs7/gst-inspect.vcproj:
4809         * win32/vs7/gst-launch.vcproj:
4810         * win32/vs7/libgstbase.vcproj:
4811           bump GST_MAJORMINOR to 0.10
4812           reset libtool version
4813
4814 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4815
4816         * po/LINGUAS:
4817         * po/bg.po:
4818           Added Bulgarian translation by (Alexander Shopov)
4819
4820 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4821
4822         * tests/check/gst/gstplugin.c:
4823           fix test
4824
4825 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4826
4827         * common/gst-xmlinspect.py:
4828         * common/gtk-doc-plugins.mak:
4829         * configure.ac:
4830         * docs/Makefile.am:
4831         * docs/gst/Makefile.am:
4832         * docs/gst/gstreamer-docs.sgml:
4833         * docs/gst/gstreamer-sections.txt:
4834         * docs/gst/gstreamer.types:
4835         * docs/gst/gstreamer.types.in:
4836         * docs/plugins/Makefile.am:
4837         * docs/plugins/gstreamer-plugins-docs.sgml:
4838         * docs/plugins/gstreamer-plugins-sections.txt:
4839         * docs/plugins/gstreamer-plugins.types:
4840         * docs/plugins/inspect.stamp:
4841         * docs/plugins/inspect/plugin-coreelements.xml:
4842         * docs/plugins/inspect/plugin-coreindexers.xml:
4843         * docs/plugins/scanobj-build.stamp:
4844         * gstreamer.spec.in:
4845         * plugins/elements/Makefile.am:
4846         * plugins/elements/gstelements.c:
4847         * plugins/elements/gstfakesink.c:
4848         * plugins/elements/gstfakesrc.c:
4849         * plugins/elements/gstfilesink.c:
4850         * plugins/elements/gstfilesrc.c:
4851         * plugins/elements/gstqueue.c:
4852         * plugins/indexers/Makefile.am:
4853         * plugins/indexers/gstindexers.c:
4854           document core plugins in a separate document just like all the
4855           others
4856           rename these plugins to something starting with core
4857
4858 2005-12-01  Andy Wingo  <wingo@pobox.com>
4859
4860         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4861         padding here before, but it missed the commit.
4862
4863 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4864
4865         * libs/gst/controller/gstinterpolation.c:
4866           whitespace prices have crashed, we should feel free to use some now
4867           use gst_guint64_to_gdouble
4868
4869 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4870
4871         * libs/gst/controller/gstcontroller.c:
4872         * libs/gst/controller/gsthelper.c:
4873         * libs/gst/controller/gstinterpolation.c:
4874         * libs/gst/controller/lib.c:
4875           wrap config.h include
4876
4877 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4878
4879         * docs/gst/gstreamer-sections.txt:
4880           update docs
4881
4882 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4883
4884         * plugins/elements/gstelements.c:
4885         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4886         (gst_fd_sink__class_init), (gst_fd_sink__init),
4887         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4888         (gst_fd_sink__get_property):
4889         * plugins/elements/gstfdsink.h:
4890         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4891         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4892         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4893         (gst_fd_src_unlock), (gst_fd_src_set_property),
4894         (gst_fd_src_get_property), (gst_fd_src_create),
4895         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4896         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4897         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4898         (gst_fd_src_uri_handler_init):
4899         * plugins/elements/gstfdsrc.h:
4900         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4901           more anal cleanup
4902
4903 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4904
4905         * docs/gst/Makefile.am:
4906         * docs/gst/gstreamer.types.in:
4907         * gst/Makefile.am:
4908           fix the docs build
4909
4910 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4911
4912         * configure.ac:
4913         * gst/Makefile.am:
4914         * gst/gst.c:
4915         * gst/gstplugin.h:
4916         * gst/gstregistry.h:
4917         * tests/benchmarks/complexity.c:
4918         * tests/benchmarks/mass-elements.c:
4919         * tests/check/Makefile.am:
4920         * tools/Makefile.am:
4921         * tools/gst-inspect.c:
4922         * tools/gst-xmlinspect.c:
4923           various fixes to make
4924           --disable-nls --disable-registry --disable-loadsave
4925           --disable-parse --disable-gst-debug
4926           work and get the core .so down to 360444 bytes after stripping
4927
4928 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4929
4930         * Makefile.am:
4931         * configure.ac:
4932           descend into tests
4933         * docs/random/thomasvs/TODO:
4934         * tests/Makefile.am:
4935         * tests/README:
4936           add a README
4937
4938 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4939
4940         * win32/GStreamer.vcproj:
4941         * win32/MANIFEST:
4942         * win32/Makefile:
4943         * win32/Makefile.inspect:
4944         * win32/Makefile.launch:
4945         * win32/Makefile.register:
4946         * win32/README.txt:
4947         * win32/gst-inspect.vcproj:
4948         * win32/gst-launch.vcproj:
4949         * win32/gst-register.vcproj:
4950         * win32/gstelements.vcproj:
4951         * win32/gstgetbits.def:
4952         * win32/gstgetbits.vcproj:
4953         * win32/gstreamer-dbg.def:
4954         * win32/gstreamer.def:
4955         * win32/libgstbase.def:
4956         * win32/libgstbase.vcproj:
4957         * win32/link_oldruntime.c:
4958         * win32/mman.c:
4959         * win32/mman.h:
4960         * win32/mman.inl:
4961         * win32/msvc71.sln:
4962           move even more stuff, win32/ is nice and clean now
4963
4964 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4965
4966         * libs/gst/control/.cvsignore:
4967         * win32/MANIFEST:
4968         * win32/config.h:
4969         * win32/dirent.c:
4970         * win32/dirent.h:
4971         * win32/gstbytestream.def:
4972         * win32/gstbytestream.vcproj:
4973         * win32/gstconfig.h:
4974         * win32/gstenumtypes.c:
4975         * win32/gstenumtypes.h:
4976         * win32/gstoptimalscheduler.vcproj:
4977         * win32/gstversion.h:
4978         * win32/gtchar.h:
4979         * win32/testsuite/bins.vcproj:
4980         * win32/testsuite/bytestream.vcproj:
4981         * win32/testsuite/caps.vcproj:
4982         * win32/testsuite/cleanup.vcproj:
4983         * win32/testsuite/clock.vcproj:
4984         * win32/testsuite/debug.vcproj:
4985         * win32/testsuite/dlopen.vcproj:
4986         * win32/testsuite/dynparams.vcproj:
4987         * win32/testsuite/elements.vcproj:
4988         * win32/testsuite/ghostpads.vcproj:
4989         * win32/testsuite/indexers.vcproj:
4990         * win32/testsuite/negotiation.vcproj:
4991         * win32/testsuite/parse.vcproj:
4992         * win32/testsuite/plugin.vcproj:
4993         * win32/testsuite/refcounting.vcproj:
4994         * win32/testsuite/schedulers.vcproj:
4995         * win32/testsuite/states.vcproj:
4996         * win32/testsuite/tags.vcproj:
4997         * win32/testsuite/threads.vcproj:
4998           remove old win32 stuff that isn't maintained and should be
4999           reorganized
5000
5001 2005-11-30  Andy Wingo  <wingo@pobox.com>
5002
5003         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5004         loading the gst.interfaces python module bork.
5005
5006         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5007         available since GLib 2.2. Fixes #318031.
5008
5009 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5010
5011         * Makefile.am:
5012         * check/.cvsignore:
5013         * check/Makefile.am:
5014         * check/elements/.cvsignore:
5015         * check/elements/fakesrc.c:
5016         * check/elements/fdsrc.c:
5017         * check/elements/identity.c:
5018         * check/generic/.cvsignore:
5019         * check/generic/states.c:
5020         * check/gst-libs/.cvsignore:
5021         * check/gst-libs/controller.c:
5022         * check/gst-libs/gdp.c:
5023         * check/gst/.cvsignore:
5024         * check/gst/capslist.h:
5025         * check/gst/gst.c:
5026         * check/gst/gstbin.c:
5027         * check/gst/gstbuffer.c:
5028         * check/gst/gstbus.c:
5029         * check/gst/gstcaps.c:
5030         * check/gst/gstelement.c:
5031         * check/gst/gstevent.c:
5032         * check/gst/gstghostpad.c:
5033         * check/gst/gstiterator.c:
5034         * check/gst/gstmessage.c:
5035         * check/gst/gstminiobject.c:
5036         * check/gst/gstobject.c:
5037         * check/gst/gstpad.c:
5038         * check/gst/gstpipeline.c:
5039         * check/gst/gstplugin.c:
5040         * check/gst/gstsegment.c:
5041         * check/gst/gststructure.c:
5042         * check/gst/gstsystemclock.c:
5043         * check/gst/gsttag.c:
5044         * check/gst/gstutils.c:
5045         * check/gst/gstvalue.c:
5046         * check/net/.cvsignore:
5047         * check/net/gstnetclientclock.c:
5048         * check/net/gstnettimeprovider.c:
5049         * check/pipelines/.cvsignore:
5050         * check/pipelines/cleanup.c:
5051         * check/pipelines/simple_launch_lines.c:
5052         * check/pipelines/stress.c:
5053         * check/states/.cvsignore:
5054         * check/states/sinks.c:
5055         * configure.ac:
5056         * examples/Makefile.am:
5057         * examples/appreader/.cvsignore:
5058         * examples/appreader/Makefile.am:
5059         * examples/appreader/appreader.c:
5060         * examples/controller/.cvsignore:
5061         * examples/controller/Makefile.am:
5062         * examples/controller/audio-example.c:
5063         * examples/cutter/.cvsignore:
5064         * examples/cutter/Makefile.am:
5065         * examples/cutter/cutter.c:
5066         * examples/cutter/cutter.h:
5067         * examples/events/Makefile.am:
5068         * examples/events/seek.c:
5069         * examples/helloworld/.cvsignore:
5070         * examples/helloworld/Makefile.am:
5071         * examples/helloworld/helloworld.c:
5072         * examples/helloworld2/.cvsignore:
5073         * examples/helloworld2/Makefile.am:
5074         * examples/helloworld2/helloworld2.c:
5075         * examples/launch/.cvsignore:
5076         * examples/launch/Makefile.am:
5077         * examples/launch/mp3parselaunch.c:
5078         * examples/launch/mp3play:
5079         * examples/manual/.cvsignore:
5080         * examples/manual/Makefile.am:
5081         * examples/manual/extract.pl:
5082         * examples/metadata/Makefile.am:
5083         * examples/metadata/read-metadata.c:
5084         * examples/mixer/.cvsignore:
5085         * examples/mixer/Makefile.am:
5086         * examples/mixer/mixer.c:
5087         * examples/mixer/mixer.h:
5088         * examples/pingpong/.cvsignore:
5089         * examples/pingpong/Makefile.am:
5090         * examples/pingpong/pingpong.c:
5091         * examples/plugins/.cvsignore:
5092         * examples/plugins/Makefile.am:
5093         * examples/plugins/example.c:
5094         * examples/plugins/example.h:
5095         * examples/pwg/.cvsignore:
5096         * examples/pwg/Makefile.am:
5097         * examples/pwg/extract.pl:
5098         * examples/queue/.cvsignore:
5099         * examples/queue/Makefile.am:
5100         * examples/queue/queue.c:
5101         * examples/queue2/.cvsignore:
5102         * examples/queue2/Makefile.am:
5103         * examples/queue2/queue2.c:
5104         * examples/queue3/.cvsignore:
5105         * examples/queue3/Makefile.am:
5106         * examples/queue3/queue3.c:
5107         * examples/queue4/.cvsignore:
5108         * examples/queue4/Makefile.am:
5109         * examples/queue4/queue4.c:
5110         * examples/retag/.cvsignore:
5111         * examples/retag/Makefile.am:
5112         * examples/retag/retag.c:
5113         * examples/retag/transcode.c:
5114         * examples/thread/.cvsignore:
5115         * examples/thread/Makefile.am:
5116         * examples/thread/thread.c:
5117         * examples/typefind/.cvsignore:
5118         * examples/typefind/Makefile.am:
5119         * examples/typefind/typefind.c:
5120         * examples/xml/.cvsignore:
5121         * examples/xml/Makefile.am:
5122         * examples/xml/createxml.c:
5123         * examples/xml/runxml.c:
5124         * tests/Makefile.am:
5125         * tests/check/Makefile.am:
5126         * testsuite/.cvsignore:
5127         * testsuite/Makefile.am:
5128         * testsuite/Rules:
5129         * testsuite/caps/.cvsignore:
5130         * testsuite/caps/Makefile.am:
5131         * testsuite/caps/app_fixate.c:
5132         * testsuite/caps/audioscale.c:
5133         * testsuite/caps/caps.c:
5134         * testsuite/caps/caps.h:
5135         * testsuite/caps/caps_strings:
5136         * testsuite/caps/compatibility.c:
5137         * testsuite/caps/deserialize.c:
5138         * testsuite/caps/enumcaps.c:
5139         * testsuite/caps/eratosthenes.c:
5140         * testsuite/caps/filtercaps.c:
5141         * testsuite/caps/fixed.c:
5142         * testsuite/caps/fraction-convert.c:
5143         * testsuite/caps/fraction-multiply-and-zero.c:
5144         * testsuite/caps/intersect2.c:
5145         * testsuite/caps/intersection.c:
5146         * testsuite/caps/normalisation.c:
5147         * testsuite/caps/random.c:
5148         * testsuite/caps/renegotiate.c:
5149         * testsuite/caps/sets.c:
5150         * testsuite/caps/simplify.c:
5151         * testsuite/caps/string-conversions.c:
5152         * testsuite/caps/structure.c:
5153         * testsuite/caps/subtract.c:
5154         * testsuite/caps/union.c:
5155         * testsuite/debug/.cvsignore:
5156         * testsuite/debug/Makefile.am:
5157         * testsuite/debug/category.c:
5158         * testsuite/debug/commandline.c:
5159         * testsuite/debug/global.c:
5160         * testsuite/debug/output.c:
5161         * testsuite/debug/printf_extension.c:
5162         * testsuite/dlopen/.cvsignore:
5163         * testsuite/dlopen/Makefile.am:
5164         * testsuite/dlopen/dlopen_gst.c:
5165         * testsuite/dlopen/loadgst.c:
5166         * testsuite/elements/.cvsignore:
5167         * testsuite/elements/Makefile.am:
5168         * testsuite/elements/gst-inspect-check.in:
5169         * testsuite/elements/struct_i386.h:
5170         * testsuite/elements/struct_size.c:
5171         * testsuite/indexers/.cvsignore:
5172         * testsuite/indexers/Makefile.am:
5173         * testsuite/indexers/cache1.c:
5174         * testsuite/indexers/indexdump.c:
5175         * testsuite/parse/.cvsignore:
5176         * testsuite/parse/Makefile.am:
5177         * testsuite/parse/parse1.c:
5178         * testsuite/parse/parse2.c:
5179         * testsuite/plugin/.cvsignore:
5180         * testsuite/plugin/Makefile.am:
5181         * testsuite/plugin/README:
5182         * testsuite/plugin/dynamic.c:
5183         * testsuite/plugin/linked.c:
5184         * testsuite/plugin/loading.c:
5185         * testsuite/plugin/registry.c:
5186         * testsuite/plugin/static.c:
5187         * testsuite/plugin/static2.c:
5188         * testsuite/plugin/testplugin.c:
5189         * testsuite/plugin/testplugin2.c:
5190         * testsuite/plugin/testplugin2_s.c:
5191         * testsuite/plugin/testplugin_s.c:
5192         * testsuite/refcounting/.cvsignore:
5193         * testsuite/refcounting/Makefile.am:
5194         * testsuite/refcounting/bin.c:
5195         * testsuite/refcounting/element.c:
5196         * testsuite/refcounting/element_pad.c:
5197         * testsuite/refcounting/mainloop.c:
5198         * testsuite/refcounting/mem.c:
5199         * testsuite/refcounting/mem.h:
5200         * testsuite/refcounting/object.c:
5201         * testsuite/refcounting/pad.c:
5202         * testsuite/refcounting/sched.c:
5203         * testsuite/refcounting/thread.c:
5204         * testsuite/states/.cvsignore:
5205         * testsuite/states/Makefile.am:
5206         * testsuite/states/bin.c:
5207         * testsuite/states/locked.c:
5208         * testsuite/states/parent.c:
5209         * testsuite/threads/.cvsignore:
5210         * testsuite/threads/159566.c:
5211         * testsuite/threads/159852.c:
5212         * testsuite/threads/Makefile.am:
5213         * testsuite/threads/queue.c:
5214         * testsuite/threads/signals.c:
5215         * testsuite/threads/staticrec.c:
5216         * testsuite/threads/thread.c:
5217         * testsuite/threads/threadb.c:
5218         * testsuite/threads/threadc.c:
5219         * testsuite/threads/threadd.c:
5220         * testsuite/threads/threade.c:
5221         * testsuite/threads/threadf.c:
5222         * testsuite/threads/threadg.c:
5223         * testsuite/threads/threadh.c:
5224         * testsuite/threads/threadi.c:
5225           move all of these under tests
5226
5227 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5228
5229         * configure.ac:
5230         * tests/Makefile.am:
5231           fix distcheck
5232
5233 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5234
5235         * docs/gst/gstreamer-sections.txt:
5236         * tests/sched/.cvsignore:
5237         * tests/sched/Makefile.am:
5238         * tests/sched/cases/(fs-fs).xml:
5239         * tests/sched/cases/(fs-i-fs).xml:
5240         * tests/sched/cases/(fs-i-i-fs).xml:
5241         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5242         * tests/sched/dynamic-pipeline.c:
5243         * tests/sched/interrupt1.c:
5244         * tests/sched/interrupt2.c:
5245         * tests/sched/interrupt3.c:
5246         * tests/sched/runtestcases:
5247         * tests/sched/runxml.c:
5248         * tests/sched/sched-stress.c:
5249         * tests/sched/sort.c:
5250         * tests/sched/testcases:
5251         * tests/sched/testcases1.tc:
5252         * tests/seeking/.cvsignore:
5253         * tests/seeking/Makefile.am:
5254         * tests/seeking/seeking1.c:
5255         * tests/threadstate/.cvsignore:
5256         * tests/threadstate/Makefile.am:
5257         * tests/threadstate/test1.c:
5258         * tests/threadstate/test2.c:
5259         * tests/threadstate/threadstate1.c:
5260         * tests/threadstate/threadstate2.c:
5261         * tests/threadstate/threadstate3.c:
5262         * tests/threadstate/threadstate4.c:
5263         * tests/threadstate/threadstate5.c:
5264           remove obsolete tests
5265         * configure.ac:
5266         * tests/bench-complexity.scm:
5267         * tests/bench-mass_elements.scm:
5268         * tests/complexity.c:
5269         * tests/complexity.gnuplot:
5270         * tests/instantiate/.cvsignore:
5271         * tests/instantiate/Makefile.am:
5272         * tests/instantiate/caps.c:
5273         * tests/mass_elements.c:
5274         * tests/network-clock-utils.scm:
5275         * tests/network-clock.scm:
5276         * tests/plot-data:
5277         First pass at cleaning up tests/ dir before moving the rest
5278         Combined with CVS surgery
5279
5280 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5281
5282         * po/POTFILES.in:
5283           queue has moved, update
5284
5285 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5286
5287         * docs/gst/gstreamer-sections.txt:
5288           remove double entries from the docs
5289         * gst/gst_private.h:
5290         * gst/gstinfo.c: (_gst_debug_init):
5291           remove the THREAD debug category
5292         * gst/Makefile.am:
5293         * gst/gstqueue.c:
5294         * gst/gstqueue.h:
5295         * docs/gst/gstreamer.types:
5296         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5297         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5298           completely move queue and fix up debugging categories
5299
5300 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5301
5302         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5303           make initialization portable, using LL is not
5304
5305 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5306
5307         * win32/common/gstconfig.h:
5308           add large padding
5309
5310 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5311
5312         * win32/common/libgstreamer.def:
5313           rename symbols; sort base section
5314
5315 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5316
5317         * gst/gstclock.c: (do_linear_regression):
5318           remove crack non-portable handrolled DEBUG macro
5319
5320 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5321
5322         * docs/random/release:
5323           update notes
5324         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5325         (gst_object_flags_get_type), (register_gst_bin_flags),
5326         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5327         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5328         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5329         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5330         (gst_caps_flags_get_type), (register_gst_clock_return),
5331         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5332         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5333         (gst_clock_flags_get_type), (register_gst_state),
5334         (gst_state_get_type), (register_gst_state_change_return),
5335         (gst_state_change_return_get_type), (register_gst_state_change),
5336         (gst_state_change_get_type), (register_gst_element_flags),
5337         (gst_element_flags_get_type), (register_gst_core_error),
5338         (gst_core_error_get_type), (register_gst_library_error),
5339         (gst_library_error_get_type), (register_gst_resource_error),
5340         (gst_resource_error_get_type), (register_gst_stream_error),
5341         (gst_stream_error_get_type), (register_gst_event_type_flags),
5342         (gst_event_type_flags_get_type), (register_gst_event_type),
5343         (gst_event_type_get_type), (register_gst_seek_type),
5344         (gst_seek_type_get_type), (register_gst_seek_flags),
5345         (gst_seek_flags_get_type), (register_gst_format),
5346         (gst_format_get_type), (register_gst_index_certainty),
5347         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5348         (gst_index_entry_type_get_type),
5349         (register_gst_index_lookup_method),
5350         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5351         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5352         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5353         (gst_index_flags_get_type), (register_gst_debug_level),
5354         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5355         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5356         (gst_iterator_result_get_type), (register_gst_iterator_item),
5357         (gst_iterator_item_get_type), (register_gst_message_type),
5358         (gst_message_type_get_type), (register_gst_mini_object_flags),
5359         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5360         (gst_pad_link_return_get_type), (register_gst_flow_return),
5361         (gst_flow_return_get_type), (register_gst_activate_mode),
5362         (gst_activate_mode_get_type), (register_gst_pad_direction),
5363         (gst_pad_direction_get_type), (register_gst_pad_flags),
5364         (gst_pad_flags_get_type), (register_gst_pad_presence),
5365         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5366         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5367         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5368         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5369         (gst_plugin_flags_get_type), (register_gst_rank),
5370         (gst_rank_get_type), (register_gst_query_type),
5371         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5372         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5373         (gst_tag_flag_get_type), (register_gst_task_state),
5374         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5375         (gst_alloc_trace_flags_get_type),
5376         (register_gst_type_find_probability),
5377         (gst_type_find_probability_get_type), (register_gst_uri_type),
5378         (gst_uri_type_get_type), (register_gst_parse_error),
5379         (gst_parse_error_get_type):
5380         * win32/common/gstenumtypes.h:
5381         * win32/common/gstversion.h:
5382           update visual studio generated files
5383
5384 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5385
5386         * win32/vs6/libgstbase.dsp:
5387         * win32/vs6/libgstelements.dsp:
5388           update project files for new locations
5389
5390 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5391
5392         * Makefile.am:
5393           remove some files
5394         * README:
5395           reinstate and update
5396         * DEVEL:
5397         * REQUIREMENTS:
5398           removed
5399         * LICENSE:
5400         * docs/random/LICENSE:
5401           moved to random
5402
5403 2005-11-30  Edward Hervey  <edward@fluendo.com>
5404
5405         * gst/gsttypefind.c: (gst_type_find_register):
5406         * gst/gsttypefind.h:
5407         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5408         (gst_type_find_factory_dispose):
5409         * gst/gsttypefindfactory.h:
5410         Fix memory leak in GstTypeFindFactory.
5411
5412 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5413
5414         * gst/gst.c:
5415         * plugins/elements/Makefile.am:
5416         * plugins/elements/gstelements.c:
5417         * plugins/elements/gstqueue.c:
5418           move queue from core to the elements plugin
5419
5420 2005-11-29  Andy Wingo  <wingo@pobox.com>
5421
5422         * libs/gst/base/gstbasetransform.h: 
5423         * libs/gst/base/gstbasesrc.h: 
5424         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5425
5426         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5427         of pointers by which to pad very extensible base classes (like the
5428         ones in libs/gst/base).
5429
5430 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5431
5432         * docs/gst/gstreamer-docs.sgml:
5433         * docs/gst/gstreamer-sections.txt:
5434         * docs/libs/gstreamer-libs-docs.sgml:
5435         * docs/libs/gstreamer-libs-sections.txt:
5436           moving documentation from core to lib
5437
5438 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5439
5440         * check/Makefile.am:
5441         * configure.ac:
5442         * docs/gst/Makefile.am:
5443         * gst/Makefile.am:
5444         * gst/base/.cvsignore:
5445         * gst/base/Makefile.am:
5446         * gst/base/README:
5447         * gst/base/gstadapter.c:
5448         * gst/base/gstadapter.h:
5449         * gst/base/gstbasesink.c:
5450         * gst/base/gstbasesink.h:
5451         * gst/base/gstbasesrc.c:
5452         * gst/base/gstbasesrc.h:
5453         * gst/base/gstbasetransform.c:
5454         * gst/base/gstbasetransform.h:
5455         * gst/base/gstcollectpads.c:
5456         * gst/base/gstcollectpads.h:
5457         * gst/base/gstpushsrc.c:
5458         * gst/base/gstpushsrc.h:
5459         * gst/base/gsttypefindhelper.c:
5460         * gst/base/gsttypefindhelper.h:
5461         * gst/check/Makefile.am:
5462         * gst/check/gstcheck.c:
5463         * gst/check/gstcheck.h:
5464         * gst/net/Makefile.am:
5465         * gst/net/gstnet.h:
5466         * gst/net/gstnetclientclock.c:
5467         * gst/net/gstnetclientclock.h:
5468         * gst/net/gstnettimepacket.c:
5469         * gst/net/gstnettimepacket.h:
5470         * gst/net/gstnettimeprovider.c:
5471         * gst/net/gstnettimeprovider.h:
5472         * libs/gst/Makefile.am:
5473         * libs/gst/base/Makefile.am:
5474         * libs/gst/base/gstbasetransform.c:
5475         * libs/gst/check/Makefile.am:
5476         * plugins/elements/Makefile.am:
5477         * po/POTFILES.in:
5478           CVS surgery + support to move base, check, and net out of gst
5479           and into libs/gst
5480
5481 2005-11-29  Andy Wingo  <wingo@pobox.com>
5482
5483         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5484
5485         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5486         padding.
5487
5488         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5489
5490         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5491
5492         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5493
5494         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5495         padding; reduces object size by about 30%. We don't expect
5496         anything else to go into gstobject.
5497
5498         * gst/gstminiobject.h (struct _GstMiniObject)
5499         (struct _GstMiniObjectClass): Only one pointer of padding; the
5500         payload is only a pointer and two ints anyway. For the class there
5501         are only two methods as well.
5502         
5503         * gst/gstelement.h (struct _GstElementClass): Removed
5504         the state_changed signal callback, it is not used.
5505
5506 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5507
5508         * docs/gst/gstreamer.types:
5509           fix includes, though they are a little dinky
5510
5511 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5512
5513         * check/Makefile.am:
5514           look in the right place for elements, a lot more chance of
5515           success
5516         * gst/Makefile.am:
5517           remove indexers and elements subdirs
5518         * plugins/Makefile.am:
5519           make indexers conditional
5520
5521 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5522
5523         * Makefile.am:
5524         * configure.ac:
5525         * plugins/elements/Makefile.am:
5526         * plugins/elements/gstcapsfilter.c:
5527         * plugins/elements/gstfilesink.c:
5528         * plugins/elements/gstfilesrc.c:
5529         * plugins/elements/gstidentity.c:
5530         * plugins/indexers/Makefile.am:
5531           do CVS surgery and related build fixery to move elements
5532           and indexers in a new gstreamer/plugins directory, out of the
5533           gst/ directory
5534
5535 2005-11-29  Andy Wingo  <wingo@pobox.com>
5536
5537         * check/Makefile.am:
5538         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5539         * pkgconfig/gstreamer-net.pc.in:
5540         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5541         #322257.
5542
5543 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5544
5545         * tools/Makefile.am:
5546         * tools/gst-complete.1.in:
5547         * tools/gst-complete.c:
5548         * tools/gst-compprep.1.in:
5549         * tools/gst-compprep.c:
5550           removing -compprep and -complete
5551
5552 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5553
5554         * gst/gstevent.c: (gst_event_new_new_segment),
5555         (gst_event_parse_new_segment):
5556         * gst/gstevent.h:
5557           fix #320529 - clean up new_segment API and structure.
5558           Let's hope everyone was using the methods, and not the structure.
5559
5560 2005-11-29  Edward Hervey  <edward@fluendo.com>
5561
5562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5563         (gst_base_sink_event), (gst_base_sink_do_sync),
5564         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5565         Properly handle non GST_FORMAT_TIME segment
5566         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5567         Properly handle non GST_FORMAT_TIME segment
5568         * gst/gstsegment.c:
5569         This function is valid if the accumulator is 0 and the format
5570         is different from the requested format.
5571         
5572 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5573
5574         * docs/gst/gstreamer-sections.txt:
5575         Add gst_query_new_seeking and gst_query_parse_seeking to the
5576         docs.
5577
5578 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5579
5580         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5581           Treat a pad alloc with new caps the same as if we were not
5582           negotiated, in order to allow a changing upstream output
5583           to produce a new format of data.
5584
5585 2005-11-29  Edward Hervey  <edward@fluendo.com>
5586
5587         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5588         (gst_base_transform_event), (gst_base_transform_eventfunc):
5589         The event virtual method is now properly implemented, with a default
5590         handler
5591         Sub classes should call the parent_class event method. They should
5592         return FALSE if they had a problem handling the given event, or don't
5593         want GstBaseTransform to send that even downstream
5594         * gst/elements/gstidentity.c: (gst_identity_class_init),
5595         (gst_identity_init), (gst_identity_event),
5596         (gst_identity_transform_ip), (gst_identity_set_property),
5597         (gst_identity_get_property):
5598         * gst/elements/gstidentity.h:
5599         Added the single-segment boolean property.
5600         If set to TRUE, it will output a single segment of data, starting from
5601         0, will eat up all incoming newsegment, and modify the timestamp of the
5602         buffers accordingly
5603
5604 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5605
5606         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5607           Don't ref NULL target pad (#322751). Improve docs.
5608
5609 2005-11-29  Michael Smith  <msmith@fluendo.com>
5610
5611         * gst/gstregistryxml.c: (load_plugin):
5612           Don't crash if we failed to load a feature from a plugin. 
5613
5614 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5615
5616         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5617         (GST_START_TEST):
5618           use more check API and less GLib API
5619
5620 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5621
5622         * Makefile.am:
5623           don't run checks if we don't have check
5624         * common/check.mak:
5625           remove the registry when running make torture
5626         * docs/gst/gstreamer-sections.txt:
5627           remove second multiply
5628         * gst/gstqueue.c: (gst_queue_loop):
5629           fix a compile warning when disabling debug
5630
5631 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5632
5633         * gst/gstinfo.h:
5634         Hey! Let's print the pad name if the pointer != NULL instead
5635         of when it == NULL :-)
5636
5637 2005-11-28  Wim Taymans  <wim@fluendo.com>
5638
5639         * check/gst/gstutils.c: (GST_START_TEST):
5640         Updated check, add some scaling accuracy checking code.
5641
5642         * gst/gstutils.c: (gst_util_div128_64),
5643         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5644         (gst_util_uint64_scale_int):
5645         Fix 6 times faster division code. Optimize for common 
5646         1/1 and less common X/1 cases.
5647
5648 2005-11-28  Wim Taymans  <wim@fluendo.com>
5649
5650         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5651         More checks.
5652
5653         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5654         (do_linear_regression), (gst_clock_add_observation):
5655         Cleanups.
5656         Release lock when the clock cannot be slaved.
5657         Catch the case where the regression returned an invalid denominator.
5658
5659         * gst/gstutils.c: (gst_util_div128_64_iterate),
5660         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5661         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5662         Add protentially more performant non-iterative 128/64 divide function
5663         that unfortunatly does not work yet.
5664         Shortcut the trivial 0/X = 0 case.
5665         Remove the warnings on overflow.
5666
5667 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5668
5669         * gst/gstplugin.c: (gst_plugin_register_func):
5670           everything causing a plugin not to load should be at least a WARNING
5671
5672 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5673
5674         * docs/random/ensonic/dparams.txt:
5675           some TODOs for the next dev cycle
5676         * libs/gst/controller/gstcontroller.c:
5677         (gst_controlled_property_set_interpolation_mode),
5678         (gst_controlled_property_new):
5679         * libs/gst/controller/gstcontroller.h:
5680           use base type to assign acccessor functions
5681
5682 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5683
5684         * check/Makefile.am:
5685         Oops, that should have been top_srcdir
5686
5687 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5688
5689         * check/Makefile.am:
5690         * check/elements/fdsrc.c: (GST_START_TEST):
5691         Use a cmdline define to specify the location of a file to use for
5692         testing, to avoid breaking distcheck.
5693
5694 2005-11-28  Andy Wingo  <wingo@pobox.com>
5695
5696         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5697
5698 2005-11-28  Edward Hervey  <edward@fluendo.com>
5699
5700         * tools/gst-launch.c: (main):
5701         Clarify the output strings, makes it easier to translate.
5702         Fixes #322626
5703
5704 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5705
5706         * gst/Makefile.am:
5707           don't try and build net if we don't even have <sys/socket.h>
5708
5709 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5710
5711         * check/Makefile.am:
5712         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5713         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5714           Add tests for fdsrc seekability
5715
5716         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5717         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5718         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5719         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5720         * gst/elements/gstfdsrc.h:
5721           fdsrc should not be a 'live' source.
5722           Implement seeking on seekable fd's.
5723
5724         * gst/gstquery.c: (gst_query_new_seeking),
5725         (gst_query_parse_seeking):
5726         * gst/gstquery.h:
5727           Implement SEEKING query functions: 
5728             *_new_seeking and *_parse_seeking
5729
5730 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5731
5732         * gst/gstelement.c: (gst_element_dispose):
5733           don't loop forever
5734
5735         * gst/gstiterator.c:
5736         * gst/gststructure.c:
5737           doc fixes
5738
5739         * libs/gst/controller/gstcontroller.c:
5740         (gst_controlled_property_set_interpolation_mode):
5741         * libs/gst/controller/gstcontroller.h:
5742         * libs/gst/controller/gstinterpolation.c:
5743         (interpolate_none_get_enum_value_array):
5744           support controlling enums
5745
5746 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5747
5748         * gst/gstvalue.c:
5749           Improve documentation for gst_value_union().
5750
5751         * gst/gstvalue.h:
5752           Change return value for union, intersect and subtract functions
5753           from gint to gboolean.
5754
5755 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5756
5757         * gst/gstvalue.c: (gst_value_serialize_any_list),
5758         (gst_value_transform_any_list_string),
5759         (gst_value_deserialize_list), (gst_value_deserialize_array),
5760         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5761         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5762         (gst_value_set_fraction_range_full),
5763         (gst_value_deserialize_fraction_range),
5764         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5765         (gst_value_deserialize_boolean),
5766         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5767         (gst_value_serialize_float), (gst_value_deserialize_float),
5768         (gst_string_wrap), (gst_value_deserialize_string),
5769         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5770         (gst_value_union_int_range_int_range),
5771         (gst_value_intersect_int_range_int_range),
5772         (gst_value_intersect_double_range_double_range),
5773         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5774         (gst_value_subtract_int_range_int_range),
5775         (gst_value_subtract_double_double_range),
5776         (gst_value_subtract_double_range_double_range),
5777         (gst_value_deserialize_fraction):
5778         * gst/gstvalue.h:
5779           Use gint, gdouble and gchar in our API instead of int, double and
5780           char (and make usage in gstvalue.c more consistent).
5781
5782 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5783
5784         * check/Makefile.am:
5785         * libs/gst/controller/Makefile.am:
5786         * libs/gst/dataprotocol/Makefile.am:
5787           fix up Makefile.am and remove GST_ENABLE_NEW
5788
5789 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5790
5791         * configure.ac:
5792         * gst/Makefile.am:
5793         * gst/base/Makefile.am:
5794         * gst/check/Makefile.am:
5795         * gst/elements/Makefile.am:
5796         * gst/net/Makefile.am:
5797           update LDFLAGS use some more
5798
5799 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5800
5801         * common/m4/gst-doc.m4:
5802           Fixes #312589
5803
5804 2005-11-26  Edward Hervey  <edward@fluendo.com>
5805
5806         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5807         This shouldn't issue a g_warning since it returns NULL if it
5808         couldn't find the plugin, and all functions using this behave
5809         properly on a NULL return. Switching to a GST_WARNING.
5810
5811 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5812
5813         * gst/gstbin.c: (gst_bin_handle_message_func):
5814         Don't leak clock messages.
5815
5816 2005-11-25  Wim Taymans  <wim@fluendo.com>
5817
5818         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5819         (gst_util_uint64_scale_int):
5820         Optimisations, remove unneeded vars.
5821
5822 2005-11-25  Wim Taymans  <wim@fluendo.com>
5823
5824         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5825         Added more checks for the high precision uint64 cases.
5826
5827         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5828         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5829         Implement high precision (guint64 * guint64) / guint64.
5830
5831 2005-11-24  Wim Taymans  <wim@fluendo.com>
5832
5833         * gst/base/gstbasesrc.c: (gst_base_src_query):
5834         Fix wrong percentage query.
5835
5836         * gst/gstutils.c: (gst_util_uint64_scale),
5837         (gst_util_uint64_scale_int):
5838         Add some more common cases that can be handled 
5839         efficiently to _scale.
5840
5841 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5842
5843         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5844         (gst_mini_object_suite):
5845           don't use check calls from threads; check probably isn't
5846           threadsafe and using a lock to make it threadsafe would
5847           defeat the purpose of this check
5848         * gst/check/gstcheck.c:
5849         * gst/check/gstcheck.h:
5850           use GST_DEBUG some more
5851
5852 2005-11-24  Wim Taymans  <wim@fluendo.com>
5853
5854         * gst/gstutils.c: (gst_util_uint64_scale),
5855         (gst_util_uint64_scale_int):
5856         Chain trivial case to _scale_int.
5857
5858 2005-11-24  Wim Taymans  <wim@fluendo.com>
5859
5860         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5861         Added test for scaling.
5862
5863         * gst/gstclock.h:
5864         Small doc fix.
5865
5866         * gst/gstutils.c: (gst_util_uint64_scale_int):
5867         Implemented high precision scaling code.
5868
5869 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5870
5871         * gst/gstinfo.h:
5872           do not crash on pad==NULL
5873
5874 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5875
5876         Patch by: Stefan Kost
5877
5878         * common/gtk-doc.mak:
5879         * docs/gst/Makefile.am:
5880         * docs/libs/Makefile.am:
5881           Fix distcheck issues for the libraries docs build
5882           Closes #319599.
5883
5884 2005-11-24  Michael Smith <msmith@fluendo.com>
5885
5886         * docs/manual/basics-helloworld.xml:
5887           Fix bug #315027: memory leak in example code in docs.
5888
5889 2005-11-24  Michael Smith <msmith@fluendo.com>
5890
5891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5892           Unlock the PREROLL_LOCK in a failure case.
5893
5894 2005-11-24  Wim Taymans  <wim@fluendo.com>
5895
5896         * docs/gst/gstreamer-sections.txt:
5897         * gst/base/gstadapter.h:
5898         * gst/base/gstbasesink.h:
5899         * gst/base/gstbasesrc.h:
5900         * gst/base/gstbasetransform.h:
5901         * gst/base/gstpushsrc.h:
5902         * gst/elements/gstfakesink.h:
5903         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5904         * gst/elements/gstfakesrc.h:
5905         * gst/elements/gstfilesink.h:
5906         * gst/elements/gstfilesrc.h:
5907         * gst/gst.c:
5908         * gst/gstbin.c:
5909         * gst/gstbuffer.c: (_gst_buffer_copy):
5910         * gst/gstbus.h:
5911         * gst/gstcaps.c:
5912         * gst/gstchildproxy.c:
5913         * gst/gstclock.c:
5914         * gst/gstelement.c:
5915         * gst/gstelementfactory.c:
5916         * gst/gstelementfactory.h:
5917         * gst/gstevent.c:
5918         * gst/gstghostpad.h:
5919         * gst/gstindex.h:
5920         * gst/gstinterface.h:
5921         * gst/gstminiobject.c:
5922         * gst/gstminiobject.h:
5923         * gst/gstpad.c:
5924         * gst/gstpad.h:
5925         * gst/gstpadtemplate.h:
5926         * gst/gstpipeline.h:
5927         * gst/gstpluginfeature.h:
5928         * gst/gstquery.h:
5929         * gst/gstqueue.h:
5930         * gst/gsttaglist.c:
5931         * gst/gsttaglist.h:
5932         * gst/gsttagsetter.c:
5933         * gst/gsttagsetter.h:
5934         * gst/gsttrace.c:
5935         * gst/gsttrace.h:
5936         * gst/gsttypefind.h:
5937         * gst/gsturi.h:
5938         * gst/gstvalue.c:
5939         * gst/net/gstnetclientclock.c:
5940         * gst/net/gstnetclientclock.h:
5941         * gst/net/gstnettimepacket.c:
5942         * gst/net/gstnettimeprovider.c:
5943         * gst/net/gstnettimeprovider.h:
5944         Doc fixes.
5945
5946 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5947
5948         * configure.ac: back to HEAD
5949
5950 === release 0.9.6 ===
5951
5952 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5953
5954         * configure.ac:
5955           releasing 0.9.6, "Always On Time"
5956
5957 2005-11-23  Wim Taymans  <wim@fluendo.com>
5958
5959         * docs/gst/gstreamer-sections.txt:
5960         * gst/glib-compat.c:
5961         * gst/gsttagsetter.c:
5962         * gst/gstvalue.c:
5963         * gst/net/gstnetclientclock.c:
5964         * gst/net/gstnettimepacket.h:
5965         Doc updates.
5966
5967 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5968
5969         * docs/faq/using.xml:
5970         * docs/libs/tmpl/gstcontrol.sgml:
5971         * docs/manual/advanced-dparams.xml:
5972         * docs/manual/appendix-checklist.xml:
5973         * docs/manual/basics-elements.xml:
5974         * docs/pwg/other-source.xml:
5975         * docs/random/moving-plugins:
5976         * gst/gstpad.c:
5977         * tools/gst-launch.1.in:
5978           remove mentions of sinesrc
5979
5980 2005-11-23  Michael Smith <msmith@fluendo.com>
5981
5982         * docs/gst/gstreamer-sections.txt:
5983           Update for new API and API changes.
5984         * gst/gstobject.h:
5985           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5986         * gst/gstvalue.c:
5987           Documentation typo fix.
5988         * gst/net/gstnettimepacket.c:
5989           Documentation fixes for arguments.
5990
5991 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5992
5993         * gst/gststructure.c: (gst_structure_get_fraction),
5994         (gst_structure_parse_value),
5995         (gst_structure_fixate_field_nearest_fraction):
5996         * gst/gststructure.h:
5997         * gst/gstutils.c: (gst_util_uint64_scale_int):
5998         * gst/gstutils.h:
5999         * scripts/update-funcnames:
6000         API Changes. 
6001         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6002         Make gst_structure_fixate_field_nearest_fraction take a numerator
6003         and denominator argument instead of a GValue
6004         add gst_structure_get_fraction helper function.
6005
6006 2005-11-23  Wim Taymans  <wim@fluendo.com>
6007
6008         * docs/design/part-TODO.txt:
6009         Update TODO.
6010
6011         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6012         * gst/net/gstnetclientclock.h:
6013         Use parent fields for timeout and window_size.
6014
6015 2005-11-23  Andy Wingo  <wingo@pobox.com>
6016
6017         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6018         rate_num/rate_denom change.
6019
6020         * gst/net/gstnetclientclock.c
6021         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6022         OBJECT_LOCK. Don't call add_observation with the lock.
6023
6024         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6025         fraction.
6026         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6027         rate fraction.
6028         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6029         deal with rate as a fraction whose numerator and denominator are
6030         GstClockTime values.
6031         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6032         master; the other fields are protected by the SLAVE_LOCK.
6033         (do_linear_regression): Note that this must be called with the
6034         SLAVE_LOCK.
6035         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6036         OBJECT_LOCK. Call set_calibration instead of touching the
6037         variables directly.
6038         (gst_clock_set_property, gst_clock_get_property): Protect
6039         master/slave parameters with the SLAVE_LOCK.
6040
6041         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6042         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6043         note that all of the instance variables that add_observation and
6044         the set_master functions use are protected by that lock and not
6045         the OBJECT_LOCK.
6046         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6047
6048         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6049         the caller to take the object lock.
6050
6051 2005-11-23  Wim Taymans  <wim@fluendo.com>
6052
6053         * gst/gsterror.c: (_gst_core_errors_init):
6054         * gst/gsterror.h:
6055         Add error for clock stuff.
6056
6057         * gst/gstpipeline.c: (gst_pipeline_change_state),
6058         (gst_pipeline_set_clock):
6059         Post clock error when clock cannot be used in a pipeline.
6060
6061 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6062
6063         * docs/gst/gstreamer-sections.txt:
6064           make two symbols from gstinfo private for the docs
6065         * gst/base/gstcollectpads.h:
6066         * gst/gstutils.c:
6067           fix doc typos, update docs
6068
6069 2005-11-22  Wim Taymans  <wim@fluendo.com>
6070
6071         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6072         (gst_base_sink_wait), (gst_base_sink_do_sync),
6073         (gst_base_sink_handle_event):
6074         * gst/base/gstbasesink.h:
6075         No need to store the clock, the parent element class already
6076         has it.
6077
6078         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6079         Updates for clock_set returning a gboolean
6080
6081         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6082         (gst_clock_id_wait_async), (gst_clock_class_init),
6083         (gst_clock_init), (gst_clock_finalize),
6084         (gst_clock_get_internal_time), (gst_clock_get_time),
6085         (gst_clock_slave_callback), (gst_clock_set_master),
6086         (gst_clock_get_master), (do_linear_regression),
6087         (gst_clock_add_observation), (gst_clock_set_property),
6088         (gst_clock_get_property):
6089         * gst/gstclock.h:
6090         Implement master/slave. When setting a clock as a slave, a
6091         periodic timeout is scheduled to sample master and slave times.
6092         Then the slave clock is recalibrated to match offset and rate
6093         of the master clock.
6094         Update logging a bit.
6095         Add flag so that a clock can state that is cannot be slaved to
6096         another clock.
6097
6098         * gst/gstelement.c: (gst_element_set_clock):
6099         * gst/gstelement.h:
6100         The set clock returns a gboolean for when an element cannot
6101         deal with the selected clock in the pipeline. 
6102
6103         * gst/gstpipeline.c: (gst_pipeline_change_state),
6104         (gst_pipeline_set_clock):
6105         * gst/gstpipeline.h:
6106         Handle the case where the selected clock cannot be set on
6107         the pipeline.
6108
6109         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6110         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6111         (gst_net_client_clock_set_property),
6112         (gst_net_client_clock_get_property),
6113         (gst_net_client_clock_observe_times):
6114         * gst/net/gstnetclientclock.h:
6115         Use regression code in GstClock parent, remove duplicated
6116         functionality.
6117
6118 2005-11-22  Michael Smith <msmith@fluendo.com>
6119
6120         * gst/gstutils.c: (gst_util_clock_time_scale):
6121         * gst/gstutils.h:
6122         * docs/gst/gstreamer-sections.txt:
6123           Rename method to have extra underscore.
6124
6125 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6126
6127         * gst/elements/Makefile.am:
6128         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6129         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6130         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6131         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6132         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6133         * gst/elements/gstfakesrc.h:
6134         * gst/gstqueue.c: (queue_leaky_get_type):
6135           correctly fix GEnumValues so that nick is the short lowercase
6136           dashed tag
6137         * tools/gst-inspect.c: (print_element_properties_info):
6138           also show the nick, since it's useful to use from parse_launch
6139           syntax
6140           Fixes #322139
6141
6142 2005-11-22  Michael Smith <msmith@fluendo.com>
6143
6144         * gst/gstutils.c: (gst_util_clocktime_scale):
6145         * gst/gstutils.h:
6146         * docs/gst/gstreamer-sections.txt:
6147           Add util method for scaling a clocktime by a fraction. Useful 
6148           implementation is left as an exercise for the reader.
6149
6150 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6151
6152         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6153         If needed, allocate storage in the destination value during
6154         collection.
6155
6156 2005-11-22  Edward Hervey  <edward@fluendo.com>
6157
6158         * docs/gst/gstreamer-sections.txt:
6159         * gst/Makefile.am:
6160         * gst/gst.h:
6161         * gst/gsturitype.c:
6162         * gst/gsturitype.h:
6163         * gst/gstutils.c: (gst_util_set_object_arg):
6164         * tools/gst-compprep.c: (main):
6165         * tools/gst-inspect.c: (print_element_properties_info):
6166         Removed GstURI, closes bug #321061
6167
6168 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6169
6170         * check/gst/gststructure.c: (GST_START_TEST):
6171         * gst/gststructure.c: (gst_structure_parse_value):
6172           Oops, broke automatic string type parsing.
6173           Add a test to catch it in future.
6174
6175 2005-11-22  Andy Wingo  <wingo@pobox.com>
6176
6177         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6178         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6179         Actually rename the function implementations. Grr.
6180
6181 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6182
6183         * check/gst/capslist.h:
6184           Comment test cases
6185         * check/gst/gststructure.c: (GST_START_TEST),
6186         (gst_structure_suite):
6187           Test automatic value type detection in gst_structure_from_string.
6188         * gst/gststructure.c: (gst_structure_parse_value):
6189           Add fraction as a type we try and guess automatically in
6190           caps/structure strings.
6191
6192 2005-11-22  Andy Wingo  <wingo@pobox.com>
6193
6194         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6195
6196         * gst/gsttagsetter.h:
6197         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6198         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6199         (gst_tag_setter_add_tag_valist)
6200         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6201         _add_values, _add_valist, and _add_valist_values. Since this is an
6202         interface the function suffixes should be more explicit so
6203         language binding don't end up with element.add_valist ->
6204         gst_tag_setter_add_valist, for example. Fixes #322069.
6205
6206 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6207
6208         * check/gst/gstcaps.c: (GST_START_TEST):
6209           Extend caps string tests to check that a caps to string
6210           conversion is reversible and produces the same caps.
6211
6212         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6213           Output "fraction" as the generic type fraction range, so caps
6214           serialisation and deserialisation works.
6215         * check/gst/capslist.h:
6216         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6217           Support 'MIN' and 'MAX' for deserialising fractions.
6218
6219 2005-11-22  Andy Wingo  <wingo@pobox.com>
6220
6221         * gst/gstevent.h (gst_event_new_new_segment)
6222         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6223         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6224         Renamed from *_newsegment, *_buffersize, *_notarget.
6225
6226         * scripts/update-funcnames: New script, performs the changes
6227         listed above.
6228
6229 2005-11-22  Wim Taymans  <wim@fluendo.com>
6230
6231         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6232         Make sure the GstFlowReturn is returned.
6233
6234         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6235         (gst_bus_add_signal_watch):
6236         * gst/gstbus.h:
6237         add gst_bus_add_signal_watch_full.
6238
6239         * gst/gstplugin.c: (gst_plugin_load_file):
6240         Small style cleanup.
6241
6242 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6243
6244         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6245           Block the fakesrc srcpad when we send an event, to avoid
6246           contention on the stream_lock causing random test failures.
6247
6248 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6249
6250         * check/gst/gstvalue.c: (GST_START_TEST):
6251         * gst/gstvalue.c: (gst_value_fraction_subtract):
6252           Fix subtraction.
6253
6254 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6255
6256         * gst/gst.h:
6257           include "gstchildproxy.h"
6258         * gst/gstchildproxy.h:
6259         * libs/gst/controller/gstcontroller.h:
6260           use G_GNUC_NULL_TERMINATED
6261
6262 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6263
6264         * check/gst/capslist.h:
6265         * check/gst/gstcaps.c: (GST_START_TEST):
6266         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6267         * gst/gststructure.c: (gst_structure_parse_range),
6268         (gst_structure_fixate_field_nearest_fraction):
6269         * gst/gststructure.h:
6270         * gst/gstvalue.c: (gst_value_init_fraction_range),
6271         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6272         (gst_value_collect_fraction_range),
6273         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6274         (gst_value_set_fraction_range_full),
6275         (gst_value_get_fraction_range_min),
6276         (gst_value_get_fraction_range_max),
6277         (gst_value_serialize_fraction_range),
6278         (gst_value_transform_fraction_range_string),
6279         (gst_value_compare_fraction_range),
6280         (gst_value_deserialize_fraction_range),
6281         (gst_value_intersect_fraction_fraction_range),
6282         (gst_value_intersect_fraction_range_fraction_range),
6283         (gst_value_subtract_fraction_fraction_range),
6284         (gst_value_subtract_fraction_range_fraction),
6285         (gst_value_subtract_fraction_range_fraction_range),
6286         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6287         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6288         (gst_value_transform_string_fraction), (_gst_value_initialize):
6289         * gst/gstvalue.h:
6290           Implement fraction ranges and extend GstFraction to support
6291           arithmetic subtraction, as well as deserialization from integer
6292           strings such as "100"
6293           Add a testsuite as for int and double range set operations
6294
6295 2005-11-21  Andy Wingo  <wingo@pobox.com>
6296
6297         * gst/gsttaglist.h: 
6298         * gst/gstcaps.h: 
6299         * gst/gststructure.h: Add glib-compat.h.
6300
6301 2005-11-21  Wim Taymans  <wim@fluendo.com>
6302
6303         * gst/gstbin.c: (gst_bin_change_state_func):
6304         Fix for #321595
6305
6306 2005-11-21  Wim Taymans  <wim@fluendo.com>
6307
6308         * gst/gstsegment.h:
6309         And add a nice define too.
6310
6311 2005-11-21  Wim Taymans  <wim@fluendo.com>
6312
6313         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6314         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6315         (gst_segment_set_duration), (gst_segment_set_last_stop),
6316         (gst_segment_set_seek), (gst_segment_set_newsegment),
6317         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6318         (gst_segment_clip):
6319         * gst/gstsegment.h:
6320         Make binding friendly.
6321
6322 2005-11-21  Andy Wingo  <wingo@pobox.com>
6323
6324         * gst/gsttagsetter.h: 
6325         * gst/gsttaglist.h: 
6326         * gst/gststructure.h: 
6327         * gst/gstcaps.h: 
6328         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6329         #319940.
6330
6331         * gst/gsterror.c (_gst_core_errors_init):
6332         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6333         category.
6334
6335         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6336         (noinst_HEADERS): noinst the -private.
6337
6338 2005-11-21  Michael Smith <msmith@fluendo.com>
6339
6340         * gst/gstplugin.h:
6341         * gst/gstregistry.h:
6342           Remove unimplemented declarations for which we can see no sensible
6343           use.
6344
6345 2005-11-21  Andy Wingo  <wingo@pobox.com>
6346
6347         * gst/gst.h: Include glib-compat.h.
6348
6349         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6350
6351         * gst/glib-compat.c: Include the public and the private header.
6352
6353         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6354
6355         * gst/gstvalue.c: 
6356         * gst/gstpad.c: 
6357         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6358
6359         * check/gst/gstevent.c (create_custom_events): Check that
6360         FLUSH_STOP is serialized.
6361
6362         * check/elements/identity.c (event_func): 
6363         * check/elements/fakesrc.c (event_func): No stream lock, the core
6364         takes it.
6365
6366         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6367         stream lock taking, yay.
6368
6369         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6370         ensure that core takes the stream lock.
6371
6372         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6373         lock name change.
6374
6375         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6376         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6377         it already. For the flush start we do take it though so we get the
6378         right preroll state change messages.
6379
6380         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6381         the stream lock here, the core does it for us.
6382
6383         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6384         GST_STREAM_GET_LOCK.
6385         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6386         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6387         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6388         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6389         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6390         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6391
6392         * gst/gstpad.c: Update for stream lock name change.
6393
6394         * gst/base/gstbasesink.c: Update for preroll lock name change.
6395
6396 2005-11-21  Wim Taymans  <wim@fluendo.com>
6397
6398         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6399         (gst_clock_get_master):
6400         * gst/gstclock.h:
6401         * gst/gstsystemclock.c: (gst_system_clock_init):
6402         Convert Clock flags to object flags.
6403         Added methods to manage master/slave clocks.
6404
6405 2005-11-21  Wim Taymans  <wim@fluendo.com>
6406
6407         * check/gst/gstsegment.c: (GST_START_TEST):
6408         * docs/design/part-TODO.txt:
6409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6410         (gst_base_sink_event), (gst_base_sink_do_sync),
6411         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6412         (gst_base_sink_query), (gst_base_sink_change_state):
6413         * gst/base/gstbasesink.h:
6414         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6415         (gst_base_src_default_newsegment),
6416         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6417         (gst_base_src_get_range), (gst_base_src_loop),
6418         (gst_base_src_change_state):
6419         * gst/base/gstbasesrc.h:
6420         * gst/base/gstbasetransform.c:
6421         (gst_base_transform_prepare_output_buf),
6422         (gst_base_transform_event), (gst_base_transform_change_state):
6423         * gst/base/gstbasetransform.h:
6424         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6425         (gst_collect_pads_event):
6426         * gst/base/gstcollectpads.h:
6427         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6428         (gst_fake_src_create):
6429         * gst/elements/gstfakesrc.h:
6430         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6431         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6432         (gst_segment_set_last_stop), (gst_segment_set_seek),
6433         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6434         (gst_segment_to_running_time), (gst_segment_clip):
6435         * gst/gstsegment.h:
6436         More segment updates, replace code in plugins with segment
6437         helper functions.
6438
6439 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6440
6441         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6442         Don't ignore sscanf results
6443
6444 2005-11-21  Andy Wingo  <wingo@pobox.com>
6445
6446         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6447
6448         * *.h:
6449         * *.c: Ran scripts/update-macros. Oh yes.
6450
6451         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6452         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6453         GST_GET_LOCK, etc.
6454
6455         * scripts/update-macros: New script. Run it on your files to
6456         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6457         well.
6458
6459 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6460
6461         * docs/gst/Makefile.am:
6462         * docs/gst/gstreamer-docs.sgml:
6463         * docs/gst/gstreamer-sections.txt:
6464         * docs/gst/gstreamer.types:
6465         * gst/gstinfo.h:
6466           more docs fixes, add new api to the docs
6467
6468 2005-11-21  Andy Wingo  <wingo@pobox.com>
6469
6470         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6471         state_broadcast call.
6472
6473         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6474
6475 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6476
6477         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6478         function calls for arrays.
6479
6480 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6481
6482         * docs/random/ensonic/media-device-daemon.txt:
6483           wild idea, can this be done?
6484         * docs/gst/gstreamer-sections.txt:
6485         * gst/gsterror.h:
6486         * gst/gstfilter.c:
6487         * gst/gstfilter.h:
6488         * gst/gstplugin.h:
6489         * gst/gstpluginfeature.c:
6490         * gst/gsttrace.c:
6491         * gst/gstvalue.c:
6492         * gst/gstvalue.h:
6493           doc fixes and additions
6494
6495 2005-11-21  Andy Wingo  <wingo@pobox.com>
6496
6497         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6498         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6499         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6500         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6501         private to the basesrc implementation.
6502
6503         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6504         behalf of event function if necessary. It should no longer be
6505         necessary to take the stream lock in pad's event functions. Fixes
6506         #320299.
6507
6508 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6509         * docs/gst/gstreamer-sections.txt:
6510         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6511         (gst_structure_fixate_field_nearest_double),
6512         (gst_structure_fixate_field_boolean):
6513         * gst/gststructure.h:
6514         * win32/common/libgstreamer.def:
6515         * win32/gstreamer.def:
6516
6517         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6518         (#322027)
6519
6520 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6521
6522         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6523         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6524         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6525         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6526         (gst_fdsrc_uri_handler_init):
6527         * gst/elements/gstfdsrc.h:
6528           Port fd:// URI handler from 0.8 to fdsrc
6529
6530 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6531
6532         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6533         (gst_value_serialize_fourcc):
6534         * gst/gstvalue.h:
6535           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6536           consistent with our other format defines (#320324).
6537
6538 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6539
6540         * gst/gstvalue.c: (gst_value_is_fixed):
6541           Revert previous commit. Value lists are by definition
6542           not fixed, as they are a list of possible values.
6543
6544 2005-11-21  Andy Wingo  <wingo@pobox.com>
6545
6546         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6547         during the stable series if we need it. Fixes #319178.
6548
6549         * gst/gstevent.c (gst_event_new_filler): Removed.
6550
6551         * check/gst/gstevent.c: Update comment about filler events.
6552
6553 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6554
6555         * gst/gstvalue.c: (gst_value_is_fixed):
6556           Should handle both value arrays and value lists.
6557
6558 2005-11-21  Andy Wingo  <wingo@pobox.com>
6559
6560         patch by: Alessandro Dessina <alessandro nnva org>
6561
6562         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6563         functions to access arrays. Fixes #321962.
6564
6565 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6566
6567         * docs/gst/gstreamer.types:
6568           gst_collectpads_get_type => gst_collect_pads_get_type.
6569           
6570         * gst/base/gstbasetransform.c:
6571           Remove unused SIGNAL_HANDOFF enum.
6572
6573 2005-11-21  Andy Wingo  <wingo@pobox.com>
6574
6575         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6576         the event type (upstream, downstream, serialized). Renamed
6577         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6578         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6579         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6580
6581         * gst/gstevent.c: Update for new CUSTOM event names.
6582
6583         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6584
6585         * gst/gstevent.h:
6586         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6587         bug #319392.
6588
6589 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6590
6591         * docs/gst/gstreamer-sections.txt:
6592         * win32/common/libgstbase.def:
6593         * win32/libgstbase.def:
6594         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6595         (gst_collect_pads_class_init), (gst_collect_pads_init),
6596         (gst_collect_pads_finalize), (gst_collect_pads_new),
6597         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6598         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6599         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6600         (gst_collect_pads_start), (gst_collect_pads_stop),
6601         (gst_collect_pads_peek), (gst_collect_pads_pop),
6602         (gst_collect_pads_available), (gst_collect_pads_read),
6603         (gst_collect_pads_flush), (gst_collect_pads_event),
6604         (gst_collect_pads_chain):
6605         * gst/base/gstcollectpads.h:
6606           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6607           unimplemented functions as unimplemented. Add padding to
6608           GstCollectData. (#320766, #320423)
6609
6610 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6611
6612         * gst/gstmessage.c:
6613           Improve docs for DURATION message (usage of duration parameter)
6614           (#320113)
6615
6616 2005-11-20  Wim Taymans  <wim@fluendo.com>
6617
6618         * check/Makefile.am:
6619         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6620         (main):
6621         * gst/Makefile.am:
6622         * gst/gst.h:
6623         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6624         (gst_segment_set_seek), (gst_segment_set_newsegment),
6625         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6626         (gst_segment_clip):
6627         * gst/gstsegment.h:
6628         Added segment helper structure and methods. Not fully implemented
6629         yet.
6630         Added segment check.
6631
6632 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6633
6634         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6635           Add a deserialisation test for fractions
6636         * examples/metadata/read-metadata.c: (message_loop),
6637         (make_pipeline), (main):
6638           Fix up metadata reading sample.
6639         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6640           Debug format fix
6641         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6642           Don't try and fixate empty caps
6643         * gst/gst_private.h:
6644           Wrap in G_BEGIN_DECLS/G_END_DECLS
6645         * gst/gstvalue.c: (gst_value_collect_fraction),
6646         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6647         (gst_value_transform_string_fraction),
6648         (gst_value_compare_fraction):
6649           Add some extra guards to ensure that we don't end up 
6650           with an invalid denominator of 0 in a gstfraction and
6651           that fractions always get reduced.
6652
6653 2005-11-20  Wim Taymans  <wim@fluendo.com>
6654
6655         * docs/gst/gstreamer-sections.txt:
6656         * gst/gstbuffer.h:
6657         * gst/gstelement.c:
6658         * gst/gstformat.c:
6659         * gst/gstformat.h:
6660         * gst/gstindex.h:
6661         * gst/gstquery.c:
6662         * gst/gstquery.h:
6663         * gst/gstvalue.c:
6664         Doc fixes.
6665
6666 2005-11-20  Wim Taymans  <wim@fluendo.com>
6667
6668         * docs/design/part-TODO.txt:
6669         * gst/gstcaps.h:
6670         Make a proper enum of the flag.
6671
6672 2005-11-19  Wim Taymans  <wim@fluendo.com>
6673
6674         * docs/design/part-TODO.txt:
6675         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6676         (gst_format_to_quark), (gst_format_register):
6677         * gst/gstformat.h:
6678         * gst/gstquery.c: (_gst_query_initialize),
6679         (gst_query_type_get_name), (gst_query_type_to_quark),
6680         (gst_query_type_register):
6681         * gst/gstquery.h:
6682         Add type to quark and type to string conversions.
6683
6684 2005-11-19  Andy Wingo  <wingo@pobox.com>
6685
6686         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6687         #320097.
6688
6689 2005-11-19  Wim Taymans  <wim@fluendo.com>
6690
6691         * docs/design/part-TODO.txt:
6692         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6693         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6694         (gst_bin_handle_message_func):
6695         * gst/gstbin.h:
6696         Make message handling overridable.
6697
6698 2005-11-19  Andy Wingo  <wingo@pobox.com>
6699
6700         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6701
6702         * gst/gstclock.h:
6703         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6704         be a GstClockTime.
6705         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6706         is a GstClockTime. Fixes #321710.
6707
6708         * gst/gstclock.h (GstClock): Remove offset property. Add
6709         internal_calibration and external_calibration. Fix padding. Pad
6710         also by GstClockTime so we don't run into problems.
6711
6712         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6713         (gst_clock_get_rate_offset): Remove.
6714         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6715
6716         * gst/gstutils.h:
6717         * gst/gstutils.c (g_static_rec_cond_wait)
6718         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6719
6720         * gst/gstbin.c: Remove terrible continue_state prototype.
6721
6722         * gst/gstelement.h (gst_element_continue_state): Make public.
6723
6724         * gst/gstelement.h:
6725         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6726         by continue_state. Fixes #319389.
6727
6728         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6729         Really fixes #168438. However I don't see anywhere where the
6730         filter function is called... stupid GStreamer...
6731         
6732         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6733         don't have a dispose function, so it won't get called when the
6734         object is unreffed, but oh well!
6735
6736         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6737         allows a destroy function to be set so user_data can be freed.
6738         Fixes #168438.
6739         (gst_index_set_filter): Call gst_index_set_filter_full.
6740
6741         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6742
6743         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6744         string should produce an error, given the lack of a way to
6745         represent NULL strings. Fixes #165650.
6746         
6747         * gst/gstvalue.h: 
6748         * gst/gstvalue.c (gst_value_array_append_value) 
6749         (gst_value_array_prepend_value, gst_value_array_get_size) 
6750         (gst_value_array_get_value): New API, copied from
6751         gst_value_list_*, only operates on arrays.
6752         (gst_value_list_append_value, gst_value_list_prepend_value) 
6753         (gst_value_list_concat, gst_value_list_get_size) 
6754         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6755
6756         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6757         init_list, because it works on both.
6758         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6759         (gst_value_copy_list_or_array): Renamed from copy_list.
6760         (gst_value_free_list_or_array): Renamed from free_list.
6761         (gst_value_collect_list_or_array): Renamed from collect_list.
6762         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6763         (gst_value_list_or_array_peek_pointer): Renamed from
6764         list_peek_pointer.
6765         (_gst_value_array_value_table, _gst_value_list_value_table):
6766         Update value table functions.
6767         (gst_value_compare_list_or_array): Renamed from compare_list.
6768
6769         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6770         some constness.
6771
6772         * gst/gsttaglist.c:
6773         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6774         GstTagList*. Fixes #143472.
6775
6776         * gst/gststructure.h: Clarify what the foreach/map functions can
6777         or can't do to their arguments.
6778
6779 2005-11-18  Wim Taymans  <wim@fluendo.com>
6780
6781         * gst/gstclock.c: (gst_clock_set_calibration),
6782         (gst_clock_get_calibration):
6783         Doc and API fixes.
6784         Calibration can be set with internal time equal to current
6785         internal time too.
6786
6787 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6788
6789         * gst/gsterror.c:
6790         * gst/gsterror.h:
6791           document
6792
6793 2005-11-18  Andy Wingo  <wingo@pobox.com>
6794
6795         * configure.ac: 
6796         * pkgconfig/gstreamer-net.pc.in:
6797         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6798         * pkgconfig/Makefile.am: Add net pkgconfig files.
6799
6800 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6801
6802         * gst/gstcaps.c:
6803         * gst/gstghostpad.c:
6804         * gst/gsttrace.c:
6805         * gst/gstvalue.c:
6806         * gst/gstvalue.h:
6807           docs fixes
6808
6809 2005-11-18  Andy Wingo  <wingo@pobox.com>
6810
6811         * gst/net/gstnetclientclock.c: Turn off debugging.
6812
6813         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6814         times connverge somewhat. Can't make a real test.
6815
6816         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6817         integer arithmetic. Return the minimum of the domain, which can be
6818         set as "internal" for gst_clock_set_calibration.
6819         (gst_net_client_clock_observe_times): Call _set_calibration.
6820         (gst_net_client_clock_new): Call _set_calibration instead of
6821         rate_offset.
6822
6823         * check/net/gstnetclientclock.c (test_functioning): Use the right
6824         adjustment api.
6825
6826         * gst/gstclock.h:
6827         * gst/gstclock.c (gst_clock_get_calibration) 
6828         (gst_clock_set_calibration): New functions, obsolete the ones I
6829         added yesterday. Doh. Precision issues mean we have to extrapolate
6830         from a point in the more recent past than 1970.
6831         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6832         obsolete.
6833         (gst_clock_adjust_unlocked): Use the right calibration data.
6834
6835 2005-11-18  Edward Hervey  <edward@fluendo.com>
6836
6837         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6838         Also reset the ->current_* values in READY->PAUSED
6839
6840 2005-11-18  Andy Wingo  <wingo@pobox.com>
6841
6842         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6843         Whoops, check the right fd. Also add some debugging.
6844         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6845         (do_linear_regression): Add a crapload of debugging. Subtract off
6846         the minimum values from the input series to discard unneeded bits.
6847         Use only int arithmetic. There is still double arithmetic when
6848         calculating the intercept that needs fixing. Return boolean to
6849         indicate success; FALSE would mean the domain or range is too
6850         great. Still needs fixes.
6851
6852 2005-11-18  Wim Taymans  <wim@fluendo.com>
6853
6854         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6855         For the current position in stream time, we need to subtract
6856         accumulated time.
6857         
6858         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6859         Release lock before calling the callback function of async
6860         entries.
6861
6862 2005-11-18  Andy Wingo  <wingo@pobox.com>
6863
6864         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6865         Port goes all the way to MAXUINT16.
6866
6867         * gst/net/gstnettimeprovider.c: Make the port range the same as
6868         for the kernel: 0 assigns, otherwise ports are less than
6869         MAXUINT16.
6870
6871         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6872         port change.
6873
6874         * check/net/gstnetclientclock.c (test_functioning): Add the start
6875         of another test. 
6876
6877 2005-11-18  Wim Taymans  <wim@fluendo.com>
6878
6879         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6880         (gst_bin_remove_func), (bin_bus_handler):
6881         * gst/gstbin.h:
6882         Removing a clock provider from a bin, triggers a clock lost message
6883         so that a new clock will be selected.
6884         Adding a clock to a bin triggers a clock provider message.
6885         Make sure we reselect a clock when we received a clock lost message.
6886         Keep a reference to the element that provided the clock.
6887
6888 2005-11-18  Andy Wingo  <wingo@pobox.com>
6889
6890         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6891         the clock initially so it produces values around the base time.
6892         (gst_net_client_clock_class_init): Typo fix.
6893         (gst_net_client_clock_thread): Add note on when the socket gets
6894         closed.
6895
6896 2005-11-17  Wim Taymans  <wim@fluendo.com>
6897
6898         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6899         Free remote and local time arrays.
6900
6901 2005-11-17  Wim Taymans  <wim@fluendo.com>
6902
6903         * gst/net/gstnetclientclock.c: (do_linear_regression),
6904         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6905         Fix compilation, uninitialized vars and a forgotten continue.
6906
6907 2005-11-17  Andy Wingo  <wingo@pobox.com>
6908
6909         * check/Makefile.am (check_PROGRAMS): 
6910         * check/net/gstnetclientclock.c: Add a most minimal test for the
6911         net client clock. More to come later.
6912
6913         * gst/net/gstnet.h: 
6914         * gst/net/Makefile.am: Add netclientclock.
6915
6916         * gst/net/gstnetclientclock.h:
6917         * gst/net/gstnetclientclock.c: New files, implement an untested
6918         GstClock that takes its time from a network time provider.
6919         Implements the algorithm in network-clock.scm.
6920
6921         * tests/network-clock.scm (*window-size*): Rename from
6922         *queue-length*.
6923         * tests/network-clock.scm (network-time): 
6924         * tests/network-clock-utils.scm (q-push): Update callers.
6925
6926 2005-11-17  Wim Taymans  <wim@fluendo.com>
6927
6928         * gst/gstbin.c: (gst_bin_provide_clock_func),
6929         (gst_bin_sort_iterator_new):
6930         And unref the child too..
6931
6932 2005-11-17  Wim Taymans  <wim@fluendo.com>
6933
6934         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6935         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6936         Refactor the sort iterator so it can be used while holding the
6937         LOCK too.
6938         Make clock selection select a clock closest to the source.
6939
6940 2005-11-17  Michael Smith <msmith@fluendo.com>
6941
6942         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6943         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6944         * gst/gstclock.h:
6945           Anonymous structs are a gcc (and some other compilers) extension, so
6946           don't use them. Since this is only for ABI-compatibility, and our
6947           API/ABI freeze is over in a few days, this whole thing will only
6948           last a few days, so don't bother trying to think up a meaningful
6949           name for the struct.
6950
6951 2005-11-17  Andy Wingo  <wingo@pobox.com>
6952
6953         * gst/gstclock.h (GstClock): Add rate and offset properties,
6954         preserving ABI stability. Add rate/offset accessors. Will file bug
6955         for the freeze break.
6956
6957         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6958         and offset, trying to keep precision and avoiding
6959         underflow/overflow.
6960         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6961         functions. Make gst_clock_set_time_adjust obsolete.
6962         (gst_clock_set_time_adjust): Note that this function is obsolete.
6963         Will file bug soon.
6964
6965         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6966         greppable by using GST_PADDING-1+1.
6967
6968 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6969
6970         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6971
6972         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6973           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6974
6975         * gst/gstpadtemplate.h:
6976         * gst/gstpluginfeature.h:
6977           Don't use c++ style comments in headers (#321638).
6978
6979 2005-11-16  Andy Wingo  <wingo@pobox.com>
6980
6981         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6982         buffer.
6983
6984         * check/net/gstnettimeprovider.c: Check to see that the time
6985         provider actually provides times. Works, yo!
6986
6987 2005-11-16  Wim Taymans  <wim@fluendo.com>
6988
6989         * check/Makefile.am:
6990         Enable more tests.
6991
6992         * check/elements/fakesrc.c: (GST_START_TEST):
6993         Set element to NULL before disposing it.
6994
6995 2005-11-16  Andy Wingo  <wingo@pobox.com>
6996
6997         * gst/net/Makefile.am:
6998         * gst/net/gstnet.h:
6999         * gst/net/gstnettimeprovider.c: 
7000         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7001         provider, include it from gstnet.h, and add it to the build.
7002
7003         * gst/net/gstnettimepacket.h: 
7004         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7005         sending and receiving.
7006
7007 2005-11-16  Wim Taymans  <wim@fluendo.com>
7008
7009         * check/Makefile.am:
7010         Enable valgrind check.
7011
7012         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7013         (gst_fake_src_alloc_buffer):
7014         Fix memleak.
7015
7016 2005-11-16  Wim Taymans  <wim@fluendo.com>
7017
7018         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7019         Call parent finalize too.
7020
7021 2005-11-16  Wim Taymans  <wim@fluendo.com>
7022
7023         * check/Makefile.am:
7024         Enable valgrind check that should work fine now.
7025
7026         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7027         * gst/gstqueue.c: (gst_queue_init):
7028         Fix memleaks in pad allocation.
7029
7030 2005-11-16  Andy Wingo  <wingo@pobox.com>
7031
7032         * gst/net/Makefile.am:
7033         * gst/net/gstnet.h: New part of core to hold network elements and
7034         objects. Put in core because it exposes API that applications want
7035         to use. The library is named libgstnet-tempname right now because
7036         of the existing libgstnet in gst-plugins-base. Solution is
7037         probably to rename the one in plugins-base; will file a bug for
7038         the freeze break.
7039
7040         * gst/net/gstnettimeprovider.c: 
7041         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7042         get_time call over the network.
7043
7044         * configure.ac: 
7045         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7046
7047         * check/Makefile.am:
7048         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7049         get additions shortly.
7050
7051 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7052
7053         * gst/gstpad.c: (gst_pad_new_from_static_template):
7054         * gst/gstpad.h:
7055           add gst_pad_new_from_static_template functions
7056         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7057         (gst_check_setup_sink_pad):
7058         * gst/elements/gsttee.c: (gst_tee_init):
7059           and use them
7060
7061 2005-11-16  Wim Taymans  <wim@fluendo.com>
7062
7063         * gst/gstpad.c: (gst_pad_pause_task):
7064         Removed warning, it's not really an error either.
7065
7066 2005-11-16  Wim Taymans  <wim@fluendo.com>
7067
7068         * gst/base/gstbasetransform.c:
7069         (gst_base_transform_prepare_output_buf),
7070         (gst_base_transform_event):
7071         Check if the caps are NULL, this can happen if the element
7072         is shutting down and the pad caps are set to NULL.
7073
7074 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7075
7076         * gst/elements/gsttee.c: (gst_tee_init):
7077           fix pad template leak in tee
7078
7079 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7080
7081         * gst/glib-compat.c: (g_value_dup_gst_object):
7082         * gst/glib-compat.h:
7083         * gst/gstpad.c: (gst_pad_set_property):
7084           use gst_object_ref when setting the pad template; this will
7085           trigger the pad template leaks on GLib 2.6 and the slaves
7086
7087 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7088
7089         * gst/glib-compat.c: (gst_flags_get_first_value):
7090         * gst/glib-compat.h:
7091         * gst/gstregistryxml.c:
7092           remove functions copied from GLib 2.6
7093
7094 2005-11-16  Michael Smith <msmith@fluendo.com>
7095
7096         * gst/Makefile.am:
7097           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7098           do, but only breaks with newer valgrind versions. We're not a
7099           valgrind tool, we have no link-time dependencies on libcoregrind.
7100
7101 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7102
7103         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7104           some debug changes
7105         * gst/gstmessage.h:
7106           typo fixes
7107
7108 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7109
7110         * gst/base/gstbasesrc.c: (gst_base_src_init):
7111         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7112         * gst/gstqueue.c: (gst_queue_init):
7113         * gst/gstregistryxml.c: (load_feature):
7114           Revert all these unrefs, they don't even pass make check !
7115
7116 2005-11-15  Johan Dahlin  <johan@gnome.org>
7117
7118         * gst/base/gstbasesrc.c: (gst_base_src_init):
7119         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7120         * gst/gstqueue.c: (gst_queue_init): 
7121         Free pad templates, fixes a couple of leaks.
7122
7123 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7124
7125         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7126
7127         * gst/gstpad.c: (gst_pad_get_property):
7128           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7129           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7130           (#321452)
7131
7132 2005-11-15  Wim Taymans  <wim@fluendo.com>
7133
7134         * gst/gstevent.c:
7135         Small doc update.
7136
7137 2005-11-15  Andy Wingo  <wingo@pobox.com>
7138
7139         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7140
7141         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7142         using GST_CLOCK_TIME_NONE to disable base time management.
7143         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7144         time if it was NONE before.
7145         (gst_pipeline_change_state): Only munge the base time if
7146         stream_time != GST_CLOCK_TIME_NONE.
7147
7148         * check/gst/gstpipeline.c (test_base_time): Punt around the
7149         problem of the probe not being called, because that's not the
7150         issue I'm looking at. Add a check that setting stream_time to NONE
7151         disables base time management.
7152         
7153 2005-11-15  Wim Taymans  <wim@fluendo.com>
7154
7155         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7156         segment_stop == -1 at startup.
7157
7158         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7159         (gst_base_transform_change_state):
7160         Init segment values at start.
7161
7162 2005-11-15  Wim Taymans  <wim@fluendo.com>
7163
7164         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7165         0 segment values are 0 in any format.
7166
7167         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7168         * gst/base/gstbasetransform.h:
7169         Parse newsegment correctly in basetransform
7170
7171         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7172         Sync to clock using updated segment values.
7173
7174 2005-11-15  Andy Wingo  <wingo@pobox.com>
7175
7176         * check/gst/gstpipeline.c (test_base_time): Add check that the
7177         base time and stream time are reset correctly.
7178
7179 2005-11-15  Wim Taymans  <wim@fluendo.com>
7180
7181         * docs/design/part-TODO.txt:
7182         Some more TODO items.
7183
7184 2005-11-15  Andy Wingo  <wingo@pobox.com>
7185
7186         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7187         error if the user selected "no clock" as the clocking method.
7188
7189         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7190         timestamps with live capture.
7191
7192         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7193         is 0 but we are a live source, timestamp the buffers using the
7194         element's clock.
7195
7196 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7197
7198         * docs/gst/gstreamer-sections.txt:
7199         * gst/gsterror.c:
7200         * gst/gstghostpad.c:
7201         * gst/gstobject.h:
7202         * gst/gstxml.c:
7203           more section docs
7204
7205 2005-11-14  Wim Taymans  <wim@fluendo.com>
7206
7207         * common/gst.supp:
7208           add suppressions from Wim's Debian machine
7209
7210 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7211
7212         * common/gst.supp:
7213           add suppressions from Andy's AMD64 Ubuntu machine
7214
7215 2005-11-14  Andy Wingo  <wingo@pobox.com>
7216
7217         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7218         STATE_LOCK not necessary. Fixes #311489.
7219
7220         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7221         #305291.
7222
7223         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7224         this function is not implemented.
7225
7226 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7227
7228         * gst/base/gstbasetransform.c:
7229         (gst_base_transform_prepare_output_buf):
7230         Ref the source pad caps while we need them.
7231         Fixes (#321386)
7232
7233 2005-11-11  Wim Taymans  <wim@fluendo.com>
7234
7235         * docs/gst/gstreamer-sections.txt:
7236         Added some docs for GstCollectData.
7237
7238         * gst/base/gstadapter.c:
7239         Some small code example fix.
7240
7241         * gst/base/gstcollectpads.c:
7242         * gst/base/gstcollectpads.h:
7243         Document some more.
7244
7245 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7246
7247         * configure.ac: back to HEAD
7248
7249 === release 0.9.5 ===
7250
7251 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7252
7253         * configure.ac:
7254           releasing 0.9.5, "Bike Lunch Day"
7255
7256 2005-11-11  Wim Taymans  <wim@fluendo.com>
7257
7258         * gst/gstbuffer.c: (_gst_buffer_copy):
7259         Copy more flags.
7260
7261         * gst/gstcaps.c: (gst_caps_is_equal):
7262         Fix some docs.
7263         Make _is_equal fast in the trivial cases.
7264
7265         * gst/gstminiobject.c:
7266         * gst/gstminiobject.h:
7267         More docs. Spifify .h file.
7268
7269         * gst/gstutils.c:
7270         Small doc update.
7271
7272 2005-11-11  Wim Taymans  <wim@fluendo.com>
7273
7274         * gst/base/gstbasetransform.c:
7275         (gst_base_transform_prepare_output_buf),
7276         (gst_base_transform_handle_buffer):
7277         Small cleanups.
7278         If we're processing a buffer and need to allocate an output
7279         buffer, we cannot accept a format change. If we did get a 
7280         format change, we have to alloc a buffer ourselves of the 
7281         right size.
7282
7283 2005-11-11  Wim Taymans  <wim@fluendo.com>
7284
7285         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7286         While checking the flag for reentrancy in the gstcaps function
7287         is nice to detect recursive invocations, it also makes it 
7288         impossible to call getcaps from multiple threads, which must be
7289         possible. So, checking for recursive calls has to go.
7290
7291 2005-11-11  Michael Smith <msmith@fluendo.com>
7292
7293         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7294           Don't sync on buffers that fall partially outside our current
7295           segment. Prevents an assertion failure/abort playing some files.
7296
7297 2005-11-10  Andy Wingo  <wingo@pobox.com>
7298
7299         * check/gst/gstbin.c (test_message_state_changed_children): Style
7300         fix..
7301
7302         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7303         gst_bus_poll with the signal watch. Ensures that poll and a signal
7304         watch see the same messages.
7305
7306         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7307         a poll and a watch at the same time get the same messages.
7308
7309 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7310
7311         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7312         * gst/gstcaps.c: (gst_caps_intersect):
7313           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7314           and it's not needed.
7315
7316 2005-11-10  Wim Taymans  <wim@fluendo.com>
7317
7318         * docs/design/part-TODO.txt:
7319         Updated todo.
7320
7321 2005-11-10  Wim Taymans  <wim@fluendo.com>
7322
7323         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7324         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7325         (gst_base_src_do_sync), (gst_base_src_get_range):
7326         Implement clock sync in base class.
7327
7328 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7329
7330         patch by: Tim-Philipp Müller <tim at centricular dot net>
7331
7332         * gst/gststructure.c: (gst_structure_parse_field),
7333         (gst_structure_from_string):
7334           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7335           so that gst_parse_launch() can deal with spaces in filtered link
7336           caps (fixes #164479)
7337         * check/gst/capslist.h:
7338         * check/gst/gststructure.c: (GST_START_TEST):
7339           add unit tests for this change
7340
7341 2005-11-10  Wim Taymans  <wim@fluendo.com>
7342
7343         * docs/gst/gstreamer-sections.txt:
7344         * gst/gstelement.c:
7345         * gst/gstelement.h:
7346         Fix docs, move some STATE macros to private.
7347
7348 2005-11-10  Wim Taymans  <wim@fluendo.com>
7349
7350         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7351         Added check for bug #317341
7352
7353         * gst/gstbuffer.c:
7354         * gst/gstbuffer.h:
7355         Some more spiffifying.
7356
7357         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7358         Call peer linkfunction if we are a source pad. Totally fixes
7359         #317341
7360
7361         * gst/gstpad.c:
7362         Update docs, source pads should call the peer linkfunction
7363         so they can atomically perform the pad link.
7364
7365 2005-11-09  Wim Taymans  <wim@fluendo.com>
7366
7367         * gst/gstbuffer.c:
7368         * gst/gstbuffer.h:
7369         Uber-spiffy-spiffify some more.
7370
7371 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7372
7373         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7374         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7375         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7376         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7377         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7378         * gst/gstpad.c: (gst_pad_init):
7379           Use GST_DEBUG_FUNCPTR() more extensively.
7380
7381 2005-11-09  Wim Taymans  <wim@fluendo.com>
7382
7383         * gst/gstobject.c: (gst_object_class_init):
7384         * gst/gstobject.h:
7385         Documentation fixes.
7386
7387 2005-11-09  Edward Hervey  <edward@fluendo.com>
7388
7389         * gst/gsttypefindfactory.c:
7390         Fix docs.
7391         
7392 2005-11-09  Edward Hervey  <edward@fluendo.com>
7393
7394         * gst/base/gsttypefindhelper.c:
7395         * gst/gsttypefind.c:
7396         * gst/gsttypefind.h:
7397         Fix docs.
7398
7399 2005-11-09  Wim Taymans  <wim@fluendo.com>
7400
7401         * gst/gstiterator.c:
7402         Fix revision data.
7403
7404         * gst/gsttask.c:
7405         * gst/gsttask.h:
7406         Fix docs.
7407
7408 2005-11-09  Wim Taymans  <wim@fluendo.com>
7409
7410         * gst/gstevent.h:
7411         * gst/gsturi.h:
7412         Fix docs.
7413
7414 2005-11-09  Wim Taymans  <wim@fluendo.com>
7415
7416         * docs/gst/gstreamer-sections.txt:
7417         Moved the message async delivery private lock and cond
7418         to the private section.
7419
7420         * gst/gstmessage.c:
7421         * gst/gstmessage.h:
7422         Fixed docs.
7423
7424 2005-11-09  Edward Hervey  <edward@fluendo.com>
7425
7426         * docs/gst/gstreamer-sections.txt:
7427         * gst/gsturi.c:
7428         * gst/gsturi.h:
7429         Document GstURIHandler
7430
7431 2005-11-09  Wim Taymans  <wim@fluendo.com>
7432
7433         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7434         (gst_iterator_find_custom):
7435         * gst/gstiterator.h:
7436         Fix iterator docs.
7437
7438 2005-11-09  Wim Taymans  <wim@fluendo.com>
7439
7440         * gst/gstbin.h:
7441         Document another field.
7442
7443         * gst/gststructure.c:
7444         * gst/gststructure.h:
7445         Document.
7446
7447 2005-11-09  Wim Taymans  <wim@fluendo.com>
7448
7449         * gst/gstbin.h:
7450         Documented structs.
7451
7452 2005-11-09  Wim Taymans  <wim@fluendo.com>
7453
7454         * docs/gst/gstreamer-sections.txt:
7455         Added some new macros.
7456
7457         * gst/gstclock.c:
7458         * gst/gstclock.h:
7459         * gst/gstobject.h:
7460         Docs updates.
7461
7462 2005-11-09  Wim Taymans  <wim@fluendo.com>
7463
7464         * docs/design/part-TODO.txt:
7465         Some more items for the TODO
7466
7467         * gst/gstcaps.c:
7468         * gst/gstcaps.h:
7469         Document GstCaps.
7470
7471 2005-11-09  Andy Wingo  <wingo@pobox.com>
7472
7473         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7474         to work on something else now tho...
7475
7476         * gst/base/gstadapter.c: More adapter docs.
7477
7478         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7479         (gst_file_sink_stop): New functions, replace the state change
7480         handler.
7481         (gst_file_sink_class_init): Hook up the start and stop functions.
7482         (gst_file_sink_base_init): Don't set the state change handler any
7483         more. It was a bit ugly too, being set from here...
7484         (gst_file_sink_get_property, gst_file_sink_set_property):
7485         Cleanups...
7486         (gst_file_sink_set_location): More robust check that doesn't call
7487         GST_STATE. Ugggggg.
7488
7489 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7490
7491         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7492           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7493
7494 2005-11-08  Wim Taymans  <wim@fluendo.com>
7495
7496         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7497         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7498         (gst_base_sink_chain), (gst_base_sink_change_state):
7499         * gst/base/gstbasesink.h:
7500         * gst/base/gstbasesrc.h:
7501         * gst/gstelement.h:
7502         * gst/gstevent.h:
7503         Avoid excessive typechecking in macros.
7504
7505         * gst/gstminiobject.c: (gst_mini_object_get_type),
7506         (gst_mini_object_init), (gst_mini_object_new),
7507         (gst_mini_object_free):
7508         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7509         (gst_object_finalize):
7510         Remove cruft code, optimize alloc_trace.
7511
7512 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7513
7514         * docs/faq/gst-uninstalled:
7515           fix up PS1 for systems that try to reset it
7516
7517 2005-11-07  Wim Taymans  <wim@fluendo.com>
7518
7519         * gst/base/gstbasesrc.c: (gst_base_src_init),
7520         (gst_base_src_get_range):
7521         Set the segment_end to -1 initially. Fixed typefind.
7522
7523 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7524
7525         * gst/base/gstadapter.c:
7526           Debug category should be 'adapter', not 'GstAdapter'.
7527           
7528         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7529         (gst_collectpads_class_init), (gst_collectpads_init),
7530         (gst_collectpads_peek), (gst_collectpads_pop),
7531         (gst_collectpads_event), (gst_collectpads_chain):
7532           Add debug category and some debugging output. Use boilerplate
7533           macros. Remove some extraneous words from docs.
7534
7535 2005-11-05  Andy Wingo  <wingo@pobox.com>
7536
7537         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7538         macro.
7539
7540 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7541
7542         * docs/gst/gstreamer-sections.txt:
7543         * gst/gstcaps.h:
7544         * gst/gstinfo.c:
7545         * gst/gstminiobject.h:
7546         * gst/gstobject.h:
7547         * gst/gstutils.h:
7548           more docs added
7549
7550 2005-11-04  Wim Taymans  <wim@fluendo.com>
7551
7552         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7553         Small update to stop at the configured segment_end
7554         position.
7555
7556 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7557
7558         * gst/gstregistry.c:
7559         * gst/gstregistry.h:
7560           added missing docs
7561
7562 2005-11-04  Edward Hervey  <edward@fluendo.com>
7563
7564         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7565         Check if we are doing a segment seek and have arrived at the
7566         end of that segment.
7567
7568 2005-11-04  Wim Taymans  <wim@fluendo.com>
7569
7570         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7571         Don't leak a mutex unlock in case of an error.
7572
7573         * gst/gstbus.h:
7574         Doc fixes.
7575
7576 2005-11-04  Wim Taymans  <wim@fluendo.com>
7577
7578         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7579         (gst_bus_post):
7580         Get the context to wake up only once.
7581
7582 2005-11-03  Wim Taymans  <wim@fluendo.com>
7583
7584         * check/states/sinks.c: (GST_START_TEST):
7585         Uncomment fixed check.
7586
7587         * docs/design/part-TODO.txt:
7588         Updated TODO.
7589
7590         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7591         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7592         (gst_base_sink_get_position):
7593         If we are going to PLAYING, post the right pending state
7594         when we post the intermediate paused message.
7595
7596         * gst/gstelement.c: (gst_element_continue_state),
7597         (gst_element_set_state_func), (gst_element_change_state):
7598         Don't post state changes that were between the same state
7599         and were not ASYNC.
7600
7601 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7602
7603         * docs/gst/gstreamer-sections.txt:
7604         * gst/gstcaps.h:
7605         * gst/gstinfo.c:
7606         * gst/gstminiobject.h:
7607         * gst/gstobject.h:
7608         * gst/gstutils.h:
7609           more docs and doc style fixes
7610
7611 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7612
7613         * docs/gst/gstreamer-sections.txt:
7614         * gst/gstelement.c:
7615         * gst/gstminiobject.c:
7616         doc fixes
7617
7618 2005-11-03  Andy Wingo  <wingo@pobox.com>
7619
7620         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7621         state-changed messages actually have the right order and the right
7622         values.
7623
7624 2005-11-03  Wim Taymans  <wim@fluendo.com>
7625
7626         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7627         Added some more checks. Specifically the case where NO_PREROLL
7628         elements are in the pipeline.
7629
7630         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7631         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7632         (gst_base_sink_get_position):
7633         Post READY->PAUSED state change messages too.
7634         Fix bug where VOID was posted as pending state...
7635
7636         * gst/gstbin.c: (gst_bin_recalc_state):
7637         use _element_continue_state() to continue the state change.
7638
7639         * gst/gstelement.c: (gst_element_continue_state),
7640         (gst_element_commit_state), (gst_element_set_state_func),
7641         (gst_element_change_state), (gst_element_change_state_func):
7642         Lots of state change cleanups, assign the STATE_RETURN in
7643         a new continue_state() function that also propagates the
7644         last return value from a state change to the app.
7645         Update some debug statements with proper category.
7646
7647 2005-11-03  Wim Taymans  <wim@fluendo.com>
7648
7649         * docs/design/part-events.txt:
7650         * docs/design/part-gstpipeline.txt:
7651         * docs/design/part-messages.txt:
7652         * docs/design/part-overview.txt:
7653         * docs/design/part-seeking.txt:
7654         * docs/design/part-states.txt:
7655         * docs/design/part-trickmodes.txt:
7656         * docs/manual/advanced-position.xml:
7657         Small docs updates.
7658
7659         * gst/gstobject.h:
7660         People think !! is ugly, this looks better.
7661
7662         * gst/gstpad.c: (gst_pad_set_blocked_async):
7663         Remove !! since it's fixed elsewhere now.
7664
7665 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7666
7667         * gst/gstminiobject.h:
7668         * gst/gstobject.h:
7669           Add !! to _FLAG_IS_SET macros to make the result boolean.
7670
7671 2005-11-03  Edward Hervey  <edward@fluendo.com>
7672
7673         * gst/gstpad.c: (gst_pad_set_blocked_async):
7674         comparing a flag and a gboolean rarely returns coherent results...
7675         Added two characters (!!) to make that work correctly.
7676         
7677 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7678
7679         * gst/gstbus.c: (gst_bus_class_init):
7680           Fix some typos.
7681           
7682         * gst/gstqueue.c: (gst_queue_loop):
7683           Don't assume a miniobject that isn't a buffer is an
7684           event (it could be that there is a refcounting
7685           problem somewhere and the pointer is stale and
7686           refers to an already destroyed miniobject).
7687
7688 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7689
7690         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7691
7692 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7693
7694         * docs/manual/advanced-position.xml:
7695           Update seek example and explanations to current 0.9 API.
7696
7697         * gst/elements/gsttypefindelement.c:
7698         (gst_type_find_element_activate):
7699           Remove FIXME comment now that the found caps
7700           are unreffed.
7701
7702 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7703
7704         * gst/gstregistryxml.c: (load_feature):
7705           Add another GST_STR_NULL instance
7706
7707 2005-11-02  Edward Hervey  <edward@fluendo.com>
7708
7709         * gst/gstpad.c: (handle_pad_block):
7710         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7711         
7712 2005-11-02  Wim Taymans  <wim@fluendo.com>
7713
7714         * gst/gstbin.c:
7715         Fix typo in docs.
7716
7717         * gst/gstelement.c: (gst_element_commit_state):
7718         Remove unused value.
7719
7720         * gst/gstiterator.c:
7721         Mention that the returned element is reffed in the docs.
7722
7723 2005-11-02  Wim Taymans  <wim@fluendo.com>
7724
7725         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7726         (gst_pad_push), (gst_pad_push_event):
7727         Unlock blocked pads when they are flushed.
7728
7729 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7730
7731         * docs/README:
7732         * docs/gst/gstreamer-sections.txt:
7733         * gst/gstbin.c:
7734           doc updates
7735         * gst/gstregistry.c: (gst_registry_scan_path_level):
7736           fix for a nasty little missed situation where an installed plug-in
7737           which was in the cache did not get overridden by an uninstalled one
7738           which was earlier in the plugin path because the newly created plugin
7739           for the uninstalled one (not in the registry) didn't get its
7740           ->registered set to TRUE
7741
7742 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7743
7744         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7745         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7746         (gst_collectpads_is_active), (gst_collectpads_collect),
7747         (gst_collectpads_collect_range), (gst_collectpads_start),
7748         (gst_collectpads_stop), (gst_collectpads_peek),
7749         (gst_collectpads_pop), (gst_collectpads_available),
7750         (gst_collectpads_read), (gst_collectpads_flush):
7751           Guard public API with assertions.
7752         
7753         * gst/gstpad.c:
7754           Fix docs for gst_pad_set_link_function().
7755
7756 2005-11-02  Johan Dahlin  <johan@gnome.org>
7757
7758         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7759         Unref found_caps after we used it.
7760
7761 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7762
7763         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7764           Don't try to ref NULL.
7765
7766 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7767
7768         * win32/common/config.h.in:
7769           provide a GST_FUNCTION that just gives a string for now
7770
7771 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7772
7773         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7774         (gst_object_flags_get_type), (register_gst_bin_flags),
7775         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7776         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7777         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7778         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7779         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7780         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7781         (gst_clock_flags_get_type), (register_gst_state),
7782         (gst_state_get_type), (register_gst_state_change_return),
7783         (gst_state_change_return_get_type), (register_gst_state_change),
7784         (gst_state_change_get_type), (register_gst_element_flags),
7785         (gst_element_flags_get_type), (register_gst_core_error),
7786         (gst_core_error_get_type), (register_gst_library_error),
7787         (gst_library_error_get_type), (register_gst_resource_error),
7788         (gst_resource_error_get_type), (register_gst_stream_error),
7789         (gst_stream_error_get_type), (register_gst_event_type),
7790         (gst_event_type_get_type), (register_gst_seek_type),
7791         (gst_seek_type_get_type), (register_gst_seek_flags),
7792         (gst_seek_flags_get_type), (register_gst_format),
7793         (gst_format_get_type), (register_gst_index_certainty),
7794         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7795         (gst_index_entry_type_get_type),
7796         (register_gst_index_lookup_method),
7797         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7798         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7799         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7800         (gst_index_flags_get_type), (register_gst_debug_level),
7801         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7802         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7803         (gst_iterator_result_get_type), (register_gst_iterator_item),
7804         (gst_iterator_item_get_type), (register_gst_message_type),
7805         (gst_message_type_get_type), (register_gst_mini_object_flags),
7806         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7807         (gst_pad_link_return_get_type), (register_gst_flow_return),
7808         (gst_flow_return_get_type), (register_gst_activate_mode),
7809         (gst_activate_mode_get_type), (register_gst_pad_direction),
7810         (gst_pad_direction_get_type), (register_gst_pad_flags),
7811         (gst_pad_flags_get_type), (register_gst_pad_presence),
7812         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7813         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7814         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7815         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7816         (gst_plugin_flags_get_type), (register_gst_rank),
7817         (gst_rank_get_type), (register_gst_query_type),
7818         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7819         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7820         (gst_tag_flag_get_type), (register_gst_task_state),
7821         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7822         (gst_alloc_trace_flags_get_type),
7823         (register_gst_type_find_probability),
7824         (gst_type_find_probability_get_type), (register_gst_uri_type),
7825         (gst_uri_type_get_type), (register_gst_parse_error),
7826         (gst_parse_error_get_type):
7827         * win32/common/gstversion.h:
7828           update win32 copies
7829
7830 2005-11-01  Luca Ognibene  <luogni@tin.it>
7831
7832         * gst/gst.c:
7833           fix docs. popt is dead, long live GOption.
7834
7835 2005-10-31  Wim Taymans  <wim@fluendo.com>
7836
7837         * gst/gstbuffer.h:
7838         Small doc fix.
7839
7840 2005-10-31  Andy Wingo  <wingo@pobox.com>
7841
7842         * Boo!
7843
7844         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7845
7846         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7847         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7848         the possibility of deadlocks here if code calling notify() or
7849         set() has a lock that can be taken in another notify handler (ABBA
7850         with class lock and e.g. python GIL state lock).
7851
7852 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7853
7854         * gst/gstbus.c: Doc updates.
7855
7856 2005-10-28  Wim Taymans  <wim@fluendo.com>
7857
7858         * docs/design/part-TODO.txt:
7859         * gst/gstiterator.c:
7860         * gst/gstsystemclock.c:
7861         * gst/gstsystemclock.h:
7862         Doc updates.
7863
7864 2005-10-28  Edward Hervey  <edward@fluendo.com>
7865
7866         * docs/gst/gstreamer-docs.sgml:
7867         * docs/gst/gstreamer-sections.txt:
7868         the GstURIType documentation page is private, it only defines GstURIType
7869         which should be defined in the GstURIHandler page
7870         
7871 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7872
7873         * gst/gstbin.c: (gst_bin_class_init):
7874         * gst/gstbin.h:
7875         * gst/gstutils.c:
7876         Documentation updates.
7877
7878 2005-10-28  Wim Taymans  <wim@fluendo.com>
7879
7880         * docs/gst/gstreamer-sections.txt:
7881         * gst/gstclock.c:
7882         * gst/gstclock.h:
7883         Documented the clocks.
7884
7885 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7886
7887         * docs/gst/gstreamer-sections.txt:
7888           move some macros to private sections
7889         * gst/gstminiobject.c:
7890         * gst/gstminiobject.h:
7891           add descriptions provided by ds and some more
7892         * gst/gstpad.h:
7893           mark macro as to be removed
7894
7895 2005-10-28  Wim Taymans  <wim@fluendo.com>
7896
7897         * docs/design/part-TODO.txt:
7898         Add an item to TODO.
7899
7900         * gst/gstiterator.c: (gst_iterator_fold),
7901         (gst_iterator_find_custom):
7902         * gst/gstiterator.h:
7903         Add iterator docs.
7904
7905 2005-10-28  Wim Taymans  <wim@fluendo.com>
7906
7907         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7908         (gst_base_transform_init):
7909         Don't leak class.
7910
7911         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7912         An EOS event marks the queue as completely filled.
7913
7914 2005-10-27  Wim Taymans  <wim@fluendo.com>
7915
7916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7917         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7918         Some more debugging.
7919
7920         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7921         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7922         (gst_base_transform_event), (gst_base_transform_getrange),
7923         (gst_base_transform_chain):
7924         * gst/base/gstbasetransform.h:
7925         Fix debugging,
7926         Protect transform and concurrent buffer alloc with a new lock.
7927         Try not to break ABI/API.
7928
7929 2005-10-27  Wim Taymans  <wim@fluendo.com>
7930
7931         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7932         (gst_base_src_init), (gst_base_src_query),
7933         (gst_base_src_default_newsegment),
7934         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7935         (gst_base_src_send_event), (gst_base_src_event_handler),
7936         (gst_base_src_pad_get_range), (gst_base_src_loop),
7937         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7938         (gst_base_src_start), (gst_base_src_deactivate),
7939         (gst_base_src_activate_push), (gst_base_src_change_state):
7940         Move some stuff around and cleanup things.
7941
7942 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7943
7944         * gst/base/gstbasesrc.c: (gst_base_src_query):
7945           Add missing break statements.
7946
7947 2005-10-27  Wim Taymans  <wim@fluendo.com>
7948
7949         * check/gst/gstbin.c: (GST_START_TEST):
7950         An extra refcount is taken in basesrc.
7951
7952         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7953         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7954         (gst_base_src_loop):
7955         Small cleanups, check for flushing after being unlocked from the 
7956         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7957         Don't send out EOS when going to READY.
7958
7959 2005-10-27  Wim Taymans  <wim@fluendo.com>
7960
7961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7962         (gst_base_sink_get_position):
7963         Some more debug.
7964
7965         * gst/gstbin.c: (message_check), (bin_replace_message),
7966         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7967         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7968         (bin_query_duration_init), (bin_query_duration_fold),
7969         (bin_query_duration_done), (bin_query_generic_fold),
7970         (gst_bin_query):
7971         * tools/gst-launch.c: (main):
7972         Remove old option.
7973
7974 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7975
7976         * examples/controller/audio-example.c: (main):
7977         * examples/queue/queue.c: (event_loop):
7978         * gst/base/gstbasetransform.h:
7979         * gst/gstelement.c: (gst_element_send_event):
7980         * gst/gstevent.h:
7981         * gst/gstpad.c: (gst_pad_send_event):
7982           fixing examples
7983           fixing docs typos
7984           changing log priority in error situations
7985
7986 2005-10-25  Wim Taymans  <wim@fluendo.com>
7987
7988         * gst/gstbin.c: (message_check), (bin_replace_message),
7989         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7990         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7991         (bin_query_duration_init), (bin_query_duration_fold),
7992         (bin_query_duration_done), (bin_query_generic_fold),
7993         (gst_bin_query):
7994         Some doc and debug updates.
7995         Cache previously requested query DURATION for speed. invalidate
7996         cached duration if element posts a DURATION message.
7997
7998 2005-10-25  Wim Taymans  <wim@fluendo.com>
7999
8000         * docs/design/part-TODO.txt:
8001         Update TODO.
8002
8003         * gst/gstbin.c: (message_check), (bin_replace_message),
8004         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8005         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8006         (bin_query_duration_init), (bin_query_duration_fold),
8007         (bin_query_duration_done), (bin_query_generic_fold),
8008         (gst_bin_query):
8009         Handle SEGMENT_START/DONE messages correctly.
8010         More evolved query algorithm that handles duration queries
8011         correctly.
8012
8013         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8014         (gst_element_get_state_func), (gst_element_abort_state),
8015         (gst_element_commit_state), (gst_element_lost_state):
8016         Some more debugging.
8017
8018         * gst/gstmessage.h:
8019         Added doc.
8020
8021 2005-10-25  Wim Taymans  <wim@fluendo.com>
8022
8023         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8024         Don't use invalid stream_time.
8025
8026         * gst/gstevent.c: (gst_event_new_newsegment):
8027         stream_time in newsegment cannot be undefined.
8028
8029 2005-10-24  Wim Taymans  <wim@fluendo.com>
8030
8031         * gst/gstbus.c:
8032         Doc fix.
8033
8034         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8035         (gst_queue_loop):
8036         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8037
8038 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8039
8040         * docs/libs/tmpl/gstdparam.sgml:
8041         * docs/libs/tmpl/gstdplinint.sgml:
8042         * docs/libs/tmpl/gstdpman.sgml:
8043         * docs/libs/tmpl/gstdpsmooth.sgml:
8044         * docs/libs/tmpl/gstunitconvert.sgml:
8045           these are obsolete
8046
8047 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8048
8049         * configure.ac:
8050           back to HEAD
8051
8052 === release 0.9.4 ===
8053
8054 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8055
8056         * configure.ac:
8057           releasing 0.9.4, "Tyrannosaurus Rex"
8058
8059 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8060
8061         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8062         (gst_file_sink_get_current_offset):
8063           Use fseeko() and ftello() if available. When falling back on
8064           lseek() to get the current offset, fflush() first to make sure
8065           everything is up-to-date and we get the right offset.
8066
8067 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8068
8069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8070         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8071         * gst/gsterror.c: (_gst_stream_errors_init):
8072         * gst/gsterror.h:
8073         * gst/gstqueue.c: (gst_queue_loop):
8074         * po/POTFILES.in:
8075           remove prematurely added error category and clean up the instances
8076
8077 2005-10-21  Wim Taymans  <wim@fluendo.com>
8078
8079         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8080         (gst_base_sink_get_position), (gst_base_sink_query),
8081         (gst_base_sink_change_state):
8082         Simply set the right flag when going to playing, that's all
8083         we need to do instead of calling a function inside the object
8084         lock (that could take the lock as well and deadlock)
8085
8086 2005-10-21  Wim Taymans  <wim@fluendo.com>
8087
8088         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8089         (gst_base_src_loop):
8090         Don't warn, the peer element knows what to do best when
8091         the seek failed, it might try something else.
8092
8093 2005-10-21  Wim Taymans  <wim@fluendo.com>
8094
8095         * gst/base/gstbasesrc.c: (gst_base_src_init),
8096         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8097         Fix seeking.
8098
8099 2005-10-21  Wim Taymans  <wim@fluendo.com>
8100
8101         * docs/design/part-segments.txt:
8102         More docs.
8103
8104         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8105         Correctly set caps, even on the subbufer.
8106
8107 2005-10-21  Wim Taymans  <wim@fluendo.com>
8108
8109         * docs/gst/gstreamer-docs.sgml:
8110         * docs/gst/gstreamer-sections.txt:
8111         * gst/gstelement.h:
8112         * gst/gstevent.c:
8113         * gst/gstevent.h:
8114         * gst/gstmessage.h:
8115         * gst/gstpad.h:
8116         * gst/gstparse.h:
8117         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8118         * gst/gsttask.h:
8119         * gst/gstutils.c:
8120         * gst/gstutils.h:
8121         And 2% more doc coverage.
8122
8123 2005-10-21  Andy Wingo  <wingo@pobox.com>
8124
8125         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8126         position reporting.
8127
8128 2005-10-20  Wim Taymans  <wim@fluendo.com>
8129
8130         * gst/gsterror.c: (gst_error_get_message):
8131         * gst/gstparse.h:
8132         * gst/gstquery.h:
8133         * gst/gststructure.c:
8134         * gst/gsttrace.c:
8135         * gst/gstutils.c:
8136         More docs.
8137
8138 2005-10-20  Wim Taymans  <wim@fluendo.com>
8139
8140         * gst/gstbuffer.h:
8141         * gst/gstpad.c:
8142         * gst/gstparse.c:
8143         Another 1% more coverage.
8144
8145 2005-10-20  Wim Taymans  <wim@fluendo.com>
8146
8147         * docs/gst/gstreamer-sections.txt:
8148         * gst/gstelement.c: (gst_element_get_state_func),
8149         (gst_element_abort_state), (gst_element_commit_state),
8150         (gst_element_lost_state):
8151         * gst/gstevent.h:
8152         * gst/gstquery.c: (gst_query_set_position),
8153         (gst_query_parse_position), (gst_query_set_duration),
8154         (gst_query_parse_duration), (gst_query_new_convert):
8155         * gst/gstutils.c:
8156         Yay! 1% more docs coverage.
8157
8158 2005-10-20  Wim Taymans  <wim@fluendo.com>
8159
8160         * gst/gstpad.h:
8161         * gst/gstquery.c: (gst_query_set_position),
8162         (gst_query_parse_position), (gst_query_set_duration),
8163         (gst_query_parse_duration), (gst_query_new_convert):
8164         * gst/gstquery.h:
8165         * gst/gstutils.c: (gst_element_query_convert):
8166         * gst/gstutils.h:
8167         Docs and consistency fixes.
8168
8169 2005-10-20  Wim Taymans  <wim@fluendo.com>
8170
8171         * gst/gsttask.c:
8172         * gst/gsttask.h:
8173         More docs.
8174
8175 2005-10-20  Wim Taymans  <wim@fluendo.com>
8176
8177         * gst/gstbin.c: (message_check), (bin_replace_message),
8178         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8179         (update_degree), (gst_bin_sort_iterator_next),
8180         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8181         Reworked the message handling a bit, cache the messages instead of
8182         only the senders. alows us to do more in the future.
8183
8184 2005-10-20  Wim Taymans  <wim@fluendo.com>
8185
8186         * docs/design/part-TODO.txt:
8187         Update TODO
8188
8189         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8190         (gst_base_sink_query):
8191         Don't use clock time to report position when in EOS.
8192
8193 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8194
8195         * tools/gst-inspect.c: (print_interfaces),
8196         (print_element_properties_info), (print_element_info):
8197           Fix interface output with gst-inspect -a; don't print
8198           newlines after double/float properties.
8199
8200 2005-10-20  Wim Taymans  <wim@fluendo.com>
8201
8202         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8203         (gst_base_sink_query):
8204         Speed up current position calculation.
8205
8206         * gst/base/gstbasesrc.c: (gst_base_src_query),
8207         (gst_base_src_default_newsegment):
8208         Correctly set stream position in newsegment.
8209
8210         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8211         (update_degree), (gst_bin_sort_iterator_next),
8212         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8213         * gst/gstmessage.c: (gst_message_new_custom):
8214         Clean up debugging info
8215
8216         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8217         (gst_queue_loop), (gst_queue_handle_src_query):
8218         Pause task faster.
8219
8220 2005-10-19  Wim Taymans  <wim@fluendo.com>
8221
8222         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8223         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8224         Fix query handling again.
8225
8226 2005-10-19  Wim Taymans  <wim@fluendo.com>
8227
8228         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8229         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8230         * gst/base/gstbasesrc.c: (gst_base_src_query):
8231         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8232         * gst/elements/gsttypefindelement.c:
8233         (gst_type_find_handle_src_query), (find_element_get_length),
8234         (gst_type_find_element_activate):
8235         API change fix.
8236
8237         * gst/gstquery.c: (gst_query_new_position),
8238         (gst_query_set_position), (gst_query_parse_position),
8239         (gst_query_new_duration), (gst_query_set_duration),
8240         (gst_query_parse_duration), (gst_query_set_segment),
8241         (gst_query_parse_segment):
8242         * gst/gstquery.h:
8243         Bundling query position/duration is not a good idea since duration
8244         does not change much and we don't want to recalculate it for every
8245         position query, so they are separated again..
8246         Base value in segment query is not needed.
8247
8248         * gst/gstqueue.c: (gst_queue_handle_src_query):
8249         * gst/gstutils.c: (gst_element_query_position),
8250         (gst_element_query_duration), (gst_pad_query_position),
8251         (gst_pad_query_duration):
8252         * gst/gstutils.h:
8253         Updates for query API change.
8254         Added some docs here and there.
8255
8256 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8257
8258         * check/gst/gstbin.c: (GST_START_TEST):
8259         * check/gst/gstghostpad.c: (GST_START_TEST):
8260         * check/pipelines/cleanup.c: (GST_START_TEST):
8261           wait on thread to die so we can check refcount correctly
8262
8263 2005-10-18  Wim Taymans  <wim@fluendo.com>
8264
8265         * check/pipelines/stress.c: (GST_START_TEST):
8266         Make check a little more time consuming.
8267
8268 2005-10-18  Wim Taymans  <wim@fluendo.com>
8269
8270         * check/Makefile.am:
8271         * check/pipelines/stress.c: (GST_START_TEST),
8272         (simple_launch_lines_suite), (main):
8273         Small state change torture test.
8274
8275         * docs/design/part-states.txt:
8276         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8277         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8278         (gst_base_sink_change_state):
8279         Never take state lock from streaming thread, clean up ugly
8280         hacks. Unfortunatly core does not yet support nice ways to
8281         async commit state.
8282         
8283         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8284         (bin_bus_handler):
8285         Start state recalc if a STATE_DIRTY message is posted, but only
8286         on the toplevel bin.
8287
8288         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8289         (gst_element_get_state_func), (gst_element_abort_state),
8290         (gst_element_commit_state), (gst_element_lost_state),
8291         (gst_element_set_state_func), (gst_element_change_state):
8292         * gst/gstelement.h:
8293         State variables are now protected with the LOCK, the state
8294         lock is only used to serialize _set_state().
8295
8296 2005-10-18  Wim Taymans  <wim@fluendo.com>
8297
8298         * check/gst/gstbin.c: (GST_START_TEST):
8299         * check/gst/gstmessage.c: (GST_START_TEST):
8300         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8301         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8302         (bin_bus_handler):
8303         * gst/gstelement.c: (gst_element_abort_state),
8304         (gst_element_commit_state), (gst_element_lost_state):
8305         * gst/gstmessage.c: (gst_message_new_state_changed),
8306         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8307         (gst_message_new_segment_done), (gst_message_new_duration),
8308         (gst_message_parse_state_changed),
8309         (gst_message_parse_segment_start),
8310         (gst_message_parse_segment_done), (gst_message_parse_duration):
8311         * gst/gstmessage.h:
8312         * tools/gst-launch.c: (event_loop):
8313         Seriously, this is better than a previous commit as we only need
8314         to notify the fact that an element changed state in a streaming
8315         thread, marking the state of the parents dirty, hence the 
8316         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8317         message.
8318
8319 2005-10-18  Wim Taymans  <wim@fluendo.com>
8320
8321         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8322         (gst_bin_recalc_func):
8323         * gst/gstelement.c: (gst_element_set_clock),
8324         (gst_element_abort_state), (gst_element_lost_state):
8325         Cleanups, prepare for state change fixes.
8326
8327 2005-10-18  Wim Taymans  <wim@fluendo.com>
8328
8329         * gst/gstbin.h:
8330         * gst/gstelement.c: (gst_element_class_init),
8331         (gst_element_set_state), (gst_element_set_state_func):
8332         * gst/gstelement.h:
8333         Pending ABI changes.
8334         GThreadPool in GstBinClass to monitor async state changes.
8335         state_cookie in GstElement to detect concurrent gst/set state.
8336         set_state is now virtual too in case a very complicated element
8337         has to be constructed.
8338
8339 2005-10-18  Wim Taymans  <wim@fluendo.com>
8340
8341         * check/gst/gstbin.c: (GST_START_TEST):
8342         * check/gst/gstmessage.c: (GST_START_TEST):
8343         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8344         * gst/gstbin.c: (bin_bus_handler):
8345         * gst/gstelement.c: (gst_element_commit_state),
8346         (gst_element_lost_state):
8347         * gst/gstmessage.c: (gst_message_new_state_changed),
8348         (gst_message_new_segment_start), (gst_message_new_segment_done),
8349         (gst_message_new_duration), (gst_message_parse_state_changed),
8350         (gst_message_parse_segment_start),
8351         (gst_message_parse_segment_done), (gst_message_parse_duration):
8352         * gst/gstmessage.h:
8353         * tools/gst-launch.c: (event_loop):
8354         Make messages future proof.
8355         state-change gets a flag if it was a message comming from the
8356         streaming thread.
8357         segment-start/stop can also be specified in other formats.
8358         A message to notify an app that a pipeline changed playback 
8359         duration.
8360         Also fix a GstMessage leak in -launch
8361
8362 2005-10-18  Andy Wingo  <wingo@pobox.com>
8363
8364         * gst/gstelement.c (gst_element_dispose): More helpful message.
8365
8366 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8367
8368         reviewed by: <delete if not using a buddy>
8369
8370         * common/gtk-doc.mak:
8371
8372 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8373
8374         * gst/gstregistry.c: (gst_registry_scan_path_level):
8375           unref a plug-in we get that was already initialized
8376
8377 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8378
8379         * docs/gst/gstreamer-sections.txt:
8380         * docs/libs/gstreamer-libs-sections.txt:
8381         * gst/gstelement.h:
8382           add new api entries
8383           hide internal macro
8384
8385 2005-10-17  Andy Wingo  <wingo@pobox.com>
8386
8387         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8388         cleanup.
8389
8390         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8391
8392         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8393
8394         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8395         (gst_element_get_state_func): Better debug message.
8396         (gst_element_commit_state): s/INFO/DEBUG/.
8397         (gst_element_lost_state, gst_element_change_state): 
8398
8399         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8400         (gst_message_new_custom): s/INFO/LOG/.
8401
8402 2005-10-17  Michael Smith <msmith@fluendo.com>
8403
8404         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8405           Check if end time is valid using end time, not start time.
8406
8407 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8408
8409         * check/gst-libs/controller.c: (GST_START_TEST),
8410         (gst_controller_suite):
8411         * libs/gst/controller/gstcontroller.c:
8412         (gst_controlled_property_set_interpolation_mode):
8413         * libs/gst/controller/gstcontroller.h:
8414         * libs/gst/controller/gstinterpolation.c:
8415         * testsuite/controller/.cvsignore:
8416         * testsuite/controller/Makefile.am:
8417         * testsuite/controller/interpolator.c:
8418           merge controller testsuites
8419           fix broken tests
8420           remove mem-chunk from docs
8421
8422 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8423
8424         * gst/gstmemchunk.c:
8425         * gst/gstmemchunk.h:
8426         * gst/gsttrashstack.c:
8427         * gst/gsttrashstack.h:
8428           out.  get out.  you're fired.  to the Attic !
8429
8430 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8431
8432         * gst/gstcaps.c: (gst_caps_intersect):
8433           fix signedness issues in a (hopefully) correct way
8434         * gst/gstelement.c: (gst_element_pads_activate):
8435           some debugging
8436         * gst/gstobject.c: (gst_object_set_parent):
8437           some debugging
8438
8439 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8440
8441         * gst/gstvalue.h: Fix prototypes.
8442
8443 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8444
8445         * docs/gst/gstreamer-sections.txt:
8446         * gst/gst.c: (gst_version_string):
8447         * gst/gst.h:
8448         * gst/gstversion.h.in:
8449         * win32/common/libgstreamer.def:
8450           add gst_version_string ()
8451
8452 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8453
8454         * configure.ac:
8455           clean up further
8456         * gst/gst.c: (init_post):
8457         * win32/common/config.h.in:
8458           it's PLUGINDIR now
8459         * gst/gstcaps.c: (gst_caps_intersect):
8460           use gint64, the range could be bigger than a guint
8461
8462 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8463
8464         * gst/gstclock.h:
8465           document potential problem in 2038
8466
8467 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8468
8469         * gst/gstcaps.c: (gst_caps_intersect):
8470           Fix guint j diving under 0
8471
8472 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8473
8474         * configure.ac:
8475         * win32/common/config.h:
8476         * win32/common/config.h.in:
8477           check for process.h, declares getpid() on Windows
8478         * gst/gstinfo.c:
8479           include process.h if we have it
8480         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8481         * gst/gstmemchunk.h:
8482           fix signedness issues
8483         * win32/common/libgstreamer.def:
8484           fix get_type's
8485
8486 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8487
8488         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8489         fix. Because of unsigned ints, caps intersection was going nuts and
8490         trying to access structures with G_MAXUINT index. That fixes
8491         videotestsrc ! ffmpegcolorspace ! fakesink
8492         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8493         consistency.
8494
8495 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8496
8497         * configure.ac:
8498           use the gettext macro
8499         * gst/elements/gstelements.c:
8500         * gst/gst.c:
8501         * gst/indexers/gstindexers.c:
8502           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8503         * win32/common/config.h:
8504           updated config.h
8505         * win32/common/config.h.in:
8506           add the template to generate config.h
8507         * win32/common/gstenumtypes.c:
8508         * win32/common/gstversion.h:
8509           updated copies
8510
8511 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8512
8513         * gst/gst.c: (gst_version):
8514         * gst/gstversion.h.in:
8515           add the nano
8516
8517 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8518
8519         * gst/gstevent.h:
8520           Oops, add missing closing bracket.
8521
8522 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8523
8524         * configure.ac:
8525           use common m4's for argument checking
8526
8527 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8528
8529         * docs/gst/gstreamer-sections.txt:
8530         * gst/gstevent.h:
8531           Add GST_EVENT_TYPE_NAME() macro.
8532
8533 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8534
8535         * gst/gstinfo.c:
8536         * gst/gstpluginfeature.c:
8537         * gst/gsttask.c:
8538           privatize more symbols
8539
8540 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8541
8542         * configure.ac:
8543           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8544           everything that uses GStreamer API should have the includes
8545
8546 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8547
8548         * docs/gst/gstreamer-sections.txt:
8549         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8550         * gst/gstvalue.h:
8551           give each value a _get_type, removes the DATA exports
8552
8553 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8554
8555         * gst/gst.c:
8556         * gst/gst.h:
8557           remove _gst_registry_auto_load, not used anymore
8558         * gst/gstbin.c: (gst_bin_get_type):
8559         * gst/gstbin.h:
8560         * gst/gstelement.c: (gst_element_get_type):
8561         * gst/gstelement.h:
8562         * gst/gstobject.c: (gst_object_get_type):
8563         * gst/gstobject.h:
8564         * gst/gstpad.c: (gst_pad_get_type):
8565         * gst/gstpad.h:
8566           make _get_type functions similar, fixes data export from library
8567
8568 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8569
8570         * configure.ac:
8571           correctly make conditionals
8572         * gst/elements/Makefile.am:
8573         * gst/elements/gstelements.c:
8574           fix typo causing fdsrc not to build
8575
8576 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8577
8578         * testsuite/Makefile.am:
8579         * testsuite/bytestream/.cvsignore:
8580         * testsuite/bytestream/Makefile.am:
8581         * testsuite/bytestream/filepadsink.c:
8582         * testsuite/bytestream/gstbstest.c:
8583         * testsuite/bytestream/test1.c:
8584         * testsuite/bytestream/testfile1:
8585         * testsuite/caps/normalisation.c:
8586         * testsuite/caps/random.c: (main):
8587         * testsuite/cleanup/.cvsignore:
8588         * testsuite/cleanup/Makefile.am:
8589         * testsuite/cleanup/cleanup1.c:
8590         * testsuite/cleanup/cleanup2.c:
8591         * testsuite/cleanup/cleanup3.c:
8592         * testsuite/cleanup/cleanup4.c:
8593         * testsuite/cleanup/cleanup5.c:
8594         * testsuite/controller/interpolator.c:
8595         * testsuite/debug/printf_extension.c: (main):
8596         * testsuite/elements/tee.c:
8597         * testsuite/negotiation/.cvsignore:
8598         * testsuite/negotiation/Makefile.am:
8599         * testsuite/negotiation/pad_link.c:
8600         * testsuite/pad/Makefile.am:
8601         * testsuite/pad/chainnopull.c:
8602         * testsuite/pad/getnopush.c:
8603         * testsuite/pad/link.c:
8604         * testsuite/refcounting/sched.c: (create_pipeline):
8605         * testsuite/registry/Makefile.am:
8606         * testsuite/registry/gst-print-formats.c:
8607         * testsuite/schedulers/.cvsignore:
8608         * testsuite/schedulers/142183-2.c:
8609         * testsuite/schedulers/142183.c:
8610         * testsuite/schedulers/143777-2.c:
8611         * testsuite/schedulers/143777.c:
8612         * testsuite/schedulers/147713.c:
8613         * testsuite/schedulers/147819.c:
8614         * testsuite/schedulers/147894-2.c:
8615         * testsuite/schedulers/147894.c:
8616         * testsuite/schedulers/Makefile.am:
8617         * testsuite/schedulers/group_link.c:
8618         * testsuite/schedulers/queue_link.c:
8619         * testsuite/schedulers/relink.c:
8620         * testsuite/schedulers/unlink.c:
8621         * testsuite/schedulers/unref.c:
8622         * testsuite/schedulers/useless_iteration.c:
8623         * testsuite/states/bin.c:
8624           clean out/remove some stuff from the testsuite directories
8625
8626 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8627
8628         * configure.ac:
8629           check for some headers
8630         * gst/elements/Makefile.am:
8631         * gst/elements/gstelements.c:
8632           don't compile fdsrc without sys/socket.h
8633         * gst/indexers/Makefile.am:
8634         * gst/indexers/gstindexers.c: (plugin_init):
8635           don't compile fileindex without mmap
8636
8637 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8638
8639         * configure.ac:
8640           reorganize
8641           clean up
8642           document more
8643           remove cruft
8644         * check/Makefile.am:
8645         * docs/gst/Makefile.am:
8646         * examples/helloworld/Makefile.am:
8647         * gst/Makefile.am:
8648         * gst/base/Makefile.am:
8649         * gst/check/Makefile.am:
8650         * gst/elements/Makefile.am:
8651         * gst/indexers/Makefile.am:
8652         * gst/parse/Makefile.am:
8653         * libs/gst/controller/Makefile.am:
8654         * libs/gst/dataprotocol/Makefile.am:
8655         * examples/helloworld/helloworld.c: (event_loop):
8656           compile fixes, though it's not being compiled currently
8657
8658 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8659
8660         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8661           Add some simple tests for the new taglist date API.
8662
8663 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8664
8665         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8666         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8667           Beautify 'last-message' output: print 'none' for buffer timestamps
8668           and durations if none is set; improve alignment with next messages.
8669
8670 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8671
8672         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8673         * gst/gstpluginfeature.h:
8674         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8675         * gst/gstregistry.h:
8676         * docs/gst/gstreamer-sections.txt:
8677           Add new API to check plugin feature version requirements.
8678
8679         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8680           Some basic tests for the above.         
8681
8682 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8683
8684         * gst/gststructure.c: (gst_structure_to_string):
8685           guard against NULL printf - happens when for example
8686           a message structure with GstClock gets serialized
8687
8688 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8689
8690         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8691           Fix presumable copy'n'pasto.
8692
8693 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8694
8695         * gst/elements/gstfakesrc.h:
8696         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8697         * gst/elements/gsttypefindelement.c:
8698           fix some signedness
8699         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8700           I wonder if this could actually write +2GB files before
8701
8702 2005-10-13  Andy Wingo  <wingo@pobox.com>
8703
8704         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8705         Fix Timmeke Waymans bug.
8706         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8707         string of the proper length to gst_caps_from_string. There's a
8708         potential for, before this fix, that this could cause someone
8709         connecting over the network to cause a segfault if the payload is
8710         not NUL-terminated.
8711
8712 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8713
8714         * docs/design/draft-push-pull.txt:
8715         * docs/design/part-overview.txt:
8716         * docs/random/TODO-pre-0.9:
8717         * docs/random/old/ChangeLog.gstreamer:
8718         * gst/base/gstpushsrc.c:
8719         * gst/gstclock.c:
8720           fixed typos
8721
8722 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8723
8724         * gst/glib-compat.c: (gst_flags_get_first_value):
8725         * gst/glib-compat.h:
8726         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8727         (gst_value_compare_double), (gst_value_serialize_flags):
8728           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8729           infinite loop
8730
8731 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8732
8733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8734         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8735           fix up debugging
8736         * tools/gst-launch.c: (event_loop):
8737           print out clock nicely
8738
8739 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8740
8741         * docs/gst/gstreamer-sections.txt:
8742         * gst/gsttaglist.h:
8743         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8744         (gst_tag_list_get_date_index):
8745           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8746           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8747
8748 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8749
8750         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8751         (gst_collectpads_chain):
8752         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8753         in CollectData.
8754
8755 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8756
8757         * docs/gst/gstreamer-sections.txt:
8758         * gst/gst.c:
8759         * gst/gsterror.h:
8760         * tools/gst-inspect.c: (main):
8761         * tools/gst-launch.c: (main):
8762         * tools/gst-run.c: (main):
8763         * tools/gst-xmlinspect.c: (main):
8764           fix GOption context leaks
8765           doc fixes
8766
8767 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8768
8769         * gst/gstbus.c:
8770           use HAVE_UNISTD_H
8771         * win32/common/config.h:
8772           update config
8773         * win32/vs6/grammar.dsp:
8774         * win32/vs6/libgstelements.dsp:
8775         * win32/vs6/libgstreamer.dsp:
8776           update vs6 files
8777
8778 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8779
8780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8781         * gst/base/gstbasesrc.c: (gst_base_src_query):
8782           fix more guint64<->gdouble conversions
8783
8784 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8785
8786         * Makefile.am:
8787           add win32-update target
8788         * win32/common/gstconfig.h:
8789         * win32/common/gstenumtypes.c:
8790         * win32/common/gstenumtypes.h:
8791         * win32/common/gstversion.h:
8792           add files that visual studio can't generate
8793
8794 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8795
8796         * Makefile.am:
8797           add a win32-update target
8798         * configure.ac:
8799
8800 2005-10-12  Wim Taymans  <wim@fluendo.com>
8801
8802         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8803         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8804         * gst/gstelement.c: (gst_element_commit_state),
8805         (gst_element_set_state):
8806         Protect flags with proper lock.
8807         unref provided cached clock in dispose.
8808
8809 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8810
8811         * gst/gst.c:
8812         * gst/gstminiobject.h:
8813         * gst/gstpad.h:
8814         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8815           removed unused flags from miniobject
8816           doc fixes
8817
8818 2005-10-12  Wim Taymans  <wim@fluendo.com>
8819
8820         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8821         (gst_file_sink_event), (gst_file_sink_render):
8822         Flush before seeking.
8823
8824 2005-10-12  Andy Wingo  <wingo@pobox.com>
8825
8826         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8827         always been the case.
8828
8829 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8830
8831         * check/gst/gstbin.c: (GST_START_TEST):
8832         * docs/gst/gstreamer-sections.txt:
8833         * gst/base/gstbasesink.c: (gst_base_sink_init):
8834         * gst/base/gstbasesrc.c: (gst_base_src_init),
8835         (gst_base_src_get_range), (gst_base_src_check_get_range),
8836         (gst_base_src_start), (gst_base_src_stop):
8837         * gst/base/gstbasesrc.h:
8838         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8839         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8840         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8841         (bin_bus_handler):
8842         * gst/gstbin.h:
8843         * gst/gstbuffer.h:
8844         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8845         * gst/gstbus.h:
8846         * gst/gstelement.c: (gst_element_is_locked_state),
8847         (gst_element_set_locked_state), (gst_element_commit_state),
8848         (gst_element_set_state):
8849         * gst/gstelement.h:
8850         * gst/gstindex.c: (gst_index_init):
8851         * gst/gstindex.h:
8852         * gst/gstminiobject.h:
8853         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8854         (gst_object_set_parent):
8855         * gst/gstobject.h:
8856         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8857         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8858         * gst/gstpad.h:
8859         * gst/gstpadtemplate.h:
8860         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8861         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8862         * gst/gstpipeline.h:
8863         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8864         (gst_file_index_commit):
8865         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8866         * testsuite/pad/link.c: (gst_test_src_init),
8867         (gst_test_filter_init), (gst_test_sink_init):
8868         * testsuite/states/locked.c: (main):
8869           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8870           moved bitshift from macro to enum definition
8871
8872 2005-10-12  Wim Taymans  <wim@fluendo.com>
8873
8874         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8875         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8876         (gst_file_sink_render):
8877         Some more debugging info.
8878
8879 2005-10-12  Wim Taymans  <wim@fluendo.com>
8880
8881         * docs/design/part-states.txt:
8882         * tools/gst-launch.c: (main):
8883         Some doc updates.
8884         Revert non-intentional change.
8885
8886 2005-10-12  Wim Taymans  <wim@fluendo.com>
8887
8888         * check/gst/gstbin.c: (GST_START_TEST):
8889         * check/gst/gstelement.c: (GST_START_TEST):
8890         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8891         * check/gst/gstghostpad.c: (GST_START_TEST):
8892         * check/gst/gstpipeline.c: (GST_START_TEST):
8893         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8894         * check/states/sinks.c: (GST_START_TEST):
8895         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8896         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8897         (gst_bin_remove_func), (gst_bin_get_state_func),
8898         (gst_bin_recalc_state), (gst_bin_change_state_func),
8899         (bin_bus_handler):
8900         * gst/gstelement.c: (gst_element_get_state_func),
8901         (gst_element_get_state), (gst_element_abort_state),
8902         (gst_element_commit_state), (gst_element_set_state),
8903         (gst_element_change_state), (gst_element_change_state_func):
8904         * gst/gstelement.h:
8905         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8906         (gst_pipeline_provide_clock_func):
8907         * gst/gstutils.c: (gst_element_link_pads_filtered):
8908         * tools/gst-launch.c: (main):
8909         * tools/gst-typefind.c: (main):
8910         Use GstClockTime in _get_state() instead of GTimeVal.
8911         Remove old code in gstutils.c
8912
8913 2005-10-12  Andy Wingo  <wingo@pobox.com>
8914
8915         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8916         removed.
8917
8918         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8919         there is no task. Shouldn't affect any code, as nothing in our
8920         plugins checks this return value.
8921         (gst_pad_stop_task): Also take the stream lock if the pad has no
8922         task. Docs updated.
8923
8924 2005-10-12  Wim Taymans  <wim@fluendo.com>
8925
8926         * gst/gstpad.c: (pre_activate), (post_activate),
8927         (gst_pad_activate_pull), (gst_pad_activate_push):
8928         Cleanup activation code. Reset old state if
8929         activation failed.
8930
8931 2005-10-12  Wim Taymans  <wim@fluendo.com>
8932
8933         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8934         (gst_base_sink_change_state):
8935         No need to prerol after receiving EOS.
8936
8937         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8938         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8939         * gst/elements/gstidentity.c: (gst_identity_event):
8940         Print events more verbosely.
8941
8942 2005-10-12  Wim Taymans  <wim@fluendo.com>
8943
8944         * check/Makefile.am:
8945         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8946         * check/states/sinks2.c:
8947         Moved sinks2 testcode in sinks check.
8948
8949         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8950         (gst_bin_remove_func), (gst_bin_recalc_state),
8951         (gst_bin_change_state_func), (bin_bus_handler):
8952         Fix potential race condition when _get_state() iterated over an
8953         ASYNC element right before it posted a state completion.
8954
8955         * gst/gstclock.h:
8956         Do proper cast here.
8957
8958         * gst/gstevent.c: (gst_event_new_newsegment),
8959         (gst_event_parse_newsegment):
8960         A playback rate of 0.0 is not allowed.
8961
8962 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8963
8964         * win32/common/config.h:
8965         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8966         (_trewinddir), (_ttelldir), (_tseekdir):
8967         * win32/common/dirent.h:
8968         * win32/common/gtchar.h:
8969         * win32/common/libgstbase.def:
8970         * win32/common/libgstreamer.def:
8971         * win32/vs6/grammar.dsp:
8972         * win32/vs6/gst_inspect.dsp:
8973         * win32/vs6/gst_launch.dsp:
8974         * win32/vs6/gstreamer.dsw:
8975         * win32/vs6/libgstbase.dsp:
8976         * win32/vs6/libgstelements.dsp:
8977         * win32/vs6/libgstreamer.dsp:
8978           Visual Studio 6 project files, and a new common directory.
8979           Phear.
8980
8981 2005-10-11  Wim Taymans  <wim@fluendo.com>
8982
8983         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8984         (gst_base_sink_do_sync), (gst_base_sink_query),
8985         (gst_base_sink_change_state):
8986         * gst/base/gstbasesink.h:
8987         Correctly parse newsegment info.
8988
8989 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8990
8991         * gst/gst.c: (init_post):
8992           split plugin paths correctly
8993
8994 2005-10-11  Wim Taymans  <wim@fluendo.com>
8995
8996         * check/gst/gstevent.c: (GST_START_TEST):
8997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8998         (gst_base_sink_change_state):
8999         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9000         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9001         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9002         * gst/gstevent.c: (gst_event_new_newsegment),
9003         (gst_event_parse_newsegment):
9004         * gst/gstevent.h:
9005         Added extra flag to newsegment for future API freeze.
9006         Updated check and base elements.
9007
9008 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9009
9010         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9011         (gst_collectpads_add_pad), (gst_collectpads_pop),
9012         (gst_collectpads_event), (gst_collectpads_chain):
9013         * gst/base/gstcollectpads.h: Handle EOS correctly.
9014
9015 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9016
9017         * tools/gst-launch.c: (main):
9018           more null protecting
9019
9020 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9021
9022         * gst/gst-i18n-lib.h:
9023           check for ENABLE_NLS, not GETTEXT_PACKAGE
9024         * gst/gstregistry.c: (gst_registry_add_plugin),
9025         (gst_registry_scan_path_level),
9026         (_gst_registry_remove_cache_plugins):
9027           protect possibly NULL strings
9028         * gst/parse/types.h:
9029           config.h already included before
9030         * tools/gst-inspect.c: (main):
9031           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9032           check for ENABLE_NLS, not GETTEXT_PACKAGE
9033         * tools/gst-launch.c: (main):
9034           check for ENABLE_NLS, not GETTEXT_PACKAGE
9035
9036 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9037
9038         * configure.ac:
9039           if we don't have glib, fail before testing 2.8
9040         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9041           fix a leak, should fix plugins-base testsuite
9042
9043 2005-10-11  Andy Wingo  <wingo@pobox.com>
9044
9045         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9046         take the mode we're going to as an arg. Go head and set the mode
9047         and flushing flags now, so that if the activate function starts a
9048         thread all the flags will be in the right state.
9049         (post_activate): Renamed also. Just handle making sure streaming
9050         finishes for the deactivation case, and setting the deactivated
9051         mode.
9052         (gst_pad_set_active): Complain loudly if deactivation fails.
9053         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9054         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9055         remove the terrible hack.
9056
9057 2005-10-11  Wim Taymans  <wim@fluendo.com>
9058
9059         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9060         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9061         (gst_bin_recalc_state), (gst_bin_change_state_func),
9062         (gst_bin_dispose), (bin_bus_handler):
9063         * gst/gstbin.h:
9064         Prepare to make current EOS message queue more generic.
9065         Fix some typos.
9066
9067         * gst/gstevent.c: (gst_event_new_newsegment),
9068         (gst_event_parse_newsegment):
9069         * gst/gstevent.h:
9070         Rename base to stream_time.
9071
9072         * gst/gstmessage.h:
9073         Fix typo in docs.
9074
9075 2005-10-11  Wim Taymans  <wim@fluendo.com>
9076
9077         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9078         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9079         (gst_bin_change_state_func), (bin_bus_handler):
9080         * gst/gstbin.h:
9081         Work on proper clock selection.
9082
9083 2005-10-11  Edward Hervey  <edward@fluendo.com>
9084
9085         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9086         * libs/gst/controller/gstcontroller.h:
9087         Added GList* version of _remove_properties() in order to be able to wrap
9088         it in bindings.
9089
9090 2005-10-11  Wim Taymans  <wim@fluendo.com>
9091
9092         * docs/design/part-states.txt:
9093         Some more docs.
9094
9095         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9096         (gst_bin_change_state_func), (bin_bus_handler):
9097         Doc updates. Don't distribute the same clock over and over again.
9098
9099         * gst/gstclock.c:
9100         * gst/gstclock.h:
9101         Doc updates.
9102
9103         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9104         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9105         (gst_pad_send_event):
9106         * gst/gstpad.h:
9107         Make probe emission threadsafe again.
9108         Register quarks and move _get_name() from utils.
9109         Doc updates.
9110
9111         * gst/gstpipeline.c: (gst_pipeline_class_init),
9112         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9113         Only redistribute the clock of it changed.
9114
9115         * gst/gstsystemclock.h:
9116         Doc updates. 
9117
9118         * gst/gstutils.c:
9119         * gst/gstutils.h:
9120         Moved the _flow_get_name() to GstPad.
9121
9122 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9123
9124         * check/gst-libs/gdp.c: (GST_START_TEST):
9125         * check/gst/gstcaps.c: (GST_START_TEST):
9126         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9127         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9128         (gst_dp_packet_from_caps):
9129           fix more valgrind warnings before turning up the heat
9130
9131 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9132
9133         * gst/parse/grammar.y:
9134           some cleanup before the hacking
9135
9136 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9137
9138         * gst/base/gstbasesrc.c: (gst_base_src_query):
9139           use conversions
9140         * gst/gstutils.c: (gst_guint64_to_gdouble),
9141         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9142         * gst/gstutils.h:
9143           externalize, basesrc uses it
9144           obviously the implementation needs testing
9145
9146 2005-10-10  Wim Taymans  <wim@fluendo.com>
9147
9148         * tests/sched/Makefile.am:
9149         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9150         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9151
9152 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9153
9154         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9155           apparently converting from guint64 to double is not implemented
9156           on MSVC
9157
9158 2005-10-10  Wim Taymans  <wim@fluendo.com>
9159
9160         * check/Makefile.am:
9161         * check/generic/states.c: (GST_START_TEST):
9162         * check/gst/gstbin.c: (GST_START_TEST):
9163         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9164         * check/states/sinks.c: (GST_START_TEST):
9165         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9166         (main):
9167         Check fixes, use API as stated in design docs, remove hacks.
9168
9169         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9170         (gst_base_sink_change_state):
9171         Catch stopping our task while we're shutting down.
9172
9173         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9174         (gst_bin_remove_func), (gst_bin_get_state_func),
9175         (gst_bin_recalc_state), (gst_bin_change_state_func),
9176         (bin_bus_handler):
9177         * gst/gstbin.h:
9178         * gst/gstelement.c: (gst_element_init),
9179         (gst_element_get_state_func), (gst_element_abort_state),
9180         (gst_element_commit_state), (gst_element_lost_state),
9181         (gst_element_set_state), (gst_element_change_state),
9182         (gst_element_change_state_func):
9183         * gst/gstelement.h:
9184         New state change algorithm (see #318116)
9185
9186         * gst/gstpipeline.c: (gst_pipeline_class_init),
9187         (gst_pipeline_init), (gst_pipeline_set_property),
9188         (gst_pipeline_get_property), (do_pipeline_seek),
9189         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9190         * gst/gstpipeline.h:
9191         Remove crude state change hacks.
9192
9193         * gst/gstutils.h:
9194         Remove crude hacks.
9195
9196         * tools/gst-launch.c: (main):
9197         Fixes for state change. Needs some more work to fully use the
9198         new stuff.
9199
9200 2005-10-10  Andy Wingo  <wingo@pobox.com>
9201
9202         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9203
9204         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9205         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9206         issue.
9207
9208 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9209
9210         * gst/gstiterator.c: (gst_iterator_new):
9211           Fix my previous commit: GTypes passed to gst_iterator_new()
9212           can be fundamental types.
9213
9214 2005-10-10  Wim Taymans  <wim@fluendo.com>
9215
9216         * gst/gstelement.c: (gst_element_iterate_pad_list),
9217         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9218         (gst_element_iterate_sink_pads):
9219         Use src/sink pads lists for the respective iterators instead
9220         of filtering.
9221
9222 2005-10-10  Andy Wingo  <wingo@pobox.com>
9223
9224         Merged in popt removal + GOption addition patch from Ronald, bug
9225         #169772.
9226
9227         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9228         GstElement macros around, remove popt-related symbols, add goption
9229         stuff.
9230
9231         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9232         
9233         * docs/gst/Makefile.am:
9234         * docs/libs/Makefile.am: No POPT_CFLAGS.
9235         
9236         * examples/manual/Makefile.am:
9237         * docs/manual/basics-init.xml: Doc updates with an example.
9238         
9239         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9240         (gst_init), (parse_one_option), (parse_goption_arg):
9241         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9242         bit of hand merging and debugging to get the GOption stuff working
9243         tho.
9244         
9245         * tests/Makefile.am:
9246         * tools/Makefile.am:
9247         * tools/gst-inspect.c: (main):
9248         * tools/gst-launch.c: (main):
9249         * tools/gst-run.c: (main):
9250         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9251
9252 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9253
9254         * gst/gstiterator.c: (gst_iterator_new):
9255           Add assertions to make sure passed GType is likely to really
9256           be a GType (as the compiler won't catch it if the size and
9257           GType arguments get mixed up, see #318447).
9258
9259 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9260
9261         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9262
9263         * gst/gstbin.c: (gst_bin_iterate_sorted):
9264           Pass GType and size arguments to gst_iterator_new() in the right
9265           order (maybe we should make _new() take the GType as first argument
9266           just like _new_list()?) (#318447).
9267           
9268
9269 2005-10-10  Wim Taymans  <wim@fluendo.com>
9270
9271         * gst/gstelement.c: (gst_element_finalize):
9272         And free the GStaticRecMutex too
9273
9274 2005-10-10  Andy Wingo  <wingo@pobox.com>
9275
9276         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9277         Allocate and free the mutex properly.
9278
9279         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9280         New macros.
9281         (GstElement): The state_lock is now recursive. Rebuild your
9282         plugins, suckers. Old macros adapted.
9283
9284         * docs/gst/gstreamer-sections.txt: Doc updates.
9285
9286         * gst/gstutils.h:
9287         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9288         (g_static_rec_cond_wait): Ported from state changes patch, while
9289         we wait on bug #317802 to be solved in a well-distributed GLib.
9290
9291         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9292         gst_element_change_state, variable name changes.
9293         (gst_element_change_state): Split out of gst_element_set_state in
9294         preparation for the state change merge. Doesn't pay attention to
9295         the 'transition' argument.
9296         (gst_element_set_state): Updates, hopefully purely cosmetic.
9297         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9298         state change patch.
9299         (gst_element_get_state_func): Renamed from get_state, cosmetic
9300         changes.
9301
9302 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9303
9304         * gst/elements/gstelements.c:
9305         * win32/GStreamer.vcproj:
9306         * win32/config.h:
9307         * win32/dirent.c: (_tseekdir):
9308         * win32/gst-inspect.vcproj:
9309         * win32/gst-launch.vcproj:
9310         * win32/gstconfig.h:
9311         * win32/gstelements.vcproj:
9312         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9313         * win32/gstreamer.def:
9314         * win32/msvc71.sln:
9315           updates for the win32 build (patch from Sebastien Moutte)
9316
9317 2005-10-10  Andy Wingo  <wingo@pobox.com>
9318
9319         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9320         gst_bin_get_state, cleaned up (but no logic changes).
9321         (bin_element_is_sink): Comment updates.
9322         (sink_iterator_filter): Remove needless cast.
9323         (gst_bin_iterate_sinks): Doc update.
9324         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9325         cleaned up (but no logic changes).
9326
9327         * check/states/sinks.c (test_src_sink): Cleanups from the state
9328         change patch.
9329         (test_livesrc_sink): Sync on the state.
9330
9331         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9332         the state change patch.
9333
9334         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9335         change patch.
9336
9337         * check/gst/gstbin.c: Merge in some style fixes and additional
9338         checks from Wim's state change patch.
9339
9340 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9341
9342         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9343         (gst_type_find_helper):
9344           Check whether we have the requested data already in our list of
9345           cached buffers before pulling a new buffer; also make the buffer
9346           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9347
9348 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9349
9350         * gst/gstcaps.c:
9351         * gst/gstevent.c:
9352           doc updates
9353         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9354           don't use long long, it's not portable.  Replacing with
9355           gint64 seems to work; let's hope no skeletons fall out of the closet.
9356
9357 2005-10-10  Andy Wingo  <wingo@pobox.com>
9358
9359         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9360
9361 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9362
9363         * docs/gst/gstreamer-sections.txt:
9364         * gst/gstevent.c:
9365         * gst/gstevent.h:
9366         * gst/gstinfo.c:
9367         * gst/gstinfo.h:
9368         * gst/gstmessage.c: (gst_message_parse_state_changed):
9369         * gst/gstpad.c:
9370         * gst/gstpad.h:
9371           more docs, fix compilation
9372
9373 2005-10-09  Philippe Khalaf <burger@speedy.org>
9374         * gst/gstmessage.c:
9375           Fixed a few forgotten variables on previous commit
9376
9377 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9378
9379         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9380           Fix evil typefind crasher: getrange() might return a short
9381           buffer at the end of a file, but gst_type_find_peek() must
9382           either return the full data as requested or NULL, but
9383           never a short buffer.
9384
9385 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9386
9387         * gst/gstmessage.c: (gst_message_new_state_changed),
9388         (gst_message_parse_state_changed):
9389         * gst/gstmessage.h:
9390           don't use "new", it's a C++ keyword
9391
9392 2005-10-08  Wim Taymans  <wim@fluendo.com>
9393
9394         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9395         * gst/gstelement.c: (gst_element_post_message):
9396         * gst/gstpipeline.c: (gst_pipeline_change_state):
9397         Small docs and debug updates.
9398
9399 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9400
9401         * docs/gst/gstreamer-sections.txt:
9402         * gst/gstelementfactory.c:
9403         * gst/gstevent.c:
9404         * gst/gsttaglist.c:
9405           more docs
9406
9407 2005-10-08  Wim Taymans  <wim@fluendo.com>
9408
9409         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9410         (gst_bin_dispose), (bin_bus_handler):
9411         Fix typos, add comments.
9412         Clear EOS list when going to PAUSED from any direction and do it
9413         in a threadsafe way.
9414         Get base time in a threadsafe way too.
9415         Fix confusing debug in the change_state function.
9416         Various other small cleanups.
9417         
9418         * gst/gstelement.c: (gst_element_post_message):
9419         Fix very verbose bus posting code.
9420
9421         * gst/gstpipeline.c: (gst_pipeline_class_init),
9422         (gst_pipeline_set_property), (gst_pipeline_get_property),
9423         (gst_pipeline_change_state):
9424         Small ARG_ -> PROP_ cleanup
9425
9426 2005-10-08  Wim Taymans  <wim@fluendo.com>
9427
9428         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9429         Do a less CPU demanding EOS check because we can.
9430
9431 2005-10-08  Wim Taymans  <wim@fluendo.com>
9432
9433         * libs/gst/dataprotocol/dataprotocol.c:
9434         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9435         (gst_dp_packet_from_event):
9436         * libs/gst/dataprotocol/dataprotocol.h:
9437         * libs/gst/dataprotocol/dp-private.h:
9438         It's about time we bump the version number.
9439         Since event types don't fit in the guint8 anymore describing
9440         the payload type, make payload type 16 bits wide.
9441
9442 2005-10-08  Wim Taymans  <wim@fluendo.com>
9443
9444         * docs/design/part-TODO.txt:
9445         * docs/design/part-clocks.txt:
9446         * docs/design/part-events.txt:
9447         * docs/design/part-gstbin.txt:
9448         * docs/design/part-gstelement.txt:
9449         * docs/design/part-gstpipeline.txt:
9450         * docs/design/part-live-source.txt:
9451         * docs/design/part-messages.txt:
9452         * docs/design/part-overview.txt:
9453         * docs/design/part-states.txt:
9454         Many doc updates.
9455
9456 2005-10-08  Wim Taymans  <wim@fluendo.com>
9457
9458         * gst/gstevent.c:
9459         * gst/gstevent.h:
9460         Fix event quark registration.
9461         Add some space between events so we can insert them in the
9462         right groups.
9463
9464 2005-10-08  Wim Taymans  <wim@fluendo.com>
9465
9466         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9467         (gst_base_sink_handle_buffer):
9468         Better log message.
9469
9470         * gst/gstbus.h:
9471         * gst/gstelement.h:
9472         More docs.
9473
9474         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9475         (gst_queue_set_property), (gst_queue_get_property):
9476         * gst/gstqueue.h:
9477         Remove old unused properties.
9478
9479 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9480         * docs/gst/gstreamer-sections.txt:
9481         * gst/gstmessage.c:
9482         * gst/gstmessage.h:
9483         * gst/gstminiobject.c:
9484         * gst/gstminiobject.h:
9485         * gst/gstobject.h:
9486         * gst/gstpad.h:
9487         * gst/gstutils.h:
9488           lots of new docs and doc fixes
9489
9490 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9491
9492         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9493         * gst/gstplugin.h:
9494         * gst/gstregistry.c: (gst_registry_lookup_locked),
9495         (gst_registry_scan_path_level):
9496         * gst/gstregistryxml.c: (load_plugin):
9497           Only ever load one plugin for a given plugin basename.
9498           This ensures correct overriding of GST_PLUGIN_PATH over
9499           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9500           system installed plugins.
9501
9502 2005-10-08  Wim Taymans  <wim@fluendo.com>
9503
9504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9505         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9506         Prepare for doing QOS.
9507
9508 2005-10-08  Wim Taymans  <wim@fluendo.com>
9509
9510         * check/gst/gstbin.c: (GST_START_TEST):
9511         * check/pipelines/cleanup.c: (GST_START_TEST):
9512         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9513         Allow new clock message too.
9514
9515 2005-10-08  Wim Taymans  <wim@fluendo.com>
9516
9517         * gst/gstmessage.c: (gst_message_new_error),
9518         (gst_message_new_warning), (gst_message_new_tag),
9519         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9520         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9521         (gst_message_new_segment_start), (gst_message_new_segment_done),
9522         (gst_message_parse_state_changed),
9523         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9524         (gst_message_parse_new_clock):
9525         * gst/gstmessage.h:
9526         Also carry the clock in question.
9527
9528 2005-10-08  Wim Taymans  <wim@fluendo.com>
9529
9530         * gst/gstmessage.c: (gst_message_new_custom),
9531         (gst_message_new_eos), (gst_message_new_error),
9532         (gst_message_new_warning), (gst_message_new_tag),
9533         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9534         (gst_message_new_new_clock), (gst_message_new_segment_start),
9535         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9536         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9537         * gst/gstmessage.h:
9538         Clean up.
9539         Added clock related messages.
9540
9541         * gst/gstpipeline.c: (gst_pipeline_change_state):
9542         Post message when the clock changed.
9543
9544         * tools/gst-launch.c: (event_loop):
9545         Print new clock.
9546
9547 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9548
9549         * tools/gst-inspect.c: (print_element_properties_info):
9550           Can't pass NULL strings to g_print() on windows.
9551
9552 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9553
9554         * docs/Makefile.am:
9555         * docs/gst/Makefile.am:
9556         * docs/gst/gstreamer-docs.sgml:
9557         * docs/gst/running.xml:
9558         * docs/version.entities.in:
9559           add a chapter on running GStreamer.
9560           document GST_DEBUG and GST_PLUGIN* env vars
9561
9562 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9563
9564         * Makefile.am:
9565           remove include dir
9566         * configure.ac:
9567           remove PLUGINS_BUILDDIR stuff
9568         * gst/gst.c: (init_post):
9569           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9570         * idiottest.mak:
9571           remove, it was condescending and not needed
9572
9573 2005-10-08  Wim Taymans  <wim@fluendo.com>
9574
9575         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9576         (gst_base_sink_handle_object), (gst_base_sink_event),
9577         (gst_base_sink_wait), (gst_base_sink_handle_event),
9578         (gst_base_sink_change_state):
9579         * gst/base/gstbasesink.h:
9580         Repost EOS message while going to PLAYING if still EOS.
9581         Make sure that when receiving a FLUSH_START we don't attempt
9582         to sync on the clock anymore.
9583
9584 2005-10-08  Wim Taymans  <wim@fluendo.com>
9585
9586         * tools/gst-launch.c: (event_loop):
9587         Better message printout.
9588
9589 2005-10-08  Wim Taymans  <wim@fluendo.com>
9590
9591         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9592         (gst_bin_child_proxy_get_children_count):
9593         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9594         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9595         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9596         (gst_child_proxy_set_valist):
9597         * gst/parse/grammar.y:
9598         Make ChildProxy threadsafe and fix mem leaks.
9599
9600 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9601
9602         * gst/gst.c: (init_post):
9603           debug the GST_PLUGIN_ env vars
9604
9605 2005-10-08  Wim Taymans  <wim@fluendo.com>
9606
9607         * check/gst/gstbin.c: (GST_START_TEST):
9608         * check/gst/gstmessage.c: (GST_START_TEST):
9609         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9610         * gst/gstelement.c: (gst_element_commit_state),
9611         (gst_element_lost_state):
9612         * gst/gstmessage.c: (gst_message_new_state_changed),
9613         (gst_message_parse_state_changed):
9614         * gst/gstmessage.h:
9615         * tools/gst-launch.c: (event_loop):
9616         Added extra field to STATE_CHANGE message with the pending
9617         state, which will be different from the new state soon.
9618
9619 2005-10-08  Wim Taymans  <wim@fluendo.com>
9620
9621         * gst/gstbus.c: (gst_bus_pop):
9622         * gst/gstclock.c:
9623         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9624         Small cleanups and doc updates.
9625
9626 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9627
9628         * gst/gst.c: (init_pre):
9629         * gst/gstbin.c: (gst_bin_add_func):
9630           log distributing clocks and base time
9631         * gst/gstregistry.c: (gst_registry_add_plugin),
9632         (gst_registry_scan_path_level), (gst_registry_scan_path):
9633           clean up the debugging output a little
9634         * gst/gstutils.c: (gst_element_state_get_name):
9635           warn about a memleak (I've actually seen this be used, though
9636           it was probably a bug)
9637
9638 2005-10-07  Wim Taymans  <wim@fluendo.com>
9639
9640         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9641         (gst_base_src_init), (gst_base_src_default_newsegment),
9642         (gst_base_src_newsegment), (gst_base_src_do_seek),
9643         (gst_base_src_loop), (gst_base_src_start):
9644         * gst/base/gstbasesrc.h:
9645         Make the newsegment event customizable by subclasses.
9646
9647 2005-10-07  Wim Taymans  <wim@fluendo.com>
9648
9649         * gst/gstevent.c: (gst_event_new_buffersize),
9650         (gst_event_parse_buffersize):
9651         * gst/gstevent.h:
9652         New event for future idea.
9653
9654 2005-10-07  Andy Wingo  <wingo@pobox.com>
9655
9656         * gst/gstelement.c (gst_element_post_message): Doc update.
9657
9658         * docs/gst/gstreamer-sections.txt: Update.
9659
9660         * gst/gstmessage.c (gst_message_new_application): Made into a
9661         function like honest API calls.
9662         (gst_message_new_element): New message type.
9663
9664         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9665
9666         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9667         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9668         times.
9669
9670         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9671         NO_PREROLL from gst_element_change_state to fall through.
9672
9673 2005-10-07  Wim Taymans  <wim@fluendo.com>
9674
9675         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9676         (gst_ghost_pad_do_activate_push):
9677         Activating a ghostpad with no internal pad in push mode
9678         is ok.
9679
9680 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9681
9682         * gst/gstobject.h:
9683           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9684           Fixes compilation on Windows.
9685
9686 2005-10-07  Michael Smith <msmith@fluendo.com>
9687
9688         * tools/gst-inspect.c:
9689           Print out feature and plugin count at the end when printing out
9690           all features.
9691
9692 2005-10-04  Michael Smith <msmith@fluendo.com>
9693
9694         * gst/gsterror.c: (_gst_stream_errors_init):
9695           Add another error string used in a few existing plugins.
9696
9697         * gst/gstplugin.c:
9698         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9699         * tools/gst-inspect.c: (print_element_info):
9700           When a feature disappears from a plugin (and the feature exists in
9701           the cached registry file), things went horribly wrong. This isn't a
9702           complete fix, we should actually be removing the 'missing' features
9703           from the features list when we load the actual plugin. That's not
9704           yet implemented. 
9705
9706 2005-10-04  Johan Dahlin  <johan@gnome.org>
9707
9708         * check/gst/gstiterator.c: (GST_START_TEST):
9709         * gst/gstbin.c: (gst_bin_iterate_elements),
9710         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9711         * gst/gstelement.c: (gst_element_iterate_pads):
9712         * gst/gstformat.c: (gst_format_iterate_definitions):
9713         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9714         (gst_iterator_new_list), (gst_iterator_filter):
9715         * gst/gstiterator.h:
9716         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9717         Add a GType to GstIterator, update callsites and tests.
9718
9719 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9720
9721         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9722           give events a chance to be handled by event probes when the pad
9723           is not linked
9724
9725 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9726
9727         * gst/gstevent.c: (gst_event_type_get_name),
9728         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9729         * gst/gstevent.h:
9730           add string representations for event types
9731
9732 2005-10-06  Wim Taymans  <wim@fluendo.com>
9733
9734         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9735         Don't use NULL pointers.
9736
9737 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9738
9739         * gst/gst_private.h:
9740         * gst/gstbus.c:
9741         * gst/gstelement.c:
9742         * gst/gstinfo.c:
9743         * gst/gstpluginfeature.c:
9744           widen the debug category in output to fit the biggest one we have
9745           add a bus category and use it
9746           play with the colors
9747           fix up some categories
9748
9749 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9750
9751         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9752           add push activation of sink ghost pads.
9753           Andye, please verify
9754
9755 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9756
9757         * gst/gstutils.c: (gst_element_link_pads):
9758           fix a bug in the case where neither element has a pad
9759         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9760           add a test for that case
9761
9762 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9763
9764         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9765           emit have-data before checking for peers.  This allows
9766           for probe handlers to connect elements.  This helps autopluggers.
9767         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9768         (gst_pad_suite):
9769           add six checks, linked/unlinked with no/true/false probe
9770
9771 2005-10-04  Wim Taymans  <wim@fluendo.com>
9772
9773         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9774         (gst_fake_sink_event), (gst_fake_sink_preroll),
9775         (gst_fake_sink_render), (gst_fake_sink_change_state):
9776         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9777         (gst_fake_src_get_property), (gst_fake_src_create),
9778         (gst_fake_src_stop):
9779         * gst/elements/gstidentity.c: (gst_identity_stop):
9780         Protect last_message with lock.
9781
9782 2005-10-04  Edward Hervey  <edward@fluendo.com>
9783
9784         * gst/gstformat.h: 
9785         Added precision in the comments for GST_FORMAT_DEFAULT
9786
9787 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9788
9789         * tools/gst-launch.c: (main):
9790           Don't try to run erroneous pipelines.
9791
9792 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9793
9794         * gst/gstbus.c: We don't need this header.
9795
9796 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9797
9798         * configure.ac:
9799           back to development
9800
9801 === release 0.9.3 ===
9802
9803 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9804
9805         * README:
9806         * configure.ac:
9807           Releasing 0.9.3, "Unregistered"
9808
9809 2005-10-03  Andy Wingo  <wingo@pobox.com>
9810
9811         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9812         whereby calling a pad's activatepush() function can start a thread
9813         that starts to push or pull before the pad gets the FLUSHING flag
9814         unset. Hack around it by holding the stream lock until the flag is
9815         set. Need to replace this with a proper solution. Together with
9816         the ghost pad fixes, this fixes mp3 playing/tagreading.
9817
9818         * docs/design/part-gstghostpad.txt: Add a note about activation of
9819         proxy pads outside of ghost pads.
9820
9821         * gst/gstghostpad.c: Implement the ghost pad activation design.
9822
9823 2005-10-02  Andy Wingo  <wingo@pobox.com>
9824
9825         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9826         It is volatile, after all.
9827
9828         * docs/design/part-gstghostpad.txt: Flesh out activation with
9829         ghost pads.
9830
9831         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9832         GST_DEBUG_FUNCPTR.
9833
9834 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9835
9836         * configure.ac:
9837           Fix (unused) AM_CONDITIONAL tests.
9838
9839 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9840
9841         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9842
9843         * gst/gstutils.c: (gst_pad_query_convert):
9844           Add assertion that makes sure src_val is >=0, just like
9845           gst_query_new_convert() has. (#315895)
9846
9847 2005-09-30  Edward Hervey  <edward@fluendo.com>
9848
9849         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9850         Let's not iterate pads we're not interested in, it avoids getting 
9851         sky-high refcounts on sinkpad.
9852
9853 2005-09-30  Wim Taymans  <wim@fluendo.com>
9854
9855         * gst/gstelement.c: (gst_element_set_state),
9856         (gst_element_change_state):
9857         Small tweak, element in ASYNC remains ASYNC.
9858
9859 2005-09-30  Wim Taymans  <wim@fluendo.com>
9860
9861         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9862         Only error is an error.
9863
9864         * gst/gstbin.c: (gst_bin_change_state):
9865         Better debugging.
9866
9867         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9868         Also call pad_block in pad alloc.
9869
9870         * gst/gstutils.c: (gst_flow_get_name):
9871         Better debugging.
9872
9873 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9874
9875         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9876         (gst_base_src_get_range):
9877           Fix documentation typos. Add some more debug info.
9878
9879 2005-09-29  David Schleef  <ds@schleef.org>
9880
9881         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9882           more end-user friendly.
9883         * tools/gst-inspect.c: (main): Check if command-line argument is
9884           a file and attempt to load that file as a plugin.
9885
9886 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9887
9888         * check/gst/gstbin.c:
9889         * check/states/sinks.c:
9890           fix tests for the new warning
9891         * check/gst/gstpipeline.c:
9892           add a test for pipeline and bus interaction
9893         * gst/gstelement.c:
9894           elements should be NULL if they get disposed; add a warning if not
9895
9896 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9897
9898         * gst/gstobject.c:
9899           for 2.6 refcounting, make debug log more correct by printing
9900           the actual refcounts at the time of swap (Wim)
9901
9902 2005-09-29  Andy Wingo  <wingo@pobox.com>
9903
9904         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9905         removes signal watches previously added via
9906         gst_bus_add_signal_watch.
9907         (gst_bus_add_signal_watch): Don't return the source id, just store
9908         it on the bus if there wasn't an id already.
9909
9910         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9911         add_signal_watch and remove_signal_watch.
9912
9913 2005-09-29  Edward Hervey  <edward@fluendo.com>
9914
9915         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9916         Better if we actually iterate the list :)
9917
9918 2005-09-29  Wim Taymans  <wim@fluendo.com>
9919
9920         * check/gst/gstbin.c: (GST_START_TEST):
9921         Change for new bus API.
9922
9923         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9924         (send_messages), (GST_START_TEST), (gstbus_suite):
9925         Change for new bus signal API.
9926
9927         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9928         (gst_bus_source_prepare), (gst_bus_source_check),
9929         (gst_bus_create_watch), (gst_bus_add_watch_full),
9930         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9931         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9932         * gst/gstbus.h:
9933         Remove support for multiple GSources operating on different
9934         message types as it is too complex and unneeded when using
9935         signals.
9936         Added support for receiving signals from the bus.
9937
9938 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9939
9940         * docs/libs/tmpl/gstdataprotocol.sgml:
9941         * docs/manual/advanced-dataaccess.xml:
9942         * gst/elements/gstcapsfilter.c:
9943         * gst/gstutils.c:
9944           rename filter-caps to caps property
9945
9946 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9947
9948         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9949           More robust fraction string parsing.
9950
9951         * docs/pwg/appendix-porting.xml:
9952           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9953
9954 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9955
9956         * gst/gstcaps.c: (gst_caps_do_simplify):
9957           Thou shalt not free a structure and then continue using it
9958           in the next loop iteration.
9959
9960         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9961         (gst_caps_suite):
9962           Add test case for caps simplification.
9963
9964 2005-09-29  Wim Taymans  <wim@fluendo.com>
9965
9966         * check/gst/gstbin.c: (GST_START_TEST):
9967         Oops.
9968
9969 2005-09-29  Wim Taymans  <wim@fluendo.com>
9970
9971         * check/gst/gstbin.c: (GST_START_TEST):
9972         Add bus to bin.
9973
9974         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9975         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9976         (find_element), (gst_bin_sort_iterator_next),
9977         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9978         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9979         (gst_bin_change_state), (gst_bin_dispose):
9980         A bin does not have a bus, it gets the bus from the parent.
9981
9982         * gst/gstelement.c: (gst_element_requires_clock),
9983         (gst_element_provides_clock), (gst_element_is_indexable),
9984         (gst_element_is_locked_state), (gst_element_change_state),
9985         (gst_element_set_bus_func):
9986         Small cleanups.
9987
9988         * gst/gstpipeline.c: (gst_pipeline_class_init),
9989         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9990         The pipeline provides a bus.
9991
9992 2005-09-28  Johan Dahlin  <johan@gnome.org>
9993
9994         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9995         gst_structure_get_enum instead of gst_structure_get_int
9996
9997         * gst/gststructure.c (gst_structure_get_enum): Impl.
9998
9999         * gst/gststructure.h (gst_structure_get_enum): Add
10000
10001         * docs/gst/gstreamer-sections.txt: Ditto
10002
10003         * gst/gstmessage.c (gst_message_new_state_changed): Use
10004         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10005         which does introspection.
10006         Reviewed by Christian Schaller
10007
10008 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10009
10010         * gst/gstinfo.c: (gst_debug_log_default):
10011           don't do dummy g_strdup()s
10012         * libs/gst/controller/gstcontroller.c:
10013         (on_object_controlled_property_changed),
10014         (gst_controlled_property_new), (gst_controller_new_valist),
10015         (gst_controller_new_list),
10016         (gst_controller_remove_properties_valist), (gst_controller_set),
10017         (gst_controller_get), (gst_controller_sync_values),
10018         (gst_controller_get_value_array), (_gst_controller_class_init),
10019         (gst_controller_get_type):
10020         * libs/gst/controller/gstcontroller.h:
10021         * libs/gst/controller/gstinterpolation.c:
10022         (gst_controlled_property_find_timed_value_node):
10023           convert // to /**/ comments
10024
10025 2005-09-28  Wim Taymans  <wim@fluendo.com>
10026
10027         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10028         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10029         (gst_bus_sync_signal_handler):
10030         * gst/gstbus.h:
10031         Added async-message and sync-message signals to the bus.
10032         Added helper BusFunc to emit signals for all posted messages.
10033
10034         * gst/gstmessage.c: (gst_message_type_get_name),
10035         (gst_message_type_to_quark), (gst_message_get_type):
10036         * gst/gstmessage.h:
10037         Register quarks for message names.
10038
10039 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10040
10041         * docs/libs/gstreamer-libs-sections.txt:
10042         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10043         (gst_controller_new_list):
10044         * libs/gst/controller/gstcontroller.h:
10045           added another constructor for language bindings
10046
10047 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10048
10049         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10050           add another check
10051         * gst/gstbus.c:
10052           add some doc
10053         * gst/gstinfo.c: (_gst_debug_init):
10054           slightly more readable color for refcount debugging
10055
10056 2005-09-28  Wim Taymans  <wim@fluendo.com>
10057
10058         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10059         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10060         (find_element), (gst_bin_sort_iterator_next),
10061         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10062         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10063         (gst_bin_change_state), (gst_bin_dispose):
10064         Small doc fixes. get_clock -> provide_clock.
10065
10066         * gst/gstelement.c: (gst_element_class_init),
10067         (gst_element_provides_clock), (gst_element_provide_clock),
10068         (gst_element_get_clock), (gst_element_commit_state),
10069         (gst_element_lost_state):
10070         * gst/gstelement.h:
10071         Make get/set_clock() symetric. Add provide_clock vmethod since
10072         that is actually what this function does.
10073
10074         * gst/gstpipeline.c: (gst_pipeline_class_init),
10075         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10076         (gst_pipeline_get_clock):
10077         get_clock -> provide_clock.
10078
10079 2005-09-28  Andy Wingo  <wingo@pobox.com>
10080
10081         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10082         lieu of real docs...
10083
10084         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10085
10086 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10087
10088         * gst/elements/gstcapsfilter.c:
10089         * gst/elements/gstfakesink.c:
10090         * gst/elements/gstfakesrc.c:
10091         * gst/elements/gstfdsink.c:
10092         * gst/elements/gstfdsrc.c:
10093         * gst/elements/gstfilesink.c:
10094         * gst/elements/gstfilesrc.c:
10095         * gst/elements/gstidentity.c:
10096         * gst/elements/gsttee.c:
10097         * gst/elements/gsttypefindelement.c:
10098           Make element details static.
10099
10100 2005-09-28  Wim Taymans  <wim@fluendo.com>
10101
10102         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10103         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10104         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10105         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10106         (gst_bin_change_state), (gst_bin_dispose):
10107         Some documentation updates.
10108         Clean up dispose handlers.
10109
10110         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10111         * gst/gstpad.c: (gst_pad_dispose):
10112         Clean up dispose handler.
10113
10114         * gst/gstpipeline.c: (gst_pipeline_change_state):
10115         Removed spurious UNLOCK.
10116
10117 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10118
10119         * docs/gst/gstreamer-sections.txt:
10120         * gst/base/gstbasesrc.h:
10121         * gst/gstelement.h:
10122         * gst/gstevent.h:
10123         * gst/gstobject.h:
10124         * gst/gstpad.h:
10125         * gst/gstpipeline.c:
10126         * gst/gstpipeline.h:
10127         * gst/gstutils.h:
10128         * gst/gstxml.h:
10129           added two new functions to the docs
10130                 documents all undocumented GstXXXFlags
10131                 completed some incomplete docs 
10132
10133 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10134
10135         * gst/gstbin.c: (gst_bin_dispose):
10136         * gst/gstelement.c: (gst_element_dispose):
10137           remove now useless and leaky resurrection code in dispose
10138         * gst/base/gstbasesrc.c: (gst_base_src_init):
10139         * gst/gstelementfactory.c: (gst_element_factory_create):
10140         * gst/gstobject.c: (gst_object_set_parent):
10141           add some debugging
10142
10143 2005-09-27  Wim Taymans  <wim@fluendo.com>
10144
10145         * docs/design/part-TODO.txt:
10146         Update TODO.
10147
10148         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10149         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10150         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10151         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10152         (gst_bin_change_state):
10153         * gst/gstelement.h:
10154         Remove element variable, we keep element info in the iterator now.
10155
10156 2005-09-27  Andy Wingo  <wingo@pobox.com>
10157
10158         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10159         values.
10160
10161 2005-09-27  Wim Taymans  <wim@fluendo.com>
10162
10163         * check/gst/gstbin.c: (GST_START_TEST):
10164         Enable check that works now.
10165
10166         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10167         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10168         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10169         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10170         (gst_bin_change_state):
10171         * gst/gstbin.h:
10172         Redid the state change algorithm using a topological sort algo.
10173         Handles all cases correctly.
10174         Exposed iterator for state change order.
10175
10176         * gst/gstelement.h:
10177         Temp storage for state changes. Need to get rid of this soon.
10178
10179 2005-09-27  Wim Taymans  <wim@fluendo.com>
10180
10181         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10182         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10183         (link_fold_func), (gst_pad_proxy_setcaps):
10184         Leak fixes, the fold functions need to unref the passed object and
10185         _get_parent_*() returns ref to parent.
10186
10187 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10188
10189         * check/gst/gstbuffer.c: (test_make_writable):
10190           Plug leak in test case and fix 'make check-valgrind'
10191
10192 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10193
10194         * gst/gstbuffer.c: (gst_subbuffer_init):
10195           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10196           works correctly in all circumstances (we could have just copied
10197           the parent buffer's readonly flag, but conceptually it seems
10198           cleaner to mark all subbuffers as read-only). (based on patch
10199           by Alessandro Decina, #314710).
10200         
10201         * check/gst/gstbuffer.c: (create_read_only_buffer),
10202         (test_make_writable), (test_subbuffer_make_writable),
10203         (gst_test_suite):
10204           Add some tests for gst_buffer_make_writable().
10205
10206 2005-09-27  Wim Taymans  <wim@fluendo.com>
10207
10208         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10209         use gst_object_has_ancestor().
10210
10211         * gst/gstobject.c: (gst_object_has_ancestor):
10212         * gst/gstobject.h:
10213         gst_object_has_ancestor() copied from gstbin.c as it is a
10214         usefull function.
10215
10216         * tests/instantiate/create.c: (create_all_elements):
10217         * tests/lat.c: (handoff_src), (handoff_sink):
10218         * tests/sched/runxml.c: (main):
10219         * tests/seeking/seeking1.c: (main):
10220         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10221         (main):
10222         Fix compilation of some tests.
10223
10224 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10225
10226         * gst/gsterror.h:
10227           Remove comment. GST_TYPE_G_ERROR is here to stay,
10228           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10229           (#316961, #300610).
10230
10231 2005-09-26  Wim Taymans  <wim@fluendo.com>
10232
10233         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10234         Added check that shows error in state change order.
10235
10236 2005-09-26  Wim Taymans  <wim@fluendo.com>
10237
10238         * gst/gstbin.c: (gst_bin_change_state):
10239         Make state change function use 3 queues again, we were
10240         adding elements in the wrong order.
10241
10242         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10243         Some debug info,
10244
10245         * gst/gstpad.c: (gst_pad_dispose):
10246         Added some debug info first.
10247
10248 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10249
10250         * docs/design/draft-push-pull.txt:
10251         * docs/design/part-events.txt:
10252         * docs/design/part-overview.txt:
10253         * docs/design/part-scheduling.txt:
10254           Replace all _pull_region() with _pull_range()
10255           
10256 2005-09-26  Andy Wingo  <wingo@pobox.com>
10257
10258         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10259
10260         * check/gst-libs/controller.c: Update for controller api change.
10261
10262         * configure.ac: 
10263         * tests/Makefile.am:
10264         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10265         over by GLib bug 118439.
10266         
10267         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10268         routines to a function.
10269
10270         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10271
10272         * libs/gst/controller/gsthelper.c:
10273         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10274         (gst_object_sync_values): Renamed from sink_values. Ugh.
10275
10276         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10277
10278         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10279         Renamed from controller_key, as it is exported.
10280
10281         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10282
10283 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10284
10285         * gst/Makefile.am:
10286         * gst/gst.h:
10287         * gst/gstpad.h:
10288         * gst/gstpadtemplate.h:
10289         * gst/gstquery.c:
10290         * gst/gstquery.h:
10291         * gst/gstqueryutils.c:
10292         * gst/gstqueryutils.h:
10293           remove queryutils headers after moving the two used functions
10294           to gstquery.  also fixes build problem for gstsiddec
10295
10296 2005-09-26  Michael Smith <msmith@fluendo.com>
10297
10298         * tools/gst-launch.1.in:
10299         Correct documentation in manpage of debug syntax
10300
10301 2005-09-26  Wim Taymans  <wim@fluendo.com>
10302
10303         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10304         (gst_base_src_is_seekable), (gst_base_src_change_state):
10305         Some more debugging info.
10306
10307 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10308
10309         * docs/gst/gstreamer-sections.txt:
10310         * gst/base/gstbasetransform.h:
10311         * gst/gstindex.h:
10312           added more docs
10313
10314 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10315
10316         * docs/gst/.cvsignore:
10317         * docs/gst/tmpl/.cvsignore:
10318         * docs/gst/tmpl/gstpipeline.sgml:
10319         * docs/gst/tmpl/gstplugin.sgml:
10320         * gst/gstpipeline.c:
10321         * gst/gstplugin.c:
10322         * gst/gstplugin.h:
10323           inlined the last two docs files
10324           removed the tmpl directory from cvs (no more conflicts here!)
10325
10326 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10327
10328         * docs/gst/gstreamer-sections.txt:
10329         * docs/gst/tmpl/.cvsignore:
10330         * docs/gst/tmpl/gstpad.sgml:
10331         * docs/gst/tmpl/gstpadtemplate.sgml:
10332         * gst/Makefile.am:
10333         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10334         (gst_pad_finalize), (gst_pad_set_pad_template):
10335         * gst/gstpad.h:
10336         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10337         (gst_pad_template_class_init), (gst_pad_template_init),
10338         (gst_pad_template_dispose), (name_is_valid),
10339         (gst_static_pad_template_get), (gst_pad_template_new),
10340         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10341         (gst_pad_template_pad_created):
10342         * gst/gstpadtemplate.h:
10343           inlined two more docs
10344           factored gstpadtemplate out of gstpad
10345
10346 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10347
10348         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10349         (test_children_state_change_order_semi_sink):
10350           Fix test case: we can't rely on a fixed state change order when
10351           going from READY => PAUSED because the sink might commit its 
10352           new state first when the first buffer created by the source 
10353           reaches the sink before the source has finished its change state.
10354           (Test case still fails at times, see #316856, comment 5 onwards)
10355
10356 2005-09-24  Wim Taymans  <wim@fluendo.com>
10357
10358         * docs/design/part-events.txt:
10359         * docs/design/part-gstbus.txt:
10360         * docs/design/part-gstpipeline.txt:
10361         * docs/design/part-messages.txt:
10362         * docs/design/part-overview.txt:
10363         * docs/design/part-segments.txt:
10364         * gst/gstbin.c:
10365         * gst/gstbuffer.c:
10366         * gst/gstclock.c:
10367         * gst/gstelement.c:
10368         * gst/gstevent.c:
10369         * gst/gstfilter.c:
10370         * gst/gstiterator.c:
10371         Various documentation updates.
10372
10373 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10374
10375         * gst/gstclock.h:
10376           Well, that's embarassing.  Luckily we weren't using
10377           GST_CLOCK_DIFF anywhere.
10378
10379 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10380
10381         * common/gtk-doc.mak:
10382           don't fail on building XML, FC4 slave shows a bunch of doc
10383           missing bits that I don't get
10384         * gst/gstpad.c:
10385         * gst/gstpipeline.c:
10386         * gst/gststructure.c:
10387           some doc updates
10388
10389 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10390
10391         * docs/design/part-gstbin.txt:
10392         * docs/design/part-gstbus.txt:
10393         * gst/gstbus.c:
10394           Add blurb about how the bus goes into flushing mode and
10395           drops all messages when its bin goes from READY into NULL 
10396           state.
10397
10398 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10399
10400         * docs/gst/gstreamer-sections.txt:
10401         * gst/gststructure.c: (gst_structure_get_clock_time):
10402         * gst/gststructure.h:
10403           add a method to get a GstClockTime out of a structure
10404
10405 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10406
10407         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10408         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10409           Added test to check state change order in bins (can still be made
10410           to fail here under heavy disk load; bails out with 'Push on pad
10411           fakesink:sink0, but it was not activated in push mode').
10412
10413         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10414           Fix state change order when there is only a semi sink (#316856)
10415
10416         * gst/gstbus.c: (gst_bus_class_init):
10417           Use _class_peek_parent(), not _class_ref(); fix docs to say
10418           'default main context' instead of 'mainloop' where that is
10419           what's meant.
10420
10421         * gst/gstelement.c: (gst_element_commit_state),
10422         (gst_element_set_state):
10423           Fix typos in debug messages
10424
10425 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10426
10427         * docs/README:
10428         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10429         * gst/gstpluginfeature.c:
10430         * gst/gstutils.c:
10431           various doc updates
10432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10433           change an assert into an error until it gets fixed properly
10434
10435 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10436
10437         * docs/gst/gstreamer-sections.txt:
10438         * docs/gst/tmpl/.cvsignore:
10439         * docs/gst/tmpl/gstelement.sgml:
10440         * docs/gst/tmpl/gstinfo.sgml:
10441         * docs/gst/tmpl/gstobject.sgml:
10442         * gst/gstelement.c:
10443         * gst/gstelement.h:
10444         * gst/gstinfo.c:
10445         * gst/gstinfo.h:
10446         * gst/gstobject.c: (gst_object_class_init):
10447         * gst/gstobject.h:
10448           inlined 3 more biiiig doc files and added some missing docs on the fly
10449
10450 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10451
10452         * check/gst/.cvsignore:
10453         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10454         * gst/gstregistryxml.c: (load_plugin),
10455         (gst_registry_xml_save_plugin):
10456           put back source in registry.  add checks for find_plugin.
10457         * testsuite/states/bin.c: (assert_state), (empty_bin),
10458         (test_adding_one_element), (main):
10459         * testsuite/states/locked.c: (main):
10460           some compile/run fixes
10461
10462 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10463
10464         * check/gst/gstvalue.c: (GST_START_TEST):
10465           fix leaks in the test itself
10466
10467 2005-09-22  Wim Taymans  <wim@fluendo.com>
10468
10469         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10470         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10471         (gst_base_sink_query):
10472         Prepare for more accurate position reporting and query
10473         handling.
10474
10475         * gst/gstelement.c: (gst_element_send_event),
10476         (gst_element_set_state):
10477         Add some comment.
10478
10479 2005-09-22  Wim Taymans  <wim@fluendo.com>
10480
10481         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10482         (gst_query_parse_segment):
10483         * gst/gstquery.h:
10484         More documentation.
10485         Add segment query for future use.
10486
10487 2005-09-22  Wim Taymans  <wim@fluendo.com>
10488
10489         * gst/gstbin.c: (gst_bin_add_func):
10490         Some more debug info.
10491
10492         * gst/gstelement.c: (gst_element_send_event):
10493         Simplify send_event
10494
10495         * gst/gstelement.h:
10496         Don't know how flags got broken.
10497
10498         * gst/gstquery.h:
10499         Added new query.
10500
10501 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10502
10503         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10504           Add simplistic test suite for GST_TYPE_DATE serialisation and
10505           deserialisation.
10506
10507 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10508
10509         * docs/gst/gstreamer-sections.txt:
10510         * gst/gststructure.c: (gst_structure_set_valist),
10511         (gst_structure_get_date):
10512         * gst/gststructure.h:
10513         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10514         (gst_date_copy), (gst_value_compare_date),
10515         (gst_value_serialize_date), (gst_value_deserialize_date),
10516         (gst_value_transform_date_string),
10517         (gst_value_transform_string_date), (_gst_value_initialize):
10518         * gst/gstvalue.h:
10519           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10520           bunch of utility functions along with a hack that checks that
10521           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10522           is required. Part of the grand scheme in #170777.
10523
10524 2005-09-22  Andy Wingo  <wingo@pobox.com>
10525
10526         * gst/gstconfig.h.in: Psych out gtk-doc.
10527
10528         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10529
10530         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10531
10532         * tools/gst-inspect.c (print_element_list): Plug some
10533         inconsequential leaks.
10534
10535         * gst/gstregistry.c (gst_registry_get_default): Doc.
10536
10537         * check/gst/gstplugin.c: 
10538         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10539         * gst/gstelementfactory.c (gst_element_factory_create): 
10540         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10541         refcount changes.
10542
10543         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10544         (gst_plugin_feature_load): Doc, don't eat refs.
10545
10546         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10547         (gst_plugin_list_free): Doc.
10548         (gst_plugin_load_file): Doc updates.
10549
10550         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10551         accessors returning refcounted objects, return a ref.
10552
10553         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10554         accessor for caps. IDEMPOTENCE. Oh yes.
10555
10556 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10557
10558         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10559
10560         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10561         (_gst_debug_register_funcptr):
10562           Add mutex to serialise access to the hash table with
10563           the function pointer => function name string mapping;
10564           make that hash table static scope (#316809).
10565
10566         * gst/registries/.cvsignore:
10567           Remove left-over file.
10568
10569 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10570
10571         * docs/pwg/appendix-porting.xml:
10572           And something about newsegment events and caps-on-buffers to
10573           the porting guide (feel free to improve).
10574
10575 2005-09-21  Andy Wingo  <wingo@pobox.com>
10576
10577         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10578         data and event probes on the same pad.
10579         (test_buffer_probe_once): Test that removing probes from within
10580         the probe functions works.
10581
10582 2005-09-21  Andy Wingo  <wingo@pobox.com>
10583
10584         * check/gst/gstutils.c: New file.
10585         (test_buffer_probe_n_times): A simple buffer probe test. More to
10586         come, foolios.
10587
10588         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10589         have-data::buffer, not have-data.
10590         (gst_pad_add_event_probe): Likewise for have-data::event.
10591         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10592         peer' isn't quite right yet though.
10593         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10594         (gst_pad_remove_data_probe): Change to take the guint handler_id
10595         as their arg, not the function+data, which is more glib-like.
10596
10597         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10598         the signal emission to indicate if the data is a buffer or an
10599         event.
10600         (gst_pad_get_type): Initialize buffer and event quarks.
10601         (gst_pad_class_init): have-data is now a detailed signal, yes it
10602         is.
10603
10604 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10605
10606         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10607         * gst/gstutils.c: (gst_util_set_value_from_string),
10608         (gst_util_set_object_arg):
10609           Don't put functional code in g_return_if_fail() or
10610           g_return_val_if_fail() statements, otherwise things will 
10611           break when G_DISABLE_CHECKS is defined during compilation.
10612
10613 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10614
10615         * docs/gst/tmpl/.cvsignore:
10616         * docs/gst/tmpl/gstvalue.sgml:
10617         * gst/gstvalue.c:
10618         * gst/gstvalue.h:
10619           inlied another one and added  some obvious docs
10620
10621 2005-09-21  Wim Taymans  <wim@fluendo.com>
10622
10623         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10624         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10625         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10626         (gst_fdsrc_get_property), (gst_fdsrc_create):
10627         * gst/elements/gstfdsrc.h:
10628         Properly implement fdsrc. Removed signal and timeout,
10629         better implemented somewhere else.
10630
10631 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10632
10633         * docs/gst/tmpl/.cvsignore:
10634         * docs/gst/tmpl/gstimplementsinterface.sgml:
10635         * gst/gstinterface.c:
10636           inlined more docs
10637
10638 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10639
10640         * docs/gst/gstreamer-sections.txt:
10641         * docs/gst/tmpl/.cvsignore:
10642         * docs/gst/tmpl/gstenumtypes.sgml:
10643           remove obsolete doc file
10644
10645 2005-09-21  David Schleef  <ds@schleef.org>
10646
10647         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10648         little beer, fix a little leak.
10649
10650 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10651
10652         * docs/gst/gstreamer-docs.sgml:
10653         * docs/gst/gstreamer-sections.txt:
10654         * docs/gst/tmpl/.cvsignore:
10655         * gst/Makefile.am:
10656         * gst/gst.h:
10657         * gst/gstbin.c:
10658         * gst/gstelement.h:
10659         * gst/gstindex.c: (gst_index_class_init):
10660         * gst/gstindex.h:
10661         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10662         (gst_index_factory_class_init), (gst_index_factory_init),
10663         (gst_index_factory_finalize), (gst_index_factory_new),
10664         (gst_index_factory_destroy), (gst_index_factory_find),
10665         (gst_index_factory_create), (gst_index_factory_make):
10666         * gst/gstindexfactory.h:
10667         * gst/gstpluginfeature.c:
10668         * gst/gstpluginfeature.h:
10669         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10670           more docs inlined, splitted gstindex.{c,h}
10671
10672 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10673
10674         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10675           fix a leak
10676
10677 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10678
10679         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10680           Set sync to FALSE by default.
10681
10682 2005-09-20  Wim Taymans  <wim@fluendo.com>
10683
10684         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10685         (gst_base_sink_init):
10686         Make sync property settable from subclass.
10687
10688         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10689         (gst_fake_sink_change_state):
10690         Set sync to FALSE by default.
10691
10692 2005-09-20  Wim Taymans  <wim@fluendo.com>
10693
10694         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10695         * tools/gst-launch.c: (main):
10696         The timeout handler should have lower priority than the source
10697         so we don't timeout before popping a message with 0 timeout.
10698         Dump error messages after failed state change.
10699
10700 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10701
10702         * tools/gst-inspect.c: (print_element_properties_info):
10703           Fix two typos.
10704
10705 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10706
10707         * check/gst/gstevent.c:
10708         * gst/elements/gstfakesink.c:
10709         * gst/elements/gstfakesink.h:
10710           remove the sync property from fakesink.
10711           has the side effect of setting sync TRUE
10712           for fakesink, which is a change.  Anyone who knows how
10713           to fix this nicely in a GObject-y way, feel free.
10714
10715 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10716
10717         * docs/gst/gstreamer-docs.sgml:
10718           remove probe refsection
10719
10720 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10721
10722         * check/Makefile.am:
10723           disable valgrinding the controller test again
10724         * docs/gst/gstreamer-sections.txt:
10725           update for api-changes
10726
10727 2005-09-20  Wim Taymans  <wim@fluendo.com>
10728
10729         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10730         (gst_base_sink_set_property), (gst_base_sink_get_property),
10731         (gst_base_sink_do_sync):
10732         * gst/base/gstbasesink.h:
10733         Added sync property to basesink to disable clock sync.
10734
10735 2005-09-20  Andy Wingo  <wingo@pobox.com>
10736
10737         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10738         eating the caller's refcount.
10739
10740         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10741         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10742         refcount.
10743
10744         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10745         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10746         of GLib 2.8 public, so we can know which refcount to check in
10747         tests.
10748
10749         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10750         (gst_object_init): Only set the gst refcount if we're going ahead
10751         with the refcount hack.
10752
10753 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10754
10755         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10756         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10757           more leaks plumbed, added more debug-logging
10758         * gst/gstmacros.h:
10759           whitespace fix
10760
10761 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10762
10763         * gst/gstmessage.c:
10764           remove include of gstmemchunk.h
10765
10766 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10767
10768         * gst/gstclock.c: (_gst_clock_id_free):
10769           Commit from the Political Party For More Atomic CVS Commits,
10770           so that people don't waste too much of their day fishing
10771           out obvious leaks out of massive commits.
10772           Oh, and fix a pretty damn obvious leak in the memchunk
10773           removal code.
10774
10775 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10776
10777         * check/Makefile.am:
10778         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10779           plug mem-leak, re-add to valgrindable tests
10780
10781 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10782
10783         * gst/gstplugin.h:
10784           unbreak the build for those who have chronic arthritis
10785           and typing "make check" is just too taxing on the hands
10786
10787 2005-09-20  Andy Wingo  <wingo@pobox.com>
10788
10789         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10790         really want it out, you should fix plugins at the same time.
10791
10792 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10793
10794         * configure.ac:
10795         * docs/gst/gstreamer-sections.txt:
10796         * gst/gstobject.c:
10797           added missing symbols to api docs
10798           disable ref-count hack if we have glib >= 2.8
10799
10800 2005-09-19  David Schleef  <ds@schleef.org>
10801
10802         * docs/gst/Makefile.am: Ignore a few more internal headers
10803         * docs/gst/gstreamer-docs.sgml: Remove old sections
10804         * docs/gst/gstreamer-sections.txt: Remove old sections
10805         * docs/gst/tmpl/gstobject.sgml: update
10806         * docs/gst/tmpl/gstplugin.sgml: update
10807         * docs/gst/tmpl/gstpluginfeature.sgml: update
10808         * docs/random/ds/0.9-suggested-changes: update.
10809         * gst/Makefile.am: remove memchunk and trashstack, since they're
10810           not used.
10811         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10812         * gst/gst.h: don't include some headers
10813         * gst/gstchildproxy.c: add gstmarshal.h
10814         * gst/gstclock.c: Don't use memchunks
10815         * gst/gstminiobject.c: Add some docs
10816         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10817         * gst/gstobject.h: same
10818         * gst/gstplugin.c: include gstmacros.h
10819         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10820         * gst/gstquery.c: don't use memchunks
10821         * gst/gstregistry.c: rename gst_registry_deinit()
10822         * gst/gstregistry.h: same
10823
10824 2005-09-19  David Schleef  <ds@schleef.org>
10825
10826         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10827         * docs/libs/gstreamer-libs-sections.txt:
10828         * docs/libs/tmpl/gstgetbits.sgml:
10829         * docs/libs/tmpl/gstputbits.sgml:
10830
10831 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10832
10833         * win32/gstenumtypes.c:
10834         * win32/gstenumtypes.h:
10835           Update.
10836
10837 2005-09-19  Wim Taymans  <wim@fluendo.com>
10838
10839         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10840         Automatically PAUSE and RESUME a pipeline when a flushing seek
10841         is performed.
10842
10843 2005-09-19  Andy Wingo  <wingo@pobox.com>
10844
10845         * gst/gstregistry.h: Spacing fixen.
10846
10847 2005-09-19  Wim Taymans  <wim@fluendo.com>
10848
10849         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10850         Handle state change failure more correctly.
10851
10852 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10853
10854         * check/Makefile.am:
10855         * check/pipelines/cleanup.c: (run_pipeline):
10856         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10857         (GST_START_TEST):
10858           enable cleanup again after fixing the leak
10859         * docs/README:
10860           some more info on docs
10861
10862 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10863
10864         * check/Makefile.am:
10865           re-enable tests now that leaks are plugged
10866         * check/gst/gst.c:
10867         * check/gst/gstbin.c:
10868         * check/gst/gstpipeline.c:
10869           add some more tests while fixing leaks
10870         * common/check.mak:
10871           make sure binaries are uptodate when valgrinding/gdbing
10872         * gst/gst.c:
10873         * gst/gstelementfactory.c:
10874           remove a ref too many, and add a FIXME for when we get
10875           round to disposing of classes
10876         * gst/gstplugin.c:
10877           fix the refcounting when loading a plugin from a file and
10878           the code pretends that the pointer is the same even though
10879           of course it can change
10880         * gst/gstpluginfeature.c:
10881           unref plugins marked cached (a bit confusing as a name)
10882           as the docs state should be done
10883           various doc additions to explain refcounting
10884         * gst/gstregistry.c:
10885         * gst/gstregistryxml.c:
10886           debugging
10887
10888 2005-09-19  Wim Taymans  <wim@fluendo.com>
10889
10890         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10891         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10892         (send_messages), (GST_START_TEST), (gstbus_suite):
10893         * check/gst/gstpipeline.c: (GST_START_TEST):
10894         * check/pipelines/cleanup.c: (run_pipeline):
10895         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10896         (GST_START_TEST):
10897         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10898         (gst_bus_source_check), (gst_bus_source_dispatch),
10899         (gst_bus_create_watch), (gst_bus_add_watch_full),
10900         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10901         * gst/gstbus.h:
10902         * tools/gst-launch.c: (event_loop):
10903         * tools/gst-md5sum.c: (event_loop):
10904         GstBusHandler -> GstBusFunc, return value has the same meaning as
10905         any other GSource (FALSE == remove source).
10906         _add_watch() and _add_watch_full() now take a MessageType mask to
10907         only handle specific types of messages.
10908         _poll() returns the GstMessage instead of the message type to avoid
10909         race conditions.
10910         _have_pending() takes a MessageType mask now too.
10911         Added testsuite for multiple bus watches.
10912         Fix testsuites and applications for new bus API.
10913
10914 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10915
10916         * check/Makefile.am:
10917           mark a bunch of the tests as to fix until we fix them
10918
10919 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10920
10921         * common/check.mak:
10922           use GST_PLUGIN settings for valgrind tests as well, so we're
10923           valgrinding the correct thing
10924         * gst/gst.c: (init_post):
10925           plug another leak
10926
10927 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10928
10929         * gst/gst.c: (init_post), (gst_deinit):
10930         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10931         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10932         * gst/gstindex.c: (gst_index_factory_class_init),
10933         (gst_index_factory_finalize):
10934         * gst/gstobject.c: (gst_object_dispose):
10935         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10936         (gst_plugin_load_file), (gst_plugin_desc_free):
10937         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10938         (gst_plugin_feature_finalize):
10939         * gst/gstregistry.c: (gst_registry_class_init),
10940         (gst_registry_init), (gst_registry_finalize),
10941         (gst_registry_get_default), (gst_registry_deinit):
10942         * gst/gstregistry.h:
10943         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10944           various cleanups and memleak plugging.  make valgrind is happy now.
10945
10946 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10947
10948         * common/check.mak:
10949           add a check-valgrind target
10950
10951 2005-09-18  David Schleef  <ds@schleef.org>
10952
10953         * tools/gst-inspect.c: Revert the GOption code.
10954
10955 2005-09-17  David Schleef  <ds@schleef.org>
10956
10957         * check/Makefile.am: Fix environment variables.
10958         * check/gst/gstplugin.c: Fix for API changes.
10959         * tools/gst-inspect.c: Fix for API changes.
10960         * tools/gst-xmlinspect.c: Fix for API changes.
10961         * gst/gstelementfactory.c:
10962         * gst/gstplugin.c:
10963         * gst/gstplugin.h:
10964         * gst/gstpluginfeature.c:
10965         * gst/gstpluginfeature.h:
10966         * gst/gstregistry.c:
10967         * gst/gstregistry.h:
10968         * gst/gstregistryxml.c:
10969         * gst/gsttypefind.c:
10970         * gst/gsttypefindfactory.c:
10971         * gst/indexers/gstfileindex.c:
10972         * gst/indexers/gstmemindex.c:
10973         * gst/schedulers/Makefile.am:
10974           Change registry to keep track of both plugins and features,
10975           removing the feature tracking from plugins themselves.
10976
10977 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10978
10979         * check/Makefile.am:
10980         * tools/gst-register.1.in:
10981           remove gst-register
10982
10983 2005-09-15  David Schleef  <ds@schleef.org>
10984
10985         * check/gst/gstplugin.c:
10986         * gst/gstelementfactory.c:
10987         * gst/gstplugin.c:
10988         * gst/gstpluginfeature.c:
10989         * gst/gstregistry.c:
10990           Getting tired of debugging.  Disabled all the unreffing of
10991           plugins and features, which fixes the segfaults, but of
10992           course leaks like crazy.  At least playbin works.
10993
10994 2005-09-15  David Schleef  <ds@schleef.org>
10995
10996         * check/gst/gstplugin.c: (register_check_elements),
10997         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10998         More testing
10999         * gst/elements/gsttypefindelement.c: Fix refcounting.
11000         * gst/gsttypefind.c:
11001         * gst/gsttypefindfactory.c:
11002         * gst/gsttypefindfactory.h:
11003
11004 2005-09-15  David Schleef  <ds@schleef.org>
11005
11006         * gst/gstindex.c: get refcounting correct.
11007         * gst/gstregistry.c: Handle the case where a feature/plugin is
11008           not found.
11009
11010 2005-09-15  David Schleef  <ds@schleef.org>
11011
11012         * check/Makefile.am:
11013         * check/gst/gstplugin.c: Add test
11014         * gst/gstplugin.c: Fix problems noticed by testsuite
11015         * gst/gstplugin.h:
11016         * gst/gstregistry.c: 
11017         * gst/gstregistry.h:
11018
11019 2005-09-15  David Schleef  <ds@schleef.org>
11020
11021         * gst/gstplugin.c: Implement semi-decent recounting and locking
11022           in plugins and plugin features.
11023         * gst/gstplugin.h:
11024         * gst/gstpluginfeature.c:
11025         * gst/gstpluginfeature.h:
11026         * gst/gstregistry.c:
11027
11028 2005-09-15  Michael Smith <msmith@fluendo.com>
11029
11030         * gst/gstregistry.c: (gst_registry_get_feature_list):
11031           Implement this. Makes oggdemux work; decodebin still broken.
11032
11033 2005-09-14  David Schleef  <ds@schleef.org>
11034
11035         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11036           #316076)
11037         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11038         * gst/check/Makefile.am:
11039         * libs/gst/controller/Makefile.am:
11040         * libs/gst/dataprotocol/Makefile.am:
11041
11042 2005-09-14  David Schleef  <ds@schleef.org>
11043
11044         * configure.ac: Remove getbits library.  Nothing uses it, and
11045           it should be in something like liboil if someone did want
11046           to use it.
11047         * libs/gst/Makefile.am:
11048         * libs/gst/getbits/Makefile.am:
11049         * libs/gst/getbits/gbtest.c:
11050         * libs/gst/getbits/getbits.c:
11051         * libs/gst/getbits/getbits.h:
11052         * libs/gst/getbits/gstgetbits_generic.c:
11053         * libs/gst/getbits/gstgetbits_i386.s:
11054         * libs/gst/getbits/gstgetbits_inl.h:
11055
11056 2005-09-14  David Schleef  <ds@schleef.org>
11057
11058         * gst/Makefile.am: Dist glib-compat.h
11059
11060 2005-09-14  David Schleef  <ds@schleef.org>
11061
11062         * configure.ac: Remove gst/registries, since it's no longer used.
11063         * gst/registries/Makefile.am:
11064         * gst/registries/gstlibxmlregistry.c:
11065         * gst/registries/gstlibxmlregistry.h:
11066         * gst/registries/gstxmlregistry.c:
11067         * gst/registries/gstxmlregistry.h:
11068         * gst/registries/registrytest.c:
11069
11070 2005-09-14  David Schleef  <ds@schleef.org>
11071
11072         * gst/glib-compat.h:
11073         * gst/gstregistryxml.c:
11074           Convergence is near.  Seriously.
11075
11076 2005-09-14  David Schleef  <ds@schleef.org>
11077
11078         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11079         * gst/glib-compat.h:
11080           Attempt #4 to appease the buildbots.
11081
11082 2005-09-14  David Schleef  <ds@schleef.org>
11083
11084         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11085           Attempt #3.
11086
11087 2005-09-14  David Schleef  <ds@schleef.org>
11088
11089         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11090         Attempt #2.
11091
11092 2005-09-14  David Schleef  <ds@schleef.org>
11093
11094         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11095           the new functions.
11096
11097 2005-09-14  David Schleef  <ds@schleef.org>
11098
11099         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11100         * gst/glib-compat.h: Add some functions that are in newer versions
11101           of glib than we care to require.
11102         * gst/gstregistryxml.c: Use them.
11103
11104 2005-09-14  David Schleef  <ds@schleef.org>
11105
11106         * po/POTFILES.in: remove gst-register.c
11107
11108 2005-09-14  David Schleef  <ds@schleef.org>
11109
11110         * docs/gst/gstreamer-docs.sgml:
11111         * docs/gst/gstreamer-sections.txt:
11112         * docs/gst/gstreamer.types:
11113         * docs/gst/tmpl/gstelement.sgml:
11114         * docs/gst/tmpl/gstplugin.sgml:
11115         * docs/gst/tmpl/gstpluginfeature.sgml:
11116           Documentation updates for registry changes.
11117
11118 2005-09-14  David Schleef  <ds@schleef.org>
11119
11120         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11121           because we don't require glib-2.8.
11122
11123 2005-09-14  David Schleef  <ds@schleef.org>
11124
11125         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11126           registries directory.
11127
11128 2005-09-14  David Schleef  <ds@schleef.org>
11129
11130         * check/Makefile.am:
11131         * check/generic/states.c:
11132         * gst/Makefile.am:
11133         * gst/gst.c:
11134         * gst/gst.h:
11135         * gst/gst_private.h:
11136         * gst/gstelementfactory.c:
11137         * gst/gstindex.c:
11138         * gst/gstinfo.c:
11139         * gst/gstplugin.c:
11140         * gst/gstplugin.h:
11141         * gst/gstpluginfeature.c:
11142         * gst/gstpluginfeature.h:
11143         * gst/gstregistry.c:
11144         * gst/gstregistry.h:
11145         * gst/gstregistrypool.c: remove
11146         * gst/gstregistrypool.h: remove
11147         * gst/gsttypefind.c:
11148         * gst/gsttypefindfactory.c:
11149         * gst/gsturi.c:
11150         * tools/Makefile.am:
11151         * tools/gst-compprep.c:
11152         * tools/gst-inspect.c:
11153         * tools/gst-register.c: remove
11154         * tools/gst-xmlinspect.c:
11155           Registry rewrite.  Changes registry from being a file created
11156           by a tool into a simple cache file created automatically by 
11157           libgstreamer.  Removed gst-register (because it's no longer
11158           needed).  Remove registry pools, because we only have one
11159           registry implementation (XML).  Fix up other subsystems as
11160           necessary.
11161
11162 2005-09-13  Michael Smith <msmith@fluendo.com>
11163
11164         * gst/gstconfig.h.in:
11165           Don't Use windows linking attributes for MinGW. Fixes #316157
11166
11167 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11168
11169         * gst/gstutils.c: (set_state_async_thread_func),
11170         (gst_element_set_state_async):
11171           Apparently people think it's better if this function doesn't
11172           try to set the state to whatever state was asked for on the first
11173           call to this function for any object.  Seriously.
11174
11175 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11176
11177         * check/gst/gstpipeline.c: (GST_START_TEST):
11178         * docs/gst/gstreamer-sections.txt:
11179         * gst/gstutils.c: (set_state_async_thread_func),
11180         (gst_element_set_state_async):
11181         * gst/gstutils.h:
11182           add a "gst_element_set_state_async" method that
11183           sets the state and starts a thread to make sure the state
11184           change completes as best as it can
11185
11186 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11187
11188         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11189           codify design+behaviour in testsuite after discussion
11190
11191 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11192
11193         * docs/gst/tmpl/gstelement.sgml:
11194         * docs/manual/appendix-quotes.xml:
11195           add a quote
11196         * gst/gstelement.c: (gst_element_set_state):
11197           add some debug
11198
11199 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11200
11201         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11202         (gst_base_transform_prepare_output_buf),
11203         (gst_base_transform_handle_buffer):
11204         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11205         (gst_capsfilter_prepare_buf):
11206           Remove the requirement for sub-classes to call the parent
11207           implementation of prepare_output_buffer with a wrapper function.
11208           
11209         * gst/gsttaglist.h:
11210         * gst/gsttagsetter.h:
11211           Fix #define wrapper
11212
11213 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11214
11215         * docs/gst/gstreamer-sections.txt:
11216           more doc cleanups
11217
11218 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11219
11220         * docs/gst/gstreamer-sections.txt:
11221         * docs/gst/tmpl/gstelement.sgml:
11222         * docs/gst/tmpl/gstplugin.sgml:
11223         * gst/gstminiobject.c:
11224         * gst/gstvalue.h:
11225           docs now stop throwing warnings
11226
11227 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11228
11229         * docs/gst/gstreamer-sections.txt:
11230         * docs/gst/gstreamer.types:
11231         * docs/gst/tmpl/gstpad.sgml:
11232         * docs/gst/tmpl/gsttypes.sgml:
11233         * gst/base/gstadapter.h:
11234         * gst/base/gstbasesink.h:
11235         * gst/base/gstbasesrc.h:
11236         * gst/gstbin.h:
11237         * gst/gstbuffer.h:
11238         * gst/gstbus.h:
11239         * gst/gstcaps.h:
11240         * gst/gstclock.h:
11241         * gst/gstelement.h:
11242         * gst/gstevent.h:
11243         * gst/gstmessage.h:
11244         * gst/gstpad.h:
11245         * gst/gststructure.c:
11246         * gst/registries/gstlibxmlregistry.h:
11247           various documentation fixes
11248
11249 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11250
11251         * docs/gst/gstreamer-sections.txt:
11252         * docs/gst/tmpl/gstvalue.sgml:
11253           rearrange gstvalue section
11254         * gst/gstutils.c: (gst_element_state_get_name):
11255           NONE -> VOID
11256         * gst/gstvalue.c: (_gst_value_initialize):
11257         * gst/gstvalue.h:
11258           doc updates
11259
11260 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11261
11262         * check/gst-libs/controller.c:
11263           Header include fix.
11264         * gst/base/gstbasetransform.c:
11265         (gst_base_transform_default_prepare_buf),
11266         (gst_base_transform_handle_buffer):
11267         * gst/base/gstbasetransform.h:
11268           Some more basetransform changes and fixes to enable sub-classes
11269           that modify buffer metadata only.
11270         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11271         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11272         (gst_capsfilter_prepare_buf):
11273           If the output pad has fixed allowed caps and input buffers 
11274           don't have any, set the fixed caps on outgoing buffers.
11275
11276 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11277         * check/elements/identity.c: (GST_START_TEST):
11278           Make the error a little clearer when the test fails because
11279           identity made a copy of the buffer.
11280         * docs/gst/gstreamer-sections.txt:
11281           New symbols in gstbasetransform.h
11282         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11283         (gst_base_transform_init), (gst_base_transform_transform_size),
11284         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11285         (gst_base_transform_default_prepare_buf),
11286         (gst_base_transform_get_unit_size),
11287         (gst_base_transform_buffer_alloc),
11288         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11289         (gst_base_transform_change_state),
11290         (gst_base_transform_set_passthrough),
11291         (gst_base_transform_set_in_place),
11292         (gst_base_transform_is_in_place):
11293         * gst/base/gstbasetransform.h:
11294           Change BaseTransform to separate in_place operate from same_caps
11295           output. in_place implies that the element can perform the transform
11296           on incoming buffers in-place, even if the caps on the output are
11297           different.
11298           Sub-class elements can now implement special buffer allocation
11299           methods for outgoing buffers if they wish to.
11300           Big documentation addition.
11301         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11302         * gst/elements/gstelements.c:
11303           Changes for basetransform modifications.
11304         * gst/elements/Makefile.am:
11305         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11306           Compile fix. Extra debug output.
11307
11308 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11309
11310         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11311         (gst_pad_suite):
11312           add tests for valid pad naming
11313         * gst/check/gstcheck.c: (gst_check_log_message_func),
11314         (gst_check_log_critical_func):
11315           add ASSERT_WARNING
11316           remove printing of code, it is fragile when the code contains
11317           % and the line number is enough info
11318         * gst/check/gstcheck.h:
11319         * gst/gstpad.c: (gst_pad_template_new):
11320           fix memleaks
11321
11322 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11323
11324         * configure.ac:
11325           say what CHECK flags we use
11326         * docs/libs/gstreamer-libs.types:
11327         * libs/gst/controller/Makefile.am:
11328         * libs/gst/controller/gst-controller.c:
11329         * libs/gst/controller/gst-controller.h:
11330         * libs/gst/controller/gst-helper.c:
11331         * libs/gst/controller/gst-interpolation.c:
11332         * libs/gst/controller/gstcontroller.c:
11333         * libs/gst/controller/gsthelper.c:
11334         * libs/gst/controller/gstinterpolation.c:
11335         * tools/gst-inspect.c: (print_plugin_info):
11336           we don't use dashes in header names
11337
11338 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11339
11340         * check/Makefile.am:
11341         * check/gst/.cvsignore:
11342         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11343         (gst_pipeline_suite), (main):
11344           adding a test for pipelines and state changes
11345         * gst/gstutils.c: (get_state_func):
11346           add some debugging
11347         * gstreamer.spec.in:
11348           fix up spec file
11349
11350 2005-09-08  Michael Smith <msmith@fluendo.com>
11351
11352         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11353         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11354         (gst_file_src_is_seekable), (gst_file_src_get_size),
11355         (gst_file_src_start):
11356         * gst/elements/gstfilesrc.h:
11357           Various fixes for unseekable, unmmapable, and non-normal files, so
11358           that fallback to read() rather than mmap() works.
11359         * gst/gstevent.c: (gst_event_new_newsegment):
11360           Allow newsegment events with segment_start == segment_end, as will
11361           correctly happen if you use filesrc on a zero-size file, for
11362           example.
11363
11364 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11365
11366         * gst/gstplugin.c: (gst_plugin_load_file):
11367           Call g_module_close when we don't load the module
11368
11369         * gst/registries/gstlibxmlregistry.c:
11370         (gst_xml_registry_get_property):
11371           Port leak fix from 0.8
11372
11373 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11374
11375         * docs/gst/gstreamer-docs.sgml:
11376         * docs/gst/tmpl/.cvsignore:
11377         * docs/gst/tmpl/gsttrace.sgml:
11378         * docs/gst/tmpl/gsttrashstack.sgml:
11379         * gst/Makefile.am:
11380         * gst/gst.h:
11381         * gst/gstelement.h:
11382         * gst/gstevent.h:
11383         * gst/gstmessage.c:
11384         * gst/gstmessage.h:
11385         * gst/gsttag.c:
11386         * gst/gsttag.h:
11387         * gst/gsttaginterface.c:
11388         * gst/gsttaginterface.h:
11389         * gst/gsttaglist.c:
11390         * gst/gsttaglist.h:
11391         * gst/gsttagsetter.c:
11392         * gst/gsttagsetter.h:
11393         * gst/gsttrace.c:
11394         * gst/gsttrace.h:
11395         * gst/gsttrashstack.c:
11396           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11397           inlined docs for gsttrace, gsttrashstack
11398
11399 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11400
11401         * gst/Makefile.am:
11402         * gst/elements/gstbufferstore.h:
11403         * gst/elements/gsttypefindelement.c:
11404         * gst/elements/gsttypefindelement.h:
11405         * gst/gst.h:
11406         * gst/gsttypefind.c:
11407         * gst/gsttypefind.h:
11408         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11409         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11410         (gst_type_find_factory_dispose),
11411         (gst_type_find_factory_unload_thyself),
11412         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11413         (gst_type_find_factory_get_caps),
11414         (gst_type_find_factory_get_extensions),
11415         (gst_type_find_factory_call_function):
11416         * gst/gsttypefindfactory.h:
11417         * gst/registries/gstlibxmlregistry.c:
11418         * gst/registries/gstxmlregistry.c:
11419           splitted gsttypefind into gsttypefind, gsttypefindfactory
11420
11421 2005-09-07  Andy Wingo  <wingo@pobox.com>
11422
11423         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11424         condition whereby the pad's task function is entered before the
11425         pad_mode variable was set.
11426
11427 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11428
11429         * gst/gstpad.c: (gst_pad_alloc_buffer):
11430           Catch misbehaving pad_alloc functions that don't
11431           set up caps and do it for them.
11432
11433 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11434
11435         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11436           test for pipe!=NULL
11437         * docs/gst/tmpl/.cvsignore:
11438         * docs/gst/tmpl/gstmemchunk.sgml:
11439         * docs/gst/tmpl/gstparse.sgml:
11440         * docs/gst/tmpl/gsttaglist.sgml:
11441         * docs/gst/tmpl/gsttagsetter.sgml:
11442         * docs/gst/tmpl/gsttypefind.sgml:
11443         * docs/gst/tmpl/gsttypefindfactory.sgml:
11444         * gst/gstmemchunk.c:
11445         * gst/gstparse.c:
11446         * gst/gsttag.c:
11447         * gst/gsttaginterface.c:
11448         * gst/gsttypefind.c:
11449         * gst/gsttypefind.h:
11450           inlined more docs
11451
11452 === release 0.9.2 ===
11453
11454 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11455
11456         * NEWS:
11457         * RELEASE:
11458         * configure.ac:
11459           releasing 0.9.2, "South"
11460
11461 2005-09-05  Andy Wingo  <wingo@pobox.com>
11462
11463         * gst/registries/gstxmlregistry.h:
11464         * gst/registries/gstxmlregistry.c: Um... resurrect...
11465         
11466         * gst/registries/gstxmlregistry.h:
11467         * gst/registries/gstxmlregistry.c: and update to newer API.
11468         Incidentally they should be a bit faster now that they don't have
11469         to parse the caps.
11470         
11471 2005-09-05  Andy Wingo  <wingo@pobox.com>
11472
11473         * gst/registries/gstxmlregistry.h:
11474         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11475         replaced by the libxml registry a while back
11476
11477 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11478
11479         * docs/gst/tmpl/gstplugin.sgml:
11480         * gst/elements/gstelements.c:
11481         * gst/gst.c:
11482         * gst/gstplugin.c: (gst_plugin_register_func),
11483         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11484         (gst_plugin_get_source):
11485         * gst/gstplugin.h:
11486         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11487         (gst_xml_registry_save_plugin):
11488         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11489         (gst_xml_registry_save_plugin):
11490         * tools/gst-inspect.c: (print_plugin_info):
11491           add a "source" plugin description field, to represent the source
11492           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11493           will set it to PACKAGE, which is automake's idea of the name of
11494           the source project.
11495
11496 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11497
11498         * Makefile.am:
11499         * autogen.sh:
11500         * configure.ac:
11501         * docs/Makefile.am:
11502         * docs/faq/Makefile.am:
11503         * docs/gst/tmpl/gstelement.sgml:
11504         * docs/gst/tmpl/gsttypes.sgml:
11505         * docs/htmlinstall.mak:
11506         * docs/manual/Makefile.am:
11507         * docs/pwg/Makefile.am:
11508           reorganize doc build a little
11509           split out docbook and gtk-doc stuff
11510           have two separate --enable's and enable them through autogen
11511           but disable by default in configure (to be similar to other
11512           projects)
11513         * gstreamer.spec.in:
11514           clean up docs install
11515         * po/af.po:
11516         * po/az.po:
11517         * po/ca.po:
11518         * po/cs.po:
11519         * po/de.po:
11520         * po/en_GB.po:
11521         * po/fr.po:
11522         * po/it.po:
11523         * po/nb.po:
11524         * po/nl.po:
11525         * po/ru.po:
11526         * po/sq.po:
11527         * po/sr.po:
11528         * po/sv.po:
11529         * po/tr.po:
11530         * po/uk.po:
11531         * po/vi.po:
11532           translation updates
11533
11534 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11535
11536         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11537           Add comment.
11538           
11539         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11540         (gst_fake_sink_change_state):
11541           Make state change function thread-safe.
11542           
11543         * gst/gstpad.c: (gst_pad_alloc_buffer):
11544           Set offset on generic buffer allocated by fallback.
11545
11546 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11547
11548         * docs/gst/gstreamer-sections.txt:
11549         * docs/gst/tmpl/gstelement.sgml:
11550         * gst/gstpad.c:
11551         * libs/gst/controller/gst-controller.c:
11552         (gst_controlled_property_set_interpolation_mode),
11553         (gst_controlled_property_new),
11554         (gst_controller_find_controlled_property):
11555          run the wingo-magic script against the docs
11556
11557 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11558
11559         * docs/gst/gstreamer-docs.sgml:
11560         * docs/gst/gstreamer-sections.txt:
11561         * docs/gst/tmpl/.cvsignore:
11562         * docs/gst/tmpl/gstelementdetails.sgml:
11563         * docs/gst/tmpl/gstelementfactory.sgml:
11564         * gst/gst.c:
11565         * gst/gstbus.c:
11566         * gst/gstelementfactory.c:
11567         * gst/gstelementfactory.h:
11568           merged elementdetails docs into elementfactory docs
11569           inlined both
11570
11571 2005-09-02  Andy Wingo  <wingo@pobox.com>
11572
11573         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11574         consider this enum an enum and not a flags.
11575
11576 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11577
11578         * docs/gst/gstreamer-docs.sgml:
11579         * docs/gst/tmpl/.cvsignore:
11580         * docs/gst/tmpl/gstghostpad.sgml:
11581         * docs/gst/tmpl/gstiterator.sgml:
11582         * docs/gst/tmpl/gstmacros.sgml:
11583         * docs/gst/tmpl/gstrealpad.sgml:
11584         * docs/gst/tmpl/gstregistry.sgml:
11585         * docs/gst/tmpl/gstregistrypool.sgml:
11586         * docs/gst/tmpl/gststructure.sgml:
11587         * docs/gst/tmpl/gstsystemclock.sgml:
11588         * docs/gst/tmpl/gsttrace.sgml:
11589         * gst/gstghostpad.c:
11590         * gst/gstmacros.h:
11591         * gst/gstmemchunk.c:
11592         * gst/gstmemchunk.h:
11593         * gst/gstqueue.c:
11594         * gst/gstregistry.c:
11595         * gst/gstregistrypool.c:
11596         * gst/gststructure.c:
11597         * gst/gstsystemclock.c:
11598           more docs inlined
11599
11600 2005-09-02  Andy Wingo  <wingo@pobox.com>
11601
11602         * gst/gstelement.h (GstState): Renamed from GstElementState,
11603         changed to be a normal enum instead of flags.
11604         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11605         munged to be GST_STATE_CHANGE_*.
11606         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11607         work with the new state representation.
11608         (GstStateChange): New enumeration of possible state transitions.
11609         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11610         (GstElementClass::change_state): Pass the GstStateChange along as
11611         an argument. Helps language bindings, so they don't have to use
11612         tricky lock-needing macros like GST_STATE_CHANGE ().
11613
11614         * scripts/update-states (file): New script. Run it on a file to
11615         update it for state naming and API changes. Updates files in
11616         place.
11617
11618         * All files updated for the new API.
11619
11620 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11621
11622         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11623         * gst/gstutils.c: (gst_util_set_value_from_string),
11624         (gst_util_set_object_arg):
11625           fix a bunch of unchecked return values
11626         * tools/gst-complete.c: (main):
11627         * gstreamer.spec.in:
11628           clean up a little
11629
11630 2005-09-01  Wim Taymans  <wim@fluendo.com>
11631
11632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11633         (gst_base_sink_event), (gst_base_sink_do_sync),
11634         (gst_base_sink_handle_event):
11635         * gst/base/gstbasesink.h:
11636         Handle newsegments more correctly.
11637
11638         * gst/gstbus.c:
11639         Fix docs.
11640
11641         * gst/gstevent.c: (gst_event_new_newsegment):
11642         A newsegment cannot have a start_time of -1
11643
11644 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11645
11646         * win32/gstenumtypes.c:
11647         * win32/gstenumtypes.h:
11648           Update
11649
11650 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11651
11652         * libs/gst/controller/gst-controller.c:
11653         (gst_controlled_property_set_interpolation_mode),
11654         (gst_controlled_property_new):
11655          fixed boolean again
11656
11657 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11658
11659         * docs/faq/gst-uninstalled:
11660           add -good
11661         * gst/gstevent.c:
11662         * gst/gstevent.h:
11663           remove wrong docs
11664         * gst/gstutils.c: (gst_element_link_filtered):
11665         * gst/gstutils.h:
11666           add gst_element_link_filtered
11667
11668 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11669
11670         * docs/gst/gstreamer-docs.sgml:
11671         * docs/gst/gstreamer-sections.txt:
11672         * docs/gst/tmpl/.cvsignore:
11673         * docs/gst/tmpl/gsterror.sgml:
11674         * docs/gst/tmpl/gstfilter.sgml:
11675         * docs/gst/tmpl/gsturihandler.sgml:
11676         * docs/gst/tmpl/gsturitype.sgml:
11677         * docs/gst/tmpl/gstutils.sgml:
11678         * docs/gst/tmpl/gstxml.sgml:
11679         * gst/gsterror.c:
11680         * gst/gsterror.h:
11681         * gst/gstfilter.c:
11682         * gst/gsturi.c:
11683         * gst/gsturitype.c:
11684         * gst/gstutils.c:
11685         * gst/gstxml.c:
11686           inlined more docs, fixed double id-ref
11687
11688 2005-08-31  Wim Taymans  <wim@fluendo.com>
11689
11690         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11691         (gst_base_transform_handle_buffer):
11692         Passthrough elements don't need the caps as they don't care.
11693
11694 2005-08-31  Wim Taymans  <wim@fluendo.com>
11695
11696         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11697         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11698         Don't leak refcounts on buffers.
11699
11700 2005-08-31  Wim Taymans  <wim@fluendo.com>
11701
11702         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11703         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11704         (gst_base_transform_chain), (gst_base_transform_change_state):
11705         * gst/base/gstbasetransform.h:
11706         Handle the case where we are not negotiated more gracefully.
11707
11708 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11709
11710         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11711         (gst_file_src_map_region):
11712           Set READONLY flag on mmap'ed buffers, otherwise
11713           gst_buffer_make_writable() won't work properly (#314708).
11714
11715 2005-08-31  Wim Taymans  <wim@fluendo.com>
11716
11717         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11718         passthrough elements can even do inplace on non writable
11719         buffers (as they don't touch them).
11720
11721 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11722
11723         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11724         (gst_test_mono_source_set_property),
11725         (gst_test_mono_source_class_init), (GST_START_TEST),
11726         (gst_controller_suite):
11727           more tests (hehe I have the most)
11728         * gst/gstbus.c:
11729           describe popping messages whenusing mulltiple sources
11730         * libs/gst/controller/gst-controller.c:
11731         (gst_controlled_property_set_interpolation_mode),
11732         (gst_controlled_property_new):
11733         * libs/gst/controller/gst-controller.h:
11734         * libs/gst/controller/gst-interpolation.c:
11735           implement boolean properties
11736
11737 2005-08-31  Wim Taymans  <wim@fluendo.com>
11738
11739         * gst/gstminiobject.c: (gst_mini_object_ref):
11740         Cannot assert that the refcount has to be positive
11741         since a disposed object can be resurrected.
11742
11743 2005-08-31  Wim Taymans  <wim@fluendo.com>
11744
11745         * gst/gstpad.c: (gst_pad_init):
11746         Revert change, need to first fix badly behaving 
11747         apps.
11748
11749 2005-08-30  Wim Taymans  <wim@fluendo.com>
11750
11751         * check/elements/fakesrc.c: (setup_fakesrc):
11752         * check/elements/identity.c: (setup_identity):
11753         Activate pads before using them.
11754
11755 2005-08-30  Wim Taymans  <wim@fluendo.com>
11756
11757         * gst/base/gstadapter.c: (gst_adapter_flush):
11758         Flushing out 0 bytes is ok for this function.
11759
11760         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11761         no newsegment gives a warning and sets the start/stop to 
11762         invalid.
11763
11764         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11765         (gst_base_transform_set_passthrough):
11766         Some debug info.
11767
11768         * gst/gstminiobject.c: (gst_mini_object_ref):
11769         Check refcount here too.
11770
11771         * gst/gstpad.c: (gst_pad_init):
11772         Pads are initially flushing and refusing data.
11773
11774         * gst/gstutils.c: (gst_element_link_pads_filtered):
11775         When adding a capsfilter element make sure it has the
11776         same state as the parent bin.
11777
11778 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11779
11780         * docs/gst/tmpl/.cvsignore:
11781         * docs/gst/tmpl/gstformat.sgml:
11782         * docs/gst/tmpl/gstversion.sgml:
11783         * gst/gstbus.h:
11784         * gst/gstformat.c:
11785         * gst/gstformat.h:
11786         * gst/gstversion.h.in:
11787           more docs and two more inlined
11788
11789 2005-08-30  Wim Taymans  <wim@fluendo.com>
11790
11791         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11792         Don't sync to clock.
11793
11794 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11795
11796         * docs/gst/gstreamer-sections.txt:
11797           ultral33t func10ns deserve to appear in the docs actually
11798         * docs/gst/tmpl/.cvsignore:
11799         * docs/gst/tmpl/gstcompat.sgml:
11800         * docs/gst/tmpl/gstconfig.sgml:
11801         * gst/check/gstcheck.c:
11802         * gst/gstcompat.h:
11803         * gst/gstconfig.h.in:
11804           inlined more docs
11805
11806 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11807
11808         * docs/gst/tmpl/.cvsignore:
11809         * docs/gst/tmpl/gstquery.sgml:
11810         * docs/gst/tmpl/gstutils.sgml:
11811         * gst/gstquery.c:
11812         * gst/gstquery.h:
11813           inlined and extended docs
11814
11815 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11816
11817         * check/gst-libs/controller.c: (GST_START_TEST),
11818         (gst_controller_suite):
11819           more tests
11820         * docs/gst/tmpl/gstutils.sgml:
11821         * docs/libs/gstreamer-libs-sections.txt:
11822         * docs/libs/tmpl/gstdataprotocol.sgml:
11823           include path fixes
11824         * examples/controller/audio-example.c: (main):
11825           controller example works now
11826         * gst/gstclock.h:
11827           doc fixes
11828         * tools/gst-inspect.c: (print_element_properties_info):
11829           show param spec flags
11830
11831 2005-08-29  Andy Wingo  <wingo@pobox.com>
11832
11833         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11834
11835 2005-08-28  Andy Wingo  <wingo@pobox.com>
11836
11837         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11838         as having two arguments instead of just one. Allows superclasses
11839         to access information on subclasses -- see the terrible for() loop
11840         in gtype.c:g_type_create_instance for the reason why. All callers
11841         changed.
11842
11843 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11844
11845         * docs/design/part-messages.txt:
11846           update info
11847         * docs/gst/tmpl/.cvsignore:
11848         * docs/gst/tmpl/gstcaps.sgml:
11849         * docs/gst/tmpl/gstclock.sgml:
11850         * gst/gstbus.c:
11851         * gst/gstcaps.c:
11852         * gst/gstcaps.h:
11853         * gst/gstclock.c:
11854         * gst/gstclock.h:
11855         * gst/gstmessage.c:
11856           added descriptions for bus and message
11857           inline caps and clock docs
11858
11859 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11860
11861         * gst/gstmessage.c:
11862         * gst/gstmessage.h:
11863           doc fixes
11864
11865 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11866
11867         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11868           fix div-by-zero
11869
11870 2005-08-26  Andy Wingo  <wingo@pobox.com>
11871
11872         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11873         element_set_state's return val.
11874         (test_2_elements): Add test that's been disabled for months.
11875
11876         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11877         can-activate-pull properties.
11878
11879         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11880         can-activate-pull properties. Implement is_seekable so fakesrc can
11881         operate in pull mode.
11882
11883         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11884         properties.
11885         (gst_base_sink_activate, gst_base_sink_activate_pull)
11886         (gst_base_sink_activate_push): Make activation mode choosing work.
11887         Cleanups.
11888         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11889         is right. Make pull mode work. Post an eos before pausing in pull
11890         mode.
11891         (gst_base_sink_change_state): Pay attention to the core's
11892         change_state() return val.
11893         
11894         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11895         has-getrange properties. Cleanups.
11896         
11897         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11898         has_getrange and replace with can_activate_pull and
11899         can_activate_push.
11900
11901         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11902         locking comments. Remove has_loop, has_chain and replace with
11903         can_activate_pull and can_activate_push.
11904
11905 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11906
11907         * configure.ac:
11908         * examples/Makefile.am:
11909         * examples/metadata/Makefile.am:
11910         * examples/metadata/read-metadata.c: (message_loop),
11911         (have_pad_handler), (make_pipeline), (print_tag), (main):
11912           Add metadata reading example that loops over a list of filenames,
11913           dumping any tags found.
11914
11915         * gst/gstbus.c: (gst_bus_dispose):
11916         * gst/gstelement.c: (gst_element_dispose):
11917           Release a few potentially-held references in dispose.
11918
11919 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11920
11921         * docs/gst/tmpl/gstminiobject.sgml:
11922           do *not* add tmpl/*.sgml files to CVS!
11923
11924 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11925
11926         * libs/gst/bytestream/.cvsignore:
11927         * libs/gst/bytestream/Makefile.am:
11928         * libs/gst/bytestream/adapter.c:
11929         * libs/gst/bytestream/adapter.h:
11930         * libs/gst/bytestream/bytestream.c:
11931         * libs/gst/bytestream/bytestream.h:
11932         * libs/gst/bytestream/filepad.c:
11933         * libs/gst/bytestream/filepad.h:
11934           removing obsolete files
11935
11936 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11937
11938         * docs/gst/gstreamer-docs.sgml:
11939         * docs/libs/gstreamer-libs-docs.sgml:
11940           disabed additional index entries again, as this makes docs-gen just
11941           slow and they aren't useful yet
11942         * docs/libs/gstreamer-libs-sections.txt:
11943           little -section.txt cleanup for libs
11944
11945 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11946
11947         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11948         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11949           fix up some debugging
11950         (gst_base_transform_get_unit_size),
11951         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11952         (gst_base_transform_handle_buffer):
11953         * gst/base/gstbasetransform.h:
11954           handle and store timed NEWSEGMENT events so that subclasses that
11955           calculate time by counting samples have a segment_start time they
11956           need to add to their timestamps - see audioresample
11957
11958 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11959
11960         * gst/gstbin.h:
11961           removed ';' from the end of macro defs
11962         * docs/gst/gstreamer-docs.sgml:
11963         * docs/gst/gstreamer-sections.txt:
11964         * docs/gst/tmpl/.cvsignore:
11965         * gst/gstbus.h:
11966         * gst/gstelement.c: (gst_element_class_init),
11967         (gst_element_set_state), (activate_pads),
11968         (gst_element_save_thyself):
11969         * gst/gstevent.c: (gst_event_new_newsegment):
11970         * gst/gstevent.h:
11971         * gst/gstiterator.c:
11972         * gst/gstiterator.h:
11973         * gst/gstpad.c:
11974         * gst/gstprobe.h:
11975         * gst/gstutils.c: (gst_pad_query_convert):
11976         * gst/gstutils.h:
11977           fixed parameter name mismatches between source, header and docs
11978           added some more docs, resolved the last batch of unused elements in
11979           docs (now someone needs to doc them)
11980
11981 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11982
11983         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11984         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11985           don't walk through the plugins backwards.  Where is all this
11986           reversed logic coming from ?
11987
11988 2005-08-25  Wim Taymans  <wim@fluendo.com>
11989
11990         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11991         (gst_base_transform_transform_size),
11992         (gst_base_transform_configure_caps),
11993         (gst_base_transform_get_unit_size),
11994         (gst_base_transform_buffer_alloc),
11995         (gst_base_transform_change_state):
11996         * gst/base/gstbasetransform.h:
11997         Cache caps unit_size.
11998         Make sure we cannot negotiate up and downstream at the
11999         same time.
12000
12001 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12002
12003         * gst/gst.c: (init_pre), (init_post):
12004           register the installed plugin path after the env var
12005         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12006         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12007           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12008           directories, so the tests can prefer uninstalled over installed
12009
12010 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * gst/base/gstbasetransform.h:
12013           comment
12014         * gst/gstpad.c:
12015           add to docs
12016
12017 2005-08-25  Wim Taymans  <wim@fluendo.com>
12018
12019         * gst/gstbin.c: (bin_bus_handler):
12020         Be a bit more conservative about the posted message.
12021         
12022         * gst/gstbus.c: (gst_bus_post):
12023         Some cleanups, warn wrong return values.
12024
12025 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12026
12027         * check/gst/gstbin.c: (GST_START_TEST):
12028         * gst/gstbin.c: (bin_bus_handler):
12029         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12030         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12031         (gst_message_new_warning), (gst_message_new_tag),
12032         (gst_message_new_state_changed), (gst_message_new_segment_start),
12033         (gst_message_new_segment_done), (gst_message_new_custom):
12034         * gst/gstmessage.h:
12035         * tools/gst-launch.c: (event_loop):
12036         * tools/gst-md5sum.c: (event_loop):
12037           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12038
12039 2005-08-25  Wim Taymans  <wim@fluendo.com>
12040
12041         * check/generic/states.c: (GST_START_TEST):
12042         Cleanup can be done at the end.
12043
12044         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12045         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12046         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12047         Oh boy.. Thanks for finding this, Thomas. 
12048
12049 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12050
12051         * docs/gst/gstreamer.types:
12052           added missing types
12053
12054 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12055
12056         * docs/gst/gstreamer-docs.sgml:
12057         * docs/gst/gstreamer-sections.txt:
12058         * docs/gst/tmpl/.cvsignore:
12059         * gst/gstbin.c:
12060         * gst/gstiterator.c:
12061         * gst/gstutils.c:
12062         * gst/registries/gstxmlregistry.h:
12063           added missing classes and symbols (123 more to go)
12064           removed removed symbols from section file
12065           fixed many doc-comments
12066
12067 2005-08-24  Wim Taymans  <wim@fluendo.com>
12068
12069         * check/generic/states.c: (GST_START_TEST):
12070         Make sure all tasks are stopped.
12071
12072         * check/gst/gstbin.c: (GST_START_TEST):
12073         Unref after usage for proper valgrinding.
12074
12075         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12076         Really wait for the task to stop before destroying the
12077         mutex.
12078
12079         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12080         (gst_queue_src_activate_push):
12081         Small cleanups. Don't stop the task when we did not start
12082         it.
12083
12084         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12085         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12086         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12087         (gst_task_join):
12088         * gst/gsttask.h:
12089         Protect the stream lock with the object lock.
12090         Disallow setting the stream lock when running.
12091         Add cleanup_all to wait for the threadpool to finish.
12092         Remove code to autoallocate a mutex if none was provided.
12093         Add _join() to wait for a task to stop.
12094         Protect the thread pool with a global lock.
12095
12096 2005-08-24  Wim Taymans  <wim@fluendo.com>
12097
12098         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12099         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12100         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12101         * gst/base/gstbasesink.h:
12102         Handle newsegment events correctly.
12103         Drop buffers out of the segment range.
12104
12105 2005-08-22  Andy Wingo  <wingo@pobox.com>
12106
12107         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12108         macro, implements an interface and gstimplementsinterface for a
12109         new type.
12110
12111 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12112
12113         * check/Makefile.am:
12114         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12115           add a test that does a bunch of state changes on elements
12116           needs some fixing for valgrind
12117         * check/states/sinks.c: (gst_object_suite):
12118           whitespace
12119         * gst/gstcaps.h:
12120           add prototype for gst_caps_is_equal_fixed
12121         * gst/gstplugin.c:
12122         * gst/gstregistrypool.c:
12123           doc fixes
12124
12125 2005-08-24  Andy Wingo  <wingo@pobox.com>
12126
12127         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12128         convert a negative value. Doesn't make much sense. Mostly this is
12129         here to force callers to ensure -1 maps to -1.
12130
12131 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12132
12133         * docs/pwg/advanced-types.xml:
12134           Well done to Michael for catching my deliberate introduction
12135           of this spelling mistake. 
12136         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12137         * gst/gstelement.h:
12138           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12139           unlink pads before removing the element from the bin.
12140
12141 2005-08-24  Andy Wingo  <wingo@pobox.com>
12142
12143         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12144         the same thing as GST_DEBUG=*:4.
12145         (parse_debug_level, parse_debug_category): New helper parsers.
12146
12147 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12148
12149         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12150         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12151         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12152         (gst_base_transform_buffer_alloc),
12153         (gst_base_transform_handle_buffer):
12154           use gboolean return values and pointers to size so we can use the
12155           full GST_BUFFER_SIZE range (guint) for buffer sizes
12156           use GstPadDirection for transform_caps
12157         * gst/base/gstbasetransform.h:
12158           rename get_size to get_unit_size since that's what it is
12159         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12160           use GstPadDirection for transform_caps
12161         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12162         * gst/gstutils.h:
12163           cleanup and debugging
12164
12165 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12166
12167         * gst/gstelement.c: (gst_element_class_init),
12168         (gst_element_set_state), (activate_pads),
12169         (gst_element_save_thyself):
12170         * tools/gst-compprep.c: (main):
12171         * tools/gst-inspect.c: (print_element_properties_info):
12172         * tools/gst-xmlinspect.c: (print_element_properties):
12173           Fixed long standing mem-leak
12174
12175 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12176
12177         * check/gst/gstbin.c: (GST_START_TEST):
12178         * gst/gstbin.c: (bin_bus_handler):
12179         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12180         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12181         (gst_message_new_warning), (gst_message_new_tag),
12182         (gst_message_new_state_changed), (gst_message_new_segment_start),
12183         (gst_message_new_segment_done), (gst_message_new_custom):
12184         * gst/gstmessage.h:
12185         * tools/gst-launch.c: (event_loop):
12186         * tools/gst-md5sum.c: (event_loop):
12187           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12188           that applications can sensibly post custom messages with references
12189           to their own objects.
12190
12191 2005-08-24  Andy Wingo  <wingo@pobox.com>
12192
12193         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12194         already.
12195
12196 2005-08-24  Wim Taymans  <wim@fluendo.com>
12197
12198         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12199         (gst_base_transform_transform_caps),
12200         (gst_base_transform_transform_size),
12201         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12202         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12203         (gst_base_transform_handle_buffer):
12204         * gst/base/gstbasetransform.h:
12205         Many fixes and new features added by Thomas. Can now also do
12206         transforms with variable sizes and a custom fixate_caps function.
12207
12208 2005-08-24  Wim Taymans  <wim@fluendo.com>
12209
12210         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12211         Some debugging.
12212
12213         * gst/gstclock.h:
12214         Cast to ClockTime before formatting to time.
12215
12216         * gst/gstutils.h:
12217         Cleanups.
12218
12219 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12220
12221         * check/gst-libs/controller.c: (GST_START_TEST),
12222         (gst_controller_suite):
12223         * docs/gst/tmpl/gstcaps.sgml:
12224         * docs/gst/tmpl/gstghostpad.sgml:
12225         * docs/gst/tmpl/gstquery.sgml:
12226         * docs/gst/tmpl/gstutils.sgml:
12227         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12228         (gst_object_sink_values), (gst_object_get_value_arrays),
12229         (gst_object_get_value_array):
12230           gracefully handle helper method calls to objects that are not beeing
12231           controlled, added test case for that          
12232
12233 2005-08-23  Wim Taymans  <wim@fluendo.com>
12234
12235         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12236         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12237         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12238         (gst_event_parse_qos), (gst_event_new_seek),
12239         (gst_event_parse_seek):
12240         * gst/gstevent.h:
12241         Some more debugging output and doc cleanups.
12242
12243         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12244         Fix possible deadlock.
12245
12246 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12247
12248         * docs/gst/gstreamer-docs.sgml:
12249         * docs/gst/gstreamer-sections.txt:
12250         * docs/gst/gstreamer.types:
12251         * docs/gst/tmpl/.cvsignore:
12252         * gst/gstbin.h:
12253         * gst/gstbus.c:
12254         * gst/gstelement.c:
12255         * gst/gstevent.h:
12256           added 100 symbols from gstreamer-unused.txt to the right sections
12257           fixed more broken comments
12258           added GstBus to docs
12259
12260 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12261
12262         * docs/gst/gstreamer-sections.txt:
12263         * docs/gst/tmpl/.cvsignore:
12264         * docs/gst/tmpl/gstbin.sgml:
12265         * docs/gst/tmpl/gstbuffer.sgml:
12266         * gst/base/gstbasesrc.c:
12267         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12268         * gst/gstbuffer.c:
12269         * gst/gstbuffer.h:
12270         * tools/gst-launch.1.in:
12271           inlined more doc comments, added missing comments and fixed comments
12272           fixed typos
12273
12274 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12275
12276         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12277           some debugging
12278         * gst/gstcaps.h:
12279           whitespace fixes
12280         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12281           more debugging
12282         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12283         * gst/gststructure.h:
12284           add a fixate function for booleans; add a FIXME that these func
12285           names should probably be gst_structure_fixate_*
12286
12287 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12288
12289         * docs/gst/gstreamer-docs.sgml:
12290         * docs/gst/gstreamer-sections.txt:
12291         * gst/Makefile.am:
12292         * gst/gstbin.c: (gst_bin_get_type),
12293         (gst_bin_child_proxy_get_child_by_index),
12294         (gst_bin_child_proxy_get_children_count),
12295         (gst_bin_child_proxy_init):
12296         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12297         (gst_child_proxy_get_child_by_index),
12298         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12299         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12300         (gst_child_proxy_get), (gst_child_proxy_set_property),
12301         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12302         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12303         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12304         * gst/gstchildproxy.h:
12305         * gst/parse/grammar.y:
12306         * tools/gst-inspect.c: (print_interfaces),
12307         (print_element_properties_info), (print_element_info):
12308           ported gstchildproxy over from 0.8
12309           ported gst-inspect fixes and enhancements over from 0.8
12310
12311 2005-08-22  Wim Taymans  <wim@fluendo.com>
12312
12313         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12314         (gst_base_transform_handle_buffer):
12315         Also call the transform function if we have ANY caps.
12316
12317         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12318         Fix debug info.
12319
12320 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12321
12322         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12323           Don't pretend to handle seek events if the source is not seekable
12324
12325 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12326
12327         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12328           Remove extra parameter to debug output
12329
12330         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12331         (gst_base_src_do_seek), (gst_base_src_activate_push):
12332           Fix seek event handling.
12333
12334         * gst/gstpipeline.c: (gst_pipeline_change_state):
12335         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12336         (gst_queue_src_activate_push):
12337           Don't start the src pad task on FLUSH_STOP if the pad
12338           isn't linked.
12339           Debug changes.
12340
12341 2005-08-22  Wim Taymans  <wim@fluendo.com>
12342
12343         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12344         Added check for gst_static_caps_get() refcounting.
12345
12346 2005-08-22  Wim Taymans  <wim@fluendo.com>
12347
12348         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12349         Make _static_caps_get() refcounting sane.
12350         
12351         * gst/gstelement.c: (gst_element_set_state):
12352         Add g_return_val_if_fail() to protect against segfaults.
12353
12354 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12355
12356         * docs/gst/tmpl/gstevent.sgml:
12357         * gst/gstevent.c:
12358         * gst/gstevent.h:
12359           inlined remaining docs, added missing doc comments
12360
12361 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12362
12363         * check/gst/gstbin.c: (GST_START_TEST):
12364           since we don't know when preroll is done, use refcount range
12365           check for the sink
12366         * gst/check/gstcheck.h:
12367           add macro for checking refcount range
12368
12369 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12370
12371         * check/Makefile.am:
12372           clean up environment for when registry gets built versus
12373           when actual tests are run; valgrind seems to not report
12374           leaks if GST_PLUGIN_PATH is set to some specific values
12375         * check/gst/gstbin.c: (GST_START_TEST):
12376           add more refcounting checks; maybe this exposes a
12377           preroll lock bug ?
12378         * common/check.mak:
12379         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12380         * gst/check/gstcheck.h:
12381         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12382         (gst_bin_change_state):
12383         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12384           add/fix debugging/whitespace
12385
12386 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12387
12388         * check/gst/gstevent.c: (event_probe), (test_event),
12389         (GST_START_TEST):
12390          Er, don't call gst_bin_watch_for_state_change you idiot.
12391
12392 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12393
12394         * check/Makefile.am:
12395           Use CHECK_CFLAGS and CHECK_LIBS
12396         * check/gst/gstevent.c: (event_probe), (test_event),
12397         (GST_START_TEST):
12398           Don't leak events.
12399         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12400         (gst_base_src_start), (gst_base_src_stop),
12401         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12402         (gst_base_src_change_state):
12403           Sprinkle gst_base_src_stop liberally around error paths to fix
12404           problems reusing a source after failed state changes.
12405         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12406         (helper_find_suggest), (gst_type_find_helper):
12407           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12408         * gst/gstevent.h:
12409         * docs/gst/tmpl/gstevent.sgml:
12410           Migrate part of the docs from the SGML file. Wait for ensonic to
12411           tell me how I did it wrong ;)
12412         * tools/gst-typefind.c: (main):
12413           Extra robustness to state changes between files.
12414
12415 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12416
12417         * check/Makefile.am:
12418           don't valgrind the controller test - it's leaking - Stefan, HELP
12419         * gst/check/gstcheck.c: (gst_check_message_error),
12420         (gst_check_chain_func), (gst_check_setup_element),
12421         (gst_check_teardown_element), (gst_check_setup_src_pad),
12422         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12423         (gst_check_teardown_sink_pad):
12424         * gst/check/gstcheck.h:
12425           add a bunch of methods to set up elements, and src and sink pads
12426         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12427         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12428         (GST_START_TEST):
12429           use them
12430         * gst/gstmessage.c:
12431         * gst/gsttag.h:
12432           whitespace/doc fixes
12433
12434 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12435
12436         * gst/gstelement.h:
12437           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12438           be handled by the application and not always printed as well
12439
12440 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12441
12442         * check/Makefile.am:
12443           set GST_TOOLS_DIR
12444         * gst/check/gstcheck.c: (gst_check_message_error):
12445         * gst/check/gstcheck.h:
12446           add a fail_unless_equals_int
12447           add fail_unless for error messages
12448
12449 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12450
12451         * check/Makefile.am:
12452         * check/gst.supp:
12453         * common/Makefile.am:
12454         * common/check.mak:
12455         * common/gst.supp:
12456           factor out some of the common stuff so we can use it
12457
12458 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12459
12460         * check/Makefile.am:
12461         * check/gst/gstiterator.c: (GST_START_TEST):
12462         * check/gst/gstsystemclock.c: (GST_START_TEST),
12463         (gst_systemclock_suite):
12464         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12465         * gst/gstclock.c:
12466           valgrind more tests
12467
12468 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12469
12470         * check/elements/.cvsignore:
12471         * check/elements/gstfakesrc.c:
12472           rename to name of element
12473         * check/elements/identity.c: (chain_func), (event_func),
12474         (setup_identity), (cleanup_identity), (GST_START_TEST),
12475         (identity_suite), (main):
12476           add a test for identity
12477         * check/Makefile.am:
12478         * pkgconfig/Makefile.am:
12479         * pkgconfig/gstreamer-check.pc.in:
12480         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12481         * gst/check:
12482         * gst/Makefile.am:
12483         * configure.ac:
12484           move the check stuff to a library that gets installed
12485         * check/gst-libs/controller.c: (GST_START_TEST):
12486         * check/gst-libs/gdp.c:
12487         * check/gst/gst.c: (GST_START_TEST):
12488         * check/gst/gstbin.c:
12489         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12490         * check/gst/gstbus.c:
12491         * check/gst/gstcaps.c: (GST_START_TEST):
12492         * check/gst/gstelement.c:
12493         * check/gst/gstghostpad.c:
12494         * check/gst/gstiterator.c:
12495         * check/gst/gstmessage.c:
12496         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12497         * check/gst/gstobject.c:
12498         * check/gst/gstpad.c: (GST_START_TEST):
12499         * check/gst/gststructure.c: (GST_START_TEST):
12500         * check/gst/gstsystemclock.c: (GST_START_TEST),
12501         (gst_systemclock_suite):
12502         * check/gst/gsttag.c: (gst_tag_suite):
12503         * check/gst/gstvalue.c:
12504         * check/pipelines/cleanup.c:
12505         * check/pipelines/simple_launch_lines.c:
12506         * check/states/sinks.c:
12507           change include statement
12508
12509         * docs/gst/gstreamer-sections.txt:
12510         * docs/gst/tmpl/gstpad.sgml:
12511           document more pad stuff
12512         * gst/gstminiobject.c: (gst_mini_object_ref),
12513         (gst_mini_object_unref):
12514           debug refcounting
12515
12516 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12517
12518         * docs/gst/tmpl/gst.sgml:
12519         * gst/gst.c:
12520           eliminate another tmpl file, fix spelling in the long-description
12521
12522 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12523
12524         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12525         (test_event), (timediff), (gstevents_suite):
12526           Should fix build on 64-bit arch's
12527
12528 2005-08-18  Andy Wingo  <wingo@pobox.com>
12529
12530         Make sure that when a pipeline goes to PLAYING, that data has
12531         actually hit the sink.
12532
12533         * check/states/sinks.c (test_sink): A sink that doesn't get any
12534         data shouldn't return SUCCESS for going to either PLAYING or
12535         PAUSED. Test also the return values on the way back down.
12536
12537         * gst/gstelement.c (gst_element_set_state): When changing the
12538         state of an element currently changing state asynchronously, go to
12539         lost-state after commiting the pending state. Makes future calls
12540         to get_state continue to return ASYNC.
12541
12542         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12543         ASYNC when going to PLAYING if we still don't have preroll, as can
12544         happen with live sources.
12545
12546 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12547
12548         * docs/pwg/advanced-types.xml:
12549           Hack long paragraph into 2 chunks as a workaround for buggy
12550           jadetex version in sid and breezy that loops infinitely and
12551           eats all RAM.
12552
12553 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12554
12555         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12556         (test_event), (timediff), (gstevents_suite):
12557           Provide more error margin in clock measurements to allow for 
12558           g_get_current_time inaccuracies.
12559
12560 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12561
12562         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12563         (test_event), (timediff), (gstevents_suite):
12564            Fix error message output so I might be able to tell why the
12565            test works here but fails on the build farm.
12566
12567 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12568
12569         * check/Makefile.am:
12570         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12571         (test_event), (timediff), (gstevents_suite), (main):
12572           I wrote a test!
12573
12574         * docs/design/part-seeking.txt:
12575           Spelling correction
12576
12577         * docs/gst/tmpl/gstevent.sgml:
12578         * docs/gst/tmpl/gstfakesrc.sgml:
12579           Docs updates.
12580
12581         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12582           Treat a buffer-without-newsegment the same as a receiving 
12583           a newsegment not in time format, and disable syncing to the clock
12584           with a warning.
12585
12586         * gst/gstbus.c: (gst_bus_set_sync_handler):
12587           Assert if anyone tries to replace the existing sync_handler for bus, 
12588           as only the owner should be setting it.
12589
12590         * gst/gstevent.h:
12591           Have a fixed set of custom event enums with events identified by
12592           their structure name (as in 0.8), rather than a free-for-all
12593           allowing collisions between enum values from different plugins.
12594
12595         * gst/gstpad.c: (gst_pad_class_init):
12596           Docs change.
12597           
12598         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12599           Handle out-of-band downstream events from the sending thread.
12600
12601 2005-08-17  Andy Wingo  <wingo@pobox.com>
12602
12603         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12604         play-timeout==0 to mean no timeout at all. In that case, don't
12605         bother with a get_state or a warning, just return directly, even
12606         if it's ASYNC.
12607
12608         * gst/base/gstbasetransform.c: Debug changes.
12609
12610         * gst/gstutils.h:
12611         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12612         ensure bins post state change messages. A bit of a hack but I can't
12613         think of a way to avoid it.
12614
12615         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12616
12617 2005-08-16  Andy Wingo  <wingo@pobox.com>
12618
12619         * gst/base/gstadapter.h:
12620         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12621         peek() but you own the data. Not terribly efficient atm.
12622
12623 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12624
12625         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12626         (gst_element_found_tags):
12627         * gst/gstutils.h:
12628           Add two utility functions for tag handling.
12629
12630 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12631
12632         * docs/manual/advanced-dataaccess.xml:
12633         * docs/manual/basics-helloworld.xml:
12634           Fix docs to use _bin_add() before _link(), which fixes the examples
12635           with recent core versions (reported by Madhan Raj M
12636           <raj_madan@rediffmail.com>, #313199).
12637
12638 2005-08-16  Wim Taymans  <wim@fluendo.com>
12639
12640         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12641         Added subtract checks.
12642
12643         * docs/design/part-events.txt:
12644         Some more docs about newsegment
12645
12646         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12647         Fix FIXME
12648
12649         * gst/gstcaps.c: (gst_caps_to_string):
12650         Add comments, cleanups.
12651         
12652         * gst/gstelement.c: (gst_element_save_thyself):
12653         cleanups
12654         
12655         * gst/gstvalue.c: (gst_value_collect_int_range),
12656         (gst_string_unwrap), (gst_value_union_int_int_range),
12657         (gst_value_union_int_range_int_range),
12658         (gst_value_intersect_int_int_range),
12659         (gst_value_intersect_int_range_int_range),
12660         (gst_value_intersect_double_double_range),
12661         (gst_value_intersect_double_range_double_range),
12662         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12663         (gst_value_subtract_int_range_int),
12664         (gst_value_subtract_double_range_double),
12665         (gst_value_subtract_double_range_double_range),
12666         (gst_value_subtract_from_list), (gst_value_subtract_list),
12667         (gst_value_can_compare), (gst_value_compare_fraction):
12668         Cleanups, add comments, remove unneeded asserts.
12669
12670 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12671
12672         * tools/gst-launch.c: (event_loop):
12673           don't convert NULL structures to strings
12674
12675 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12676
12677         * docs/gst/gstreamer-sections.txt:
12678           made some defines private
12679         * docs/gst/tmpl/gstconfig.sgml:
12680         * docs/gst/tmpl/gstqueue.sgml:
12681         * docs/gst/tmpl/gsttaglist.sgml:
12682         * docs/gst/tmpl/gsttypes.sgml:
12683         * docs/gst/tmpl/gstutils.sgml:
12684         * docs/pwg/appendix-porting.xml:
12685         * gst/base/gstbasesink.h:
12686         * gst/base/gstbasesrc.c:
12687         * gst/base/gstbasesrc.h:
12688         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12689         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12690         * gst/gstelement.c: (gst_element_class_init):
12691         * gst/gstpad.c: (gst_pad_class_init):
12692         * gst/gstqueue.c: (gst_queue_class_init):
12693         * gst/gstxml.c: (gst_xml_class_init):
12694           documented all undocumented signal inline
12695         * libs/gst/controller/gst-controller.h:
12696           added padding
12697
12698 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12699
12700         * docs/pwg/appendix-porting.xml:
12701           Document _set_link_function -> _set_setcaps_function.
12702
12703 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12704
12705         * check/Makefile.am:
12706           add a .check target for running the check
12707         * check/gst-libs/controller.c: (GST_START_TEST):
12708           cosmetic fixups
12709         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12710           complete checks for gstbuffer; would be nice if I could get the
12711           gcov stuff to work so I can see if I actually completed gstbuffer.c
12712         * check/gstcheck.h:
12713           add ASSERT_BUFFER_REFCOUNT
12714
12715 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12716
12717         * docs/gst/gstreamer-sections.txt:
12718         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12719         * gst/gsttag.h:
12720           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12721           spew out a warning if a tag that is already registered
12722           is re-registered, unless it is re-registered with a 
12723           different type (#308438).
12724
12725 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12726
12727         * docs/pwg/appendix-porting.xml:
12728         * docs/pwg/building-state.xml:
12729           Add some paragraphs about state changes in 0.9 to the PWG
12730           and the porting guide, in particular about the new meaning
12731           of GST_STATE_PAUSED and how to write state change functions
12732           with concurrent access by multiple threads in mind.
12733
12734 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12735
12736         * docs/gst/gstreamer-docs.sgml:
12737         * docs/libs/gstreamer-libs-docs.sgml:
12738           added deprecation and since indexes
12739         * libs/gst/controller/gst-controller.c:
12740         * libs/gst/controller/gst-helper.c:
12741           added since tags
12742
12743
12744 2005-08-11  Wim Taymans  <wim@fluendo.com>
12745
12746         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12747         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12748         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12749         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12750         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12751         (gst_ghost_pad_set_target):
12752         Actually implement (re)setting the target on a ghostpad
12753         as described in the docs.
12754
12755 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12756
12757         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12758           Check whether GST_DEBUG_NO_COLOR environment variable is
12759           set and disable coloured debug output if that is the case.
12760
12761 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12762
12763         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12764         (gst_type_find_helper):
12765           The memory returned by gst_type_find_peek() needs to
12766           stay valid until the end of a typefind function, and
12767           typefind functions may keep results from different 
12768           offsets around, so we can't just unref the buffer from
12769           the previous _peek(), but have to save all buffers 
12770           returned by _peek() until typefinding is done and only
12771           free them then.
12772
12773 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12774
12775         * docs/gst/gstreamer-sections.txt:
12776         * gst/gstutils.h:
12777           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12778
12779 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12780
12781         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12782           Fix a pretty good memleak.
12783
12784 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12785
12786         * gst/gstiterator.h:
12787           Fix wrong include and 'make distcheck'.
12788
12789 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12790
12791         * gst/gstbin.c: (bin_bus_handler):
12792           Use gst_element_post_message() instead.
12793
12794 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12795
12796         * gst/base/gstadapter.h:
12797         * gst/base/gstbasesink.h:
12798         * gst/base/gstbasesrc.h:
12799         * gst/base/gstbasetransform.h:
12800         * gst/base/gstcollectpads.h:
12801         * gst/base/gstpushsrc.h:
12802         * gst/gstiterator.h:
12803           Add padding to our base elements' class and instance structs and
12804           to GstIterator (you will need to rebuild all plugins and apps!)
12805
12806 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12807
12808         * gst/gstbin.c: (bin_bus_handler):
12809           Make default message forwarding from child->bus to bin->bus
12810           threadsafe and make it not emit warnings if the parent has no bus.
12811
12812 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12813
12814         * gst/gstelement.c: (activate_pads):
12815           On paused->ready, set pad->caps to NULL, as is the documented
12816           behaviour in this state change. Fixes playback of series of
12817           media files when visualization is enabled in Totem.
12818
12819 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12820
12821         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12822           Allow NULL as filter-caps (which means "any").
12823
12824 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12825
12826         * docs/libs/gstreamer-libs-sections.txt:
12827         * libs/gst/controller/gst-controller.c:
12828         * libs/gst/controller/gst-controller.h:
12829         * libs/gst/controller/gst-helper.c:
12830           adding more entries to the docs and fix small doc-bugs
12831
12832 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12833
12834         * docs/gst/gstreamer-docs.sgml:
12835         * docs/gst/gstreamer-sections.txt:
12836         * docs/gst/gstreamer.types:
12837         * docs/gst/tmpl/gstbasesink.sgml:
12838         * docs/gst/tmpl/gstbasesrc.sgml:
12839         * docs/gst/tmpl/gstbasetransform.sgml:
12840         * docs/gst/tmpl/gstfakesrc.sgml:
12841         * gst/base/gstcollectpads.c:
12842         * gst/base/gstcollectpads.h:
12843         * libs/gst/controller/gst-controller.c:
12844         * libs/gst/controller/gst-controller.h:
12845         * libs/gst/controller/gst-helper.c:
12846         * libs/gst/controller/gst-interpolation.c:
12847         * libs/gst/controller/lib.c:
12848           added long/short desc for controller docs
12849           added collectpads base class docs
12850           added correct includes to base-class docs
12851
12852 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12853
12854         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12855         (gst_test_mono_source_set_property),
12856         (gst_test_mono_source_class_init), (GST_START_TEST),
12857         (gst_controller_suite):
12858         * docs/gst/gstreamer-docs.sgml:
12859         * docs/gst/gstreamer-sections.txt:
12860         * docs/gst/gstreamer.types:
12861         * docs/libs/gstreamer-libs-docs.sgml:
12862         * docs/libs/gstreamer-libs-sections.txt:
12863         * gst/base/gstadapter.c:
12864         * libs/gst/controller/gst-controller.c:
12865         (gst_controlled_property_new), (gst_controlled_property_free),
12866         (gst_controller_new_valist),
12867         (gst_controller_remove_properties_valist),
12868         (gst_controller_sink_values), (_gst_controller_finalize):
12869         * libs/gst/controller/gst-controller.h:
12870         * libs/gst/controller/gst-helper.c:
12871         (gst_object_control_properties), (gst_object_uncontrol_properties),
12872         (gst_object_get_controller), (gst_object_set_controller),
12873         (gst_object_sink_values), (gst_object_get_value_arrays),
12874         (gst_object_get_value_array):
12875           more tests (and fixes) for the controller
12876           more docs for the controller
12877           integrated companies docs for the adapter 
12878
12879 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12880
12881         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12882         (GST_START_TEST), (fakesrc_suite):
12883           add tests for sizetype
12884
12885 2005-08-04  Andy Wingo  <wingo@pobox.com>
12886
12887         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12888         fixes buffer_alloc proxying among other things.
12889
12890         * gst/base/gstbasetransform.c:
12891         * gst/base/gstbasetransform.h:
12892         Revert patch to gstbasetransform from 7-28 removing
12893         delay_configure.
12894
12895         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12896         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12897         Semantics changed, should return not the size of the output buffer
12898         but the byte size of a buffer with a given caps.
12899
12900         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12901         debug object.
12902         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12903         out) are not the pad caps until setcaps finishes.
12904         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12905         not-in-place case as well. Deal with changing from in-place to
12906         not-in-place within calling pad_alloc_buffer. Still a bit
12907         concerned about the overhead here...
12908
12909 2005-08-03  Andy Wingo  <wingo@pobox.com>
12910
12911         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12912         fixating is an error.
12913
12914 2005-08-04  Edward Hervey  <edward@fluendo.com>
12915
12916         * gst/base/gstadapter.h: 
12917         Added gst_adapter_get_type() to the header
12918
12919 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12920
12921         * check/Makefile.am:
12922         * check/gst-libs/controller.c:
12923         * libs/gst/controller/gst-controller.c:
12924         (gst_controller_new_valist):
12925           added check test suite for the controller
12926         * gst/base/gstpushsrc.c:
12927           fixed a doc typo
12928
12929 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12930
12931         * docs/gst/Makefile.am:
12932         * docs/gst/gstreamer-docs.sgml:
12933         * docs/gst/gstreamer-sections.txt:
12934         * docs/gst/gstreamer.types:
12935         * docs/gst/tmpl/gstfakesrc.sgml:
12936         * gst/base/README:
12937         * gst/base/gstbasesink.c:
12938         * gst/base/gstbasesink.h:
12939         * gst/base/gstbasesrc.c:
12940         * gst/base/gstbasesrc.h:
12941         * gst/base/gstbasetransform.c:
12942         * gst/base/gstpushsrc.c:
12943         * gst/base/gstpushsrc.h:
12944           add short/long description docs to base classes
12945           add pushsrc to the docs
12946           remove consolidated doc fragments
12947
12948 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12949
12950         * configure.ac:
12951         * docs/libs/Makefile.am:
12952         * docs/libs/gstreamer-libs-docs.sgml:
12953         * docs/libs/gstreamer-libs-sections.txt:
12954         * docs/libs/gstreamer-libs.types:
12955         * examples/Makefile.am:
12956         * examples/controller/.cvsignore:
12957         * examples/controller/Makefile.am:
12958         * examples/controller/audio-example.c: (main):
12959         * libs/gst/Makefile.am:
12960         * libs/gst/controller/.cvsignore:
12961         * libs/gst/controller/Makefile.am:
12962         * libs/gst/controller/gst-controller.c:
12963         (on_object_controlled_property_changed), (gst_timed_value_compare),
12964         (gst_timed_value_find),
12965         (gst_controlled_property_set_interpolation_mode),
12966         (gst_controlled_property_new), (gst_controlled_property_free),
12967         (gst_controller_find_controlled_property),
12968         (gst_controller_new_valist), (gst_controller_new),
12969         (gst_controller_remove_properties_valist),
12970         (gst_controller_remove_properties), (gst_controller_set),
12971         (gst_controller_set_from_list), (gst_controller_unset),
12972         (gst_controller_get), (gst_controller_get_all),
12973         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12974         (gst_controller_get_value_array),
12975         (gst_controller_set_interpolation_mode),
12976         (_gst_controller_finalize), (_gst_controller_init),
12977         (_gst_controller_class_init), (gst_controller_get_type):
12978         * libs/gst/controller/gst-controller.h:
12979         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12980         (g_object_uncontrol_properties), (g_object_get_controller),
12981         (g_object_set_controller), (g_object_sink_values),
12982         (g_object_get_value_arrays), (g_object_get_value_array):
12983         * libs/gst/controller/gst-interpolation.c:
12984         (gst_controlled_property_find_timed_value_node),
12985         (interpolate_none_get), (interpolate_trigger_get),
12986         (interpolate_trigger_get_value_array):
12987         * libs/gst/controller/lib.c: (gst_controller_init):
12988         * pkgconfig/Makefile.am:
12989         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12990         * pkgconfig/gstreamer-control.pc.in:
12991         * testsuite/Makefile.am:
12992         * testsuite/controller/.cvsignore:
12993         * testsuite/controller/Makefile.am:
12994         * testsuite/controller/interpolator.c: (main):
12995           added controller code
12996           removed dparam pc files
12997
12998 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12999         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13000         (gst_collectpads_stop):
13001           Broadcast the condition when shutting down, to make sure we wake all
13002           threads up. Shut down pads on finalize, for safety.
13003
13004 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13005         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13006         (gst_base_transform_handle_buffer),
13007         (gst_base_transform_change_state):
13008           Handle PAUSED->READY->PAUSED transition after negotiation
13009           occurred already.
13010         * gst/gstmessage.c: (gst_message_init):
13011           Extra piece of debug for new messages.
13012
13013 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13014
13015         * configure.ac:
13016         * docs/gst/tmpl/gstbasesrc.sgml:
13017         * docs/gst/tmpl/gstelement.sgml:
13018         * docs/gst/tmpl/gstevent.sgml:
13019         * docs/gst/tmpl/gstfakesrc.sgml:
13020         * docs/gst/tmpl/gstformat.sgml:
13021         * docs/gst/tmpl/gstghostpad.sgml:
13022         * docs/gst/tmpl/gstpad.sgml:
13023         * docs/gst/tmpl/gstquery.sgml:
13024         * docs/gst/tmpl/gststructure.sgml:
13025         * docs/gst/tmpl/gsttaglist.sgml:
13026         * docs/gst/tmpl/gstvalue.sgml:
13027         * docs/libs/gstreamer-libs-docs.sgml:
13028         * docs/libs/gstreamer-libs-sections.txt:
13029         * docs/libs/gstreamer-libs.types:
13030         * libs/gst/Makefile.am:
13031         * libs/gst/control/.cvsignore:
13032         * libs/gst/control/Makefile.am:
13033         * libs/gst/control/control.c:
13034         * libs/gst/control/control.h:
13035         * libs/gst/control/dparam.c:
13036         * libs/gst/control/dparam.h:
13037         * libs/gst/control/dparam_smooth.c:
13038         * libs/gst/control/dparam_smooth.h:
13039         * libs/gst/control/dparamcommon.h:
13040         * libs/gst/control/dparammanager.c:
13041         * libs/gst/control/dparammanager.h:
13042         * libs/gst/control/dplinearinterp.c:
13043         * libs/gst/control/dplinearinterp.h:
13044         * libs/gst/control/unitconvert.c:
13045         * libs/gst/control/unitconvert.h:
13046         * testsuite/Makefile.am:
13047         * testsuite/dynparams/.cvsignore:
13048         * testsuite/dynparams/Makefile.am:
13049         * testsuite/dynparams/dparamstest.c:
13050         * tools/Makefile.am:
13051         * tools/gst-inspect.c: (print_element_info), (main):
13052         * tools/gst-xmlinspect.c: (print_element_info), (main):
13053           deactivate and remove dparams (libgstcontrol)
13054
13055 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13056
13057         * gst/elements/gsttypefindelement.c:
13058         (gst_type_find_element_have_type), (gst_type_find_element_init),
13059         (stop_typefinding), (gst_type_find_element_handle_event),
13060         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13061         * gst/elements/gsttypefindelement.h:
13062           Set caps on all outgoing buffers, not just the first one.
13063
13064 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13065
13066         * gst/elements/gsttypefindelement.c:
13067         (gst_type_find_element_have_type),
13068         (gst_type_find_element_check_set_buffer_caps),
13069         (gst_type_find_element_init), (stop_typefinding),
13070         (gst_type_find_element_handle_event),
13071         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13072         * gst/elements/gsttypefindelement.h:
13073           Set caps on first outgoing buffer when we've found the type.
13074
13075 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13076
13077         * docs/gst/gstreamer-docs.sgml:
13078         * docs/gst/gstreamer-sections.txt:
13079         * docs/gst/tmpl/gstscheduler.sgml:
13080         * docs/gst/tmpl/gstschedulerfactory.sgml:
13081           Remove some old cruft from docs.
13082
13083 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13084
13085         * gst/gstpad.h:
13086           Fix inline docs for GstPadLinkReturn.
13087           
13088         * gst/gststructure.c: (gst_structure_has_name):
13089         * gst/gststructure.h:
13090         * docs/gst/gstreamer-sections.txt:
13091           New API: gst_structure_has_name().
13092
13093 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13094
13095         * configure.ac:
13096           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13097           and _LARGEFILE_SOURCE in config.h as required. Do not 
13098           export those flags in our .pc files any longer (#142209).
13099
13100           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13101
13102         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13103         (gst_file_sink_do_seek), (gst_file_sink_event),
13104         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13105           Redo seek/tell calls with large file support in mind; add some
13106           debugging messages; add log message that tells us when large
13107           file support is unavailable or not enabled for some reason.
13108
13109         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13110           Add log message that tells us when large file support 
13111           is unavailable or not enabled for some reason.
13112
13113 2005-07-29  Wim Taymans  <wim@fluendo.com>
13114
13115         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13116         Added test for removing an element with ghostpad from a bin.
13117         Fixed test as current implementation does the right thing.
13118
13119         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13120         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13121         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13122         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13123         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13124         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13125         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13126         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13127         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13128         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13129         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13130         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13131         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13132         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13133         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13134         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13135         * gst/gstghostpad.h:
13136         Clean up ghostpads, remove properties for internal stuff.
13137         Make threadsafe.
13138         Fix refcounting.
13139         Prepare for switching targets, not all use cases work yet.
13140
13141 2005-07-29  Wim Taymans  <wim@fluendo.com>
13142
13143         * docs/design/part-gstghostpad.txt:
13144         Small update.
13145
13146         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13147         (gst_bin_remove_func):
13148         Unlinking pads while holding the bin LOCK is not a good
13149         idea.
13150
13151         * gst/gstpad.c: (gst_pad_class_init),
13152         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13153         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13154         No prob setting template after creating the pad.
13155
13156 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13157
13158         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13159         (gst_bus_peek), (gst_bus_source_dispatch),
13160         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13161         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13162           gst_bus_poll may be called from other threads. Handle
13163           this nicely by not making poll_data disappear off the
13164           stack once gst_bus_poll returns.
13165           gst_bus_peek now increments the refcount on the returned
13166           message.
13167
13168 2005-07-29  Wim Taymans  <wim@fluendo.com>
13169
13170         * docs/design/part-gstghostpad.txt:
13171         Overview of current GhostPad datastructures and use
13172         cases for changing the target.
13173
13174 2005-07-28  Wim Taymans  <wim@fluendo.com>
13175
13176         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13177         Added checks for hierarchy consistency whan adding linked
13178         elements to bins.
13179
13180         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13181         Added check to test element scheduling without bin/pipeline.
13182
13183         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13184         First add elements to bin, then link.
13185         
13186         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13187         (gst_bin_remove_func):
13188         Unlink pads from elements added/removed from bin to maintain
13189         hierarchy consistency.
13190
13191 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13192
13193         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13194         (gst_base_transform_handle_buffer):
13195         * gst/base/gstbasetransform.h:
13196           Remove broken delay_configure (fixes renegotiation of software
13197           scaling pipelines); remove some leftover printf()s.
13198
13199 2005-07-28  Wim Taymans  <wim@fluendo.com>
13200
13201         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13202         Added some more tests for wrong hierarchy
13203
13204         * docs/design/part-overview.txt:
13205         Some updates.
13206
13207         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13208         Cleanups.
13209
13210         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13211         (gst_element_dispose):
13212         Some more cleanups.
13213
13214         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13215         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13216         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13217         (gst_pad_set_caps), (gst_pad_send_event):
13218         Check for correct hierarchy when linking pads. Moving to
13219         strict requirement for ghostpads when linking elements in
13220         different bins.
13221
13222         * gst/gstpad.h:
13223         Clean ups. Added WRONG_HIERARCHY return value.
13224
13225 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13226
13227         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13228           Better debug if no transform is possible.
13229
13230 2005-07-27  Wim Taymans  <wim@fluendo.com>
13231
13232         * docs/random/wtay/network-transp:
13233         Some old doc I had.
13234
13235 2005-07-27  Wim Taymans  <wim@fluendo.com>
13236
13237         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13238         (gst_dp_event_from_packet):
13239         Fix serialization of seek events.
13240
13241 2005-07-27  Wim Taymans  <wim@fluendo.com>
13242
13243         * check/gst-libs/gdp.c: (GST_START_TEST):
13244         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13245         Fix compilation and fix event serialization.
13246
13247 2005-07-27  Wim Taymans  <wim@fluendo.com>
13248
13249         * CHANGES-0.9:
13250         * docs/design/part-TODO.txt:
13251         * docs/design/part-events.txt:
13252         Some docs updates
13253
13254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13255         (gst_base_sink_event), (gst_base_sink_do_sync),
13256         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13257         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13258         (gst_base_src_do_seek), (gst_base_src_event_handler),
13259         (gst_base_src_loop):
13260         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13261         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13262         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13263         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13264         (gst_base_transform_set_passthrough),
13265         (gst_base_transform_is_passthrough):
13266         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13267         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13268         Event updates.
13269
13270         * gst/gstbuffer.h:
13271         Use faster casts.
13272
13273         * gst/gstelement.c: (gst_element_seek):
13274         * gst/gstelement.h:
13275         Update gst_element_seek.
13276
13277         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13278         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13279         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13280         (gst_event_new_eos), (gst_event_new_newsegment),
13281         (gst_event_parse_newsegment), (gst_event_new_tag),
13282         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13283         (gst_event_parse_qos), (gst_event_new_seek),
13284         (gst_event_parse_seek), (gst_event_new_navigation):
13285         * gst/gstevent.h:
13286         Make GstEvent use GstStructure. Add parsing code, make sure the
13287         API is sufficiently generic.
13288         Mark possible directions of events and serialization.
13289
13290         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13291         (_gst_message_copy), (gst_message_new_segment_start),
13292         (gst_message_new_segment_done), (gst_message_new_custom),
13293         (gst_message_parse_segment_start),
13294         (gst_message_parse_segment_done):
13295         Small cleanups.
13296
13297         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13298         (gst_pad_set_caps), (gst_pad_send_event):
13299         Update for new events. 
13300         Catch events sent in wrong directions.
13301
13302         * gst/gstqueue.c: (gst_queue_link_src),
13303         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13304         (gst_queue_handle_src_query):
13305         Event updates.
13306
13307         * gst/gsttag.c:
13308         * gst/gsttag.h:
13309         Remove event code from this file.
13310
13311         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13312         (gst_dp_event_from_packet):
13313         Event updates.
13314
13315 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13316
13317         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13318         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13319         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13320           Make debugging actually useful.
13321
13322 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13323
13324         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13325         (gst_pad_fixate_caps):
13326           Implement default fixation once again, so that gst_pad_fixate()
13327           actually does anything at all. This probably needs to be some
13328           sort of a last resort, and use profile-based fixation first, but
13329           since that doesn't exist yet, this is the best we have. Fixes
13330           visualization in Totem.
13331
13332 2005-07-22  Wim Taymans  <wim@fluendo.com>
13333
13334         * docs/design/part-events.txt:
13335         Small update.
13336
13337         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13338         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13339         (gst_base_sink_activate_pull):
13340         Some more comments.
13341
13342         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13343         (gst_fake_src_create):
13344         Fix handoff marshall.
13345
13346         * gst/elements/gstidentity.c: (gst_identity_class_init),
13347         (gst_identity_transform_ip):
13348         We're a real inplace element.
13349
13350         * gst/gstbus.c: (gst_bus_post):
13351         Added some comments.
13352
13353         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13354         * tests/muxing/case1.c: (main):
13355         * tests/sched/dynamic-pipeline.c: (main):
13356         * tests/sched/interrupt1.c: (main):
13357         * tests/sched/interrupt2.c: (main):
13358         * tests/sched/interrupt3.c: (main):
13359         * tests/sched/runxml.c: (main):
13360         * tests/sched/sched-stress.c: (main):
13361         * tests/seeking/seeking1.c: (event_received), (main):
13362         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13363         (main):
13364         * tests/threadstate/threadstate3.c: (main):
13365         * tests/threadstate/threadstate4.c: (main):
13366         * tests/threadstate/threadstate5.c: (main):
13367         Fix the tests.
13368
13369 2005-07-21  Wim Taymans  <wim@fluendo.com>
13370
13371         * docs/design/part-seeking.txt:
13372         Some small additions.
13373
13374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13375         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13376         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13377         * gst/base/gstbasesink.h:
13378         discont values are gint64, handle the math correctly.
13379
13380         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13381         Make the basesrc report error if the source pad is not linked.
13382
13383         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13384         (gst_queue_loop), (gst_queue_handle_src_query),
13385         (gst_queue_src_activate_push):
13386         Make queue collect data even if the srcpad is not linked.
13387         Start pushing out data as soon as it is linked.
13388
13389         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13390         * gst/gstutils.h:
13391         Added gst_flow_get_name() to ease error reporting.
13392
13393 2005-07-20  Wim Taymans  <wim@fluendo.com>
13394
13395         * gst/gstmessage.c: (gst_message_new_segment_start),
13396         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13397         (gst_message_parse_segment_done):
13398         * gst/gstmessage.h:
13399         Added a bunch of messages for advanced seeking.
13400
13401         * gst/parse/grammar.y:
13402         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13403         (gst_dpman_state_changed):
13404         Fix some new-pad -> pad-added signals
13405
13406 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13407
13408         * docs/manual/appendix-porting.xml:
13409         * docs/pwg/appendix-porting.xml:
13410           Document new-pad/state-change signal renames and the FixedList
13411           type rename.
13412
13413 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13414
13415         * docs/manual/advanced-autoplugging.xml:
13416         * docs/manual/basics-helloworld.xml:
13417         * docs/manual/basics-pads.xml:
13418         * docs/random/ds/0.9-suggested-changes:
13419         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13420         * gst/gstelement.h:
13421         * gst/gstevent.h:
13422         * gst/gstformat.h:
13423         * gst/gstquery.h:
13424         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13425         (gst_structure_parse_array), (gst_structure_parse_value):
13426         * gst/gstvalue.c: (gst_type_is_fixed),
13427         (gst_value_list_prepend_value), (gst_value_list_append_value),
13428         (gst_value_list_get_size), (gst_value_list_get_value),
13429         (gst_value_transform_array_string), (gst_value_serialize_array),
13430         (gst_value_deserialize_array), (gst_value_intersect_array),
13431         (gst_value_is_fixed), (_gst_value_initialize):
13432         * gst/gstvalue.h:
13433           GstElement::new-pad -> pad-added, GstElement::state-change ->
13434           state-changed, GstValueFixedList -> GstValueArray, add format and
13435           flags as their own arguments in gst_element_seek() (should improve
13436           "bindeability"), remove function generators since they don't work
13437           under a whole bunch of compilers (they were deprecated already
13438           anyway).
13439
13440 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13441
13442         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13443         (_gst_debug_register_funcptr):
13444         * gst/gstinfo.h:
13445           Fix illegal cast on some platforms (#309253).
13446
13447 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13448
13449         * gst/gstmessage.c: (gst_message_new_custom):
13450         * gst/gstmessage.h:
13451           Add _new_custom, make _new_application a macro to _new_custom.
13452
13453 2005-07-20  Wim Taymans  <wim@fluendo.com>
13454
13455         * gst/base/gstbasesrc.c: (gst_base_src_init),
13456         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13457         * gst/base/gstbasesrc.h:
13458         Add a gboolean to decide when to push out a discont.
13459
13460         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13461         (gst_queue_loop), (gst_queue_handle_src_query),
13462         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13463         (gst_queue_set_property), (gst_queue_get_property):
13464         Some cleanups.
13465
13466         * tests/threadstate/threadstate1.c: (main):
13467         Make a thread test compile and run... very silly..
13468
13469
13470 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13471
13472         * docs/manual/appendix-porting.xml:
13473           Mention removal of libgstgconf-0.9.la and existence of gconf
13474           elements.
13475
13476 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13477
13478         * docs/pwg/advanced-clock.xml:
13479         * docs/pwg/appendix-porting.xml:
13480         * docs/pwg/intro-preface.xml:
13481         * docs/pwg/other-base.xml:
13482         * docs/pwg/other-manager.xml:
13483         * docs/pwg/other-nton.xml:
13484         * docs/pwg/other-ntoone.xml:
13485         * docs/pwg/other-oneton.xml:
13486         * docs/pwg/pwg.xml:
13487           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13488           demuxer), remove n-to-n (was never written), fix some code examples
13489           and links and update the porting section to include all this.
13490
13491 2005-07-19  Wim Taymans  <wim@fluendo.com>
13492
13493         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13494         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13495         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13496         (gst_queue_src_activate_push), (gst_queue_change_state),
13497         (gst_queue_get_property):
13498         * gst/gstqueue.h:
13499         Propagate GstFlowReturn more intelligently upstream and output
13500         an ERROR/EOS when streaming stopped due to fatal error.
13501
13502 2005-07-19  Wim Taymans  <wim@fluendo.com>
13503
13504         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13505         Don't block forever for the state change to complete, the
13506         pipeline already did with a sensible timeout.
13507
13508 2005-07-19  Wim Taymans  <wim@fluendo.com>
13509
13510         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13511         Make sure we never call the create function is we
13512         got deactivated.
13513
13514 2005-07-19  Andy Wingo  <wingo@pobox.com>
13515
13516         * gst/parse/parse.l: Attempt to solve bug #172815.
13517
13518 2005-07-19  Wim Taymans  <wim@fluendo.com>
13519
13520         * docs/design/part-clocks.txt:
13521         * docs/design/part-events.txt:
13522         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13523         Small docs updates.
13524         Only update the seeking values when we are not
13525         busy streaming.
13526
13527 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13528
13529         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13530           Oops, ignore the result of gst_pad_push_event here.
13531
13532 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13533
13534         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13535         (gst_base_src_activate_push):
13536           Send discont event from the loop function, as pads
13537           aren't activated yet in the activate_push handler.
13538
13539         * gst/gstbin.c: (bin_bus_handler):
13540           Don't leak element name.
13541
13542 2005-07-18  Andy Wingo  <wingo@pobox.com>
13543
13544         * configure.ac: Use AS_LIBTOOL_TAGS.
13545
13546 2005-07-18  Wim Taymans  <wim@fluendo.com>
13547
13548         * docs/gst/gstreamer.types:
13549         Remove deleted types.
13550
13551 2005-07-18  Wim Taymans  <wim@fluendo.com>
13552
13553         * check/elements/gstfakesrc.c: (GST_START_TEST):
13554         * configure.ac:
13555         * gst/Makefile.am:
13556         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13557         (init_popt_callback):
13558         * gst/gst.h:
13559         * gst/gst_private.h:
13560         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13561         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13562         * gst/gstbin.h:
13563         * gst/gstbus.h:
13564         * gst/gstconfig.h.in:
13565         * gst/gstelement.c: (gst_element_class_init),
13566         (gst_element_set_base_time), (gst_element_get_base_time),
13567         (iterator_fold_with_resync), (gst_element_change_state),
13568         (gst_element_dispose), (gst_element_get_bus):
13569         * gst/gstelement.h:
13570         * gst/gstelementfactory.h:
13571         * gst/gsterror.c: (_gst_core_errors_init):
13572         * gst/gsterror.h:
13573         * gst/gstevent.h:
13574         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13575         * gst/gstindex.c:
13576         * gst/gstinfo.c: (_gst_debug_init):
13577         * gst/gstmessage.c: (_gst_message_copy):
13578         * gst/gstmessage.h:
13579         * gst/gstminiobject.h:
13580         * gst/gstobject.c:
13581         * gst/gstobject.h:
13582         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13583         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13584         * gst/gstpad.h:
13585         * gst/gstparse.h:
13586         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13587         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13588         (gst_pipeline_get_last_stream_time):
13589         * gst/gstpipeline.h:
13590         * gst/gstpluginfeature.h:
13591         * gst/gstquery.h:
13592         * gst/gstscheduler.c:
13593         * gst/gstscheduler.h:
13594         * gst/gststructure.h:
13595         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13596         (gst_task_finalize), (gst_task_func), (gst_task_create),
13597         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13598         (gst_task_stop), (gst_task_pause):
13599         * gst/gsttask.h:
13600         * gst/gsttypefind.h:
13601         * gst/gsttypes.h:
13602         * gst/registries/gstlibxmlregistry.c: (load_feature),
13603         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13604         * gst/registries/gstxmlregistry.c:
13605         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13606         * gst/schedulers/threadscheduler.c:
13607         * libs/gst/control/dparammanager.h:
13608         * tools/gst-inspect.c: (print_element_list),
13609         (print_plugin_features), (print_element_features):
13610         * tools/gst-xmlinspect.c: (print_element_list),
13611         (print_plugin_info), (main):
13612         Removed plugable schedulers.
13613         Removed Scheduler/Manager from elements.
13614         Removed gsttypes.h, rearranged includes.
13615         Removed dependency pad<->element, element<>pipeline, and
13616         various others,  fix includes.
13617         implement gst_pad_get_parent() with gst_object_get_parent()
13618         Make GstTask sefcontained.
13619         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13620         timeout.
13621         Fix endless loop in iterator_fold_with_resync.
13622
13623
13624 2005-07-18  Wim Taymans  <wim@fluendo.com>
13625
13626         * gst/Makefile.am:
13627         * gst/gstarch.h:
13628         Remove old file.
13629
13630 2005-07-18  Wim Taymans  <wim@fluendo.com>
13631
13632         * gst/Makefile.am:
13633         No more cothreads.h
13634
13635 2005-07-18  Wim Taymans  <wim@fluendo.com>
13636
13637         * gst/cothreads.c:
13638         * gst/cothreads.h:
13639         Let's remove these.
13640
13641 2005-07-18  Wim Taymans  <wim@fluendo.com>
13642
13643         * docs/design/part-dynamic.txt:
13644         * docs/design/part-events.txt:
13645         * docs/design/part-seeking.txt:
13646         Some more docs in the works.
13647
13648         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13649         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13650         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13651         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13652         (gst_base_transform_handle_buffer),
13653         (gst_base_transform_sink_activate_push),
13654         (gst_base_transform_src_activate_pull),
13655         (gst_base_transform_set_passthrough),
13656         (gst_base_transform_is_passthrough):
13657         Refcounting fixes.
13658
13659         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13660         Cleanups.
13661
13662         * gst/gstevent.c: (gst_event_finalize):
13663         Set SRC to NULL.
13664
13665         * gst/gstutils.c: (gst_element_unlink),
13666         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13667         (gst_pad_proxy_setcaps):
13668         * gst/gstutils.h:
13669         Add _get_parent_element() to get a pads parent as an element.
13670
13671 2005-07-18  Wim Taymans  <wim@fluendo.com>
13672
13673         * check/gst/gstbin.c: (GST_START_TEST):
13674         Remove bogus test.
13675
13676 2005-07-18  Wim Taymans  <wim@fluendo.com>
13677
13678         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13679         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13680         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13681         (gst_base_sink_event), (gst_base_sink_do_sync),
13682         (gst_base_sink_chain), (gst_base_sink_loop),
13683         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13684         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13685         Refcounting fixes.
13686         Fix logic for returning ASYNC when not prerolled.
13687
13688 2005-07-18  Wim Taymans  <wim@fluendo.com>
13689
13690         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13691         Fix nasty refcount bug.
13692
13693 2005-07-16 Philippe Khalaf <burger@speedy.org>
13694
13695         * gst/elements/gstfdsrc.c:
13696         * gst/elements/gstfdsrc.h:
13697         * gst/elements/gstelements.c:
13698         * gst/elements/Makefile.am:
13699         Ported fdsrc to 0.9.
13700
13701 2005-07-16  Wim Taymans  <wim@fluendo.com>
13702
13703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13704         (gst_base_sink_do_sync):
13705         Fix compile error.
13706
13707 2005-07-16  Wim Taymans  <wim@fluendo.com>
13708
13709         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13710         (gst_base_sink_event), (gst_base_sink_get_times),
13711         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13712         * gst/base/gstbasesink.h:
13713         Store and use discont values when syncing buffers as described
13714         in design docs.
13715         
13716         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13717         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13718         (gst_base_src_activate_push):
13719         Push discont event when starting.
13720
13721         * gst/elements/gstidentity.c: (gst_identity_transform):
13722         Small cleanups.
13723
13724         * gst/gstbin.c: (gst_bin_change_state):
13725         Small cleanups in base_time  distribution.
13726
13727         * gst/gstelement.c: (gst_element_set_base_time),
13728         (gst_element_get_base_time), (gst_element_change_state):
13729         * gst/gstelement.h:
13730         Added methods for the base_time of the element.
13731         Some MT fixes.
13732
13733         * gst/gstpipeline.c: (gst_pipeline_send_event),
13734         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13735         (gst_pipeline_get_last_stream_time):
13736         * gst/gstpipeline.h:
13737         MT fixes.
13738         Handle seeking as described in design doc, remove stream_time
13739         hack.
13740         Cleanups clock and stream_time selection code. Added accessors
13741         for the stream_time.
13742         
13743
13744 2005-07-16  Andy Wingo  <wingo@pobox.com>
13745
13746         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13747         (#305291).
13748
13749 2005-07-16  Wim Taymans  <wim@fluendo.com>
13750
13751         * check/gst/gstbin.c: (GST_START_TEST):
13752         Make elements silent as the deep_notify refs the
13753         parent, which might make the test fail.
13754
13755         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13756         Don't hold the lock for too long.
13757
13758 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13759
13760         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13761           Don't unref the caps we passed to gst_caps_make_writable() after
13762           passing them. gst_caps_make_writable() will do that for us.
13763
13764 2005-07-15  Andy Wingo  <wingo@pobox.com>
13765
13766         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13767         (#157311).
13768
13769         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13770         own marshalling function for the handoff signal. Properly type the
13771         buffer as a buffer. Fixes some warnings. Should do a more general
13772         solution.
13773         (gst_identity_class_init): Plug into the right marshaller.
13774
13775 2005-07-15  Wim Taymans  <wim@fluendo.com>
13776
13777         * docs/design/part-TODO.txt:
13778         * docs/design/part-clocks.txt:
13779         * docs/design/part-element-sink.txt:
13780         * docs/design/part-events.txt:
13781         * docs/design/part-gstpipeline.txt:
13782         Updated docs, mostly DISCONT related.
13783
13784 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13785
13786         * docs/pwg/building-pads.xml:
13787           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13788
13789 2005-07-15  Andy Wingo  <wingo@pobox.com>
13790
13791         * tools/gst-typefind.c: Update, add copyright block.
13792
13793         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13794         Normalize and truncate caps before fixation.
13795
13796         * gst/gstcaps.h:
13797         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13798         discards all but the first structure from its argument.
13799
13800 2005-07-15  Wim Taymans  <wim@fluendo.com>
13801
13802         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13803         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13804         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13805         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13806         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13807         (gst_base_transform_chain), (gst_base_transform_change_state),
13808         (gst_base_transform_set_passthrough),
13809         (gst_base_transform_is_passthrough):
13810         * gst/base/gstbasetransform.h:
13811         Make passthrough work using the bufferpools.
13812         Changed API a bit, subclasses have to write into a buffer
13813         provided by the base class.
13814         More debug info in nego functions.
13815         
13816         * gst/elements/gstidentity.c: (gst_identity_init),
13817         (gst_identity_transform):
13818         Port to new base class.
13819
13820 2005-07-15  Wim Taymans  <wim@fluendo.com>
13821
13822         * gst/gstmessage.c: (gst_message_new_state_changed):
13823         * tools/gst-launch.c: (event_loop), (main):
13824         Totally dump messages in -launch with the -m option.
13825         Fix message name for State messages,
13826
13827 2005-07-14  Wim Taymans  <wim@fluendo.com>
13828
13829         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13830         Post error messages on errors.
13831
13832 2005-07-14  Wim Taymans  <wim@fluendo.com>
13833
13834         * gst/gstcaps.c: (gst_caps_do_simplify):
13835         Remove debug info.
13836
13837         * gst/gsterror.h:
13838         Define error for stream stopped.
13839
13840         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13841         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13842         Do proper return values.
13843
13844         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13845         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13846         (gst_pad_get_range):
13847         Better return values.
13848
13849         * gst/gstpad.h:
13850         Reorganise return values, add macro to check for fatal errors.
13851
13852         * gst/gstqueue.c: (gst_queue_chain):
13853         Return proper GstFlowReturn values,
13854
13855 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13856
13857         * docs/gst/gstreamer-sections.txt:
13858         * docs/gst/gstreamer.types:
13859         * docs/gst/tmpl/gst.sgml:
13860         * docs/gst/tmpl/gstbasesink.sgml:
13861         * docs/gst/tmpl/gstbasesrc.sgml:
13862         * docs/gst/tmpl/gstbasetransform.sgml:
13863         * docs/gst/tmpl/gstbin.sgml:
13864         * docs/gst/tmpl/gstbuffer.sgml:
13865         * docs/gst/tmpl/gstcaps.sgml:
13866         * docs/gst/tmpl/gstclock.sgml:
13867         * docs/gst/tmpl/gstcompat.sgml:
13868         * docs/gst/tmpl/gstconfig.sgml:
13869         * docs/gst/tmpl/gstelement.sgml:
13870         * docs/gst/tmpl/gstelementdetails.sgml:
13871         * docs/gst/tmpl/gstelementfactory.sgml:
13872         * docs/gst/tmpl/gstenumtypes.sgml:
13873         * docs/gst/tmpl/gsterror.sgml:
13874         * docs/gst/tmpl/gstevent.sgml:
13875         * docs/gst/tmpl/gstfakesink.sgml:
13876         * docs/gst/tmpl/gstfakesrc.sgml:
13877         * docs/gst/tmpl/gstfilesink.sgml:
13878         * docs/gst/tmpl/gstfilesrc.sgml:
13879         * docs/gst/tmpl/gstfilter.sgml:
13880         * docs/gst/tmpl/gstformat.sgml:
13881         * docs/gst/tmpl/gstghostpad.sgml:
13882         * docs/gst/tmpl/gstimplementsinterface.sgml:
13883         * docs/gst/tmpl/gstindex.sgml:
13884         * docs/gst/tmpl/gstindexfactory.sgml:
13885         * docs/gst/tmpl/gstinfo.sgml:
13886         * docs/gst/tmpl/gstiterator.sgml:
13887         * docs/gst/tmpl/gstmacros.sgml:
13888         * docs/gst/tmpl/gstmemchunk.sgml:
13889         * docs/gst/tmpl/gstminiobject.sgml:
13890         * docs/gst/tmpl/gstobject.sgml:
13891         * docs/gst/tmpl/gstpad.sgml:
13892         * docs/gst/tmpl/gstpadtemplate.sgml:
13893         * docs/gst/tmpl/gstparse.sgml:
13894         * docs/gst/tmpl/gstpipeline.sgml:
13895         * docs/gst/tmpl/gstplugin.sgml:
13896         * docs/gst/tmpl/gstpluginfeature.sgml:
13897         * docs/gst/tmpl/gstquery.sgml:
13898         * docs/gst/tmpl/gstqueue.sgml:
13899         * docs/gst/tmpl/gstregistry.sgml:
13900         * docs/gst/tmpl/gstregistrypool.sgml:
13901         * docs/gst/tmpl/gstscheduler.sgml:
13902         * docs/gst/tmpl/gstschedulerfactory.sgml:
13903         * docs/gst/tmpl/gststructure.sgml:
13904         * docs/gst/tmpl/gstsystemclock.sgml:
13905         * docs/gst/tmpl/gsttaglist.sgml:
13906         * docs/gst/tmpl/gsttagsetter.sgml:
13907         * docs/gst/tmpl/gsttrace.sgml:
13908         * docs/gst/tmpl/gsttrashstack.sgml:
13909         * docs/gst/tmpl/gsttypefind.sgml:
13910         * docs/gst/tmpl/gsttypefindfactory.sgml:
13911         * docs/gst/tmpl/gsttypes.sgml:
13912         * docs/gst/tmpl/gsturihandler.sgml:
13913         * docs/gst/tmpl/gsturitype.sgml:
13914         * docs/gst/tmpl/gstutils.sgml:
13915         * docs/gst/tmpl/gstvalue.sgml:
13916         * docs/gst/tmpl/gstversion.sgml:
13917         * docs/gst/tmpl/gstxml.sgml:
13918         * docs/libs/tmpl/gstcontrol.sgml:
13919         * docs/libs/tmpl/gstdataprotocol.sgml:
13920         * docs/libs/tmpl/gstdparam.sgml:
13921         * docs/libs/tmpl/gstdplinint.sgml:
13922         * docs/libs/tmpl/gstdpman.sgml:
13923         * docs/libs/tmpl/gstdpsmooth.sgml:
13924         * docs/libs/tmpl/gstgetbits.sgml:
13925         * docs/libs/tmpl/gstunitconvert.sgml:
13926         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13927         (gst_push_src_base_init), (gst_push_src_class_init),
13928         (gst_push_src_init), (gst_push_src_create):
13929         * gst/base/gstpushsrc.h:
13930         * gst/elements/gstelements.c:
13931         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13932         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13933         (gst_fake_sink_init), (gst_fake_sink_set_property),
13934         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13935         (gst_fake_sink_event), (gst_fake_sink_preroll),
13936         (gst_fake_sink_render), (gst_fake_sink_change_state):
13937         * gst/elements/gstfakesink.h:
13938         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13939         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13940         (gst_fake_src_base_init), (gst_fake_src_class_init),
13941         (gst_fake_src_init), (gst_fake_src_event_handler),
13942         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13943         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13944         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13945         (gst_fake_src_create_buffer), (gst_fake_src_create),
13946         (gst_fake_src_start), (gst_fake_src_stop):
13947         * gst/elements/gstfakesrc.h:
13948         * gst/elements/gstfilesink.c: (_do_init),
13949         (gst_file_sink_base_init), (gst_file_sink_class_init),
13950         (gst_file_sink_init), (gst_file_sink_dispose),
13951         (gst_file_sink_set_location), (gst_file_sink_set_property),
13952         (gst_file_sink_get_property), (gst_file_sink_open_file),
13953         (gst_file_sink_close_file), (gst_file_sink_query),
13954         (gst_file_sink_event), (gst_file_sink_render),
13955         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13956         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13957         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13958         * gst/elements/gstfilesink.h:
13959         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13960         (gst_file_src_class_init), (gst_file_src_init),
13961         (gst_file_src_finalize), (gst_file_src_set_location),
13962         (gst_file_src_set_property), (gst_file_src_get_property),
13963         (gst_file_src_map_region), (gst_file_src_map_small_region),
13964         (gst_file_src_create_mmap), (gst_file_src_create_read),
13965         (gst_file_src_create), (gst_file_src_is_seekable),
13966         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13967         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13968         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13969         (gst_file_src_uri_handler_init):
13970         * gst/elements/gstfilesrc.h:
13971           more autistic cleanliness in functions/names/defines
13972
13973 2005-07-13  Andy Wingo  <wingo@pobox.com>
13974
13975         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13976         source couldn't negotiate.
13977
13978         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13979         connections again.
13980
13981         * gst/gstutils.h:
13982         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13983         function. I am channeling Hades. Put your boots on suckers!!!
13984
13985 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13986
13987         * testsuite/caps/Makefile.am:
13988         * testsuite/caps/value_compare.c:
13989         * testsuite/caps/value_intersect.c:
13990         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13991           move two testsuite apps over to the check dir
13992
13993 2005-07-12  Wim Taymans  <wim@fluendo.com>
13994
13995         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13996         Added more debug info in the negotiate process.
13997
13998         * gst/gstmessage.h:
13999         Prepare for segment playback.
14000
14001         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14002         Better debugging.
14003
14004         * gst/gstutils.c:
14005         Some more docs.
14006
14007         * tools/gst-launch.c: (main):
14008         NULL pipeline on errors.
14009
14010 2005-07-12  Andy Wingo  <wingo@pobox.com>
14011
14012         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14013         not it comes from a malloc region. Make sure our copy gets freed.
14014
14015 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14016
14017         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14018         * check/gst/gstmessage.c: (GST_START_TEST):
14019         * check/gst/gststructure.c: (GST_START_TEST),
14020         (gst_structure_suite), (main):
14021           more testing
14022         * gst/gstelement.c: (gst_element_message_full):
14023           clean up GError and debug string now that they get copied
14024         * gst/gstmessage.c: (gst_message_new_error),
14025         (gst_message_new_warning), (gst_message_parse_error),
14026         (gst_message_parse_warning):
14027           use GST_TYPE_G_ERROR for structure_new, and take copies of
14028           arguments, so that we don't mess up refcounting
14029
14030 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14031
14032         * check/Makefile.am:
14033           add per-test valgrind targets
14034         * check/gst-libs/gdp.c: (GST_START_TEST),
14035         (gst_data_protocol_suite), (main):
14036           clean up
14037
14038 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14039
14040         * check/Makefile.am:
14041           instate more valgrindable tests
14042         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14043         (GST_START_TEST), (fakesrc_suite):
14044         * check/gst/gstpad.c: (GST_START_TEST):
14045         * check/gst/gststructure.c: (GST_START_TEST):
14046           fix test leaks
14047         * docs/gst/tmpl/gstminiobject.sgml:
14048         * gst/gstpad.c: (gst_pad_finalize):
14049           fix the static mutex leak
14050
14051 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14052
14053         * check/Makefile.am:
14054           add two more tests for valgrinding
14055         * check/gst/gstvalue.c: (GST_START_TEST):
14056           test refcount of deserialized buffer, found a leak
14057         * docs/gst/gstreamer-docs.sgml:
14058         * docs/gst/gstreamer-sections.txt:
14059         * docs/gst/gstreamer.types:
14060         * docs/gst/tmpl/gstminiobject.sgml:
14061           add miniobject to docs
14062         * gst/gstminiobject.c:
14063           add some docs
14064         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14065         (gst_string_unwrap):
14066           fix a hard-to-find invalid write for one of the tests
14067           fix a leak for deserialized buffers
14068
14069 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14070
14071         * docs/pwg/advanced-events.xml:
14072         * docs/pwg/advanced-request.xml:
14073         * docs/pwg/advanced-scheduling.xml:
14074         * docs/pwg/appendix-porting.xml:
14075         * docs/pwg/building-boiler.xml:
14076         * docs/pwg/intro-preface.xml:
14077         * docs/pwg/other-ntoone.xml:
14078           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14079           of example code and explanation for pad activation, loop() and
14080           getrange() functions and a bit more. Remove old comments pointing
14081           to loop-functions.
14082         * examples/pwg/Makefile.am:
14083           Add loop/getrange examples.
14084
14085 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14086
14087         * configure.ac:
14088           check for valgrind binary + some fixes
14089         * check/gst.supp:
14090           valgrind suppressions for the tests
14091         * check/Makefile.am:
14092           add a valgrind: target that valgrinds the unit tests
14093         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14094         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14095         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14096         * check/gst/gstghostpad.c:
14097           added some cleanup
14098         * check/gst/gstdata.c:
14099           removed
14100         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14101         (thread_unref), (gst_mini_object_suite), (main):
14102           added
14103         * gst/gst.c: (gst_deinit):
14104         * gst/gst.h:
14105           add a method to clean up.
14106         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14107         (gst_system_clock_obtain):
14108           allow for disposing the system clock.
14109         * tools/gst-launch.c: (main):
14110           deinit
14111
14112 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14113
14114         * docs/gst/tmpl/gstbasesrc.sgml:
14115         * docs/gst/tmpl/gstfakesrc.sgml:
14116         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14117         (gst_base_src_init), (gst_base_src_set_property),
14118         (gst_base_src_get_property), (gst_base_src_get_range),
14119         (gst_base_src_start):
14120         * gst/base/gstbasesrc.h:
14121           add num-buffers property
14122         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14123         (gst_fakesrc_init), (gst_fakesrc_set_property),
14124         (gst_fakesrc_get_property), (gst_fakesrc_create),
14125         (gst_fakesrc_start):
14126           remove num-buffers property
14127
14128 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14129
14130         * docs/gst/gstreamer-sections.txt:
14131         * docs/gst/tmpl/gstbasesink.sgml:
14132         * docs/gst/tmpl/gstbasesrc.sgml:
14133         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14134         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14135         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14136         (gst_base_sink_set_property), (gst_base_sink_get_property),
14137         (gst_base_sink_handle_object), (gst_base_sink_event),
14138         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14139         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14140         (gst_base_sink_loop), (gst_base_sink_deactivate),
14141         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14142         (gst_base_sink_change_state):
14143         * gst/base/gstbasesink.h:
14144         * gst/base/gstbasesrc.h:
14145         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14146         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14147         (gst_filesink_init):
14148           more macro splitting
14149
14150 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14151
14152         * gst/gstelement.c: (gst_element_get_bus):
14153           add debug
14154         * tools/gst-launch.c: (check_intr), (event_loop):
14155           fix bus leaks
14156
14157 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14158
14159         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14160           fix a caps leak
14161
14162 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14163
14164         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14165         (gst_base_src_finalize):
14166           add finalize method and clean up properly
14167         * gst/gstpipeline.c: (gst_pipeline_dispose):
14168           add debug
14169
14170 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14171
14172         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14173         (gst_bin_suite):
14174           add more things to check
14175         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14176         * gst/gstelement.c:
14177           more debug
14178
14179 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14180
14181         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14182         (GST_START_TEST), (fakesrc_suite):
14183         * check/gst-libs/gdp.c: (GST_START_TEST):
14184         * check/gst/gst.c: (GST_START_TEST):
14185         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14186         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14187         * check/gst/gstbus.c: (GST_START_TEST):
14188         * check/gst/gstcaps.c: (GST_START_TEST):
14189         * check/gst/gstdata.c: (GST_START_TEST):
14190         * check/gst/gstelement.c: (GST_START_TEST):
14191         * check/gst/gstghostpad.c: (GST_START_TEST):
14192         * check/gst/gstiterator.c: (GST_START_TEST):
14193         * check/gst/gstmessage.c: (GST_START_TEST):
14194         * check/gst/gstobject.c: (GST_START_TEST):
14195         * check/gst/gstpad.c: (GST_START_TEST):
14196         * check/gst/gststructure.c: (GST_START_TEST):
14197         * check/gst/gstsystemclock.c: (GST_START_TEST),
14198         (gst_systemclock_suite):
14199         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14200         * check/gst/gstvalue.c: (GST_START_TEST):
14201         * check/pipelines/cleanup.c: (GST_START_TEST):
14202         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14203         * check/states/sinks.c: (GST_START_TEST):
14204         * check/gstcheck.c: (gst_check_init):
14205         * check/gstcheck.h:
14206           add debugging category
14207           use GST_START_TEST now, so we add a debug line
14208
14209 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14210
14211         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14212           add test for state change message on a bin
14213         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14214           add another test
14215         * gst/gstbin.c: (gst_bin_init):
14216         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14217         * gst/gstelement.c: (gst_element_post_message),
14218         (gst_element_set_state):
14219         * gst/gstelementfactory.c: (gst_element_factory_create):
14220         * gst/gstmessage.c: (gst_message_new):
14221         * gst/gstscheduler.c:
14222           various debugging additions and cleanups
14223
14224 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14225
14226         * check/Makefile.am:
14227         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14228         (main):
14229           adding tests for elements
14230         * gst/gstelement.c: (gst_element_dispose):
14231
14232 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14233
14234         * gst/registries/gstlibxmlregistry.c: (load_feature):
14235           plug more leaks.  A simple gst_init() now is leakfree, yay.
14236
14237 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14238
14239         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14240         (gst_xml_registry_load):
14241           plug another memleak
14242
14243 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14244
14245         * configure.ac:
14246           use GST_SET_ERROR_CFLAGS
14247         * docs/faq/cvs.xml:
14248           change to ERROR_CFLAGS
14249
14250 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14251
14252         * configure.ac:
14253           make GST_ERROR_CFLAGS overridable and re-enable Werror
14254         * docs/faq/cvs.xml:
14255           add a note about error CFLAGS
14256         * docs/gst/tmpl/gstfakesrc.sgml:
14257         * gst/elements/gstfakesrc.c:
14258           comment out some unused code
14259         * gst/gst.c: (split_and_iterate):
14260         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14261         (load_feature):
14262           plug some memleaks
14263
14264 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14265
14266         * common/Makefile.am:
14267         * common/gtk-doc.mak:
14268         * docs/gst/Makefile.am:
14269           factor out gtk-doc.mak
14270
14271 2005-07-07  Wim Taymans  <wim@fluendo.com>
14272
14273         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14274         (gst_thread_scheduler_dispose):
14275         Unlock the STREAM_LOCK completely.
14276
14277 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14278
14279         * check/Makefile.am:
14280         * check/elements/.cvsignore:
14281         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14282         (START_TEST), (fakesrc_suite), (main):
14283         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14284         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14285         (gst_fakesrc_create), (gst_fakesrc_start):
14286         * gst/elements/gstfakesrc.h:
14287           adding a first element test
14288
14289 2005-07-07  Andy Wingo  <wingo@pobox.com>
14290
14291         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14292         debug message.
14293
14294 2005-07-07  Wim Taymans  <wim@fluendo.com>
14295
14296         * gst/gstquery.c:
14297         * gst/gstquery.h:
14298         Remove old types
14299
14300 2005-07-07  Wim Taymans  <wim@fluendo.com>
14301
14302         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14303         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14304         Allow subclasses to implement their own negotiation.
14305
14306 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14307
14308         * docs/design/part-gstbin.txt:
14309         * docs/design/part-gstpipeline.txt:
14310           Update design notes to reflect the movement of
14311           responsibility for bus handling from GstPipeline to
14312           GstBin
14313
14314 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14315
14316         * configure.ac:
14317           Remove unnecessary queue2/3/4 examples.
14318
14319 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14320
14321         * examples/Makefile.am:
14322         * examples/helloworld/helloworld.c: (event_loop), (main):
14323         * examples/queue/queue.c: (event_loop), (main):
14324         * examples/queue2/queue2.c: (main):
14325           Update a couple of the examples to work again.
14326
14327         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14328         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14329          Spelling corrections and extra debug.
14330         
14331         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14332         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14333         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14334         * gst/gstbin.h:
14335         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14336         (gst_pipeline_change_state):
14337         * gst/gstpipeline.h:
14338           Move the bus handler for children to the GstBin, and create a
14339           separate bus for receiving messages from children to the one the
14340           bus sends 'upwards' on.
14341
14342 2005-07-06  Wim Taymans  <wim@fluendo.com>
14343
14344         * gst/base/README:
14345         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14346         (gst_base_sink_handle_object), (gst_base_sink_loop),
14347         (gst_base_sink_change_state):
14348         * gst/base/gstbasesink.h:
14349         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14350         (gst_base_src_init), (gst_base_src_setcaps),
14351         (gst_base_src_getcaps), (gst_base_src_loop),
14352         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14353         (gst_base_src_start), (gst_base_src_change_state):
14354         * gst/base/gstbasesrc.h:
14355         Make basesrc negotiate.
14356         Handle the case where preroll fails in basesink.
14357         Update README.
14358
14359 2005-07-06  Wim Taymans  <wim@fluendo.com>
14360
14361         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14362         Implement the fixate function.
14363         Clean up acceptcaps.
14364
14365 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14366
14367         * docs/pwg/building-filterfactory.xml:
14368         * docs/pwg/pwg.xml:
14369           Remove never-written filter-factory chapter; I'll add the various
14370           base classes to part 4 ("other element types") later on.
14371
14372 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14373
14374         * docs/pwg/advanced-negotiation.xml:
14375         * docs/pwg/building-boiler.xml:
14376         * docs/pwg/building-pads.xml:
14377         * docs/pwg/pwg.xml:
14378         * examples/pwg/Makefile.am:
14379           Add a chapter on caps negotiation, simplify the original code
14380           samples a bit w.r.t. caps negotiation, add link to the advanced
14381           section. Add a bunch of examples showing different use cases of
14382           different types of caps negotiation. Upstream renegotiation isn't
14383           fully documented yet since nobody knows how that works.
14384
14385 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14386
14387         * check/gst/gstpad.c:
14388         * check/gstcheck.c:
14389         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14390           if pad has no parent, return NULL as list of internal links
14391
14392 2005-07-05  Andy Wingo  <wingo@pobox.com>
14393
14394         * gst/elements/gstfilesrc.c:
14395         * gst/elements/gstfakesrc.c: 
14396         * gst/base/gstpushsrc.c:
14397         * gst/base/gstbasesrc.h: 
14398         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14399         
14400 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14401
14402         * Makefile.am:
14403           better report generation target (lcov needs a patch)
14404
14405 2005-07-05  Andy Wingo  <wingo@pobox.com>
14406
14407         * gst/elements, testsuite: Null if we got it...
14408
14409 2005-07-05  Wim Taymans  <wim@fluendo.com>
14410
14411         * configure.ac:
14412         * libs/gst/dataprotocol/Makefile.am:
14413         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14414         * libs/gst/dataprotocol/dataprotocol.h:
14415         * pkgconfig/Makefile.am:
14416         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14417         * pkgconfig/gstreamer-dataprotocol.pc.in:
14418         Ported dataprotol to 0.9. 
14419         Added pkgconfig files.
14420
14421 2005-07-05  Andy Wingo  <wingo@pobox.com>
14422
14423         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14424         Default to returning TRUE for the case when tranform_caps returns
14425         a fixed caps, like for identity or volume.
14426
14427         * check/gst/gstbus.c (pound_bus_with_messages): 
14428         * check/gst/gstmessage.c (START_TEST): 
14429         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14430         message API change.
14431
14432         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14433         logic weaks here: always run transform_caps, trying passthrough
14434         operation only if the original caps intersects with the transform.
14435
14436         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14437         source and sink caps.
14438
14439         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14440         Intersect the peer caps with the pad template before going into
14441         transform_caps.
14442         (gst_base_transform_transform_caps): More debugging.
14443
14444         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14445         src argument.
14446
14447 2005-07-04  Edward Hervey  <edward@fluendo.com>
14448
14449         * gst/gstutils.c:
14450         * gst/gstutils.h:
14451         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14452         in bindings.
14453
14454 2005-07-04  Andy Wingo  <wingo@pobox.com>
14455
14456         * check/gst/gstpad.c: Only set explicit caps on pads.
14457
14458 2005-07-01  Andy Wingo  <wingo@pobox.com>
14459
14460         * tests/network-clock.scm: Commentary update.
14461
14462         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14463         Didn't really make sense, not implementable with basetransform,
14464         etc.
14465         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14466         attempt at implementing the sync property, needs an unlock method.
14467
14468         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14469         New func, by default returns the same caps (the identity
14470         transformation).
14471         (gst_base_transform_getcaps): Uses transform_caps to return
14472         something sensible.
14473         (gst_base_transform_setcaps): Complicated logic to get caps on
14474         both pads, even if they are different, and to call set_caps once
14475         for every time both pads get their caps set.
14476         (gst_base_transform_handle_buffer): Give the ref to the transform
14477         function. Allows in-place modification of the buffer.
14478
14479         * gst/base/gstbasetransform.h (transform_caps): New class method.
14480         Given caps on one side, what can I do on the other.
14481         (set_caps): Take two caps, one for each side of the element.
14482
14483         * gst/gstpad.h:
14484         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14485         caps in place. This is safe because we can check the mutability of
14486         the caps, and a good idea because fixate functions are just called
14487         as a matter of last resort. (Not actually implemented.)
14488         (gst_pad_set_caps): If the caps we're setting is actually the same
14489         as the existing pad caps, just update the pointer without calling
14490         setcaps. Assert that caps is either NULL or fixed, as per the
14491         docs.
14492
14493         * gst/gstghostpad.c: Update for fixate changes.
14494
14495 2005-07-02  Andy Wingo  <wingo@pobox.com>
14496
14497         * gst/gstcaps.c:
14498         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14499         two refcounts makes it immutable, which is enough. Doc more.
14500
14501 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14502
14503         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14504           Put the mini_object into GValue as a mini_object,
14505           not a gpointer, since that's how we declared
14506           the signal.
14507
14508 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14509
14510         * examples/pwg/Makefile.am:
14511           Fix buildbot again.
14512
14513 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14514
14515         * docs/pwg/building-testapp.xml:
14516           Add extra check.
14517         * examples/pwg/Makefile.am:
14518           Fix buildbot.
14519
14520 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14521
14522         * configure.ac:
14523         * examples/Makefile.am:
14524         * examples/pwg/Makefile.am:
14525         * examples/pwg/extract.pl:
14526           Enable building the PWG examples.
14527         * docs/pwg/advanced-interfaces.xml:
14528           Add URI interface stub.
14529         * docs/pwg/advanced-types.xml:
14530         * docs/pwg/other-autoplugger.xml:
14531         * docs/pwg/appendix-porting.xml:
14532         * docs/pwg/pwg.xml:
14533           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14534         * docs/pwg/building-boiler.xml:
14535         * docs/pwg/building-chainfn.xml:
14536         * docs/pwg/building-pads.xml:
14537         * docs/pwg/building-props.xml:
14538         * docs/pwg/building-state.xml:
14539         * docs/pwg/building-testapp.xml:
14540           Update the building-*.xml parts for 0.9 changes. All examples
14541           code blocks compile in examples/pwg/*.
14542
14543 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14544
14545         * docs/manual/advanced-autoplugging.xml:
14546         * docs/manual/appendix-checklist.xml:
14547         * docs/manual/appendix-integration.xml:
14548         * docs/manual/highlevel-components.xml:
14549           Fix playbin/decodebin examples, update docs a bit, mention bus
14550           instead of signals in various places, mention kmplayer and
14551           kaffeine since they have a working GStreamer backend in the KDE
14552           section.
14553
14554 2005-06-30  Wim Taymans  <wim@fluendo.com>
14555
14556         * CHANGES-0.9:
14557         * docs/design/draft-ghostpads.txt:
14558         * docs/design/draft-push-pull.txt:
14559         * docs/design/draft-query.txt:
14560         * docs/design/part-TODO.txt:
14561         * docs/design/part-query.txt:
14562         Added CHANGES-0.9 doc, updated status of other docs.
14563         
14564         * gst/gstquery.h:
14565         Remove "hmm" macro
14566
14567 2005-06-30  Wim Taymans  <wim@fluendo.com>
14568
14569         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14570         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14571         (gst_base_sink_change_state):
14572         * gst/base/gstbasesink.h:
14573         Some tweaks, only EOS and a buffer complete a preroll.
14574
14575 2005-06-30  Andy Wingo  <wingo@pobox.com>
14576
14577         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14578         activate_push down to the internal pad as well.
14579
14580 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14581
14582         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14583
14584         * gst/gsttaginterface.c:
14585           Some documentation fixes (#307394 and #307397).
14586
14587 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14588
14589         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14590
14591         * gst/gstvalue.c: (gst_value_intersect_list):
14592           Fix memleak (#309125).
14593
14594 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14595
14596         * docs/manual/advanced-dataaccess.xml:
14597           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14598         * docs/manual/basics-pads.xml:
14599           Add reference for filtered caps to above chapter.
14600
14601 2005-06-30  Wim Taymans  <wim@fluendo.com>
14602
14603         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14604         (gst_bin_change_state):
14605         Probes are gone.
14606         Lame attempt at making the state change function a bit
14607         more readable.
14608
14609 2005-06-30  Wim Taymans  <wim@fluendo.com>
14610
14611         * docs/design/part-clocks.txt:
14612         * docs/design/part-element-sink.txt:
14613         * docs/design/part-events.txt:
14614         * docs/design/part-preroll.txt:
14615         * docs/design/part-states.txt:
14616         Some more tweeks and additions to the docs.
14617
14618 2005-06-30  Wim Taymans  <wim@fluendo.com>
14619
14620         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14621         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14622         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14623         (gst_pad_check_pull_range), (gst_pad_get_range),
14624         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14625         * gst/gstpad.h:
14626         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14627         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14628         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14629         (gst_pad_remove_buffer_probe):
14630         Removed atomic operations, use existing LOCK.
14631         Move exception handling out of main code path.
14632
14633 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14634
14635         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14636         (silly_return_true_function), (gst_pad_class_init),
14637         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14638         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14639         (gst_pad_send_event):
14640           Fix accumulator, add default value by using _emitv() instead
14641           of _emit() for signal emission.
14642
14643 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14644
14645         * docs/manual/advanced-dataaccess.xml:
14646         * examples/manual/Makefile.am:
14647           Add probe example.
14648         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14649           Make work (??).
14650
14651 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14652
14653         * gst/elements/gstfilesink.c: (gst_filesink_render):
14654           Simplify code so that we don't have to handle short
14655           writes and return GST_FLOW_ERROR if an error occured.
14656
14657 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14658
14659         * docs/gst/gstreamer-docs.sgml:
14660           Remove probes more.
14661
14662 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14663
14664         * docs/gst/gstreamer-sections.txt:
14665         * docs/gst/tmpl/gstpad.sgml:
14666         * docs/gst/tmpl/gstprobe.sgml:
14667         * gst/Makefile.am:
14668         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14669         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14670         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14671         (gst_pad_push_event), (gst_pad_send_event):
14672         * gst/gstpad.h:
14673         * gst/gstutils.c: (gst_pad_add_data_probe),
14674         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14675         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14676         (gst_pad_remove_buffer_probe):
14677         * gst/gstutils.h:
14678           Remove old probes, add new g-signal-based probes and some utility
14679           functions.
14680
14681 2005-06-29  Edward Hervey  <edward@fluendo.com>
14682
14683         * gst/gstelementfactory.c:
14684         * gst/gstutils.h:
14685         * gst/gstutils.c:
14686         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14687         the definition to the header file.
14688
14689 2005-06-29  Andy Wingo  <wingo@pobox.com>
14690
14691         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14692         plugins from the source directory.
14693
14694 2005-06-29  Wim Taymans  <wim@fluendo.com>
14695
14696         * docs/gst/tmpl/gstbuffer.sgml:
14697         * docs/gst/tmpl/gstclock.sgml:
14698         Some fixings for blantently wrong text.
14699
14700 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14701
14702         * check/Makefile.am:
14703         * gst/gst.c: (add_path_func), (init_pre):
14704         * gst/gstregistry.c: (gst_registry_add_path):
14705           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14706           only scan the GST_PLUGIN_PATH locations, and not add
14707           system locations
14708
14709 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14710
14711         * docs/gst/gstreamer-sections.txt:
14712         * docs/gst/tmpl/gstbasesrc.sgml:
14713         * gst/gstelement.c:
14714         * gst/gstelement.h:
14715         * gst/gstevent.c:
14716         * gst/gstutils.c:
14717           doc fixes
14718
14719 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14720
14721         * docs/manual/advanced-autoplugging.xml:
14722           Fix autoplugging example.
14723
14724 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14725
14726         * docs/manual/advanced-autoplugging.xml:
14727         * docs/manual/mime-world.fig:
14728           Try to get autoplugging working, fix type detection. Fix text
14729           in hello-world image.
14730
14731 2005-06-29  Wim Taymans  <wim@fluendo.com>
14732
14733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14734         (gst_base_sink_change_state):
14735         Small debug line.
14736
14737         * gst/gstclock.h:
14738         map SIGNAL and BROADCAST to the right function.
14739
14740         * gst/gstobject.h:
14741         Remove redundant braces.
14742
14743         * gst/gstpad.c: (gst_pad_set_caps):
14744         Don't call setcaps function when reseting caps to NULL.
14745
14746         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14747         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14748         (gst_system_clock_id_unschedule):
14749         Use BROADCAST as this is what we do.
14750
14751 2005-06-29  Wim Taymans  <wim@fluendo.com>
14752
14753         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14754         We are actually prerolling before commiting the state
14755         change. 
14756
14757 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14758
14759         * docs/manual/advanced-clocks.xml:
14760         * docs/manual/advanced-interfaces.xml:
14761         * docs/manual/advanced-metadata.xml:
14762         * docs/manual/advanced-position.xml:
14763         * docs/manual/advanced-schedulers.xml:
14764         * docs/manual/advanced-threads.xml:
14765         * docs/manual/appendix-porting.xml:
14766         * docs/manual/basics-bins.xml:
14767         * docs/manual/basics-bus.xml:
14768         * docs/manual/basics-elements.xml:
14769         * docs/manual/basics-helloworld.xml:
14770         * docs/manual/basics-pads.xml:
14771         * docs/manual/highlevel-components.xml:
14772         * docs/manual/manual.xml:
14773         * docs/manual/thread.fig:
14774           Update (until threads/scheduling) Application Development Manual;
14775           remove GstThread, add GstBus, add simple porting checklist, add
14776           documentation for tag writing, clocks, make all examples until this
14777           part compile and run.
14778         * examples/manual/Makefile.am:
14779           Update from changes to Application Development Manual; add bus
14780           example, remove thread example.
14781
14782 2005-06-28  Wim Taymans  <wim@fluendo.com>
14783
14784         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14785         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14786         (gst_bus_source_dispatch):
14787         Add debugging messages.
14788         Make internal methods static.
14789         Handle the case where the bus is flushed in the handler.
14790         
14791         * gst/gstelement.c: (gst_element_get_bus):
14792         Fix refcount in _get_bus();
14793
14794         * gst/gstpipeline.c: (gst_pipeline_change_state),
14795         (gst_pipeline_get_clock_func):
14796         Clock refcounting fixes.
14797         Handle the case where preroll timed out more gracefully.
14798         
14799         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14800         Clean up the internal thread in dispose. This is needed
14801         for subclasses that actually get disposed.
14802         
14803         * gst/schedulers/threadscheduler.c:
14804         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14805         (gst_thread_scheduler_dispose):
14806         Free thread pool in dispose.
14807
14808 2005-06-28  Andy Wingo  <wingo@pobox.com>
14809
14810         * tests/network-clock-utils.scm (debug, print-event): New utils.
14811
14812         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14813         (*packet-loss*): Unified loss probability.
14814         (network-time): Report out-of-band events.
14815
14816         * tests/plot-data: Add support for out-of-band events. Hack it
14817         into this script instead of passing it down the pipe; should fix
14818         this later.
14819
14820 2005-06-28  Wim Taymans  <wim@fluendo.com>
14821
14822         * docs/gst/gstreamer.types:
14823         * docs/gst/tmpl/gstbasesrc.sgml:
14824         * docs/gst/tmpl/gstpad.sgml:
14825         Docs fixes.
14826
14827 2005-06-28  Wim Taymans  <wim@fluendo.com>
14828
14829         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14830         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14831         (gst_proxy_pad_do_fixatecaps):
14832         Correctly proxy the check_pull_range function.
14833
14834 2005-06-28  Andy Wingo  <wingo@pobox.com>
14835
14836         * tests/network-clock.scm: Removed need for slib.
14837         
14838 2005-06-28  Wim Taymans  <wim@fluendo.com>
14839
14840         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14841         (gst_basesink_preroll_queue_flush):
14842         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14843         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14844         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14845         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14846         (gst_proxy_pad_set_property):
14847         * gst/gstpad.c:
14848         * gst/gstpad.h:
14849         * gst/gstqueue.c: (gst_queue_init):
14850         The deprecated pad loop function is removed now.
14851
14852 2005-06-28  Andy Wingo  <wingo@pobox.com>
14853
14854         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14855         New parameters, simulate network packet loss.
14856
14857         * tests/network-clock-utils.scm: Initialize the RNG.
14858
14859 2005-06-28  Wim Taymans  <wim@fluendo.com>
14860
14861         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14862         (gst_basesink_event), (gst_basesink_deactivate):
14863         Flushing the preroll queue always needs to unlock the waiters.
14864
14865 2005-06-28  Edward Hervey  <edward@fluendo.com>
14866
14867         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14868         Wheen a seek was successful on a pipeline, set the stream_time to the
14869         seek offset in order to have a synchronized stream_time.
14870
14871 2005-06-28  Wim Taymans  <wim@fluendo.com>
14872
14873         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14874         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14875         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14876         (gst_proxy_pad_do_fixatecaps):
14877         Call wrapper function instead of just calling the function
14878         pointers. This takes care of any locking and whatmore.
14879
14880 2005-06-28  Wim Taymans  <wim@fluendo.com>
14881
14882         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14883         (gst_pad_pull_range):
14884         * gst/gstpad.h:
14885         CONNECTED -> LINKED.
14886
14887 2005-06-28  Andy Wingo  <wingo@pobox.com>
14888
14889         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14890         source-munging commit!!!
14891
14892         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14893         (gst_object_sink): Take gpointer arguments, not GstObject --
14894         avoids casts. Like GLib.
14895
14896         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14897         activate.
14898
14899 2005-06-27  Andy Wingo  <wingo@pobox.com>
14900
14901         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14902         remaining buffer.
14903
14904         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14905         returns a sorted copy of the trace list.
14906         (gst_alloc_trace_print_live): New API, only prints traces with
14907         live objects. Sort the list.
14908         (gst_alloc_trace_print_all): Sort the list.
14909         (gst_alloc_trace_print): Align columns.
14910
14911         * gst/elements/gstttypefindelement.c:
14912         * gst/elements/gsttee.c:
14913         * gst/base/gstbasesrc.c:
14914         * gst/base/gstbasesink.c:
14915         * gst/base/gstbasetransform.c:
14916         * gst/gstqueue.c: Adapt for pad activation changes.
14917
14918         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14919         sched.
14920         (gst_pipeline_dispose): Drop ref on sched.
14921
14922         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14923         (gst_pad_activate_default): Push mode by default.
14924         (pre_activate_switch, post_activate_switch): New stubs, things to
14925         do before and after switching activation modes on pads.
14926         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14927         the pad's activate function to choose which mode to activate.
14928         Shortcut on deactivation and call the right function directly.
14929         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14930         mode.
14931         (gst_pad_activate_push): New API, same for push mode.
14932         (gst_pad_set_activate_function) 
14933         (gst_pad_set_activatepull_function) 
14934         (gst_pad_set_activatepush_function): Setters for new API.
14935
14936         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14937         Trace all miniobjects.
14938         (gst_mini_object_make_writable): Unref the arg if we copy, like
14939         gst_caps_make_writable.
14940
14941         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14942
14943         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14944         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14945         Adapt for new pad API.
14946
14947         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14948
14949         * gst/gstelement.h:
14950         * gst/gstelement.c (gst_element_iterate_src_pads) 
14951         (gst_element_iterate_sink_pads): New API functions.
14952         
14953         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14954         should fold into gstiterator.c in some form.
14955         (gst_element_pads_activate): Simplified via use of fold and
14956         delegation of decisions to gstpad->activate.
14957
14958         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14959         help in debugging.
14960
14961         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14962         class once in init, like gstmessage. Didn't run into this issue
14963         but it seems correct. Don't initialize a trace, gstminiobject does
14964         that.
14965
14966         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14967         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14968         to the bus.
14969         (assert_live_count): New util function, uses alloc traces to check
14970         cleanup.
14971
14972         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14973         To be modified when unlink drops the internal pad.
14974
14975 2005-06-27  Wim Taymans  <wim@fluendo.com>
14976
14977         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14978         (gst_bin_change_state):
14979         Cleanup the get_state() function a little, make sure it
14980         iterates the same set of elements.
14981         Added stub iterate_state_order().
14982
14983 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14984
14985         * docs/gst/gstreamer-docs.sgml:
14986         * docs/gst/gstreamer-sections.txt:
14987         * docs/gst/gstreamer.types:
14988         * docs/gst/tmpl/gstbasesink.sgml:
14989         * docs/gst/tmpl/gstbasesrc.sgml:
14990         * docs/gst/tmpl/gstbasetransform.sgml:
14991         * docs/gst/tmpl/gstelement.sgml:
14992         * docs/gst/tmpl/gstiterator.sgml:
14993         * gst/base/gstbasesrc.c:
14994         * gst/base/gstbasesrc.h:
14995         * gst/base/gstbasetransform.h:
14996         * gst/gstelement.c:
14997         * gst/gstiterator.h:
14998           adding basetransform and iterator docs
14999
15000 2005-06-27  Andy Wingo  <wingo@pobox.com>
15001
15002         * docs/design/part-activation.txt: Notes on how activation should
15003         work -- not quite implemented yet.
15004
15005 2005-06-25  Wim Taymans  <wim@fluendo.com>
15006
15007         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15008         At least get the chain function correct, needs more
15009         fixing.
15010
15011 2005-06-25  Wim Taymans  <wim@fluendo.com>
15012
15013         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15014         (gst_basesink_handle_object), (gst_basesink_event),
15015         (gst_basesink_do_sync), (gst_basesink_handle_event),
15016         (gst_basesink_change_state):
15017         * gst/gsttask.h:
15018         Right, two problems here: ghostpads don't take locks and
15019         glib _rec_mutex_lock_full() with depth==0 still locks.
15020         Catch illegal locking and g_warn them.
15021
15022 2005-06-25  Wim Taymans  <wim@fluendo.com>
15023
15024         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15025         Have to check for completion now...
15026
15027 2005-06-25  Wim Taymans  <wim@fluendo.com>
15028
15029         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15030         (gst_basesink_handle_object), (gst_basesink_event),
15031         (gst_basesink_do_sync), (gst_basesink_handle_event),
15032         (gst_basesink_change_state):
15033         * gst/gstpad.h:
15034         Unlock STREAM_LOCK whatever the recursion was.
15035
15036 2005-06-25  Wim Taymans  <wim@fluendo.com>
15037
15038         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15039         (gst_basesink_preroll_queue_empty),
15040         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15041         (gst_basesink_event), (gst_basesink_do_sync),
15042         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15043         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15044         (gst_basesink_change_state):
15045         Reworked the base sink, handle event and buffer serialisation
15046         correctly and removed possible deadlock.
15047         Handle EOS correctly.
15048
15049 2005-06-25  Wim Taymans  <wim@fluendo.com>
15050
15051         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15052         (gst_pipeline_change_state):
15053         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15054         Allow elements to post EOS in the state change function.
15055         Fix up -launch, make it exit the poll loop when the
15056         pipeline actually changed state.
15057         Fix up warning parsing in -launch.
15058
15059 2005-06-25  Wim Taymans  <wim@fluendo.com>
15060
15061         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15062         (gst_tee_sink_activate):
15063         Core takes STREAM_LOCK for us now.
15064
15065 2005-06-25  Wim Taymans  <wim@fluendo.com>
15066
15067         * gst/gstelement.c: (gst_element_get_state_func),
15068         (gst_element_set_state):
15069         * gst/gstelement.h:
15070         * gst/gstmessage.c: (gst_message_parse_error),
15071         (gst_message_parse_warning):
15072         Keep track of current target state while performing a state
15073         change so that subclasses can do something interesting.
15074         Fix parsing of warning/error messages when GError is NULL.
15075
15076 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15077
15078         * docs/gst/Makefile.am:
15079         * docs/gst/gstreamer-docs.sgml:
15080         * docs/gst/gstreamer-sections.txt:
15081         * docs/gst/gstreamer.types:
15082         * docs/gst/tmpl/gstbasesink.sgml:
15083         * docs/gst/tmpl/gstbasesrc.sgml:
15084         * docs/gst/tmpl/gstbin.sgml:
15085         * docs/gst/tmpl/gstcompat.sgml:
15086         * docs/gst/tmpl/gstfakesink.sgml:
15087         * docs/gst/tmpl/gstfakesrc.sgml:
15088         * docs/gst/tmpl/gstfilesink.sgml:
15089         * docs/gst/tmpl/gstfilesrc.sgml:
15090         * docs/gst/tmpl/gstindex.sgml:
15091         * docs/manual/appendix-quotes.xml:
15092         * gst/base/gstbasesrc.h:
15093         * gst/elements/gstfakesrc.h:
15094         * gst/gstmessage.h:
15095           start pulling in base classes and elements in our docs
15096
15097 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15098
15099         * docs/gst/Makefile.am:
15100         * docs/libs/Makefile.am:
15101           fixed make distcheck with gtk-doc 1.3
15102
15103 2005-06-23  Wim Taymans  <wim@fluendo.com>
15104
15105         * gst/gstelement.c: (gst_element_get_state_func),
15106         (gst_element_set_state), (gst_element_change_state):
15107         When the state did not change, also report NO_PREROLL
15108         when it matters.
15109
15110 2005-06-23  Wim Taymans  <wim@fluendo.com>
15111
15112         * gst/gstpad.c: (gst_pad_event_default):
15113         * gst/gstqueue.c: (gst_queue_loop):
15114         No unsafe task pausing please.
15115
15116 2005-06-23  Wim Taymans  <wim@fluendo.com>
15117
15118         * gst/schedulers/threadscheduler.c:
15119         (gst_thread_scheduler_task_start),
15120         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15121         Ref the task before pushing it on the threadpool. This
15122         makes sure that we have a ref when the threadfunction is
15123         actually called.
15124
15125 2005-06-23  Andy Wingo  <wingo@pobox.com>
15126
15127         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15128         offset is greater than the file's size.
15129
15130         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15131         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15132         * gst/gstobject.c (gst_object_class_init): Make the class lock
15133         recursive. Wim won't let me drop deep_notify. Decodebin works
15134         again, whoopdy doo.
15135
15136         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15137         internal pad, and hacks accordingly. Doesn't do it on the target
15138         pad because we change its caps. Probably catches all cases of
15139         interest tho.
15140         (gst_ghost_pad_set_property): Connect to notify::caps as
15141         appropritate.
15142
15143         * tests/network-clock.scm (plot-simulation): Pipe data to the
15144         elite python skript.
15145
15146         * tests/network-clock-utils.scm (define-parameter): New macro,
15147         defines a parameter that can be set via the command line.
15148         (set-parameter!, parse-parameter-arguments): Command line args
15149         parser.
15150
15151         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15152         stdin.
15153
15154 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15155
15156         * gst/elements/gsttypefindelement.c:
15157         (gst_type_find_element_handle_event):
15158           Don't restart typefinding on a discont.
15159         * gst/gstelement.c: (gst_element_set_state):
15160           Debug spelling fix.
15161         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15162           Allow changing mode of an active pad.
15163           Debug output fixes.
15164         * gst/registries/gstlibxmlregistry.c: (load_feature):
15165           Don't cast a static pad template to a normal pad template.
15166
15167 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15168
15169         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15170         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15171           remove gst_strtoll completely, since it didn't actually do
15172           anything more than what g_ascii_strtoull already does.
15173           check for range errors when deserializing
15174           do a cast for the unsigned cases; but further fixing needs
15175           a decision on what the interpretation of "(int)" and
15176           deserialization should be for values that fall outside the
15177           type's boundaries (ie, refuse, or interpret as casting)
15178
15179 2005-06-23  Wim Taymans  <wim@fluendo.com>
15180
15181         * check/Makefile.am:
15182         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15183         * docs/design/part-live-source.txt:
15184         * docs/design/part-states.txt:
15185         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15186         (gst_basesrc_set_live), (gst_basesrc_is_live),
15187         (gst_basesrc_get_range), (gst_basesrc_activate),
15188         (gst_basesrc_change_state):
15189         * gst/base/gstbasesrc.h:
15190         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15191         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15192         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15193         * gst/gstelement.c: (gst_element_get_state_func),
15194         (gst_element_set_state):
15195         * gst/gstelement.h:
15196         * gst/gsttypes.h:
15197         * tools/gst-launch.c: (event_loop), (main):
15198         Added support for live sources and other elements that
15199         cannot do preroll.
15200         Updated design docs, added live-source design doc.
15201         Implemented live source functionality in basesrc
15202         Fix error condition in _bin_get_state()
15203         Implement live source handling in -launch.
15204         Added check for live sources.
15205         Fixed case in GstBin where elements were changed state
15206         multiple times.
15207
15208
15209 2005-06-23  Andy Wingo  <wingo@pobox.com>
15210
15211         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15212         borken refcounting.
15213
15214         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15215         gst_caps_replace takes care of this for us.
15216
15217         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15218         gst_pad_set_caps on the target, not just its setcaps() function.
15219
15220         * tests/network-clock.scm: 
15221         * tests/network-clock-utils.scm: A network clock simulator.
15222         Something of an algorithmic testbed before doing something in C.
15223
15224 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15225
15226         * check/Makefile.am:
15227         * check/gst/capslist.h:
15228           copy over from 0.8, and add two with bitmasks specified with
15229           (int) 0xFF...
15230         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15231           add test to parse everything from capslist.h
15232         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15233         (main):
15234           add test for structure deserialization
15235         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15236           add tests for deserialization of strings to int types
15237         * gst/gststructure.c: (gst_structure_nth_field_name):
15238         * gst/gststructure.h:
15239           add a way to get the name of a field referenced by index
15240         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15241           instead of checking if the resulting long long lies between
15242           min and max, we check if the long long would fit into
15243           a number of bytes for the final type.
15244           This fixes cases where a string represents 2^32 - 1, which
15245           when cast to int would be the (valid) -1, but is bigger than
15246           G_MAXINT
15247
15248 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15249
15250         * gst/parse/grammar.y:
15251           add a log line for type deserialization
15252
15253 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15254
15255         * check/gst/gstvalue.c: (START_TEST):
15256         * gst/gstvalue.c: (gst_value_deserialize):
15257           return long long, not int, so gint64 deserialization actually
15258           works.  Is there any flag that makes the compiler check this ?
15259           Fixes #308559
15260
15261 2005-06-22  Wim Taymans  <wim@fluendo.com>
15262
15263         * gst/gstbuffer.h:
15264         Added convenience macros for setting buffers in GValue.
15265
15266 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15267
15268         * check/gst/.cvsignore:
15269         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15270           add a test deserializing int64, and comment part out because
15271           it fails, yay !
15272
15273 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15274
15275         * check/Makefile.am:
15276         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15277         * testsuite/Makefile.am:
15278         * testsuite/caps/Makefile.am:
15279         * testsuite/caps/value_serialize.c:
15280         * testsuite/test_gst_init.c:
15281           move a value_serialize test over
15282
15283 2005-06-20  Wim Taymans  <wim@fluendo.com>
15284
15285         * gst/gstpad.c:
15286         Small doc updates.
15287         
15288         * gst/gstvalue.c: (gst_value_compare_buffer),
15289         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15290         (gst_value_compare_flags), (gst_value_serialize_flags),
15291         (gst_value_deserialize_flags), (_gst_value_initialize):
15292         Fix serialisation of buffers, they are not boxed types anymore
15293
15294 2005-06-20  Wim Taymans  <wim@fluendo.com>
15295
15296         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15297         Testcase to show error in buffer-on-caps serialisation.
15298
15299 2005-06-20  Andy Wingo  <wingo@pobox.com>
15300
15301         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15302         will be adding to later.
15303
15304         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15305         if its socks fill with rocks.
15306         (gst_system_clock_obtain): Set the name on object construction.
15307         Avoid double-checked locking.
15308
15309 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15310
15311         * gst/gsturi.c: (gst_element_make_from_uri):
15312           Fix potential endless loop.
15313
15314 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15315
15316         * check/Makefile.am:
15317           add gsttag
15318         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15319         (main):
15320           move over from testsuite dir and clean up
15321         * configure.ac:
15322         * gst/gsttag.c:
15323         * testsuite/Makefile.am:
15324         * testsuite/tags/.cvsignore:
15325         * testsuite/tags/Makefile.am:
15326         * testsuite/tags/merge.c:
15327           remove testsuite/tags
15328
15329 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15330
15331         * docs/gst/gstreamer-sections.txt:
15332         * docs/gst/tmpl/gstenumtypes.sgml:
15333         * win32/gstenumtypes.c:
15334           clean up documentation build a little
15335
15336 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15337
15338         * check/gstcheck.h:
15339           add macros for checking refcounts on objects and caps
15340         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15341           add some more unit tests
15342         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15343         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15344           fix leaked refcounts (I hope :)) so unittest works
15345         * gst/gstpad.h:
15346           whitespace removal
15347
15348 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15349
15350         * configure.ac: back to HEAD
15351
15352 === release 0.9.1 ===
15353
15354 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15355
15356         * NEWS:
15357         * RELEASE:
15358           updated
15359
15360 2005-06-17  Andy Wingo  <wingo@pobox.com>
15361
15362         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15363         assert; it's always possible that the pad gets deactivated in
15364         between the checks in gstpad.c and the implementation. Rely on
15365         finish_preroll() to return a FLUSHING or similar instead of on the
15366         assert.
15367         
15368         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15369         clock and post an EOS message if we come out of finish_preroll in
15370         the playing state.
15371
15372 2005-06-16  David Schleef  <ds@schleef.org>
15373
15374         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15375         (gst_capsfilter_set_property): Allow NULL as possible value
15376         for filter_caps property, indicating GST_CAPS_ANY.
15377
15378 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15379
15380         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15381           fix debug output
15382         * gst/schedulers/Makefile.am:
15383           use libgst prefix
15384         * gstreamer.spec.in:
15385           fix spec for it
15386
15387 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15388
15389         * gstreamer.spec.in:
15390           clean up
15391
15392 2005-06-08  Andy Wingo  <wingo@pobox.com>
15393
15394         * gst/gstutils.c: RPAD fixes all around.
15395         (gst_element_link_pads): Refcounting fixes.
15396
15397         * tools/gst-inspect.c:
15398         * tools/gst-xmlinspect.c:
15399         * parse/grammar.y:
15400         * gst/base/gsttypefindhelper.c:
15401         * gst/base/gstbasesink.c:
15402         * gst/gstqueue.c: RPAD fixes.
15403
15404         * gst/gstghostpad.h:
15405         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15406         pads. The tricky thing is they provide both source and sink
15407         interfaces, since they proxy the internal pad for the external
15408         pad, and vice versa. Implement with lower-level ProxyPad objects,
15409         with the interior proxy pad as a child of the exterior ghost pad.
15410         Should write a doc on this.
15411         
15412         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15413         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15414         gst_object API.
15415         
15416         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15417         pads are real pads. No ghost pads in this file. Not documenting
15418         the myriad s/RPAD/PAD/ and REALIZE fixes.
15419         (gst_pad_class_init): Add properties for "direction" and
15420         "template". Both are construct-only, so they can't change during
15421         the life of the pad. Fixes properly deriving from GstPad.
15422         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15423         derived objects, just set properties when creating the objects via
15424         g_object_new.
15425         (gst_pad_get_parent): Implement as a function, return NULL if the
15426         parent is not an element.
15427         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15428         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15429         
15430         * gst/gstobject.c (gst_object_class_init): Make name a construct
15431         property. Don't set it in the object init.
15432
15433         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15434         with UNKNOWN direction.
15435         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15436         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15437         (gst_element_remove_pad): Remove ghost-pad special cases.
15438         (gst_element_pads_activate): Remove rpad cruft.
15439
15440         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15441         catch the pad's-parent-not-an-element case.
15442
15443         * gst/gst.h: Include gstghostpad.h.
15444
15445         * gst/gst.c (init_post): No more real, ghost pads.
15446
15447         * gst/Makefile.am: Add gstghostpad.[ch].
15448
15449         * check/Makefile.am:
15450         * check/gst/gstbin.c:
15451         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15452         into a bin creates ghost pads, and that the refcounts are right.
15453         Partly moved from gstbin.c.
15454
15455 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15456
15457         * check/gst-libs/.cvsignore:
15458         * check/gst/.cvsignore:
15459         * check/pipelines/.cvsignore:
15460           ignore more
15461         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15462         (START_TEST), (cleanup_suite), (main):
15463           add some tests related to cleanup after running pipelines
15464
15465 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15466
15467         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15468           add a testsuite for GstBuffer
15469
15470 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15471
15472         * gst/gstminiobject.h:
15473           add defines for accessing the refcount
15474
15475 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15476
15477         * Makefile.am: added support for html unit test coverage reports
15478
15479 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15480
15481         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15482           Free existing caps if the capsfilter changes. Add a FIXME about
15483           setting those caps on the pads.
15484
15485         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15486           Before adding a ghost pad to a parent bin, check that there isn't
15487           already one for the element on the bin. Prevents infinite recursion
15488           when using decodebin in parse pipelines. Andy says he'll rewrite the
15489           way this works anyway, so ignore the hack.
15490
15491 2005-06-02  Andy Wingo  <wingo@pobox.com>
15492
15493         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15494         file size, pass it on to the type find helper.
15495
15496         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15497         segment_start and segment_end properly according to the seek
15498         method. Segment_end is still a bit flaky because offset can be
15499         negative for CUR and END cases, but it takes -1 as an "unset"
15500         value.
15501
15502 2005-06-02  Wim Taymans  <wim@fluendo.com>
15503
15504         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15505         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15506         (gst_basesink_activate):
15507         * gst/base/gstbasesink.h:
15508         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15509         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15510         (gst_pad_query), (gst_pad_start_task):
15511         * gst/gstpad.h:
15512         * gst/gstqueue.c: (gst_queue_bufferalloc),
15513         (gst_queue_handle_sink_event), (gst_queue_chain):
15514         Bufferalloc: return GstFlowReturn to more accuratly report
15515         why allocation failed.
15516
15517 2005-06-02  Wim Taymans  <wim@fluendo.com>
15518
15519         * gst/gstpipeline.c: (gst_pipeline_send_event):
15520         Take snapshot of state without blocking.
15521
15522 2005-06-02  Wim Taymans  <wim@fluendo.com>
15523
15524         * docs/design/part-TODO.txt:
15525         * docs/design/part-caps.txt:
15526         * docs/design/part-clocks.txt:
15527         * docs/design/part-negotiation.txt:
15528         * docs/design/part-preroll.txt:
15529         Small doc updates 
15530
15531 2005-05-30  Wim Taymans  <wim@fluendo.com>
15532
15533         * gst/elements/gstidentity.c: (gst_identity_event),
15534         (gst_identity_transform), (gst_identity_get_property):
15535         Protect last_message property as it is accessed from
15536         multiple threads.
15537
15538 2005-05-30  Wim Taymans  <wim@fluendo.com>
15539
15540         * gst/gstelement.c: (gst_element_init),
15541         (gst_element_pads_activate), (gst_element_change_state):
15542         Slicker pad activation code.
15543
15544 2005-05-30  Wim Taymans  <wim@fluendo.com>
15545
15546         * gst/Makefile.am:
15547         * gst/gstelement.h:
15548         * gst/gstelementfactory.h:
15549         * gst/gsttypes.h:
15550         Move elementfactory methods to separate .h file.
15551
15552 2005-05-30  Wim Taymans  <wim@fluendo.com>
15553
15554         * docs/design/part-overview.txt:
15555         * gst/gstsystemclock.h:
15556         Small typo fixes, doc updates.
15557
15558 2005-05-30  Wim Taymans  <wim@fluendo.com>
15559
15560         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15561         (init_popt_callback):
15562         Remove cpu-opt flag.
15563
15564 2005-05-30  Wim Taymans  <wim@fluendo.com>
15565
15566         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15567         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15568         * gst/gstbuffer.h:
15569         Avoid typechecking in places where not needed.
15570         Added accessor for malloc_data.
15571
15572 2005-05-30  Wim Taymans  <wim@fluendo.com>
15573
15574         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15575         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15576         (gst_pad_configure_sink), (gst_pad_configure_src),
15577         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15578         (gst_pad_start_task):
15579         Propagate errors from _set_caps() in configure_src/sink
15580         functions instead of returning TRUE.
15581         FLUSH events can travel up and downstream
15582
15583
15584 2005-05-30  Wim Taymans  <wim@fluendo.com>
15585
15586         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15587         (gst_basesink_activate):
15588         Handle EOS in preroll.
15589
15590 2005-05-30  Wim Taymans  <wim@fluendo.com>
15591
15592         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15593         (gst_queue_loop), (gst_queue_handle_src_event):
15594         Remove old pieces of code
15595         Flushing the queue in an upstream event is a very bad idea.
15596
15597 2005-05-26  Andy Wingo  <wingo@pobox.com>
15598
15599         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15600         gst_value_set_mini_object so as to add a ref on the object (which
15601         will be removed when the value is unset).
15602
15603         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15604         arg type in ::handoff.
15605
15606         * gst/gstelement.c (gst_element_change_state): Also deactivate
15607         pads in READY->NULL, just in case the element didn't make it to
15608         PAUSED. Wingo tested, Wim approved.
15609
15610 2005-05-26  Wim Taymans  <wim@fluendo.com>
15611
15612         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15613         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15614         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15615         A flushing pad cannot be used to alloc_buffer from.
15616
15617 2005-05-26  Wim Taymans  <wim@fluendo.com>
15618
15619         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15620         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15621         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15622         (gst_bus_create_watch), (gst_bus_add_watch_full):
15623         * gst/gstbus.h:
15624         Implement a real GSource and use g_main_context_wakeup() to
15625         signal new messages instead of the socketpair.
15626
15627 2005-05-25  Wim Taymans  <wim@fluendo.com>
15628
15629         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15630         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15631         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15632         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15633         (gst_pad_send_event), (gst_pad_start_task):
15634         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15635         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15636         (gst_queue_sink_activate), (gst_queue_src_activate),
15637         (gst_queue_change_state):
15638         * gst/gstqueue.h:
15639         Fix state changes for non sinks. We now change sinks, then elements
15640         with unconnected srcpads, then the rest.
15641         More efficient queue unlocking in flush and state changes.
15642         Set the pad activate mode even if it does not have an activate
15643         function.
15644
15645 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15646
15647         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15648           Don't go in pull mode for non-seekable sources.
15649         * gst/elements/gsttypefindelement.h:
15650         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15651         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15652         (free_entry), (stop_typefinding),
15653         (gst_type_find_element_handle_event), (find_peek),
15654         (gst_type_find_element_chain), (do_pull_typefind),
15655         (gst_type_find_element_change_state):
15656           Allow typefinding (w/o seeking) in push-mode, simplified version
15657           of what was in 0.8.
15658         * gst/gstutils.c: (gst_buffer_join):
15659         * gst/gstutils.h:
15660           gst_buffer_join() from 0.8.
15661
15662 2005-05-25  Wim Taymans  <wim@fluendo.com>
15663
15664         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15665         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15666         (gst_pad_send_event), (gst_pad_start_task):
15667         Disable attempt at mode switching until it is figured out.
15668
15669 2005-05-25  Wim Taymans  <wim@fluendo.com>
15670
15671         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15672         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15673         (gst_basesink_finish_preroll), (gst_basesink_chain),
15674         (gst_basesink_loop), (gst_basesink_activate),
15675         (gst_basesink_change_state):
15676         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15677         (gst_basesrc_get_range), (gst_basesrc_loop),
15678         (gst_basesrc_activate):
15679         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15680         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15681         (gst_real_pad_init), (gst_real_pad_set_property),
15682         (gst_real_pad_get_property), (gst_pad_set_active),
15683         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15684         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15685         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15686         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15687         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15688         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15689         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15690         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15691         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15692         (gst_pad_stop_task):
15693         * gst/gstpad.h:
15694         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15695         (gst_queue_loop), (gst_queue_src_activate):
15696         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15697         (gst_task_get_state):
15698         * gst/gsttask.h:
15699         * gst/schedulers/threadscheduler.c:
15700         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15701         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15702         in task function.
15703         Remove ACTIVE pad flag, use FLUSHING everywhere
15704         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15705         functions.
15706         Add locks around IS_FLUSHING when reading.
15707         Take STREAM lock in chain(), get_range() functions so plugins
15708         don't need to take it anymore.
15709         
15710
15711
15712 2005-05-25  Wim Taymans  <wim@fluendo.com>
15713
15714         * tools/gst-launch.c: (event_loop):
15715         Unref message after using its contents instead of
15716         before.
15717
15718 2005-05-24  Wim Taymans  <wim@fluendo.com>
15719
15720         * docs/design/draft-ghostpads.txt:
15721         * docs/design/draft-push-pull.txt:
15722         * docs/design/draft-query.txt:
15723         * docs/design/part-overview.txt:
15724         Docs updates, added general overview doc.
15725
15726 2005-05-21  David Schleef  <ds@schleef.org>
15727
15728         * docs/gst/tmpl/old/GstBin.sgml:
15729         * docs/gst/tmpl/old/GstBuffer.sgml:
15730         * docs/gst/tmpl/old/GstCaps.sgml:
15731         * docs/gst/tmpl/old/GstClock.sgml:
15732         * docs/gst/tmpl/old/GstCompat.sgml:
15733         * docs/gst/tmpl/old/GstData.sgml:
15734         * docs/gst/tmpl/old/GstElement.sgml:
15735         * docs/gst/tmpl/old/GstEvent.sgml:
15736         * docs/gst/tmpl/old/GstIndex.sgml:
15737         * docs/gst/tmpl/old/GstStructure.sgml:
15738         * docs/gst/tmpl/old/GstTag.sgml:
15739         * docs/gst/tmpl/old/cothreads.sgml:
15740         * docs/gst/tmpl/old/cothreads_compat.sgml:
15741         * docs/gst/tmpl/old/gettext.sgml:
15742         * docs/gst/tmpl/old/gobject2gtk.sgml:
15743         * docs/gst/tmpl/old/grammar.tab.sgml:
15744         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15745         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15746         * docs/gst/tmpl/old/gst_private.sgml:
15747         * docs/gst/tmpl/old/gstaggregator.sgml:
15748         * docs/gst/tmpl/old/gstarch.sgml:
15749         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15750         * docs/gst/tmpl/old/gstbufferstore.sgml:
15751         * docs/gst/tmpl/old/gstdata_private.sgml:
15752         * docs/gst/tmpl/old/gstdisksink.sgml:
15753         * docs/gst/tmpl/old/gstdisksrc.sgml:
15754         * docs/gst/tmpl/old/gstelementfactory.sgml:
15755         * docs/gst/tmpl/old/gstextratypes.sgml:
15756         * docs/gst/tmpl/old/gstfakesink.sgml:
15757         * docs/gst/tmpl/old/gstfakesrc.sgml:
15758         * docs/gst/tmpl/old/gstfdsink.sgml:
15759         * docs/gst/tmpl/old/gstfdsrc.sgml:
15760         * docs/gst/tmpl/old/gstfilesink.sgml:
15761         * docs/gst/tmpl/old/gstfilesrc.sgml:
15762         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15763         * docs/gst/tmpl/old/gstidentity.sgml:
15764         * docs/gst/tmpl/old/gstindexfactory.sgml:
15765         * docs/gst/tmpl/old/gstmarshal.sgml:
15766         * docs/gst/tmpl/old/gstmd5sink.sgml:
15767         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15768         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15769         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15770         * docs/gst/tmpl/old/gstpipefilter.sgml:
15771         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15772         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15773         * docs/gst/tmpl/old/gstshaper.sgml:
15774         * docs/gst/tmpl/old/gstspider.sgml:
15775         * docs/gst/tmpl/old/gstspideridentity.sgml:
15776         * docs/gst/tmpl/old/gststatistics.sgml:
15777         * docs/gst/tmpl/old/gsttee.sgml:
15778         * docs/gst/tmpl/old/gsttimecache.sgml:
15779         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15780         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15781         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15782         * docs/gst/tmpl/old/types.sgml:
15783           I didn't intend to add these or check them in.
15784
15785 2005-05-19  David Schleef  <ds@schleef.org>
15786
15787         * configure.ac: Use -no-common everywhere.  In a sane world, it
15788           would be the default in libtool, because without it, you can't
15789           build DLLs on Windows.
15790         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15791         * docs/gst/gstreamer-sections.txt:
15792         * docs/gst/tmpl/gstcpu.sgml:
15793         * docs/gst/tmpl/gstdata.sgml:
15794         * docs/gst/tmpl/gstthread.sgml:
15795
15796 2005-05-19  David Schleef  <ds@schleef.org>
15797
15798         * gst/gstminiobject.c: (gst_value_set_mini_object),
15799         (gst_value_take_mini_object), (gst_value_get_mini_object):
15800         * gst/gstminiobject.h: Add GValue set/get functions.
15801
15802 2005-05-19  Wim Taymans  <wim@fluendo.com>
15803
15804         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15805         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15806         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15807         * gst/gstbuffer.h:
15808         * gst/gstbus.c: (gst_bus_post):
15809         * gst/gstelement.c: (gst_element_get_random_pad):
15810         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15811         Make subbufer unref the parent in finalize.
15812         some more debugging info.
15813
15814
15815 2005-05-19  Wim Taymans  <wim@fluendo.com>
15816
15817         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15818         (gst_basesink_init), (gst_basesink_finalize),
15819         (gst_basesink_activate), (gst_basesink_change_state):
15820         Don't free preroll queue too early.
15821
15822 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15823
15824         * gst/Makefile.am:
15825         * gst/ROADMAP:
15826           Hi, I'm outdated. Please shoot me.
15827
15828 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15829
15830         * gst/gstpipeline.c: (gst_pipeline_send_event):
15831           Do not access variables after they have been deleted.
15832
15833 2005-05-19  Wim Taymans  <wim@fluendo.com>
15834
15835         * tools/gst-inspect.c: (print_plugin_features):
15836         A plugin feature does unfortunatly not use the
15837         object name yet...
15838
15839 2005-05-18  Wim Taymans  <wim@fluendo.com>
15840
15841         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15842         Port _span() functions to new subbuffers.
15843
15844 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15845
15846         * gst/gstbin.c: (gst_bin_add_func):
15847           Fix clock settery in bins when adding kids after the clock has
15848           been selected.
15849
15850 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15851
15852         * gst/elements/gstidentity.c: (gst_identity_class_init):
15853           Workaround until signals support GstMiniObject.
15854
15855 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15856
15857         * gst/gstbuffer.c:
15858         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15859
15860 2005-05-18  Wim Taymans  <wim@fluendo.com>
15861
15862         * gst/base/Makefile.am:
15863         * gst/base/gstadapter.c: (gst_adapter_base_init),
15864         (gst_adapter_class_init), (gst_adapter_init),
15865         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15866         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15867         (gst_adapter_flush), (gst_adapter_available),
15868         (gst_adapter_available_fast):
15869         * gst/base/gstadapter.h:
15870         Ported and added adapter to the base classes.
15871
15872 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15873
15874         * gst/gst.c:
15875         * gst/gstmessage.c:
15876           Make sure the class is reffed/unreffed once before threads can be
15877           used.  Fixes #304551.
15878
15879 2005-05-17  Wim Taymans  <wim@fluendo.com>
15880
15881         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15882         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15883         * gst/gstminiobject.c: (gst_mini_object_get_type),
15884         (gst_mini_object_free):
15885         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15886         (gst_pad_push), (gst_pad_push_event):
15887         * gst/gstqueue.c: (gst_queue_change_state):
15888         Don't queue buffers in basesink when we are flushing.
15889         Unref buffer when flushing in basesink.
15890         Flush queue when going to READY
15891         Unref buffer when _push() returns an error.
15892         Don't free MiniObject instance when refcount is incremented
15893         in _finalize() so that we can recover objects.
15894
15895 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15896
15897         * docs/manual/advanced-schedulers.xml:
15898         * docs/manual/appendix-checklist.xml:
15899         * docs/pwg/advanced-clock.xml:
15900         * docs/pwg/advanced-interfaces.xml:
15901         * docs/pwg/advanced-request.xml:
15902         * docs/pwg/advanced-types.xml:
15903         * docs/pwg/intro-preface.xml:
15904         * examples/plugins/example.c: (gst_example_get_type),
15905         (gst_example_class_init), (gst_example_chain),
15906         (gst_example_set_property), (gst_example_get_property),
15907         (gst_example_change_state), (plugin_init):
15908         * examples/plugins/example.h:
15909           small doc fixes
15910
15911 2005-05-17  Wim Taymans  <wim@fluendo.com>
15912
15913         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15914         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15915         * gst/gstqueue.c: (gst_queue_change_state):
15916         Clear queue when going to READY.
15917         Remove IN_SETCAPS flag too.
15918
15919 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15920
15921         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15922           Remove implicit cast from gboolean to GstElementStateReturn;
15923           make sure we still return failure in paused => ready case if
15924           the parent class fails to change state and our own stop 
15925           vfunc succeeds.
15926
15927 2005-05-17  Wim Taymans  <wim@fluendo.com>
15928
15929         * tools/gst-launch.c: (event_loop):
15930         Message was unreffed too soon.
15931
15932 2005-05-16  Andy Wingo  <wingo@pobox.com>
15933
15934         * gst/gstbin.c (sink_iterator_filter): Err... um...
15935
15936         * check/gst/gstbin.c (test_ghost_pads): New test for the
15937         ghosting-if-elements-not-in-same-bin behavior.
15938
15939 2005-05-16  David Schleef  <ds@schleef.org>
15940
15941         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15942         accessing refcount directly.
15943
15944 2005-05-15  David Schleef  <ds@schleef.org>
15945
15946         * check/Makefile.am: remove GstData checks
15947         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15948         * gst/Makefile.am: add miniobject, remove data
15949         * gst/gst.h: add miniobject, remove data
15950         * gst/gstdata.c: remove
15951         * gst/gstdata.h: remove
15952         * gst/gstdata_private.h: remove
15953         * gst/gsttypes.h: remove GstEvent and GstMessage
15954         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15955         * gst/gstmarshal.list: change BOXED -> OBJECT
15956
15957         Implement GstMiniObject.
15958         * gst/gstminiobject.c:
15959         * gst/gstminiobject.h:
15960
15961         Modify to be subclasses of GstMiniObject.
15962         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15963         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15964         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15965         (gst_subbuffer_get_type), (gst_subbuffer_init),
15966         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15967         (gst_buffer_span):
15968         * gst/gstbuffer.h:
15969         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15970         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15971         (_gst_event_copy), (gst_event_new):
15972         * gst/gstevent.h:
15973         * gst/gstmessage.c: (_gst_message_initialize),
15974         (gst_message_get_type), (gst_message_class_init),
15975         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15976         (gst_message_new), (gst_message_new_error),
15977         (gst_message_new_warning), (gst_message_new_tag),
15978         (gst_message_new_state_changed), (gst_message_new_application):
15979         * gst/gstmessage.h:
15980         * gst/gstprobe.c: (gst_probe_perform),
15981         (gst_probe_dispatcher_dispatch):
15982         * gst/gstprobe.h:
15983         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15984         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15985         (_gst_query_copy), (gst_query_new):
15986
15987         Update elements for GstData -> GstMiniObject changes
15988         * gst/gstquery.h:
15989         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15990         (gst_queue_chain), (gst_queue_loop):
15991         * gst/elements/gstbufferstore.c:
15992         (gst_buffer_store_add_buffer_func),
15993         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15994         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15995         (gst_fakesink_render):
15996         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15997         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15998         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15999         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16000         (gst_filesrc_create_read):
16001         * gst/elements/gstidentity.c: (gst_identity_class_init):
16002         * gst/elements/gsttypefindelement.c:
16003         (gst_type_find_element_src_event), (free_entry_buffers),
16004         (gst_type_find_element_handle_event):
16005         * libs/gst/dataprotocol/dataprotocol.c:
16006         (gst_dp_header_from_buffer):
16007         * libs/gst/dataprotocol/dataprotocol.h:
16008         * libs/gst/dataprotocol/dp-private.h:
16009
16010 2005-05-15  David Schleef  <ds@schleef.org>
16011
16012         * gst/elements/gstelements.c: Don't include headers that were
16013         just removed.
16014
16015 2005-05-15  David Schleef  <ds@schleef.org>
16016
16017         * gst/elements/Makefile.am: Remove some elements that don't
16018         need to be in the core (or even exist at all).
16019         * gst/elements/gstaggregator.c:
16020         * gst/elements/gstaggregator.h:
16021         * gst/elements/gstmd5sink.c:
16022         * gst/elements/gstmd5sink.h:
16023         * gst/elements/gstmultifilesrc.c:
16024         * gst/elements/gstmultifilesrc.h:
16025         * gst/elements/gstpipefilter.c:
16026         * gst/elements/gstpipefilter.h:
16027         * gst/elements/gstshaper.c:
16028         * gst/elements/gstshaper.h:
16029         * gst/elements/gststatistics.c:
16030         * gst/elements/gststatistics.h:
16031         * po/POTFILES.in: Remove above files.
16032
16033 2005-05-14  Andy Wingo  <wingo@pobox.com>
16034
16035         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16036         so as to get the refs right.
16037         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16038         unreffing objects that don't pass the filter.
16039
16040         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16041         gst_element_set_bus.
16042         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16043         normal cases, this will destroy the bus.
16044
16045         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16046         object.
16047
16048         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16049         has no sinks.
16050
16051 2005-05-13  Andy Wingo  <wingo@pobox.com>
16052
16053         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16054         gst_pad_link, call pad_link_maybe_ghosting,
16055         (pad_link_maybe_ghosting): Links pads, making sure that the
16056         elements being linked are in the same bin.
16057         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16058         Helpers for pad_link_maybe_ghosting.
16059
16060 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16061
16062         * configure.ac:
16063           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16064
16065 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16066
16067         * docs/design/part-element-source.txt:
16068           Mention GstPushSrc
16069
16070 2005-05-12  Wim Taymans  <wim@fluendo.com>
16071
16072         * gst/base/gstbasesink.c: (gst_basesink_init),
16073         (gst_basesink_activate):
16074         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16075         (gst_basesrc_is_seekable):
16076         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16077         (bin_element_is_sink), (gst_bin_change_state):
16078         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16079         * gst/gstelement.h:
16080         Identify sinks by their flag to avoid overly complicated
16081         checks (fow now).
16082         Do state changes even for elements not reachable from the
16083         sinks.
16084         BaseSink is a sink now :)
16085         Some more debugging info in the basesrc.
16086
16087
16088 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16089
16090         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16091           Implement _query on a bin, similar to _send_event.
16092
16093 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16094
16095         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16096           Discont event offset format should be GST_FORMAT_BYTES,
16097           not GST_FORMAT_TIME.
16098
16099 2005-05-12  Wim Taymans  <wim@fluendo.com>
16100
16101         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16102         Same fix as Ronald's but without the signal. 
16103
16104 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16105
16106         * gst/gstutils.c: (gst_element_query_position):
16107           No, an element is not a pad.
16108
16109 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16110
16111         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16112         (gst_bin_get_state):
16113           If a child is removed from a bin while we remove the child from
16114           the bin and while we're retrieving its state, signal this to the
16115           get_state function so we abort the wait (instead of waiting for
16116           a timeout) and can immediately re-iterate over all other elements.
16117
16118 2005-05-12  Wim Taymans  <wim@fluendo.com>
16119
16120         * gst/base/Makefile.am:
16121         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16122         (gst_basesrc_start):
16123         * gst/base/gstbasesrc.h:
16124         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16125         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16126         (gst_pushsrc_init), (gst_pushsrc_create):
16127         * gst/base/gstpushsrc.h:
16128         Added is_seekable to BaseSrc
16129         Added simple PushSrc.
16130
16131 2005-05-11  Wim Taymans  <wim@fluendo.com>
16132
16133         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16134         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16135         (gst_element_link_pads), (gst_element_query_position),
16136         (gst_element_query_convert), (intersect_caps_func),
16137         (gst_pad_query_position), (gst_pad_query_convert):
16138         Fix refcounting in utils function.
16139         No point in trying to activate a pad when it's added, it could
16140         be added from the state change function and then we deadlock, the
16141         element has to decide what to do.
16142
16143 2005-05-10  Andy Wingo  <wingo@pobox.com>
16144
16145         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16146         *all* the arguments.
16147
16148         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16149         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16150         lock (according to the docs -- if this is wrong change the docs).
16151
16152         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16153         flush messages in the NULL state.
16154
16155         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16156         message immediately and return.
16157         (gst_bus_set_flushing): New function. If a bus is flushing, it
16158         flushes out any queued messages and immediately unrefs new
16159         messages. This is so when an element goes to NULL, all of the
16160         unhandled messages coming from it can be freed, and their
16161         references to the element dropped. In other words: message source
16162         ref considered harmful :P
16163
16164         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16165         we're finished with it.
16166
16167         * gst/gstmessage.c (gst_message_new_state_changed): 
16168
16169 2005-05-10  Wim Taymans  <wim@fluendo.com>
16170
16171         * gst/gstvalue.c: (gst_value_compare_flags),
16172         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16173         (_gst_value_initialize):
16174         Added flags serialize/deserialize/compare code.
16175
16176 2005-05-09  Andy Wingo  <wingo@pobox.com>
16177
16178         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16179         Intersect the peer's caps with our caps.
16180
16181 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16182
16183         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16184         * gst/elements/gsttypefindelement.c: (find_peek):
16185           Handle negative offsets better. Fixes decodebin.
16186
16187 2005-05-09  Wim Taymans  <wim@fluendo.com>
16188
16189         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16190         (gst_base_transform_event):
16191         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16192         Implement accept_caps.
16193         Fix silly lock/unlock mismatch in base class.
16194
16195 2005-05-09  Wim Taymans  <wim@fluendo.com>
16196
16197         * docs/design/draft-push-pull.txt:
16198         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16199         * gst/elements/gstfilesink.c: (gst_filesink_init),
16200         (gst_filesink_query):
16201         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16202         (gst_type_find_handle_src_query), (find_element_get_length):
16203         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16204         * gst/gstelement.h:
16205         * gst/gstmessage.c:
16206         * gst/gstmessage.h:
16207         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16208         (gst_real_pad_get_caps_unlocked),
16209         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16210         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16211         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16212         (gst_real_pad_dispose), (gst_real_pad_finalize),
16213         (gst_pad_load_and_link), (gst_pad_save_thyself),
16214         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16215         (gst_pad_check_pull_range), (gst_pad_pull_range),
16216         (gst_pad_template_get_type), (gst_pad_template_class_init),
16217         (gst_pad_template_init), (gst_pad_template_dispose),
16218         (name_is_valid), (gst_static_pad_template_get),
16219         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16220         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16221         (gst_pad_get_element_private), (gst_pad_start_task),
16222         (gst_pad_pause_task), (gst_pad_stop_task),
16223         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16224         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16225         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16226         (gst_ghost_pad_new):
16227         * gst/gstpad.h:
16228         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16229         (gst_query_new_position), (gst_query_set_position),
16230         (gst_query_parse_position), (gst_query_new_convert),
16231         (gst_query_set_convert), (gst_query_parse_convert):
16232         * gst/gstquery.h:
16233         * gst/gstqueryutils.c:
16234         * gst/gstqueryutils.h:
16235         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16236         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16237         (gst_queue_handle_src_query):
16238         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16239         (gst_element_query_position), (gst_element_query_convert),
16240         (intersect_caps_func), (gst_pad_query_position),
16241         (gst_pad_query_convert):
16242         * gst/gstutils.h:
16243         * tools/gst-inspect.c: (print_pad_info):
16244         * tools/gst-xmlinspect.c: (print_element_info):
16245         Remove old query functions. Ported old code.
16246         Added position/convert helper functions to gstutils.
16247         Reordered gstpad.c code, grouping relevant things.
16248         Remove gst_message_new(), always need to speficy a specific
16249         message.
16250
16251
16252 2005-05-09  Andy Wingo  <wingo@pobox.com>
16253
16254         * gst/gstiterator.h: Add some includes.
16255
16256         * gst/gstqueryutils.h: Include more headers.
16257
16258         * gst/gstpad.h:
16259         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16260         some uses of gst_pad_query.
16261
16262         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16263         NULL out parameters.
16264         (gst_query_new_position): New proc, allocates a new position
16265         query.
16266
16267         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16268         gstqueryutils.c to the build.
16269
16270         * gst/gststructure.c (gst_structure_set_valist): Implement with
16271         the generic G_VALUE_COLLECT.
16272         
16273 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16274
16275         * gst/Makefile.am: (gst_headers):
16276         Added gstqueryutils.h to the list of headers to install, that was
16277         a 'nachty' move wingo :)
16278
16279 2005-05-06  Andy Wingo  <wingo@pobox.com>
16280
16281         * gst/gstquery.h
16282         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16283         GstData, init a memchunk.
16284         (standard_definitions): Add a few query types, deprecate a few.
16285         (gst_query_get_type): New proc.
16286         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16287         implementation.
16288         (gst_query_new_application, gst_query_get_structure): New public
16289         procs.
16290
16291         * docs/design/draft-query.txt: Removed LINKS from the query types,
16292         because all the rest can be dispatched to other pads -- seemed
16293         ugly to have a query that couldn't be dispatched. internal_links
16294         is fine as a pad method.
16295
16296         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16297         in gstpad.c, but maintain binary compatibility for the moment.
16298         Will fix before 0.9 is out.
16299
16300         * gst/gstqueryutils.c: 
16301         * gst/gstqueryutils.h: New files, implement 3 methods for each
16302         query type: parse_query, parse_response, and set. Probably need an
16303         allocator as well.
16304
16305         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16306
16307         * gst/elements/gstfilesink.c (gst_filesink_query2):
16308         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16309         query_types, and formats methods.
16310
16311         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16312         (gst_pad_set_query2_function): New functions.
16313         (gst_real_pad_init): Set query2_default as the default query2
16314         function. Basically just dispatches to internally linked pads.
16315
16316         Needs review!
16317         
16318         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16319         without using the atomic operations. Only one thread can possibly
16320         be accessing the data at this point. Changed so as to avoid
16321         gst_atomic operations.
16322
16323 2005-05-06  Wim Taymans  <wim@fluendo.com>
16324
16325         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16326         Also set caps if we use the fallback buffer alloc.
16327
16328 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16329
16330         * docs/gst/Makefile.am:
16331         * docs/gst/gstreamer-docs.sgml:
16332         * docs/gst/gstreamer-sections.txt:
16333         * docs/gst/tmpl/gstatomic.sgml:
16334         * docs/gst/tmpl/gstmemchunk.sgml:
16335         * testsuite/elements/struct_i386.h:
16336         * win32/GStreamer.vcproj:
16337         * win32/Makefile:
16338           Purge GstAtomic stuff from docs and win32 makefiles as well
16339
16340 2005-05-06  Wim Taymans  <wim@fluendo.com>
16341
16342         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16343         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16344         * gst/gstpad.c: (gst_pad_peer_get_caps):
16345         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16346         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16347         (gst_queue_src_activate), (gst_queue_change_state):
16348         * gst/gstqueue.h:
16349         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16350         (intersect_caps_func):
16351         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16352         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16353         Some fixes for the peer_get_caps() change.
16354
16355 2005-05-06  Wim Taymans  <wim@fluendo.com>
16356
16357         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16358         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16359         (gst_basesink_activate):
16360         Actually do something with error codes returned from the push
16361         functions.
16362
16363 2005-05-06  Wim Taymans  <wim@fluendo.com>
16364
16365         * docs/design/part-element-sink.txt:
16366         * docs/design/part-element-source.txt:
16367         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16368         (gst_basesink_event), (gst_basesink_activate):
16369         * gst/base/gstbasesink.h:
16370         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16371         (gst_basesrc_activate):
16372         * gst/base/gstbasesrc.h:
16373         * gst/gstelement.c: (gst_element_pads_activate):
16374         Some more documentation.
16375         Fixed scheduling decision in _pads_activate().
16376
16377 2005-05-05  Andy Wingo  <wingo@pobox.com>
16378
16379         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16380         the test suite.
16381
16382 2005-05-05  Wim Taymans  <wim@fluendo.com>
16383
16384         * gst/base/Makefile.am:
16385         * gst/base/gstbasesink.h:
16386         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16387         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16388         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16389         (gst_collectpads_class_init), (gst_collectpads_init),
16390         (gst_collectpads_finalize), (gst_collectpads_new),
16391         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16392         (find_pad), (gst_collectpads_remove_pad),
16393         (gst_collectpads_is_active), (gst_collectpads_collect),
16394         (gst_collectpads_collect_range), (gst_collectpads_start),
16395         (gst_collectpads_stop), (gst_collectpads_peek),
16396         (gst_collectpads_pop), (gst_collectpads_available),
16397         (gst_collectpads_read), (gst_collectpads_flush),
16398         (gst_collectpads_chain):
16399         * gst/base/gstcollectpads.h:
16400         * gst/elements/Makefile.am:
16401         * gst/elements/gstelements.c:
16402         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16403         (gst_fakesink_get_times), (gst_fakesink_event),
16404         (gst_fakesink_preroll), (gst_fakesink_render):
16405         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16406         (gst_filesink_init), (gst_filesink_set_location),
16407         (gst_filesink_open_file), (gst_filesink_close_file),
16408         (gst_filesink_pad_query), (gst_filesink_event),
16409         (gst_filesink_render), (gst_filesink_change_state):
16410         * gst/elements/gstfilesink.h:
16411         Added object to help in making collect pad based elements.
16412         Ported filesink.
16413         Make event function in sink baseclass return gboolean.
16414
16415 2005-05-05  Wim Taymans  <wim@fluendo.com>
16416
16417         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16418         (gst_bin_get_by_name):
16419         * gst/gstbuffer.h:
16420         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16421         (gst_clock_finalize):
16422         * gst/gstdata.c: (gst_data_replace):
16423         * gst/gstdata.h:
16424         * gst/gstelement.c: (gst_element_request_pad),
16425         (gst_element_pads_activate):
16426         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16427         (gst_object_unref):
16428         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16429         (gst_pad_set_checkgetrange_function),
16430         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16431         (gst_pad_check_pull_range), (gst_pad_pull_range),
16432         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16433         (gst_pad_pause_task), (gst_pad_stop_task):
16434         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16435         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16436         Fix name lookup in GstBin.
16437         Added _data_replace() function and _buffer_replace()
16438         Use finalize method to clean up clock.
16439         Fix refcounting on request pads.
16440         Fix pad schedule mode error.
16441         Some more object refcounting debug info,
16442
16443
16444 2005-05-04  Andy Wingo <wingo@pobox.com>
16445
16446         * check/Makefile.am:
16447         * docs/gst/tmpl/gstatomic.sgml:
16448         * docs/gst/tmpl/gstplugin.sgml:
16449         * gst/base/gstbasesink.c: (gst_basesink_activate):
16450         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16451         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16452         (gst_basesrc_query), (gst_basesrc_set_property),
16453         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16454         (gst_basesrc_activate):
16455         * gst/base/gstbasesrc.h:
16456         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16457         (gst_base_transform_src_activate):
16458         * gst/elements/gstelements.c:
16459         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16460         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16461         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16462         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16463         (gst_type_find_element_checkgetrange),
16464         (gst_type_find_element_activate):
16465         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16466         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16467         (gst_caps_load_thyself):
16468         * gst/gstelement.c: (gst_element_pads_activate),
16469         (gst_element_save_thyself), (gst_element_restore_thyself):
16470         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16471         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16472         * gst/gstpad.h:
16473         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16474         (gst_xml_parse_file), (gst_xml_parse_memory),
16475         (gst_xml_get_element), (gst_xml_make_element):
16476         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16477         (_file_index_id_save_xml), (gst_file_index_commit):
16478         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16479         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16480         (load_paths):
16481         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16482         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16483         * tools/gst-complete.c: (main):
16484         * tools/gst-compprep.c: (main):
16485         * tools/gst-inspect.c: (print_element_properties_info):
16486         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16487         * tools/gst-xmlinspect.c: (print_element_properties):
16488         GCC 4 fixen.
16489         
16490 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16491
16492         * gst/gstplugin.c: (gst_plugin_check_module),
16493         (gst_plugin_check_file), (gst_plugin_load_file):
16494             apply patch from #172526 to make register work on MacOSX
16495
16496 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16497
16498         * docs/gst/tmpl/gstconfig.sgml:
16499         * gst/gstconfig.h.in:
16500           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16501         * testsuite/debug/printf_extension.c: (main):
16502           Do not use GST_PTR_FORMAT on pointers to types with
16503           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16504         * testsuite/elements/property.h:
16505           use correct printf format
16506
16507 2005-05-02  Wim Taymans  <wim@fluendo.com>
16508
16509         * docs/design/draft-push-pull.txt:
16510         * docs/design/draft-query.txt:
16511         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16512         (gst_basesrc_start):
16513         Added draft for new query API.
16514         Added draft for better selecting scheduling methods.
16515         Make basesrc ignore length if the subclass does not support
16516         it.
16517
16518 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16519
16520         * gst/Makefile.am:
16521           possible fixes for automake-1.5 - _LIBADD is reserved
16522
16523 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16524
16525         * docs/faq/Makefile.am:
16526         * docs/manual/Makefile.am:
16527         * docs/manuals.mak:
16528         * docs/pwg/Makefile.am:
16529         * gst/Makefile.am:
16530           possible fixes for automake-1.5
16531
16532 2005-04-28  Wim Taymans  <wim@fluendo.com>
16533
16534         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16535         (gst_basesink_pad_getcaps), (gst_basesink_init),
16536         (gst_basesink_do_sync):
16537         * gst/gstclock.c: (gst_clock_entry_new):
16538         * gst/gstevent.c: (gst_event_discont_get_value):
16539         * gst/gstpipeline.c: (pipeline_bus_handler),
16540         (gst_pipeline_change_state):
16541         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16542         Better debugging of clocking info.
16543         Allow NULL values when getting discont values.
16544
16545 2005-04-27  Wim Taymans  <wim@fluendo.com>
16546
16547         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16548         * check/gst/gstpad.c: (gst_pad_suite):
16549         Increase timeout for checks.
16550
16551 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16552
16553         * check/Makefile.am:
16554           fix the broken rule for cleanup.  Apparently this rule is
16555           only needed on FC2, so maybe this warrants further autotool
16556           inspection.
16557
16558 2005-04-26  Wim Taymans  <wim@fluendo.com>
16559
16560         * gst/gsttrashstack.h:
16561         Ooohh. a nasty one! After having a failed pop() from the stack,
16562         it's possible that the stack is empty. In that case, don't
16563         follow the NULL pointer.
16564
16565 2005-04-25  Wim Taymans  <wim@fluendo.com>
16566
16567         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16568         (gst_pad_set_checkgetrange_function),
16569         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16570         (gst_pad_check_pull_range), (gst_pad_pull_range),
16571         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16572         (gst_pad_pause_task), (gst_pad_stop_task):
16573         * gst/gstplugin.c: (gst_plugin_load):
16574         * gst/gstplugin.h:
16575         Remove gst_library_load as it does more harm than good with
16576         the new g_module flags.
16577         Revert bogus caps template check in pad linking, pad caps
16578         are important when linking not the template, which is more
16579         general than the current caps.
16580
16581 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16582
16583         * gst/autoplug/.cvsignore:
16584         * gst/autoplug/Makefile.am:
16585         * gst/autoplug/gstsearchfuncs.c:
16586         * gst/autoplug/gstsearchfuncs.h:
16587         * gst/autoplug/gstspider.c:
16588         * gst/autoplug/gstspider.h:
16589         * gst/autoplug/gstspideridentity.c:
16590         * gst/autoplug/gstspideridentity.h:
16591         * gst/autoplug/spidertest.c:
16592           Die, spider, die.
16593
16594 2005-04-25  Wim Taymans  <wim@fluendo.com>
16595
16596         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16597         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16598         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16599         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16600         * gst/gstpad.h:
16601         Added stubs for unimplemented functions. 
16602
16603 2005-04-24  David Schleef  <ds@schleef.org>
16604
16605         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16606         please fix.
16607
16608 2005-04-24  David Schleef  <ds@schleef.org>
16609
16610         Convert everything from GstAtomicInt to g_atomic_int_*, and
16611         remove gstatomic.
16612         * gst/Makefile.am:
16613         * gst/gstatomic.c:
16614         * gst/gstatomic.h:
16615         * gst/gstatomic_impl.h:
16616         * gst/gstbuffer.c:
16617         * gst/gstcaps.c:
16618         * gst/gstcaps.h:
16619         * gst/gstclock.c:
16620         * gst/gstclock.h:
16621         * gst/gstdata.c:
16622         * gst/gstdata.h:
16623         * gst/gstdata_private.h:
16624         * gst/gstevent.c:
16625         * gst/gstinfo.c:
16626         * gst/gstinfo.h:
16627         * gst/gstmessage.c:
16628         * gst/gstobject.c:
16629         * gst/gstobject.h:
16630         * gst/gststructure.c:
16631         * gst/gststructure.h:
16632         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16633         * gst/gstutils.h:
16634
16635 2005-04-24  David Schleef  <ds@schleef.org>
16636
16637         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16638         make the regressions tests work.  Remove some code that is no
16639         longer true.
16640         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16641         Disable warning for pads without templates.
16642
16643 2005-04-24  David Schleef  <ds@schleef.org>
16644
16645         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16646         functions that handle filtered links.
16647         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16648         removed functions.
16649         * gst/gstutils.c: Fix/remove utility functions that handle
16650         filtered caps.
16651         * gst/gstutils.h:
16652         * gst/gstvalue.c: Add serialization/deserialization of caps
16653         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16654         requires fixing so that the filter caps notation creates
16655         a capsfilter element and sets the filter_caps property.  I
16656         think everyone probably wants to keep the shorthand notation.
16657         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16658         * docs/gst/tmpl/gstpad.sgml:
16659
16660         * gst/elements/gstelements.c: Register capsfilter element.
16661         * gst/Makefile.am: fix spacing
16662         * docs/random/ds/0.9-suggested-changes: random
16663
16664 2005-04-23  David Schleef  <ds@schleef.org>
16665
16666         * gst/elements/Makefile.am:
16667         * gst/elements/gstcapsfilter.c: New element that acts like an
16668         identity, but filters caps.  Will eventually replace filtered
16669         caps in pad linking.
16670         * gst/gstutils.c: (gst_element_create_all_pads): New function
16671         to create all the ALWAYS pads that are registered with an
16672         element class.  This functionality should eventually be
16673         merged in with GstElement initialization.
16674         * gst/gstutils.h:
16675         * testsuite/trigger/README: part of trigger test code that should
16676         have been checked in a long time ago.
16677
16678 2005-04-23  David Schleef  <ds@schleef.org>
16679
16680         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16681         needed with new versions of libtool (nobody will confirm this),
16682         and hard to carry around.
16683         * gst/autoplug/Makefile.am:
16684         * gst/base/Makefile.am:
16685         * gst/elements/Makefile.am:
16686         * gst/indexers/Makefile.am:
16687         * gst/schedulers/Makefile.am:
16688         * libs/gst/bytestream/Makefile.am:
16689         * libs/gst/control/Makefile.am:
16690         * libs/gst/dataprotocol/Makefile.am:
16691         * libs/gst/getbits/Makefile.am:
16692
16693 2005-04-21  Wim Taymans  <wim@fluendo.com>
16694
16695         * docs/design/draft-push-pull.txt:
16696         * docs/design/part-MT-refcounting.txt:
16697         * docs/design/part-TODO.txt:
16698         * docs/design/part-caps.txt:
16699         * docs/design/part-events.txt:
16700         * docs/design/part-gstbus.txt:
16701         * docs/design/part-gstpipeline.txt:
16702         * docs/design/part-messages.txt:
16703         * docs/design/part-push-pull.txt:
16704         * docs/design/part-query.txt:
16705         Some more docs.
16706
16707 2005-04-21  Wim Taymans  <wim@fluendo.com>
16708
16709         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16710         (gst_message_new), (gst_message_new_error),
16711         (gst_message_new_warning), (gst_message_new_tag),
16712         (gst_message_new_state_changed), (gst_message_new_application),
16713         (gst_message_get_structure):
16714         * gst/gstmessage.h:
16715         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16716         (gst_structure_copy_conditional):
16717         Use parent refcount in GstMessage to ensure GstStructure
16718         consistency.
16719         Cleaned up headers a bit.
16720         
16721
16722 2005-04-20  Wim Taymans  <wim@fluendo.com>
16723
16724         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16725         (gst_basesink_pad_getcaps), (gst_basesink_init),
16726         (gst_basesink_chain_unlocked):
16727         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16728         (gst_type_find_helper):
16729         * gst/elements/gsttypefindelement.c:
16730         (gst_type_find_element_have_type), (gst_type_find_element_init),
16731         (stop_typefinding), (gst_type_find_element_handle_event),
16732         (find_suggest), (gst_type_find_element_chain),
16733         (gst_type_find_element_checkgetrange),
16734         (gst_type_find_element_getrange), (do_typefind),
16735         (gst_type_find_element_activate):
16736         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16737         (gst_buffer_default_free), (gst_buffer_default_copy),
16738         (gst_buffer_set_caps):
16739         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16740         (gst_caps_replace):
16741         * gst/gstmessage.c: (gst_message_new),
16742         (gst_message_new_state_changed):
16743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16744         (gst_pad_set_checkgetrange_function),
16745         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16746         (gst_pad_set_caps), (gst_pad_check_pull_range),
16747         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16748         * gst/gstpad.h:
16749         * gst/gsttypefind.c: (gst_type_find_register):
16750         Make gst_caps_replace() work like other _replace() functions.
16751         Use _caps_replace() where possible.
16752         Make sure _message_new() initialises its field.
16753         Add gst_static_pad_template_get_caps()
16754
16755
16756 2005-04-18  Andy Wingo  <wingo@pobox.com>
16757
16758         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16759         on the peer, not the pad. I think that was a typo. Pass an extra
16760         arg to see if random access is possible. Activate the pads as
16761         PULL_RANGE if possible.
16762
16763         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16764
16765         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16766         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16767         to PROP_....
16768
16769 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16770
16771         * docs/faq/using.xml:
16772           Add note on gstreamer-properties (#154996).
16773
16774 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16775
16776         * docs/random/bbb/optional-properties:
16777           Some analysis on optional properties.
16778
16779 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16780
16781         * docs/gst/tmpl/gstelementfactory.sgml:
16782         * gst/gstelement.h:
16783         * gst/gstelementfactory.c: (gst_element_factory_init),
16784         (gst_element_factory_cleanup), (gst_element_register),
16785         (__gst_element_factory_add_static_pad_template),
16786         (gst_element_factory_get_static_pad_templates),
16787         (gst_element_factory_can_src_caps),
16788         (gst_element_factory_can_sink_caps):
16789         * gst/registries/Makefile.am:
16790         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16791         (gst_xml_registry_class_init), (gst_xml_registry_init),
16792         (gst_xml_registry_new), (gst_xml_registry_set_property),
16793         (gst_xml_registry_get_property), (get_time), (make_dir),
16794         (gst_xml_registry_get_perms_func),
16795         (plugin_times_older_than_recurse), (plugin_times_older_than),
16796         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16797         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16798         (add_to_char_array), (read_string), (read_uint), (read_enum),
16799         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16800         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16801         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16802         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16803         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16804         (gst_xml_registry_rebuild):
16805         * gst/registries/gstlibxmlregistry.h:
16806         * tools/gst-compprep.c: (main):
16807         * tools/gst-inspect.c: (print_pad_templates_info):
16808         * tools/gst-xmlinspect.c: (print_element_info):
16809           Use libxml2 for registry parsing, use staticpadtemplates in
16810           elementfactories. Makes gst_init() +/- 10x faster.
16811
16812 2005-04-12  Wim Taymans  <wim@fluendo.com>
16813
16814         * gst/base/Makefile.am:
16815         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16816         (gst_basesink_pad_getcaps), (gst_basesink_init),
16817         (gst_basesink_event), (gst_basesink_change_state):
16818         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16819         (gst_basesrc_init), (gst_basesrc_query),
16820         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16821         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16822         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16823         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16824         (gst_basesrc_stop), (gst_basesrc_activate),
16825         (gst_basesrc_change_state):
16826         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16827         (helper_find_suggest), (gst_type_find_helper):
16828         * gst/base/gsttypefindhelper.h:
16829         * gst/elements/Makefile.am:
16830         * gst/elements/gstelements.c:
16831         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16832         (gst_fakesink_get_times), (gst_fakesink_event),
16833         (gst_fakesink_preroll), (gst_fakesink_render):
16834         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16835         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16836         (gst_fakesrc_get_property), (gst_fakesrc_create),
16837         (gst_fakesrc_start), (gst_fakesrc_stop):
16838         * gst/elements/gstfakesrc.h:
16839         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16840         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16841         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16842         (gst_filesrc_create_read), (gst_filesrc_create),
16843         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16844         (gst_filesrc_start):
16845         * gst/elements/gsttypefindelement.c:
16846         (gst_type_find_element_have_type), (gst_type_find_element_init),
16847         (start_typefinding), (stop_typefinding), (push_buffer_store),
16848         (gst_type_find_element_handle_event),
16849         (gst_type_find_element_chain),
16850         (gst_type_find_element_checkgetrange),
16851         (gst_type_find_element_getrange), (do_typefind),
16852         (gst_type_find_element_activate),
16853         (gst_type_find_element_change_state):
16854         * gst/elements/gsttypefindelement.h:
16855         * gst/gstpipeline.c: (pipeline_bus_handler):
16856         Added typefind helper.
16857         Small preroll fix in the base sink.
16858         Disable typefind code in basesrc.
16859         Crude port of typefindelement.
16860         Fakesrc cleanups.
16861
16862
16863 2005-04-11  Wim Taymans  <wim@fluendo.com>
16864
16865         * check/gst/gstbus.c: (gstbus_suite):
16866         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16867         * check/gstcheck.h:
16868           Fix up the timeout so that the test does not fail.
16869
16870 2005-04-06  Wim Taymans  <wim@fluendo.com>
16871
16872         * gst/base/README:
16873         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16874         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16875         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16876         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16877         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16878         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16879         (gst_basesrc_stop), (gst_basesrc_activate),
16880         (gst_basesrc_change_state), (basesrc_find_peek),
16881         (basesrc_find_suggest), (gst_basesrc_type_find):
16882         * gst/base/gstbasesrc.h:
16883         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16884         (gst_filesrc_class_init), (gst_filesrc_init),
16885         (gst_filesrc_finalize), (gst_filesrc_set_location),
16886         (gst_filesrc_set_property), (gst_filesrc_get_property),
16887         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16888         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16889         (gst_filesrc_create_read), (gst_filesrc_create),
16890         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16891         * gst/elements/gstfilesrc.h:
16892         * gst/gstelement.c: (gst_element_get_state_func),
16893         (gst_element_lost_state), (gst_element_pads_activate):
16894         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16895         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16896         (gst_pad_pull_range):
16897         * gst/gstpad.h:
16898         More work on the generic source base class, implement seeking,
16899         query.
16900         Make filesrc extend the base source class.
16901         Added gst_pad_set_checkgetrange_function to GstPad.
16902
16903 2005-04-06  Andy Wingo  <wingo@pobox.com>
16904
16905         * pkgconfig/gstreamer-base.pc.in:
16906         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16907
16908         * pkgconfig/Makefile.am:
16909         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16910
16911 2005-04-04  Wim Taymans  <wim@fluendo.com>
16912
16913         * gst/base/Makefile.am:
16914         * gst/base/README:
16915         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16916         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16917         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16918         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16919         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16920         (gst_basesrc_base_init), (gst_basesrc_class_init),
16921         (gst_basesrc_init), (gst_basesrc_get_formats),
16922         (gst_basesrc_get_query_types), (gst_basesrc_query),
16923         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16924         (gst_basesrc_set_property), (gst_basesrc_get_property),
16925         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16926         (gst_basesrc_loop), (gst_basesrc_activate),
16927         (gst_basesrc_change_state):
16928         * gst/base/gstbasesrc.h:
16929         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16930         (gst_fakesrc_class_init), (gst_fakesrc_init),
16931         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16932         (gst_fakesrc_get_property), (gst_fakesrc_create):
16933         * gst/elements/gstfakesrc.h:
16934         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16935         (gst_filesrc_open_file), (gst_filesrc_loop),
16936         (gst_filesrc_activate), (filesrc_find_peek),
16937         (gst_filesrc_type_find):
16938         Made base source class, make fakesrc extend it.
16939         Add comments to basesink class.
16940         Some filesrc cleanup.
16941
16942 2005-03-31  David Schleef  <ds@schleef.org>
16943
16944         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16945         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16946         expected to link against libgstreamer.
16947         * gst/base/Makefile.am: link against libgstreamer
16948         * gst/elements/Makefile.am: same
16949
16950 2005-03-31  Andy Wingo  <wingo@pobox.com>
16951
16952         * tests/instantiate/Makefile.am:
16953         * tests/instantiate/caps.c: Add test to test speed of caps copy
16954         and free.
16955
16956         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16957         GMemChunk to be fair.
16958
16959         * gst/gsttrashstack.h: Remove warning about using the fallback
16960         trash stack implementation, it's still faster than malloc.
16961
16962 2005-03-30  Andy Wingo  <wingo@pobox.com>
16963
16964         * tests/complexity.c: Add a copyright.
16965
16966 2005-03-31  Wim Taymans  <wim@fluendo.com>
16967
16968         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16969         (gst_base_transform_class_init), (gst_base_transform_init),
16970         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16971         (gst_base_transform_get_property),
16972         (gst_base_transform_sink_activate),
16973         (gst_base_transform_src_activate),
16974         (gst_base_transform_change_state):
16975         * gst/base/gstbasetransform.h:
16976         * gst/elements/gstidentity.c: (gst_identity_class_init),
16977         (gst_identity_event), (gst_identity_check_perfect),
16978         (gst_identity_transform), (gst_identity_start),
16979         (gst_identity_stop):
16980         Added start/stop methods to transform base class so subclasses 
16981         don't need to deal with state changes even.
16982
16983 2005-03-31  Wim Taymans  <wim@fluendo.com>
16984
16985         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16986         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16987         * gst/gstevent.h:
16988         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16989         (gst_pad_pull_range):
16990         Added rate to the discont event to prepare for variable speed
16991         and reverse playback.
16992
16993 2005-03-29  David Schleef  <ds@schleef.org>
16994
16995         * configure.ac:
16996         * testsuite/trigger/Makefile.am:
16997         * testsuite/trigger/trigger.c: A little example program to show
16998         how trigger-based elements can work.
16999
17000 2005-03-29  Wim Taymans  <wim@fluendo.com>
17001
17002         * gst/base/Makefile.am:
17003         * gst/base/README:
17004         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17005         (gst_basesink_base_init), (gst_basesink_class_init),
17006         (gst_basesink_pad_getcaps), (gst_basesink_init),
17007         (gst_basesink_activate), (gst_basesink_change_state):
17008         * gst/base/gstbasesink.h:
17009         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17010         (gst_base_transform_base_init), (gst_base_transform_finalize),
17011         (gst_base_transform_class_init), (gst_base_transform_init),
17012         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17013         (gst_base_transform_event), (gst_base_transform_getrange),
17014         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17015         (gst_base_transform_set_property),
17016         (gst_base_transform_get_property),
17017         (gst_base_transform_sink_activate),
17018         (gst_base_transform_src_activate),
17019         (gst_base_transform_change_state):
17020         * gst/base/gstbasetransform.h:
17021         * gst/elements/gstidentity.c: (gst_identity_finalize),
17022         (gst_identity_class_init), (gst_identity_init),
17023         (gst_identity_event), (gst_identity_check_perfect),
17024         (gst_identity_transform), (gst_identity_set_property),
17025         (gst_identity_get_property), (gst_identity_change_state):
17026         * gst/elements/gstidentity.h:
17027         * gst/gstelement.c: (gst_element_get_state_func),
17028         (gst_element_lost_state), (gst_element_pads_activate):
17029         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17030         (gst_pad_check_pull_range), (gst_pad_pull_range):
17031         * gst/gstpad.h:
17032         Simplify pad activation.
17033         Added function to check if pull_range can be performed.
17034         Error out when pulling inactive or flushing pads.
17035         Removed const from refcounted types as it does not make sense.
17036         Simplify pad templates in basesink
17037         Added base class for simple 1-to-1 transforms.
17038         Make identity subclass the base transform.
17039
17040 2005-03-29  Andy Wingo  <wingo@pobox.com>
17041
17042         * docs/libs/gstreamer-libs-overrides.txt: 
17043         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17044         really don't understand what's going on, but like whatever. I want
17045         green buildbot!
17046
17047         * docs/gst/Makefile.am:
17048         * docs/libs/Makefile.am: Dist the overrides files.
17049
17050         * check/Makefile.am (clean-local): Remove .libs directories.
17051
17052         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17053         elements to EXTRA_DIST, so po/ files are happy.
17054
17055         * po/POTFILES.in: Er, remove it here.
17056
17057         * po/POTFILES: Remove gstspider.c.
17058
17059         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17060
17061         * docs/libs/gstreamer-libs-docs.sgml: 
17062         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17063         bytestream.
17064
17065         * tests/complexity.c (main): Set the length of the preroll queue
17066         on the sinks to prevent a lockup.
17067
17068         * libs/gst/dataprotocol/Makefile.am: 
17069         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17070         the same as the one in check/gst-libs/gdp.c.
17071
17072         * po/, docs/gst/: Commit automatic changes to docs and po files.
17073
17074         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17075         the versioned libgstbase.
17076
17077         * check/Makefile.am: Depend on an unversioned gst-register, seems
17078         to make autoconf happier.
17079
17080         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17081
17082 2005-03-28  Wim Taymans  <wim@fluendo.com>
17083
17084         * configure.ac:
17085         * docs/design/part-gstelement.txt:
17086         * docs/design/part-negotiation.txt:
17087         * docs/design/part-preroll.txt:
17088         * docs/design/part-scheduling.txt:
17089         * docs/design/part-states.txt:
17090         * gst/Makefile.am:
17091         * gst/base/Makefile.am:
17092         * gst/base/README:
17093         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17094         (gst_basesink_base_init), (gst_basesink_class_init),
17095         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17096         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17097         (gst_basesink_set_pad_functions),
17098         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17099         (gst_basesink_set_property), (gst_basesink_get_property),
17100         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17101         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17102         (gst_basesink_preroll_queue_push),
17103         (gst_basesink_preroll_queue_empty),
17104         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17105         (gst_basesink_event), (gst_basesink_get_times),
17106         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17107         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17108         (gst_basesink_loop), (gst_basesink_activate),
17109         (gst_basesink_change_state):
17110         * gst/base/gstbasesink.h:
17111         * gst/elements/Makefile.am:
17112         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17113         (gst_fakesink_class_init), (gst_fakesink_init),
17114         (gst_fakesink_set_property), (gst_fakesink_get_property),
17115         (gst_fakesink_get_times), (gst_fakesink_event),
17116         (gst_fakesink_preroll), (gst_fakesink_render),
17117         (gst_fakesink_change_state):
17118         * gst/elements/gstfakesink.h:
17119         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17120         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17121         * gst/gstelement.c: (gst_element_add_pad),
17122         (gst_element_get_state_func), (gst_element_abort_state),
17123         (gst_element_commit_state), (gst_element_lost_state),
17124         (gst_element_set_state), (gst_element_pads_activate):
17125         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17126         * gst/gstpipeline.c: (gst_pipeline_send_event),
17127         (gst_pipeline_change_state):
17128         Added state change code.
17129         Added/updated docs.
17130         Added sink base class, make fakesink extend the base class.
17131         Small cleanups in GstPipeline.
17132
17133 2005-03-26  David Schleef  <ds@schleef.org>
17134
17135         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17136         is broken and should be implemented in a different library.
17137         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17138         * gst/gst.h: remove gstcpu.h
17139         * gst/gstcpu.c: remove
17140         * gst/gstcpu.h: remove
17141         * gst/Makefile.am.future: Remove this file.  It's ancient.
17142
17143 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17144
17145         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17146         (gst_bin_send_event):
17147           Add default event/set_manager handlers. The set_manager handler
17148           takes care that the manager is distributed over kids that were
17149           already in the bin before the manager was set. The event handler
17150           is a utility virtual function that sends the event over all sinks,
17151           so that gst_element_send_event (bin, event); has the expected
17152           behaviour.
17153         * gst/gstpad.c: (gst_pad_event_default):
17154           Re-install default event handling for discontinuities, so that
17155           seeking works without requiring hacks in applications or extra
17156           code in sinks.
17157         * gst/gstpipeline.c: (gst_pipeline_class_init),
17158         (gst_pipeline_send_event):
17159           Half hack, half utility: set a pipeline to PAUSED for seek events,
17160           since that is the only way we can guarantee a/v sync. Means that
17161           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17162           and it "just works".
17163
17164 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17165
17166         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17167           Lock/unlock mismatch.
17168
17169 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17170
17171         * docs/faq/gst-uninstalled:
17172           add gst-plugins-base
17173         * docs/gst/Makefile.am:
17174           don't error out until docs are fixed
17175         * docs/gst/gstreamer.types:
17176           remove thread
17177
17178 2005-03-22  Wim Taymans  <wim@fluendo.com>
17179
17180         * check/Makefile.am:
17181         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17182         * gst/gststructure.c: (gst_structure_set_valist),
17183         (gst_structure_copy_conditional):
17184         Activated more tests.
17185         Added message test.
17186         Added G_TYPE_POINTER to GstStructure.
17187         
17188
17189 2005-03-22  Wim Taymans  <wim@fluendo.com>
17190
17191         * docs/design/part-TODO.txt:
17192         * docs/design/part-events.txt:
17193         * docs/design/part-gstbin.txt:
17194         * docs/design/part-gstbus.txt:
17195         * docs/design/part-gstpipeline.txt:
17196         * docs/design/part-messages.txt:
17197         * gst/gstbus.c:
17198         * gst/gstmessage.c:
17199         Docs updates
17200
17201 2005-03-21  Wim Taymans  <wim@fluendo.com>
17202
17203         * gst/gstbus.c: (gst_bus_post):
17204         Fix copy-and-paste error.
17205
17206 2005-03-21  Wim Taymans  <wim@fluendo.com>
17207
17208         * check/Makefile.am:
17209         * gst/Makefile.am:
17210         * gst/elements/Makefile.am:
17211         * gst/elements/gstelements.c:
17212         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17213         (gst_fakesink_event), (gst_fakesink_chain):
17214         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17215         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17216         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17217         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17218         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17219         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17220         (gst_fakesrc_loop), (gst_fakesrc_activate),
17221         (gst_fakesrc_change_state):
17222         * gst/elements/gstfakesrc.h:
17223         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17224         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17225         (gst_filesrc_open_file), (gst_filesrc_loop),
17226         (gst_filesrc_activate), (gst_filesrc_change_state),
17227         (filesrc_find_peek), (filesrc_find_suggest),
17228         (gst_filesrc_type_find):
17229         * gst/elements/gstidentity.c: (gst_identity_finalize),
17230         (gst_identity_class_init), (gst_identity_init),
17231         (gst_identity_proxy_getcaps), (identity_queue_push),
17232         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17233         (gst_identity_getrange), (gst_identity_chain),
17234         (gst_identity_sink_loop), (gst_identity_src_loop),
17235         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17236         (gst_identity_set_property), (gst_identity_get_property),
17237         (gst_identity_change_state):
17238         * gst/elements/gstidentity.h:
17239         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17240         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17241         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17242         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17243         (gst_tee_sink_activate):
17244         * gst/elements/gsttee.h:
17245         * gst/gst.c: (gst_register_core_elements), (init_post):
17246         * gst/gst.h:
17247         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17248         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17249         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17250         (gst_bin_change_state):
17251         * gst/gstbin.h:
17252         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17253         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17254         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17255         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17256         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17257         (bus_watch_callback), (bus_watch_destroy),
17258         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17259         (poll_timeout), (gst_bus_poll):
17260         * gst/gstbus.h:
17261         * gst/gstcaps.h:
17262         * gst/gstdata.h:
17263         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17264         (gst_element_post_message), (gst_element_message_full),
17265         (gst_element_get_state_func), (gst_element_get_state),
17266         (gst_element_abort_state), (gst_element_commit_state),
17267         (gst_element_lost_state), (gst_element_set_state),
17268         (gst_element_pads_activate), (gst_element_change_state),
17269         (gst_element_dispose), (gst_element_set_manager_func),
17270         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17271         (gst_element_set_manager), (gst_element_get_manager),
17272         (gst_element_set_bus), (gst_element_get_bus),
17273         (gst_element_set_scheduler), (gst_element_get_scheduler):
17274         * gst/gstelement.h:
17275         * gst/gstevent.c: (gst_event_new_segment_seek),
17276         (gst_event_new_flush):
17277         * gst/gstevent.h:
17278         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17279         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17280         (gst_message_new_eos), (gst_message_new_error),
17281         (gst_message_new_warning), (gst_message_new_tag),
17282         (gst_message_new_state_changed), (gst_message_new_application),
17283         (gst_message_get_structure), (gst_message_parse_tag),
17284         (gst_message_parse_state_changed), (gst_message_parse_error),
17285         (gst_message_parse_warning):
17286         * gst/gstmessage.h:
17287         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17288         (gst_real_pad_set_property), (gst_pad_set_active),
17289         (gst_pad_is_active), (gst_pad_set_blocked_async),
17290         (gst_pad_set_blocked), (gst_pad_is_blocked),
17291         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17292         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17293         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17294         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17295         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17296         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17297         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17298         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17299         (gst_pad_set_caps), (gst_pad_configure_sink),
17300         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17301         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17302         (gst_real_pad_dispose), (gst_real_pad_finalize),
17303         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17304         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17305         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17306         * gst/gstpad.h:
17307         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17308         (pipeline_bus_handler), (gst_pipeline_change_state),
17309         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17310         * gst/gstpipeline.h:
17311         * gst/gstprobe.h:
17312         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17313         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17314         (gst_queue_link_src), (gst_queue_bufferalloc),
17315         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17316         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17317         (gst_queue_loop), (gst_queue_handle_src_event),
17318         (gst_queue_handle_src_query), (gst_queue_src_activate),
17319         (gst_queue_change_state):
17320         * gst/gstqueue.h:
17321         * gst/gstscheduler.c: (gst_scheduler_init),
17322         (gst_scheduler_dispose), (gst_scheduler_create_task),
17323         (gst_scheduler_factory_create):
17324         * gst/gstscheduler.h:
17325         * gst/gststructure.c: (gst_structure_get_type),
17326         (gst_structure_copy_conditional):
17327         * gst/gststructure.h:
17328         * gst/gsttaginterface.h:
17329         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17330         (gst_task_init), (gst_task_dispose), (gst_task_create),
17331         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17332         (gst_task_pause):
17333         * gst/gsttask.h:
17334         * gst/gstthread.c:
17335         * gst/gstthread.h:
17336         * gst/gsttypes.h:
17337         * gst/schedulers/Makefile.am:
17338         * gst/schedulers/cothreads_compat.h:
17339         * gst/schedulers/entryscheduler.c:
17340         * gst/schedulers/faircothreads.c:
17341         * gst/schedulers/faircothreads.h:
17342         * gst/schedulers/fairscheduler.c:
17343         * gst/schedulers/gstbasicscheduler.c:
17344         * gst/schedulers/gstoptimalscheduler.c:
17345         * gst/schedulers/gthread-cothreads.h:
17346         * gst/schedulers/threadscheduler.c:
17347         (gst_thread_scheduler_task_get_type),
17348         (gst_thread_scheduler_task_class_init),
17349         (gst_thread_scheduler_task_init),
17350         (gst_thread_scheduler_task_start),
17351         (gst_thread_scheduler_task_stop),
17352         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17353         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17354         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17355         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17356         (plugin_init):
17357         * libs/gst/Makefile.am:
17358         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17359         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17360         (gst_file_pad_parent_set):
17361         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17362         (gst_dp_event_from_packet):
17363         * tests/complexity.c: (main):
17364         * tests/mass_elements.c: (main):
17365         * testsuite/states/locked.c: (message_received), (main):
17366         * testsuite/states/parent.c: (main):
17367         * tools/gst-inspect.c: (print_element_flag_info),
17368         (print_implementation_info), (print_pad_info):
17369         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17370         (main):
17371         * tools/gst-md5sum.c: (event_loop), (main):
17372         * tools/gst-typefind.c: (main):
17373         * tools/gst-xmlinspect.c: (print_element_info):
17374         Next big merge.
17375         Added GstBus for mainloop integration.
17376         Added GstMessage for sending notifications on the bus.
17377         Added GstTask as an abstraction for pipeline entry points.
17378         Removed GstThread.
17379         Removed Schedulers.
17380         Simplified GstQueue for multithreaded core.
17381         Made _link threadsafe, removed old capsnego.
17382         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17383         Added pad blocking functions.
17384         Reworked scheduling functions in GstPad to prepare for
17385         scheduling updates soon.
17386         Moved events out of data stream.
17387         Simplified GstEvent types.
17388         Added return values to push/pull.
17389         Removed clocking from GstElement.
17390         Added prototypes for state change function for next merge.
17391         Removed iterate from bins and state change management.
17392         Fixed some elements, disabled others for now.
17393         Fixed -inspect and -launch.
17394         Added check for GstBus.
17395
17396 2005-03-10  Wim Taymans  <wim@fluendo.com>
17397
17398         * docs/design/part-MT-refcounting.txt:
17399         * docs/design/part-clocks.txt:
17400         * docs/design/part-gstelement.txt:
17401         * docs/design/part-gstobject.txt:
17402         * docs/design/part-standards.txt:
17403         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17404         (gst_bin_remove_func), (gst_bin_remove):
17405         * gst/gstbin.h:
17406         * gst/gstbuffer.c:
17407         * gst/gstcaps.h:
17408         * testsuite/clock/clock1.c: (main):
17409         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17410         (main):
17411         * testsuite/dlopen/loadgst.c: (do_test):
17412         * testsuite/refcounting/bin.c: (add_remove_test1),
17413         (add_remove_test2), (main):
17414         * testsuite/refcounting/element.c: (main):
17415         * testsuite/refcounting/element_pad.c: (main):
17416         * testsuite/refcounting/pad.c: (main):
17417         * tools/gst-launch.c: (sigint_handler_sighandler):
17418         * tools/gst-typefind.c: (main):
17419         Doc updates.
17420         Added doc about clock.
17421         removed gst_bin_iterate_recurse_up(), marked methods
17422         for removal.
17423         Fix more testsuites.
17424
17425 2005-03-09  Wim Taymans  <wim@fluendo.com>
17426
17427         * gst/gstpad.c: (gst_pad_get_direction),
17428         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17429         (gst_pad_collect_valist):
17430         * testsuite/bins/interface.c: (main):
17431         * testsuite/caps/audioscale.c: (test_caps):
17432         * testsuite/caps/caps.c: (test1), (test2), (test3):
17433         * testsuite/caps/deserialize.c: (main):
17434         * testsuite/caps/enumcaps.c: (main):
17435         * testsuite/caps/filtercaps.c: (main):
17436         * testsuite/caps/intersect2.c: (main):
17437         * testsuite/caps/random.c: (main):
17438         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17439         * testsuite/caps/sets.c: (check_caps):
17440         * testsuite/caps/simplify.c: (check_caps), (main):
17441         * testsuite/caps/subtract.c: (check_caps):
17442         Fix _pad_get_direction wrt ghostpads.
17443         Fix caps testsuite.
17444
17445 2005-03-09  Wim Taymans  <wim@fluendo.com>
17446
17447         * check/Makefile.am:
17448         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17449         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17450         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17451         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17452         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17453         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17454         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17455         (bin_element_is_sink), (gst_bin_iterate_sinks),
17456         (gst_bin_iterate_all_by_interface):
17457         * gst/gstbin.h:
17458         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17459         (gst_element_change_state), (gst_element_dispose),
17460         (gst_element_finalize), (gst_element_set_loop_function):
17461         * gst/gstelement.h:
17462         * gst/gstiterator.c: (find_custom_fold_func):
17463         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17464         (gst_pad_collectv), (gst_pad_collect_valist),
17465         (gst_pad_template_new):
17466         * gst/gstpipeline.c: (gst_pipeline_class_init),
17467         (gst_pipeline_dispose), (gst_pipeline_set_property),
17468         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17469         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17470         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17471         * gst/gstutils.h:
17472         * gst/schedulers/entryscheduler.c:
17473         * gst/schedulers/gstbasicscheduler.c:
17474         (gst_basic_scheduler_cothreaded_chain),
17475         (gst_basic_scheduler_chain_add_element):
17476         * testsuite/bins/interface.c: (main):
17477         Added GstBin test.
17478         Added GstSystemClock test.
17479         Implemented clock distribution code in GstBin.
17480         Implemented iterate sinks method for future use.
17481         Rearranged gstelement.h
17482         Fix GstIterator comparison bug.
17483         Moved some code to GstPipeline, mostly clocking related.
17484
17485 2005-03-09  Wim Taymans  <wim@fluendo.com>
17486
17487         * configure.ac:
17488         * gst/gst_private.h:
17489         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17490         (gst_bin_remove_func), (gst_bin_remove),
17491         (gst_bin_get_by_name_recurse_up):
17492         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17493         (gst_clock_id_compare_func), (gst_clock_id_wait),
17494         (gst_clock_id_wait_async), (gst_clock_init),
17495         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17496         * gst/gstelement.h:
17497         * gst/gstinfo.c: (_gst_debug_init):
17498         * gst/gstobject.h:
17499         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17500         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17501         * gst/gstpad.h:
17502         Bump version number, we're now 0.9.0
17503         Add future debugging category.
17504         Fix NULL _unref() in _get_by_name_recurse_up
17505         Rearrange gstpad.h.
17506         Update some docs.
17507
17508 2005-03-08  Wim Taymans  <wim@fluendo.com>
17509
17510         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17511         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17512         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17513         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17514         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17515         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17516         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17517         * gst/elements/gstidentity.c: (gst_identity_class_init):
17518         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17519         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17520         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17521         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17522         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17523         (gst_tee_link):
17524         * gst/gstelement.c: (gst_element_class_init),
17525         (gst_element_base_class_init), (gst_element_init),
17526         (gst_element_get_random_pad), (gst_element_wait_state_change),
17527         (gst_element_change_state), (gst_element_dispose),
17528         (gst_element_finalize), (gst_element_set_loop_function):
17529         * gst/gstelement.h:
17530         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17531         * gst/gstthread.c: (gst_thread_class_init),
17532         (gst_thread_release_children_locks), (gst_thread_change_state):
17533         * gst/schedulers/gstbasicscheduler.c:
17534         (gst_basic_scheduler_loopfunc_wrapper),
17535         (gst_basic_scheduler_chain_wrapper),
17536         (gst_basic_scheduler_src_wrapper),
17537         (gst_basic_scheduler_remove_element):
17538         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17539         Remove threadsafe properties. Fix elements because GObject
17540         complains when installing a property before declaring a
17541         set/get_property handler.
17542         Rearrange gstelement.h file, use STATE macros for state locks.
17543         Free mutexes in the finalize method instead of dispose.
17544
17545 2005-03-08  Wim Taymans  <wim@fluendo.com>
17546
17547         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17548         * gst/gstthread.c: (gst_thread_release_children_locks):
17549         Added parentage check.
17550         Fix build og GstThread again.
17551
17552 2005-03-08  Wim Taymans  <wim@fluendo.com>
17553
17554         * docs/design/part-MT-refcounting.txt:
17555         * docs/design/part-conventions.txt:
17556         * docs/design/part-gstobject.txt:
17557         * docs/design/part-relations.txt:
17558         * docs/design/part-standards.txt:
17559         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17560         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17561         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17562         (gst_bin_iterate_all_by_interface):
17563         * gst/gstbuffer.h:
17564         * gst/gstclock.h:
17565         * gst/gstelement.c: (gst_element_class_init),
17566         (gst_element_change_state), (gst_element_set_loop_function):
17567         * gst/gstelement.h:
17568         * gst/gstiterator.c:
17569         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17570         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17571         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17572         (gst_object_set_parent), (gst_object_unparent),
17573         (gst_object_check_uniqueness):
17574         * gst/gstobject.h:
17575         Docs updates, clean up some headers.
17576
17577 2005-03-07  Wim Taymans  <wim@fluendo.com>
17578
17579         * check/.cvsignore:
17580         * check/Makefile.am:
17581         * check/gst-libs/.cvsignore:
17582         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17583         * check/gst/.cvsignore:
17584         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17585         (START_TEST), (gstbus_suite), (main):
17586         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17587         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17588         (gst_data_suite), (main):
17589         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17590         (add_fold_func), (gstiterator_suite), (main):
17591         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17592         (thread_name_object), (thread_name_object_default),
17593         (gst_object_name_compare), (gst_object_suite), (main):
17594         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17595         (gst_pad_suite), (main):
17596         * check/gstcheck.c: (gst_check_log_message_func),
17597         (gst_check_log_critical_func), (gst_check_init):
17598         * check/gstcheck.h:
17599         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17600         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17601         Added checks.
17602
17603 2005-03-07  Wim Taymans  <wim@fluendo.com>
17604
17605         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17606         (gst_list_iterator_next), (gst_list_iterator_resync),
17607         (gst_list_iterator_free), (gst_iterator_new_list),
17608         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17609         (gst_iterator_free), (gst_iterator_push), (filter_next),
17610         (filter_resync), (filter_uninit), (filter_free),
17611         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17612         (gst_iterator_foreach), (find_custom_fold_func),
17613         (gst_iterator_find_custom):
17614         * gst/gstiterator.h:
17615         Added missing files.
17616
17617 2005-03-07  Wim Taymans  <wim@fluendo.com>
17618
17619         * Makefile.am:
17620         * configure.ac:
17621         * docs/design/part-MT-refcounting.txt:
17622         * docs/design/part-conventions.txt:
17623         * docs/design/part-gstobject.txt:
17624         * docs/design/part-relations.txt:
17625         * examples/mixer/mixer.c: (main):
17626         * examples/thread/thread.c: (eos), (main):
17627         * gst/Makefile.am:
17628         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17629         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17630         (gst_spider_plug_from_srcpad):
17631         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17632         (gst_spider_identity_change_state),
17633         (gst_spider_identity_sink_loop_type_finding):
17634         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17635         * gst/elements/gstidentity.c: (gst_identity_init):
17636         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17637         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17638         * gst/elements/gsttypefindelement.c: (free_entry):
17639         * gst/gst.c:
17640         * gst/gst.h:
17641         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17642         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17643         (gst_bin_set_index), (gst_bin_set_element_sched),
17644         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17645         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17646         (gst_bin_iterate_elements), (iterate_child_recurse),
17647         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17648         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17649         (compare_interface), (gst_bin_get_by_interface),
17650         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17651         * gst/gstbin.h:
17652         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17653         (gst_buffer_default_free), (gst_buffer_default_copy),
17654         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17655         (gst_buffer_create_sub):
17656         * gst/gstbuffer.h:
17657         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17658         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17659         (gst_caps_unref), (gst_static_caps_get),
17660         (gst_caps_remove_and_get_structure), (gst_caps_append),
17661         (gst_caps_append_structure), (gst_caps_remove_structure),
17662         (gst_caps_copy_nth), (gst_caps_set_simple),
17663         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17664         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17665         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17666         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17667         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17668         (gst_caps_structure_figure_out_union),
17669         (gst_caps_switch_structures), (gst_caps_do_simplify),
17670         (gst_caps_replace), (gst_caps_from_string),
17671         (gst_caps_copy_conditional):
17672         * gst/gstcaps.h:
17673         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17674         (_gst_clock_id_free), (gst_clock_id_unref),
17675         (gst_clock_id_compare_func), (gst_clock_id_wait),
17676         (gst_clock_id_wait_async), (gst_clock_class_init),
17677         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17678         (gst_clock_get_time), (gst_clock_set_time_adjust),
17679         (gst_clock_set_property), (gst_clock_get_property):
17680         * gst/gstclock.h:
17681         * gst/gstcompat.h:
17682         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17683         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17684         * gst/gstdata.h:
17685         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17686         (gst_element_requires_clock), (gst_element_provides_clock),
17687         (gst_element_set_clock), (gst_element_clock_wait),
17688         (gst_element_wait), (gst_element_set_time_delay),
17689         (gst_element_is_indexable), (gst_element_add_pad),
17690         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17691         (pad_compare_name), (gst_element_get_static_pad),
17692         (gst_element_request_pad), (gst_element_get_request_pad),
17693         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17694         (gst_element_class_get_pad_template_list),
17695         (gst_element_class_get_pad_template), (gst_element_error_func),
17696         (gst_element_get_random_pad), (gst_element_get_event_masks),
17697         (gst_element_send_event), (gst_element_seek),
17698         (gst_element_get_query_types), (gst_element_query),
17699         (gst_element_get_formats), (gst_element_convert),
17700         (gst_element_is_locked_state), (gst_element_set_locked_state),
17701         (gst_element_sync_state_with_parent), (gst_element_change_state),
17702         (gst_element_finalize), (gst_element_yield),
17703         (gst_element_interrupt), (gst_element_set_scheduler),
17704         (gst_element_get_scheduler), (gst_element_set_loop_function):
17705         * gst/gstelement.h:
17706         * gst/gstevent.h:
17707         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17708         (gst_format_get_by_nick), (gst_format_get_details),
17709         (gst_format_iterate_definitions):
17710         * gst/gstformat.h:
17711         * gst/gstindex.c: (gst_index_gtype_resolver):
17712         * gst/gstinfo.c:
17713         * gst/gstinfo.h:
17714         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17715         (gst_mem_chunk_free):
17716         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17717         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17718         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17719         (gst_object_dispatch_properties_changed),
17720         (gst_object_set_name_default), (gst_object_set_name),
17721         (gst_object_get_name), (gst_object_set_name_prefix),
17722         (gst_object_get_name_prefix), (gst_object_set_parent),
17723         (gst_object_get_parent), (gst_object_unparent),
17724         (gst_object_check_uniqueness), (gst_object_save_thyself),
17725         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17726         (gst_object_set_property), (gst_object_get_property),
17727         (gst_object_get_path_string):
17728         * gst/gstobject.h:
17729         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17730         (gst_real_pad_init), (gst_real_pad_get_property),
17731         (gst_pad_custom_new), (gst_pad_get_direction),
17732         (gst_pad_set_active), (gst_pad_is_active),
17733         (gst_pad_set_event_function), (gst_pad_is_linked),
17734         (gst_pad_link_free), (gst_pad_link_intersect),
17735         (gst_pad_link_fixate), (gst_pad_set_caps),
17736         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17737         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17738         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17739         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17740         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17741         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17742         (gst_pad_realize), (gst_pad_get_allowed_caps),
17743         (gst_real_pad_dispose), (gst_real_pad_finalize),
17744         (gst_pad_collectv), (gst_pad_collect_valist),
17745         (gst_pad_template_dispose), (gst_pad_template_new),
17746         (gst_pad_get_internal_links):
17747         * gst/gstpad.h:
17748         * gst/gstpipeline.c: (gst_pipeline_dispose),
17749         (gst_pipeline_change_state):
17750         * gst/gstpipeline.h:
17751         * gst/gstplugin.c:
17752         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17753         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17754         * gst/gstpluginfeature.h:
17755         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17756         * gst/gstquery.c: (_gst_query_type_initialize),
17757         (gst_query_type_register), (gst_query_type_get_by_nick),
17758         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17759         * gst/gstquery.h:
17760         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17761         * gst/gstscheduler.c: (gst_scheduler_add_element),
17762         (gst_scheduler_factory_create):
17763         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17764         (gst_structure_free), (gst_structure_set_name),
17765         (gst_structure_id_set_value), (gst_structure_set_value),
17766         (gst_structure_set_valist), (gst_structure_remove_field),
17767         (gst_structure_remove_fields),
17768         (gst_structure_remove_fields_valist),
17769         (gst_structure_remove_all_fields), (gst_structure_foreach),
17770         (gst_structure_map_in_place),
17771         (gst_caps_structure_fixate_field_nearest_int),
17772         (gst_caps_structure_fixate_field_nearest_double):
17773         * gst/gststructure.h:
17774         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17775         (gst_system_clock_init), (gst_system_clock_dispose),
17776         (gst_system_clock_async_thread),
17777         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17778         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17779         * gst/gstsystemclock.h:
17780         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17781         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17782         * gst/gsttaginterface.c:
17783         * gst/gstthread.c: (gst_thread_dispose),
17784         (gst_thread_release_children_locks), (gst_thread_change_state),
17785         (gst_thread_main_loop):
17786         * gst/gsttrashstack.h:
17787         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17788         * gst/gsttypes.h:
17789         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17790         (gst_element_request_pad), (gst_element_get_pad_from_template),
17791         (gst_element_request_compatible_pad),
17792         (gst_element_get_compatible_pad_filtered),
17793         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17794         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17795         (gst_element_link_many), (gst_element_link),
17796         (gst_element_link_pads), (gst_element_unlink_pads),
17797         (gst_element_unlink_many), (gst_element_unlink),
17798         (gst_pad_can_link_filtered), (gst_pad_can_link),
17799         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17800         (gst_object_default_error), (gst_bin_add_many),
17801         (gst_bin_remove_many), (gst_element_populate_std_props),
17802         (gst_element_class_install_std_props), (gst_buffer_merge),
17803         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17804         (link_fold_func), (gst_pad_proxy_setcaps):
17805         * gst/gstutils.h:
17806         * gst/gstvalue.c: (gst_value_deserialize_string):
17807         * gst/parse/grammar.y:
17808         * gst/schedulers/gstbasicscheduler.c:
17809         (gst_basic_scheduler_cothreaded_chain),
17810         (gst_basic_scheduler_chain_recursive_add),
17811         (gst_basic_scheduler_pad_link):
17812         * gst/schedulers/gstoptimalscheduler.c:
17813         (get_group_schedule_function),
17814         (gst_opt_scheduler_state_transition),
17815         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17816         * libs/gst/bytestream/bytestream.c:
17817         * libs/gst/dataprotocol/dataprotocol.c:
17818         (gst_dp_header_from_buffer):
17819         * po/nb.po:
17820         * po/ru.po:
17821         * tests/threadstate/threadstate2.c: (eos):
17822         * tools/gst-compprep.c: (main):
17823         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17824         (print_pad_info), (print_children_info):
17825         * tools/gst-launch.c: (idle_func), (main):
17826         * tools/gst-md5sum.c: (idle_func), (main):
17827         * tools/gst-xmlinspect.c: (print_element_info):
17828         First THREADED backport attempt, focusing on adding locks and
17829         making sure the API is threadsafe. Needs more work. More docs
17830         follow this week.
17831
17832 2005-02-24  Andy Wingo  <wingo@pobox.com>
17833
17834         * tests/bench-complexity.scm:
17835         * tests/complexity.gnuplot: New files, good for running complexity
17836         benchmarks.
17837
17838         * tests/Makefile.am:
17839         * tests/complexity.c: New test, sets up N elements, at each level
17840         teeing into M streams per element. Eeeenteresting.
17841
17842         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17843         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17844         running bench-mass_elements.scm.
17845
17846         * tests/bench-mass_elements.scm: New script, runs mass_elements
17847         for various numbers of identities, outputting the results to a
17848         file. Requires guile 1.6. Just for testing.
17849
17850 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17851
17852         * gst/schedulers/fairscheduler.c:
17853           compile with debug disabled
17854
17855 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17856
17857         * configure.ac:
17858           hunting season on 0.9 is now OPEN