]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gstreamer0-10.git/blob - ChangeLog
libs/gst/controller/gstcontroller.c: Fix controlling of float properties (#344849).
[glsdk/gstreamer0-10.git] / ChangeLog
1 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3         Patch by: Wouter Paesen  <wouter at kangaroot net>
5         * libs/gst/controller/gstcontroller.c:
6         (gst_controlled_property_new):
7           Fix controlling of float properties (#344849).
9         * tests/check/libs/controller.c:
10         (gst_test_mono_source_get_property),
11         (gst_test_mono_source_set_property),
12         (gst_test_mono_source_class_init), (GST_START_TEST):
13           While we're at it, add some float stuff to unit test.
15 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17         * docs/README:
18         * docs/images/gdp-header.svg:
19           add a gdp image
20         * docs/libs/Makefile.am:
21         * docs/libs/gdp-header.png:
22         * libs/gst/dataprotocol/dataprotocol.c:
23           add it to the API docs
24         * docs/manual/intro-motivation.xml:
25           fix typo
27 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
29         * gst/gst.c: (scan_and_update_registry), (init_post):
30           If the fork()'ed child process can't write the updated registry cache
31           file to disk for some reason, make it exit with a failure exit code,
32           so that the parent can then re-scan the plugins itself and update the
33           registry structures in memory and work with that (rather than failing
34           when creating elements because seemingly no plugins are available).
35           Refactor registry scanning code into separate function for this and
36           also separate fork() and non-fork() code paths. Fixes #344748.
38 2006-06-13  Wim Taymans  <wim@fluendo.com>
40         * docs/manual/advanced-dataaccess.xml:
41         Fix wrong PluginDesc. Fixes #344755.
43 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
45         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
46           Fix silly bug that prevented us from creating
47           ~/.gstreamer-0.10 and writing the registry in one
48           go (the first call to g_mkstemp() would overwrite the
49           placeholder in the template string, so the second call
50           to g_mkstemp() after creating the missing directory
51           would then error out with 'invalid argument').
53 2006-06-13  Edward Hervey  <edward@fluendo.com>
55         * gst/gst.c: (init_post):
56         Free string.
58 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
60         * gst/glib-compat-private.h:
61         * gst/glib-compat.c:
62         * gst/glib-compat.h:
63         * gst/gstvalue.c: (gst_value_serialize_flags):
64           remove GLib 2.6 compatibility code
66 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
68         * gst/parse/Makefile.am:
69           Fix build with 'make -j N' even more (#340016).
71 2006-06-12  Wim Taymans  <wim@fluendo.com>
73         * docs/gst/gstreamer-sections.txt:
74         Fix docs.
76 2006-06-12  Wim Taymans  <wim@fluendo.com>
78         * gst/gstsegment.c: (gst_segment_set_duration),
79         (gst_segment_set_last_stop), (gst_segment_set_seek),
80         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
81         (gst_segment_to_running_time), (gst_segment_clip):
82         Use G_UNLIKELY to help the compiler a bit.
84 2006-06-12  Wim Taymans  <wim@fluendo.com>
86         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
88         * gst/gstevent.c: (gst_event_get_type):
89         * gst/gstmessage.c:
90         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
91         (gst_pad_push):
92         constify quark registration strings. Fixes #344115
93         Avoid unneeded type checking is _pad_push() by internally
94         calling gst_pad_chain_unchecked().
96 2006-06-12  Wim Taymans  <wim@fluendo.com>
98         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
99         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
100         (gst_subbuffer_finalize), (gst_buffer_create_sub),
101         (gst_buffer_is_span_fast), (gst_buffer_span):
102         Init _type for consistency.
103         Use _FLAGS macro to avoid type check.
104         Avoid unneeded type checks in subbufer code.
106 2006-06-12  Wim Taymans  <wim@fluendo.com>
108         * gst/gst.c: (gst_debug_help):
109         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
110         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
111         (gst_plugin_feature_list_free):
112         * gst/gstregistry.c: (gst_registry_add_plugin),
113         (gst_registry_add_feature), (gst_registry_plugin_filter),
114         (gst_registry_feature_filter), (gst_registry_find_plugin),
115         (gst_registry_find_feature), (gst_registry_get_plugin_list),
116         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
117         * gst/gstregistryxml.c: (load_feature),
118         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
119         * gst/gstminiobject.c: (gst_mini_object_unref),
120         (gst_mini_object_replace), (gst_value_mini_object_free),
121         (gst_value_mini_object_copy):
122         Use _CAST macros to avoid unneeded type checking.
123         Added some more G_UNLIKELY.
125 2006-06-12  Wim Taymans  <wim@fluendo.com>
127         * gst/gstbuffer.h:
128         Avoid unneeded type checking.
129         API: GST_BUFFER_IS_DISCONT
131         * gst/gstminiobject.h:
132         Avoid type check in flag accessor.
134         * gst/gstelementfactory.h:
135         * gst/gstplugin.h:
136         * gst/gstpluginfeature.h:
137         Add _CAST macros.
138         API: GST_ELEMENT_FACTORY_CAST
139         API: GST_PLUGIN_CAST
140         API: GST_PLUGIN_FEATURE_CAST
142 2006-06-12  Wim Taymans  <wim@fluendo.com>
144         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
145         (gst_object_unref):
146         Add G_UNLIKELY in type registration.
147         Avoid type check in _ref/_unref since that is also
148         done in glib.
150 2006-06-12  Wim Taymans  <wim@fluendo.com>
152         * gst/gsterror.c: (gst_g_error_get_type):
153         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
154         (gst_static_pad_template_get_type):
155         * gst/gsttaglist.c: (gst_tag_list_get_type):
156         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
157         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
158         * gst/gsturi.c: (gst_uri_handler_get_type):
159         * gst/gstvalue.c: (gst_date_get_type):
160         * gst/gstxml.c: (gst_xml_get_type):
161         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
162         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
163         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
164         Add G_UNLIKELY in type registration.
166 2006-06-12  Wim Taymans  <wim@fluendo.com>
168         * tools/gst-inspect.c: (print_signal_info):
169         Properly print enum values.
171 2006-06-12  Wim Taymans  <wim@fluendo.com>
173         * gst/gstinfo.c: (gst_debug_set_active),
174         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
175         * gst/gstinfo.h:
176         Add some G_[UN]LIKELY.
177         Maintain __gst_debug_min to avoid formatting the arguments of
178         debug messages that will be dropped anyway to avoid a lot of 
179         overhead from the debugging system.
181 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
183         * po/POTFILES.in:
184         * po/POTFILES.skip:
185           add missing files containing translatable strings, tell intltool about
186           one exception
188 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
190         * tests/check/libs/.cvsignore:
191         add test-binary to ignore list
193 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
195         * docs/libs/gstreamer-libs-docs.sgml:
196         reorder (put dp into a chapter) and indent
198 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
200         * configure.ac:
201           back to HEAD
203 === release 0.10.8 ===
205 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
207         * configure.ac:
208           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
210 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
212         * gst/gst.c: (init_post):
213           move pid declaration to declaration block
215 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
217         * gst/gst.c: (init_post):
218           use _exit() instead of exit() in our forked child; this ensures
219           that none of the registered exit handlers from whatever is using
220           GStreamer get executed.  This fixes gnome-mixer-applet failing
221           to load, because ORBit would shut down.
222           Spotted by: Edward Hervey  <edward@fluendo.com>
223           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
224           Fixes #344474
226 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
228         * configure.ac:
229           back to TRUNK
231 === release 0.10.7 ===
233 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
235         * configure.ac:
236           releasing 0.10.7, "Soepeke, ik zie ou"
238 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
240         * configure.ac:
241         * po/af.po:
242         * po/az.po:
243         * po/bg.po:
244         * po/ca.po:
245         * po/cs.po:
246         * po/de.po:
247         * po/en_GB.po:
248         * po/fr.po:
249         * po/it.po:
250         * po/nb.po:
251         * po/nl.po:
252         * po/ru.po:
253         * po/sq.po:
254         * po/sr.po:
255         * po/sv.po:
256         * po/tr.po:
257         * po/uk.po:
258         * po/vi.po:
259         * po/zh_CN.po:
260         * po/zh_TW.po:
261         * win32/common/config.h:
262           0.10.6.2 prerelease
264 2006-06-07  Wim Taymans  <wim@fluendo.com>
266         * gst/gstindex.c: (gst_index_gtype_resolver):
267         * tools/gst-xmlinspect.c: (print_plugin_info):
268         Fix leak spotted by coverity checker. Fixes #343827
269         Fix another other leak found by paolo borelli.
271 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
273         * libs/gst/dataprotocol/dataprotocol.c:
274         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
275         (gst_dp_version_get_type), (gst_dp_init),
276         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
277         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
278         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
279         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
280         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
281         (gst_dp_packetizer_free):
282         * libs/gst/dataprotocol/dataprotocol.h:
283           API: add a GstDPPacketizer object, and create/free functions
284           API: add GstDPVersion enum
285           Add 1.0 event function that uses the string serialization
286           Serialize more useful buffer flags
287           Fixes #343988
289 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
291         * tests/check/Makefile.am:
292         * tests/check/gst/gstabi.c:
293         * tests/check/gst/struct_ppc64.h:
294         * tests/check/libs/libsabi.c:
295         * tests/check/libs/struct_ppc64.h:
296           add ppc64 structure sizes
298 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
300         * tests/check/Makefile.am:
301         * tests/check/gst/gstabi.c:
302         * tests/check/gst/struct_x86_64.h:
303         * tests/check/libs/libsabi.c:
304         * tests/check/libs/struct_x86_64.h:
305           generate and add structure size lists for x86_64
307 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
309         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
310         * libs/gst/check/gstcheck.h:
311           factor out the method from tests that checks size of structures,
312           and add code to generate the header containing these sizes
313         * tests/check/gst/gstabi.c: (GST_START_TEST):
314         * tests/check/gst/struct_i386.h:
315         * tests/check/libs/libsabi.c: (GST_START_TEST):
316         * tests/check/libs/struct_i386.h:
317           use it
319 2006-06-06  Michael Smith  <msmith@fluendo.com>
321         * gst/gstsegment.h:
322           Don't use c++-style comments, fixes #343929
324 2006-06-05  Edward Hervey  <edward@fluendo.com>
326         * gst/gst.c:
327         plugin_paths is not used if we build without registry support.
329         * gst/gstsegment.c: (gst_segment_copy): 
330         _copy() was always returning NULL...
332 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
334         * libs/gst/dataprotocol/dataprotocol.c:
335         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
336         (gst_dp_packet_from_event):
337           factor out CRC code
339 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
341         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
342           make sure we unset caps
344 2006-06-02  Michael Smith  <msmith@fluendo.com>
346         * libs/gst/check/gstcheck.c: (gst_check_init),
347         (gst_check_chain_func):
348         * libs/gst/check/gstcheck.h:
349           Add a cond/mutex to the check support lib, signal this whenever we
350           add to the buffers list. This will allow tests to not busy-wait on
351           the buffer-list.
353 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
355         * libs/gst/dataprotocol/dataprotocol.c:
356         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
357         (gst_dp_packet_from_event):
358           factor out some common header init code
360 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
362         * docs/libs/gstreamer-libs-sections.txt:
363         * docs/libs/tmpl/gstdataprotocol.sgml:
364         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
365         * libs/gst/dataprotocol/dataprotocol.h:
366           API: make gst_dp_crc() public
368 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
370         * plugins/indexers/gstindexers.c: (plugin_init):
371         conditionally register fileindexer (fixes #343598)
373 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
375         * gst/gsttagsetter.h:
376         Can't cast ifaces to a class
378         * libs/gst/net/gstnetclientclock.h:
379         * libs/gst/net/gstnettimeprovider.h:
380         * plugins/elements/gstfakesink.h:
381         * plugins/elements/gstfakesrc.h:
382         * plugins/elements/gstfdsink.h:
383         * plugins/elements/gstfdsrc.h:
384         * plugins/elements/gstfilesink.h:
385         * plugins/elements/gstfilesrc.h:
386         * plugins/elements/gstidentity.h:
387         * plugins/elements/gstqueue.h:
388         * plugins/elements/gsttee.h:
389         * plugins/indexers/gstfileindex.c:
390         * plugins/indexers/gstmemindex.c:
391         * tests/old/examples/plugins/example.h:
392         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
394 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
396         * libs/gst/dataprotocol/dataprotocol.c:
397         (gst_dp_header_from_buffer):
398           make sure we zero the whole ABI-compatible area
400 2006-06-01  Wim Taymans  <wim@fluendo.com>
402         Patch by: Alessandro Decina <alessandro at nnva dot org>
404         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
405         Make sure the EOS flag is cleared from pads after a flush
406         or stop. Fixes #343538.
408         * tests/check/libs/collectpads.c: (GST_START_TEST),
409         (gst_collect_pads_suite):
410         Added test for collectpads reusage after EOS.
412 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
414         * gst/gst.c:
415          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
416         * win32/common/libgstbase.def:
417          export gst_collect_pads_set_flushing
418         * win32/common/libgstreamer.def:
419          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
420          gst_value_fraction_multiply
421         * win32/vs6/gst_inspect.dsp:
422          add a link to intl.lib
424 2006-05-30  Wim Taymans  <wim@fluendo.com>
426         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
427         (gst_collect_pads_chain):
428         Handle the case where a pad is removed from the collection
429         that could cause the other pads to become collectable.
431 2006-05-30  Wim Taymans  <wim@fluendo.com>
433         * gst/gstelement.c:
434         Clarify the use of _release_request_pad() and
435         _get_request_pad() a bit better.
437         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
438         (gst_adapter_take_buffer):
439         Fix some doc and comment typos.
441 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
443         * docs/gst/gstreamer-sections.txt:
444         * docs/libs/gstreamer-libs-sections.txt:
445           add declared symbols
447 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
449         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
450         Add debug that can be enabled using a #define at the top of the file,
451         for dumping stats about how late/early we were when waking up from
452         waiting on the clock.
454 2006-05-30  Wim Taymans  <wim@fluendo.com>
456         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
457         When rebuilding the pad list, don't leak the previous list.
459 2006-05-30  Wim Taymans  <wim@fluendo.com>
461         Patch by: Lutz Mueller <lutz at topfrose dot de>
463         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
464         (gst_base_src_get_query_types), (gst_base_src_update_length):
465         Publish supported query types.
466         Update last_stop field in get_range mode so the position
467         query works. Fixes #342321.
469 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
471         * docs/gst/gstreamer-sections.txt:
472         * gst/gsttaglist.c: (_gst_tag_initialize):
473         * gst/gsttaglist.h:
474           API: add GST_TAG_PREVIEW_IMAGE (#343341).
476 2006-05-30  Wim Taymans  <wim@fluendo.com>
478         Patch by: Alessandro Decina <alessandro at nnva dot org>
480         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
481         Unlock mutex when removing an unknown pad.
482         Fixes #343334.
484         * tests/check/Makefile.am:
485         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
486         (push_event), (setup), (teardown), (GST_START_TEST),
487         (gst_collect_pads_suite), (main):
488         Added collecpads check, disabled for now as check crashes for
489         some reason.
491 2006-05-29  Wim Taymans  <wim@fluendo.com>
493         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
494         Don't leak pads lists.
496 2006-05-29  Wim Taymans  <wim@fluendo.com>
498         * docs/libs/gstreamer-libs-sections.txt:
499         * libs/gst/base/gstcollectpads.c:
500         (gst_collect_pads_set_flushing_unlocked),
501         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
502         (gst_collect_pads_stop):
503         * libs/gst/base/gstcollectpads.h:
504         API: gst_collect_pads_set_flushing()
505         Added api to set the pads to flushing, useful for seeking
506         code in elements using collectpads.
507         Clear segment when receiving a flush.
509 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
511         * gst/gst.c: (add_path_func), (init_post):
512           Don't scan registry paths passed via --gst-plugin-path immediately
513           (will crash, because absolutely nothing is set up and no types are
514           registered etc.); do this later in init_post(). Fixes #343057.
516 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
518         * gst/gst.c: (init_post):
519           if we have fork, fork while reading/rebuilding the registry
520           so the parent doesn't take the hit of having all plugins loaded
521           in memory.  Fixes #342777.
522         * configure.ac:
523           Check if we have fork()
524         * win32/common/config.h.in:
525           no fork() on win32
527 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
529         * plugins/elements/gstelements.c:
530         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
531         (gst_file_src_init), (gst_file_src_set_property),
532         (gst_file_src_get_property), (gst_file_src_start):
533         * plugins/elements/gstfilesrc.h:
534           API: GstFileSrc::use-mmap
536         Add a use-mmap property to enable easier testing of all code paths.
537         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
538         in the absence of gnomevfssrc. (Closes #340501)
540 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
542         * tools/gst-inspect.c:
543         Add missing include, removes warning of ngettext not being defined on
544         some arches.
546 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
548         * gst/gstvalue.c: (gst_value_deserialize_fraction):
549         Handle NULL input and output pointers silently as a failed conversion,
550         rather than g_warnings.
552 2006-05-25  Wim Taymans  <wim@fluendo.com>
554         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
555         Initialize variable before using. Fixes #342820.
557 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
559         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
560           Fix off-by-one bug that would only allow peeks of N-1 bytes
561           from the start even if the buffer to typefind on contains
562           in fact N bytes of data (makes vorbis typefinding from a
563           vorbis identification header buffer work).
565         * tests/check/Makefile.am:
566         * tests/check/libs/.cvsignore:
567         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
568         (gst_typefindhelper_suite), (main), (foobar_typefind),
569         (plugin_init):
570           Add very basic unit test for gst_type_find_helper_for_buffer()
571           that checks for the problem fixed above.
573 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
575         * tools/gst-inspect.c: (print_interfaces),
576         (print_element_properties_info), (print_element_list), (main):
577           add more translatable strings
579 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
581         Patch by: Julien Moutte  <julien at moutte net>
583         * docs/gst/gstreamer-sections.txt:
584           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
585           
586         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
587         (gst_fake_sink_preroll):
588         * plugins/elements/gstfakesink.h:
589           API: Add new GstFakeSink::preroll-handoff signal (#337100).
591 2006-05-23  Wim Taymans  <wim@fluendo.com>
593         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
594         * gst/gstpad.h:
595         Added _CUSTOM error and success GstFlowReturn that can be
596         used be elements internally. 
597         Added macro to check for SUCCESS flowreturns.
598         API: GST_FLOW_CUSTOM_SUCCESS
599         API: GST_FLOW_CUSTOM_ERROR
600         API: GST_FLOW_IS_SUCCESS
602         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
603         Added check for GstFlowReturn sanity.
605 2006-05-23  Wim Taymans  <wim@fluendo.com>
607         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
609         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
610         (gst_collect_pads_event):
611         clear/reset segment info in FLUSH_STOP.
612         Fixes #336929.
614 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
616         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
617         (gst_collect_pads_check_collected):
618         Flush queued buffer on _stop(), fixes playing again (#342454)
620 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
622         * tests/check/gst/gststructure.c: (GST_START_TEST),
623         (gst_structure_suite):
624           add a test for a complete structure
626 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
628         * docs/faq/developing.xml:
629         * docs/faq/faq.xml:
630         * docs/faq/troubleshooting.xml:
631         * docs/faq/using.xml:
632           Some minor FAQ updates that won't change the fact that
633           our FAQ is badly structured, full of information hardly
634           anyone new to GStreamer needs to know and lacking lots
635           of information people constantly ask for.
636           
637 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
639         * gst/gstpad.c: (gst_pad_set_caps):
640           Short-circuit gst_pad_set_caps if setting the existing
641           caps pointer again, and avoid printing debug and 
642           reffing/unreffing the caps.
644         * plugins/elements/gstqueue.c: (gst_queue_push_one):
645           There's actually no need to set the caps before pushing -
646           the acceptcaps method will handle it anyway.
648 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
650         * docs/gst/gstreamer-sections.txt:
651         * win32/common/libgstreamer.def:
652         * gst/gstutils.c: (gst_element_seek_simple):
653         * gst/gstutils.h:
654           API: add gst_element_seek_simple() (#342238).
656 2006-05-18  Edward Hervey  <edward@fluendo.com>
658         * gst/gsttypefind.c: (gst_type_find_get_type):
659         * gst/gsttypefind.h:
660         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
661         registered for GstTypeFind pointers. This allows wrapping the structure
662         in bindings (i.e. gst-python).
664 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
666         * gst/gsttagsetter.c:
667           Docs additions and fixes (see #339918).
669 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
671         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
672         The caps intersection algorithm can produce multiple copies of the
673         caps. Until that is fixed, we need to simplify the result to be
674         sure whether the allowed caps are fixed or not.
676         * plugins/elements/gstqueue.c: (gst_queue_init),
677         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
678         (gst_queue_push_one):
679         Proxied buffer alloc should not set the caps on the source pad.
680         When pushing buffers, we always accept the caps change that triggers.
681         This prevents negotiation errors caused by caps changing mid-stream 
682         and then being refused on our source pad (because upstream is now
683         refusing those caps).
685 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
687         * tests/examples/helloworld/helloworld.c: (main):
688           Must plug audioconvert and audioresample between decoder
689           and audio sink.
691 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
693         * gst/gstregistryxml.c: (read_string), (load_pad_template),
694         (load_feature), (load_plugin):
695         Allow empty strings for some of the plugin fields so we don't 
696         drop valid plugin entries that were written out correctly
697         (Fixes #341479)
699 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
700         
701         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
702           Use g_remove and g_rename instead of remove and rename that don't 
703           handle utf8 characters. rename was failing for users who had specific
704           characters in their name then the registry was built at each 
705           gstreamer init.
706         * win32/vs6/gst_inspect.dsp:
707         * win32/vs6/gst_launch.dsp:
708         * win32/vs6/libgstbase.dsp:
709         * win32/vs6/libgstcoreelements.dsp:
710         * win32/vs6/libgstreamer.dsp:
711           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
712           build of libgstreamer and clean unused libraries in projects link 
713           settings.
715 2006-05-17  Edward Hervey  <edward@fluendo.com>
717         * plugins/elements/gstqueue.c: (gst_queue_push_one):
718         The queue is not responsible for pushing an EOS when receiving a fatal
719         flow error. It's up to the real element driving the pipeline to do that.
721 2006-05-16  Edward Hervey  <edward@fluendo.com>
723         * plugins/elements/gstqueue.c: (gst_queue_push_one):
724         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
725         buffer returned a fatal error. It should just send an EOS and stop
726         its task.
727         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
728         when pushing buffers on the queue and will be able to handle the event.
730 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
732         * docs/manual/basics-bins.xml:
733         * docs/manual/basics-init.xml:
734           Fix typos and minor errors in sample code (#341856).
736 2006-05-16  Wim Taymans  <wim@fluendo.com>
738         * docs/design/part-qos.txt:
739         Fix indexes in formulas to make more sense.
741 2006-05-15  Wim Taymans  <wim@fluendo.com>
743         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
744         Don't report POSITION based on clock time if sync is
745         disabled in a sink.
747 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
749         * gst/gstobject.h:
750           Add cast to make compiler happy - refcount variable was a gint
751           in GstObject but is a guint in GObject and g_atomic_int_get()
752           wants a gint *.
754 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
756         * gst/parse/Makefile.am:
757           chain commands using &&, which also makes parallel make work
759 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
761         * docs/gst/gstreamer-sections.txt:
762         * gst/gstevent.c:
763         * gst/gstevent.h:
764         * gst/gstmessage.h:
765           Minor docs fixes.
767 === release 0.10.6 ===
769 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
771         * configure.ac:
772           releasing 0.10.6, "Take the cannoli"
774 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
776         * tools/gst-launch.c: (print_tag):
777           Fix use of uninitialized variable in the hypothetical
778           case that some broken plugin creates a GST_TAG_IMAGE
779           tag containing a NULL buffer (#341667).
781 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
783         * tools/gst-launch.c: (print_tag):
784           Print something more intelligible for image tags when
785           using the -t switch (#341556).
787 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
789         * Makefile.am:
790           updates for win32
791         * configure.ac:
792           define GST_MAJORMINOR so we have it available in win32/common/config.h
793           Possibly remove it from our Makefile.am files later
794         * win32/common/config.h:
795         * win32/common/config.h.in:
796           added GST_MAJORMINOR
797         * win32/common/gstenumtypes.c: (register_gst_resource_error):
798         * win32/common/gstversion.h:
799           updated
801 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
803         * win32/MANIFEST:
804           Update win32 files listing.
805         * win32/common/gstversion.h:
806           Add GST_MAJORMINOR definition.
807         * win32/common/libgstreamer.def:
808           Add new exported functions.
809           
810 2006-05-12  Michael Smith  <msmith@fluendo.com>
812         * gst/gstplugin.c: (gst_plugin_load_file):
813           If an so file has no plugin entry point, unload the module.
815 2006-05-11  Wim Taymans  <wim@fluendo.com>
817         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
818         (gst_queue_set_property):
819         Don't forget to signal the _chain or _loop function 
820         when the queue size or thresholds change since that might
821         cause them to make progres again.
823 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
825         * gst/gstclock.c: (gst_clock_class_init):
826         * gst/gstindex.c: (gst_index_class_init):
827         * gst/gstobject.c: (gst_object_class_init):
828         * gst/gstpad.c: (gst_pad_class_init):
829         * gst/gstpipeline.c: (gst_pipeline_class_init):
830         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
831         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
832         * libs/gst/base/gstbasetransform.c:
833         (gst_base_transform_class_init):
834         * libs/gst/net/gstnetclientclock.c:
835         (gst_net_client_clock_class_init):
836         * libs/gst/net/gstnettimeprovider.c:
837         (gst_net_time_provider_class_init):
838         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
839         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
840         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
841         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
842         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
843         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
844         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
845         * plugins/elements/gstidentity.c: (gst_identity_class_init):
846         * plugins/elements/gsttee.c: (gst_tee_class_init):
847         * tests/old/examples/plugins/example.c: (gst_example_class_init):
848         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
849           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
851 2006-05-11  Wim Taymans  <wim@fluendo.com>
853         * gst/gstbuffer.c: (_gst_buffer_initialize):
854         Register subbufer along with the buffer type so that
855         it does not accidentally gets registered from N
856         different streaming threads in a non threadsafe way.
858 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
860         * gst/gstbuffer.h:
861         * gst/gstevent.h:
862         * gst/gstmessage.h:
863           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
864           gst_event_ref() and gst_message_ref() functions again
865           (ugly hack, please do fix if there's a better way besides
866           overrides.txt, which doesn't seem to work).
868 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
870         * libs/gst/check/gstcheck.h:
871           add an assert for setting state to avoid lots of repetitive code
872           in the future
874 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
876         * gst/gstvalue.c: (gst_value_serialize_flags):
877           fix a leak if no flags are set
878         * tests/check/gst/gstvalue.c: (GST_START_TEST):
879           fix leak in tests
881 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
883         * docs/manual/basics-pads.xml:
884           Expand a bit on caps and filtered links and update
885           examples that were still using the no longer existing
886           gst_pad_link_filtered() (#338206).
888 2006-05-10  Wim Taymans  <wim@fluendo.com>
890         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
891         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
892         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
893         (gst_collect_pads_stop):
894         * libs/gst/base/gstcollectpads.h:
895         No need to call _stop in _finalize.
896         Iterate the main pad list in _finalize.
897         Added some more debug.
898         Free lists and data in the right order.
899         Also free data whem doing _remove_pad when stopped for
900         backward compatibility protect ::started with PAD_LOCK as
901         well.
903 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
905         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
906         (gst_structure_parse_value):
907           add some comments
908           rename a method so that it actually says what it does better
910 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
912         * gst/gstevent.c: (_gst_event_initialize):
913         * gst/gstformat.c: (_gst_format_initialize):
914           make sure some essential types used by events are registered
915           as part of gst_init()
916         * gst/gstvalue.c: (gst_value_serialize_flags):
917           if no flags are set, serialize them to a value that represents NONE
918           so that deserializing them works
919         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
920           add tests for serialization and deserialization of flags
922 2006-05-10  Wim Taymans  <wim@fluendo.com>
924         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
925         (gst_collect_pads_collect_range), (gst_collect_pads_available),
926         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
927         (gst_collect_pads_event), (gst_collect_pads_chain):
928         Update docs.
929         Better debug info.
930         Catch and return errors from the collect function
931         Refuse data on eos pads.
933 2006-05-10  Edward Hervey  <edward@fluendo.com>
935         * gst/gstinterface.h:
936         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
937         GInterface type checking.
938         They were previously using non-defined macros.
940 2006-05-09  Wim Taymans  <wim@fluendo.com>
942         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
943         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
944         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
945         (gst_collect_pads_start), (gst_collect_pads_stop),
946         (gst_collect_pads_peek), (gst_collect_pads_pop),
947         (gst_collect_pads_available), (gst_collect_pads_read),
948         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
949         (gst_collect_pads_is_collected), (gst_collect_pads_event),
950         (gst_collect_pads_chain):
951         * libs/gst/base/gstcollectpads.h:
952         Clean up the mess that is collectpads, add comments and
953         FIXMEs where needed.
954         Maintain a separate pad list so we can add pads while
955         collecting the other ones. For this we need a new separate 
956         lock (see comics).
957         Fix memory leak in finalize.
958         Refactor some weird code to set/unset pad flushing flags, mark
959         with comments.
960         Don't crash in _available, _read, _flush when we're EOS.
962         * tests/check/libs/.cvsignore:
963         Ignore adapter check binary.
965 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
967         * gst/gstindex.c: (gst_index_resolver_get_type):
968         * plugins/elements/gstfakesink.c:
969         (gst_fake_sink_state_error_get_type):
970         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
971         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
972         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
973           Const-ify GEnumValue arrays.
975 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
977         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
978           Add test case for flags + gst_buffer_make_metadata_writable().
980 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
982         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
983           gst_buffer_make_metadata_writable() should maintain the
984           buffer flags (those that make sense at least) (see #340859).
986 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
988         * tools/gst-inspect.c:
989         * tools/gst-launch.c:
990         * tools/gst-typefind.c:
991         * tools/gst-xmlinspect.c:
992         * tools/tools.h:
993           Fix up includes: need to include stdlib.h in tools.h for exit().
995 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
997         * gst/gsttaglist.c: (_gst_tag_initialize):
998         * gst/gsttaglist.h:
999           API: add GST_TAG_IMAGE tag (#340721).
1001 2006-05-08  Wim Taymans  <wim@fluendo.com>
1003         * gst/gstquery.c:
1004         Added some docs for the segment query.
1006 2006-05-08  Wim Taymans  <wim@fluendo.com>
1008         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1009         (gst_base_src_loop), (gst_base_src_change_state):
1010         Always push non-flushing serialized events in the streaming 
1011         thread.
1013 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1015         * gst/gsterror.c: (_gst_stream_errors_init):
1016           Add a missing error string.
1018 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1020         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1021         Add applied_rate to the debug
1023         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1024         Copy applied_rate into the outgoing NEWSEGMENT event
1026 2006-05-08  Wim Taymans  <wim@fluendo.com>
1028         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1030         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1031         (gst_base_sink_change_state):
1032         call ::unlock before taking the PREROLL_LOCK so we can safely
1033         handle elements that lock in ::render.
1034         Fixes #340174.
1036 2006-05-08  Edward Hervey  <edward@fluendo.com>
1038         * autogen.sh: (CONFIGURE_DEF_OPT): 
1039         Darwin's libtoolize is in fact called glibtoolize.
1040         Adding glibtoolize to the list of accepted names for libtoolize.
1042 2006-05-08  Wim Taymans  <wim@fluendo.com>
1044         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1045         Unify error handling, don't post an error message
1046         when a push() returns EOS but perform our normal EOS
1047         handling code. Fixes #340772.
1049 2006-05-08  Wim Taymans  <wim@fluendo.com>
1051         * docs/design/part-overview.txt:
1052         Make upsteam/downstream concepts more clear.
1053         Give an example of serialized/non-serialized events.
1055         * docs/design/part-events.txt:
1056         * docs/design/part-streams.txt:
1057         Mention applied_rate.
1059         * docs/design/part-trickmodes.txt:
1060         Mention applied rate, flesh out some more use cases.
1062         * gst/gstevent.c: (gst_event_new_new_segment),
1063         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1064         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1065         (gst_event_parse_tag), (gst_event_new_buffer_size),
1066         (gst_event_parse_buffer_size), (gst_event_new_qos),
1067         (gst_event_parse_qos), (gst_event_parse_seek),
1068         (gst_event_new_navigation):
1069         * gst/gstevent.h:
1070         Add applied_rate field to NEWSEGMENT event.
1071         API: gst_event_new_new_segment_full()
1072         API: gst_event_parse_new_segment_full()
1074         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1075         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1076         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1077         * gst/gstsegment.h:
1078         Add applied_rate to GstSegment structure.
1079         Make calculation of stream_time and running_time more correct
1080         wrt rate/applied_rate.
1081         Add some more docs.
1082         API: GstSegment::applied_rate field
1083         API: gst_segment_set_newsegment_full();
1085         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1086         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1087         * libs/gst/base/gstbasetransform.c:
1088         (gst_base_transform_sink_eventfunc),
1089         (gst_base_transform_handle_buffer):
1090         Parse and use applied_rate in the GstSegment field.
1092         * tests/check/gst/gstevent.c: (GST_START_TEST):
1093         Add check for applied_rate field.
1095         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1096         (gstsegments_suite):
1097         Add more checks for various GstSegment operations.
1099 2006-05-08  Wim Taymans  <wim@fluendo.com>
1101         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1102         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1103         (gst_base_sink_get_position), (gst_base_sink_change_state):
1104         Store the sync time of the buffer end position separatly in a
1105         new variable eos_rtime so we can properly sync the EOS event.
1106         Fixes #340697.
1107         Fix the docs for gst_base_sink_set_qos_enabled().
1108         Don't set segment start to invalid value when we receive a 
1109         non TIME newsegment.
1110         get closer to handling position reporting for negative rates 
1111         correctly.
1113 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1115         * gst/gstcaps.c:
1116         Docs about how to print caps for debug purposes.
1118         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1119         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1121 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1123         * gst/gstelement.c:
1124           use full enum names and preprend a '%' in docs strings to make recent 
1125           gtk-doc turn that into a link
1127 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1129         * docs/manual/basics-bins.xml:
1130         * docs/manual/basics-bus.xml:
1131         * docs/manual/basics-pads.xml:
1132           Some typo fixes, some additions, some clarifications. 
1134 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1136         * tools/gst-inspect.c: (main):
1137         * tools/gst-launch.c: (main):
1138         * tools/gst-run.c: (main):
1139         * tools/gst-typefind.c: (main):
1140         * tools/gst-xmlinspect.c: (main):
1141           Use the string passed to g_option_context_new() for
1142           what it's intended for - the program name is already
1143           printed elsewhere.
1145 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1147         * tools/Makefile.am:
1148         * tools/gst-inspect.c: (main):
1149         * tools/gst-launch.c: (main):
1150         * tools/gst-xmlinspect.c: (main):
1151         * tools/tools.h:
1152           Add back --version command line option (#340460).
1154         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1155           Add --version option and use GOption for argument parsing; refactor a
1156           bit; accept directories as arguments and recurse into them; lastly,
1157           print a decent error message when things go wrong.
1159 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1161         * docs/manual/basics-bins.xml:
1162         Don't mention GstThread (#340611)
1163         * docs/manual/basics-elements.xml:
1164         Update link to GObject tutorial (#340607)
1165         
1166 2006-05-05  Wim Taymans  <wim@fluendo.com>
1168         * gst/gstbuffer.h:
1169         * gst/gstminiobject.c:
1170         Add note about refcounting and miniobject/buffer writeability
1171         to docs. Fixes #340604
1173         * gst/gstelementfactory.h:
1174         Added some explanation about @klass.
1176 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1178         * docs/manual/intro-motivation.xml:
1179         * docs/manual/manual.xml:
1180         Avoid CORBA & Bonobo references (#340598)
1182 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1184         * docs/manual/basics-bus.xml:
1185         * docs/manual/basics-pads.xml:
1186         Fix up some inaccuracies and omissions (#340609)
1187         
1188 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1190         * gst/gstghostpad.c:
1191           Small typo in docs (#340625)
1193 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1195         * gst/parse/Makefile.am:
1196           Make 'make -j' proof (see #340698).
1198 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1200         * configure.ac:
1201           Require GLib-2.8 here as well.
1203 2006-05-05  Wim Taymans  <wim@fluendo.com>
1205         * gst/glib-compat.c:
1206         * gst/gst.c: (init_pre):
1207         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1208         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1209         (gst_object_dispatch_properties_changed):
1210         * gst/gstobject.h:
1211         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1212         * gst/gststructure.c: (gst_structure_set_valist):
1213         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1214         Remove pre glib2.8 compatibility, fixes #340508
1216 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1218         * gst/gsttaglist.h:
1219           Mention type of tags in doc blurbs.
1221 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1223         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1224         (gst_pad_configure_src), (gst_pad_push):
1225         Restore acceptcaps checking behaviour now that good plugins have
1226         been released.
1228 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1230         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1232         * gst/gst.c:
1233         * gst/gstbus.c:
1234         * gst/gstclock.c:
1235         * gst/gstevent.c:
1236         * gst/gstformat.c:
1237         * gst/gstmessage.c:
1238         * gst/gstparse.c:
1239         * gst/gstquery.c:
1240         * gst/gstutils.c:
1241         * gst/parse/Makefile.am:
1242         * libs/gst/base/gstadapter.c:
1243         * libs/gst/base/gstbasesrc.c:
1244         * libs/gst/base/gstpushsrc.c:
1245         * libs/gst/base/gsttypefindhelper.c:
1246         * plugins/elements/gstfakesrc.c:
1247         * plugins/elements/gstidentity.c:
1248           Make sure gstprivate.h and/or config.h are
1249           always included first, otherwise some of our
1250           defines (like _FILE_OFFSET_BITS) might be
1251           redefined in the system headers. Fixes build
1252           on opensolaris (#340016).
1254 2006-05-04  Wim Taymans  <wim@fluendo.com>
1256         * docs/libs/gstreamer-libs-sections.txt:
1257         API: addition: gst_adapter_take_buffer()
1258         
1259         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1260         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1261         (gst_adapter_available_fast):
1262         * libs/gst/base/gstadapter.h:
1263         Prepare for optimizing the hell out of this hugely inefficient
1264         piece of code. 
1265         Added gst_adapter_take_buffer() so we can at least start thinking
1266         about subbuffering and merging.
1267         Added some comments.
1269         * tests/check/Makefile.am:
1270         * tests/check/libs/adapter.c: (GST_START_TEST),
1271         (gst_adapter_suite), (main):
1272         Added GstAdapter check.
1274 2006-05-04  Wim Taymans  <wim@fluendo.com>
1276         * docs/design/part-overview.txt:
1277         Fix some typos, add blurb about buffer flags.
1279 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1281         * docs/libs/gstreamer-libs-sections.txt:
1282           make sure GstBaseTransformClass shows up in the docs
1283         * libs/gst/base/gstbasetransform.c:
1284         * libs/gst/base/gstbasetransform.h:
1285           move docs so gtk-doc picks it up now
1287 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1289         * docs/libs/gstreamer-libs-sections.txt:
1290           add missing symbols to docs
1292 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1294         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1295           back out the newsegment handling change, see #340060 for ongoing
1296           discussion
1298 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1300         * tools/gst-run.c: (get_candidates), (main):
1301           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1302           work); fix typo in error message. Fixes #340079.
1304 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1306         * common/Makefile.am:
1307         * docs/Makefile.am:
1308         * docs/faq/Makefile.am:
1309         * docs/gst/Makefile.am:
1310         * docs/libs/Makefile.am:
1311         * docs/manual/Makefile.am:
1312         * docs/plugins/Makefile.am:
1313         * docs/pwg/Makefile.am:
1314         * docs/slides/Makefile.am:
1315         * docs/upload.mak:
1316         * common/upload.mak:
1317           move upload.mak to common
1319 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1321         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1322           add more asserts on refcounts
1323           do more cleanup at end of tests
1324           fix test leaks showing in FC5
1326 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1328         * plugins/elements/gsttypefindelement.c:
1329         (gst_type_find_element_handle_event):
1330         reverted wrong change and reflowed code to avoid others falling into
1331         this trap
1333 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1335         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1336           fix changelog entry about last collectpads change,
1337           add notes about proper fix
1339 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1341         * gst/gst.c:
1342         * gst/gstregistry.c: (gst_registry_scan_path_level),
1343         (gst_registry_scan_path):
1344         * gst/gstregistry.h:
1345           only write out registry if it has changed, fixes #338339
1347 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1349         * gst/gstbin.c:
1350         * gst/gstpipeline.c:
1351         * plugins/elements/gstcapsfilter.c:
1352         * plugins/elements/gstfakesink.c:
1353         * plugins/elements/gstfakesrc.c:
1354         * plugins/elements/gstfdsink.c:
1355         * plugins/elements/gstfdsrc.c:
1356         * plugins/elements/gstfilesink.c:
1357         * plugins/elements/gstfilesrc.c:
1358         * plugins/elements/gstidentity.c:
1359         * plugins/elements/gstqueue.c:
1360         * plugins/elements/gsttee.c:
1361         * plugins/elements/gsttypefindelement.c:
1362         (gst_type_find_element_handle_event):
1363           make GstElementDetails const
1365 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1367         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1368         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1369         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1370           more detailed debug and formatting cleanup,
1371           forward newsegments to src-pad (so that e.g. adder not eats them)
1373 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1375         * gst/gstutils.c: (gst_element_link_pads):
1376           cleanup double code
1378 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1380         * libs/gst/controller/gstcontroller.c:
1381         (gst_controller_sync_values):
1382           some little tuning
1383         * tests/check/libs/controller.c: (GST_START_TEST),
1384         (gst_controller_suite):
1385           a new test for live value handling
1387 2006-04-28  Wim Taymans  <wim@fluendo.com>
1389         * gst/gstutils.c: (push_and_ref):
1390         Added some more docs.
1391         Fix refcount issue whith gst_element_found_tags() helper 
1392         function. Fixes #338335
1394         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1395         Added testsuite for gst_element_found_tags().
1397 2006-04-28  Michael Smith  <msmith@fluendo.com>
1399         * gst/gstvalue.c: (gst_value_serialize_flags):
1400           Avoid NULL dereference when trying to serialize flags containing
1401           invalid values.
1403 2006-04-28  Michael Smith  <msmith@fluendo.com>
1405         * plugins/elements/gsttypefindelement.c:
1406         (gst_type_find_element_handle_event):
1407           If we get EOS before any data is accumulated, don't use
1408           uninitialised local variables.
1410 2006-04-28  Michael Smith  <msmith@fluendo.com>
1412         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1413         (gst_dp_event_from_packet):
1414           Fixes in reading/writing events over GDP (not currently used?) - 
1415           dereferencing NULL events for unknown/invalid event types, memory
1416           leak, and change g_warning to GST_WARNING.
1418 2006-04-28  Wim Taymans  <wim@fluendo.com>
1420         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1421         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1422         (gst_base_sink_get_position), (gst_base_sink_change_state):
1423         When frame dropping is enabled, we should not ignore frames
1424         without a duration.
1425         Update some documentation.
1427 2006-04-28  Wim Taymans  <wim@fluendo.com>
1429         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1430         (gst_base_src_send_event), (gst_base_src_change_state):
1431         Documentation updates.
1433 2006-04-28  Wim Taymans  <wim@fluendo.com>
1435         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1436         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1437         handle EAGAIN, EINTR and short writes correctly. Also clean
1438         up some error cases, avoid a deadlock on bad file descriptors and
1439         use GST_DEBUG_OBJECT.
1440         Fixes #339843
1442 2006-04-28  Wim Taymans  <wim@fluendo.com>
1444         * gst/gstvalue.c: (gst_value_serialize_buffer),
1445         (gst_value_deserialize_buffer):
1446         Don't try to serialize a GValue with a NULL buffer. 
1447         Fixes #339821.
1449         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1450         Added check for serialisation of NULL buffers.
1452 2006-04-28  Wim Taymans  <wim@fluendo.com>
1454         * gst/gstminiobject.c: (gst_value_take_mini_object):
1455         Taking a NULL miniobject is valid, fix the case where
1456         we try to unref the NULL miniobject.
1458 2006-04-28  Wim Taymans  <wim@fluendo.com>
1460         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1462         * gst/gstbin.c: (gst_bin_handle_message_func):
1463         Update docs.
1464         Don't leak bin refcount when a state recalc is
1465         in progress and we delay another one #339808.
1467 2006-04-28  Wim Taymans  <wim@fluendo.com>
1469         * docs/design/part-TODO.txt:
1470         Mention QoS as an ongoing work item.
1472         * docs/design/part-buffering.txt:
1473         New doc about buffering that needs to be fleshed out
1474         at some point.
1476         * docs/design/part-qos.txt:
1477         More QoS policy for decoders/demuxers/transforms
1479         * docs/design/part-trickmodes.txt:
1480         Small update.
1482 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1484         * configure.ac:
1485           back to HEAD
1487 === release 0.10.5 ===
1489 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1491         * configure.ac:
1492           releasing 0.10.5, "Fogo"
1494 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1496         patch by: Wim Taymans
1498         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1499         (gst_pad_configure_src), (gst_pad_push):
1500         * gst/gstpipeline.c: (gst_pipeline_init):
1501           Fix internal data flow errors.  Fixes #338711.
1503 2006-04-12  Wim Taymans  <wim@fluendo.com>
1505         * tests/check/gst/gstelement.c: (GST_START_TEST):
1506         Don't leak the factory.
1508 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1510         * configure.ac:
1511         * win32/common/config.h:
1512           prerelease
1514 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1516         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1517         (gst_controller_unset_all):
1518           Free allocated GstTimedValues when freeing list nodes.
1519           Should fix leaks 'make check-valgrind' complains about.
1521         * win32/common/libgstcontroller.def:
1522           Add gst_controller_unset_all.
1524 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1526         * docs/libs/gstreamer-libs-sections.txt:
1527         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1528         (gst_controller_unset_all):
1529         * libs/gst/controller/gstcontroller.h:
1530         API: Added new method gst_controller_unset_all()
1531         fixed gst_controller_unset()
1532         * tests/check/libs/controller.c: (GST_START_TEST),
1533         (gst_controller_suite):
1534         Added two testcases for new and fixed method
1536 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1538         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1539           MSG_DONTWAIT is not defined on Cygwin, so work
1540           around that (fixes #317048).
1541           
1542 2006-04-11  Wim Taymans  <wim@fluendo.com>
1544         * gst/gstelementfactory.c: (gst_element_register),
1545         (gst_element_factory_create), (gst_element_factory_make):
1546         Some cleanups.
1547         Fixed a FIXME.
1548         Updated docs (Fixes #131079)
1550         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1551         Small cleanups.
1553         * tests/check/gst/gstelement.c: (GST_START_TEST),
1554         (gst_element_suite):
1555         Added testcase for elementfactory class field.
1557 2006-04-10  Wim Taymans  <wim@fluendo.com>
1559         * gst/gstsegment.c:
1560         Added some more docs.
1562         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1563         (gst_base_sink_reset_qos):
1564         Calculate more accurate rate values.
1566 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1568         * gst/gst_private.h:
1569           add a new #ifdef to use __declspec(dllimport) only for
1570           other modules and not for gstreamer core
1571         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1572           use gst_guint64_to_gdouble for conversion
1573         * win32/common/libgstreamer.def:
1574           add new exported functions
1575         * win32/vs6/gst_inspect.dsp:
1576         * win32/vs6/gst_launch.dsp:
1577         * win32/vs6/libgstbase.dsp:
1578         * win32/vs6/libgstcontroller.dsp:
1579         * win32/vs6/libgstcoreelements.dsp:
1580         * win32/vs6/libgstdataprotocol.dsp:
1581         * win32/vs6/libgstnet.dsp:
1582           update project files
1584 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1586         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1587         * gst/gstclock.c: (gst_clock_class_init):
1588         * gst/gstelement.c: (gst_element_class_init):
1589         * gst/gstindex.c: (gst_index_class_init):
1590         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1591         * gst/gstobject.c: (gst_object_class_init),
1592         (gst_signal_object_class_init):
1593         * gst/gstpad.c: (gst_pad_class_init):
1594         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1595         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1596         * gst/gstregistry.c: (gst_registry_class_init):
1597         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1598         * gst/gsttask.c: (gst_task_class_init):
1599         * gst/gstxml.c: (gst_xml_class_init):
1600         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1601         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1602         (gst_base_src_loop):
1603         * libs/gst/controller/gstcontroller.c:/
1604         (_gst_controller_class_init):
1605         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1606         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1607         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1608         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1609         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1610         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1612 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1614         * gst/gstpad.c: (gst_pad_link):
1615           Must set peer pads before calling the link function, otherwise
1616           a task started from a link function might get a flow-not-linked
1617           result when trying to push because the other thread where the
1618           linking happens hasn't had a chance to set the peers yet. This
1619           might happen for example when a queue gets linked to a downstream
1620           element, as queue starts a streaming task when its source pad
1621           gets linked. Happens in real life when playing back flac/musepack
1622           files in playbin (#332390).
1623           
1624 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1626         * gst/gstindex.h:
1627         * gst/gstxml.h:
1628         * libs/gst/base/gstadapter.h:
1629         * libs/gst/base/gstbasesink.h:
1630         * libs/gst/base/gstbasesrc.h:
1631         * libs/gst/base/gstbasetransform.h:
1632         * libs/gst/base/gstcollectpads.h:
1633         * libs/gst/base/gstpushsrc.h:
1634         Fix broken GObject macros
1636 2006-04-07  Wim Taymans  <wim@fluendo.com>
1638         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1639         Initialize start and stop times, thanks valgrind.
1641 2006-04-07  Wim Taymans  <wim@fluendo.com>
1643         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1644         Be a bit nicer to badly behaving upstream elements that expect
1645         us to deal with non TIME segments and timestamps (such as fakesrc
1646         in the testsuite).
1648 2006-04-07  Wim Taymans  <wim@fluendo.com>
1650         * gst/gstbus.c:
1651         Small documentation clarification about the signal watch.
1653         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1654         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1655         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1656         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1657         (gst_base_sink_get_position_last),
1658         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1659         Convert and store timestamps in stream time and running time, the
1660         raw timestamps are not usefull, also document this better.
1661         Use different window sizes for good and bad QoS observations so
1662         we react to badness a little quicker.
1663         Keep track of the amount of rendered and dropped buffers.
1664         Send QoS timestamps in running time.
1666         * libs/gst/base/gstbasetransform.c:
1667         (gst_base_transform_sink_eventfunc),
1668         (gst_base_transform_handle_buffer):
1669         Compare QoS timestamps against running time.
1671 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1673         * gst/gstpad.c:
1674           Typo fixes in docs.
1676 2006-04-06  Michael Smith  <msmith@fluendo.com>
1678         * gst/gstpad.c: (gst_pad_set_property):
1679           Use g_value_get_object() instead of g_value_dup_gst_object(),
1680           to avoid double-reffing the pad template (which we then sink,
1681           so this worked previously if (and only if) the pad template
1682           was floating.
1684         * gst/gstpadtemplate.c: (gst_pad_template_init),
1685         (gst_pad_template_pad_created):
1686           Never return floating references to pad templates, create
1687           them as initially-sunken.
1689           Document an extra function (and make this stop sinking our
1690           pad template, since that is now guaranteed to do nothing,
1691           since we created it sunken).
1693         * gst/gstghostpad.c:
1694           Fix docs typo.
1696 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1698         * gst/gstinfo.c: (__gst_in_valgrind):
1699           Add some newlines.
1701         * plugins/elements/gsttypefindelement.c:
1702         (gst_type_find_element_chain):
1703           Don't leak buffer caps.
1705 2006-04-06  Michael Smith  <msmith@fluendo.com>
1707         * gst/parse/grammar.y:
1708           Fix a leak in parse-launch for any source-or-sink named element 
1709           references used.
1711         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1712           Unref the pipeline if it exists after we've failed parsing.
1714 2006-04-05  Michael Smith  <msmith@fluendo.com>
1716         * gst/gstpipeline.c: (gst_pipeline_init):
1717           When we create a pipeline bus, initially create it in flushing mode.
1718           Fixes leaks in at least one test, and makes a new pipeline work the
1719           same as one that has gone to READY and then back to NULL.
1721         * gst/gstelement.c:
1722           Typo fix in docs.
1724 2006-04-05  Michael Smith  <msmith@fluendo.com>
1726         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1727           Unref a pad we reffed.
1728         * tests/check/gst/gstutils.c: (GST_START_TEST):
1729           Unref bins
1731 2006-04-05  Michael Smith  <msmith@fluendo.com>
1733         * gst/gstquery.c: (gst_query_set_formats),
1734         (gst_query_set_formatsv):
1735           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1737 2006-04-05  Michael Smith  <msmith@fluendo.com>
1739         * tests/check/generic/sinks.c: (GST_START_TEST):
1740           Fix a variety of memleaks in sinks check, which are only sometimes 
1741           shown by running the tests under valgrind (weird?).
1743 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1745         * docs/version.entities.in:
1746           Fix the substituted entity name after thomas' changes on the
1747           weekend.
1749 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1751         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1752         VALGRIND_PRINTF
1753         
1754 2006-04-05  Andy Wingo  <wingo@pobox.com>
1756         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1758         * libs/gst/base/gstbasetransform.c
1759         (gst_base_transform_sink_eventfunc): When resetting our segment on
1760         FLUSH_STOP, also update the flag saying we haven't seen a
1761         newsegment.
1763 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1765         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1767         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1768         (gst_plugin_check_license):
1769           minor clean-ups: G_DEFINE_TYPE already takes care of the
1770           parent_class stuff, no need to do it twice. Mark array of
1771           license strings as constant. (#337103)
1772           
1773 2006-04-04  Michael Smith  <msmith@fluendo.com>
1775         * tools/gst-inspect.c: (print_element_list):
1776           Free the right plugin list; fixes a memory leak.
1778 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1780         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1782         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1783           Don't error out on empty buffers (#336945).
1784           
1785 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1787         * docs/libs/gstreamer-libs-sections.txt:
1788         * gst/gsttaglist.c:
1789         * libs/gst/base/gstbasesink.c:
1790         * libs/gst/base/gstbasesink.h:
1791         * libs/gst/base/gstbasesrc.c:
1792         * libs/gst/base/gstbasesrc.h:
1793           Documentation updates. Make BaseSink and BaseSrc docs contain the
1794           class structure so that people can actually see the prototypes for
1795           virtual functions they're supposed to be overriding.
1797 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1799         * plugins/elements/gsttypefindelement.c:
1800         (gst_type_find_element_chain):
1801           More debug info; when skipping typefinding, send cached
1802           events in all cases.
1804 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1806         * configure.ac:
1807           use new AS_VERSION and AS_NANO macros
1808         * gst/gst-i18n-lib.h:
1809         * gst/gst.c:
1810         * gst/gsterror.c:
1811         * gst/gstversion.h.in:
1812         * win32/common/config.h:
1813         * win32/common/config.h.in:
1814           update accordingly
1816 2006-03-31  Michael Smith  <msmith@fluendo.com>
1818         * plugins/elements/gsttypefindelement.c:
1819         (gst_type_find_element_chain):
1820           Do not typefind content if the buffers already have caps.
1821           Neccesary for icydemux (#333657), and the right thing to do anyway.
1823 2006-03-30  Wim Taymans  <wim@fluendo.com>
1825         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1826         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1827         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1828         (gst_base_sink_record_qos_observation),
1829         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1830         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1831         (gst_base_sink_change_state):
1832         More QoS measurements as described in the design doc.
1833         Get rid of ringbuffer with observations, running average is
1834         more simple and equally good.
1835         Calculates valid proportion now.
1836         Added beginning of flood measurement.
1838 2006-03-29  Wim Taymans  <wim@fluendo.com>
1840         * docs/design/part-qos.txt:
1841         * gst/gstclock.c:
1842         Small documentation updates and additions.
1844 2006-03-29  Wim Taymans  <wim@fluendo.com>
1846         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1847         (gst_base_src_send_event), (gst_base_src_loop),
1848         (gst_base_src_change_state):
1849         Perform the EOS logic when we reach the segment stop position.
1850         Fix compilation on gcc4.1
1852 2006-03-29  Wim Taymans  <wim@fluendo.com>
1854         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1856         * plugins/elements/gstqueue.c: (gst_queue_init),
1857         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1858         (gst_queue_set_property):
1859         * plugins/elements/gstqueue.h:
1860         In queue, when EOS is received, if minimum threshold > max_size -
1861         current_level, there is chance that queue blocks forever in conditional
1862         item del wait. This is because the queue is not emptied completely due
1863         to minimum threshold.  Here is another approach. Instead of setting
1864         cur_levels to max in EOS, just zero all minimum threshold levels. This
1865         should make sure that queue gives out all data. When going to READY
1866         (stop) state, just reset the original minimum threshold levels.
1867         Fixes #336336.
1869 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1871         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1872         (gst_type_find_element_handle_event),
1873         (gst_type_find_element_send_cached_events),
1874         (gst_type_find_element_change_state):
1875         * plugins/elements/gsttypefindelement.h:
1876           When typefinding is done in push mode, we should cache
1877           events we receive during typefinding instead of just
1878           dropping them (e.g. newsegment, custom events from
1879           dvdreadsrc etc.) and then send them out once we've
1880           determined the type of the stream (and decodebin
1881           has had a chance to plug in a decoder/demuxer).
1882           
1883 2006-03-27  Wim Taymans  <wim@fluendo.com>
1885         * docs/design/part-qos.txt:
1886         First QoS ideas.
1888 2006-03-27  Wim Taymans  <wim@fluendo.com>
1890         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1892         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1893         (gst_base_src_send_event), (gst_base_src_change_state):
1894         Handle element seek correctly when we are streaming.
1895         Fixes #326998.
1897 2006-03-24  Michael Smith  <msmith@fluendo.com>
1899         * docs/faq/gst-uninstalled:
1900           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1901           allow you to correctly run intalled applications built against old 
1902           core, using plugins that require updated core (e.g. running
1903           installed totem against a full uninstalled gstreamer stack)
1905 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1907         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1908         more debug details
1910 2006-03-24  Wim Taymans  <wim@fluendo.com>
1912         * docs/gst/gstreamer-sections.txt:
1913         Rearrange the order of the methods so that related methods
1914         are grouped together in sections.
1916 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1918         * gst/gstelement.c:
1919           Little clarification in the docs
1921 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1923         * docs/README:
1924         formatting fix
1925         * plugins/elements/gstidentity.c:
1926         * plugins/elements/gstqueue.c:
1927         * plugins/elements/gsttee.c:
1928         * plugins/elements/gsttypefindelement.c:
1929         GST_ELEMENT_DETAILS formatting
1931 2006-03-24  Wim Taymans  <wim@fluendo.com>
1933         * libs/gst/base/gstbasesink.h:
1934         Only add fields, not insert or we break ABI.
1936 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1938         * win32/common/libgstbase.def:
1939         * win32/common/libgstreamer.def:
1940           Update, add recently added functions.
1942 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1944         * docs/gst/gstreamer-sections.txt:
1945         * gst/gstutils.c: (gst_pad_query_peer_position),
1946         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1947         * gst/gstutils.h:
1948           API: add some new utility functions:
1949            - gst_pad_query_peer_position()
1950            - gst_pad_query_peer_duration()
1951            - gst_pad_query_peer_convert()
1952           
1953 2006-03-23  Wim Taymans  <wim@fluendo.com>
1955         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1956         (gst_base_sink_init), (gst_base_sink_finalize),
1957         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1958         (gst_base_sink_set_property), (gst_base_sink_get_property),
1959         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1960         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1961         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1962         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1963         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1964         (gst_base_sink_preroll_object), (gst_base_sink_event),
1965         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1966         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1967         (gst_base_sink_query), (gst_base_sink_change_state):
1968         Decouple max-lateness and the fact that QoS messages are generated
1969         with a new property (qos).
1970         added API: GstBaseSink::async_play()
1971         Add vmethod so subclasses can be notified of ASYNC playing
1972         state changes.
1973         Collect timestamp start and stop to report better current
1974         position in EOS/PLAYING/PAUSED/READY/NULL.
1975         Refactor QoS/frame dropping and other measurements.
1976         API: GstBaseSrc::qos
1977         Fixes #326311
1979         * libs/gst/base/gstbasesink.h:
1980         Added Private struct.
1981         API: gst_base_sink_set_qos_enabled()
1982         API: gst_base_sink_is_qos_enabled()
1984 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1986         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1987           If compiling against GLib-2.8 or newer, try to read the
1988           registry file using GMappedFile first before falling back
1989           to fopen() + fread() (#332151).
1991 2006-03-22  Wim Taymans  <wim@fluendo.com>
1993         * gst/gstinfo.c: (gst_debug_set_active),
1994         (gst_debug_category_set_threshold):
1995         Disable debugging unless explicitly activated.
1996         Fixes #335480.
1998 2006-03-22  Wim Taymans  <wim@fluendo.com>
2000         * gst/gstelement.c: (gst_element_set_locked_state),
2001         (gst_element_dispose):
2002         Cleanup the error case.
2004         * gst/gstobject.c: (gst_object_dispose):
2005         print a critical when some object was disposed with
2006         a parent, also revive the object since it might
2007         crash the parent.
2009 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2011         * tools/gst-launch.1.in:
2012           Fix another typo.
2014 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2016         * configure.ac:
2017         * tests/check/Makefile.am:
2018           disable some tests when we don't have a registry
2019         * tests/check/gst/gstutils.c: (gst_utils_suite):
2020           don't build the part that needs parsing
2022 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2024         * gst/Makefile.am
2025         * tests/examples/Makefile.am:
2026           fix --disable-parse build
2028 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2030         * tools/gst-feedback.1.in:
2031           Fix typo: s/feeback/feedback/ (#133494).
2033 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2035         * tools/Makefile.am:
2036         * tools/gst-launch.1.in:
2037           Add FILES section and correct entry about GST_REGISTRY_PATH
2038           environment variable (#133495; #133494).
2040 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2042         * tools/Makefile.am:
2043         * tools/gst-md5sum.1.in:
2044         * tools/gst-md5sum.c:
2045           Remove gst-md5sum and man page (the md5sink element
2046           required was removed ages ago)
2048 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2050         * gst/gststructure.c: (gst_structure_id_set_value):
2051           Make sure that string fields in structures/taglists
2052           contain valid UTF-8 - we don't want to pass rubbish to
2053           applications because of a buggy plugin (cp. #334167).
2055 2006-03-21  Edward Hervey  <edward@fluendo.com>
2057         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2058         (gst_bin_handle_message_func):
2059         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2060         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2061         (gst_element_set_bus_func):
2062         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2063         * gst/gstminiobject.c: (gst_value_set_mini_object),
2064         (gst_value_take_mini_object):
2065         * gst/gstpad.c: (gst_pad_set_pad_template):
2066         * gst/gstpipeline.c: (gst_pipeline_dispose),
2067         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2068         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2069         (gst_collect_pads_chain):
2070         * libs/gst/net/gstnettimeprovider.c:
2071         (gst_net_time_provider_set_property):
2072         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2073         It's in fact all issues with gst_*object_replace().
2075 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2077         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2078         
2079         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2080         * pkgconfig/gstreamer-check.pc.in:
2081           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2083 2006-03-21  Edward Hervey  <edward@fluendo.com>
2085         * gst/gstbuffer.h:
2086         * gst/gstevent.h:
2087         * gst/gstmessage.h:
2088         gst_[buffer|event|message]_ref() macros are replaced by a static
2089         inline functions because gcc-4.1 will about if the return value
2090         isn't used.
2091         * tests/check/gst/gstevent.c: (event_probe):
2092         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2094 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2096         * gst/gstutils.h:
2097         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2098         the type' case. (Closes: #335195 for now). In the future, when we
2099         depend on GLib 2.10, we could also intern the type name using
2100         g_intern_static_string()
2102 2006-03-20  Wim Taymans  <wim@fluendo.com>
2104         * gst/gstbin.c: (gst_bin_handle_message_func),
2105         (bin_query_max_init), (bin_query_position_fold),
2106         (bin_query_position_done), (gst_bin_query):
2107         Position query should also take max of all streams.
2109 2006-03-20  Wim Taymans  <wim@fluendo.com>
2111         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2112         (gst_fake_src_finalize):
2113         Fix leaks in fakesrc.
2115         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2116         Fix leaks in the testcase.
2118 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2120         * gst/gst_private.h:
2121           add win32 specific import decoration(__declspec(dllimport)) 
2122           for all extern GstDebugCategory * variables
2123         * win32/common/libgstbase.def:
2124         * win32/common/libgstcontroller.def:
2125         * win32/common/libgstreamer.def:
2126           Add some exports, remove empty lines
2127         * win32/common/libgstdataprotocol.def:
2128         * win32/common/libgstdataprotocol.dsp:
2129         * win32/common/libgstnet.def:
2130         * win32/common/libgstnet.dsp:
2131           new project files and exportation files added
2132         
2133 2006-03-19  Wim Taymans  <wim@fluendo.com>
2135         * tests/check/libs/basesrc.c: (eos_event_counter):
2136         Use proper return value for probe.
2138 2006-03-17  Wim Taymans  <wim@fluendo.com>
2140         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2141         (gst_pad_push):
2142         Don't leak buffers, caps and pads on negotiation errors.
2144 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2146         * docs/faq/cvs.xml:
2147         * docs/faq/dependencies.xml:
2148         * docs/faq/developing.xml:
2149         * docs/faq/faq.xml:
2150         * docs/faq/general.xml:
2151         * docs/faq/getting.xml:
2152         * docs/faq/legal.xml:
2153         * docs/faq/troubleshooting.xml:
2154         * docs/faq/using.xml:
2155         Faq review and update.
2157 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2159         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2160         (gst_pad_push):
2161         Don't pound the cpu to pieces by checking get_caps when accept_caps
2162         is called with the same caps as the pad already has.
2163         Use GST_DEBUG_OBJECT when outputting caps change information.
2165 2006-03-15  Wim Taymans  <wim@fluendo.com>
2167         * gst/gstclock.c: (gst_clock_class_init):
2168         Fix docs.
2170 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2172         * gst/gstbuffer.h:
2173         Documentation fix.
2175         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2176         (gst_pad_accept_caps), (gst_pad_configure_sink),
2177         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2178         Make the default acceptcaps behaviour be to check the requested 
2179         caps against the gst_pad_get_caps output. 
2181         Ensure that gst_pad_accept_caps is used to check caps when a pad
2182         doesn't have a setcaps function, so that pads automatically refuse 
2183         caps that they don't allow in their pad template. (Fixes #332986)
2185         When a buffer with attached caps is pushed, ensure that the source 
2186         pad receives those caps even if the element didn't call
2187         gst_pad_set_caps first.
2189 2006-03-15  Wim Taymans  <wim@fluendo.com>
2191         * libs/gst/base/gstadapter.c:
2192         Add some docs.
2194 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2196         * win32/common/libgstbase.def:
2197         * win32/common/libgstcontroller.def:
2198         * win32/common/libgstreamer.def:
2199           Add a whole bunch of missing functions (#334434).
2201 2006-03-14  Wim Taymans  <wim@fluendo.com>
2203         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2204         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2205         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2206         Better debug info when we receive a segment event.
2207         Reorganize a bit so we can pass the get_times() results around.
2208         Use the segment format when calculating the running time.
2209         Don't do QoS is sync is disabled or we have no clock or the
2210         element does not want us to sync to the clock.
2211         Don't drop buffers if QoS is disabled for now.
2213 2006-03-14  Wim Taymans  <wim@fluendo.com>
2215         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2216         Marked the stats property as unimplemented so people don't get
2217         wild ideas.
2218         Add debug message when regression goes wrong.
2219         Added some more docs.
2221 2006-03-14  Wim Taymans  <wim@fluendo.com>
2223         * gst/gstsegment.c: (gst_segment_to_stream_time):
2224         Return correct return type in case of errors.
2226 2006-03-14  Wim Taymans  <wim@fluendo.com>
2228         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2229           Don't segfault on invalid formats.
2231 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2233         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2234           Can't use gst_segment_to_running_time() when the segment
2235           is not in GST_TIME_FORMAT (like with filesink, for example).
2236           Stops flac encoding pipelines from spewing critical warnings
2237           at EOS (#331248).
2238           
2239 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2241         * gst/gstpipeline.c: (gst_pipeline_class_init):
2242           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2244         * plugins/elements/gsttypefindelement.c:
2245         (gst_type_find_element_handle_event):
2246           Don't try to typefind empty streams.
2248 2006-03-14  Wim Taymans  <wim@fluendo.com>
2250         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2251         (gst_base_sink_do_qos):
2252         Separate QoS calculation.
2253         Only drop buffers when lateness is bigger than the 
2254         duration of the buffer.
2256 2006-03-13  Wim Taymans  <wim@fluendo.com>
2258         * gst/gstpipeline.c: (gst_pipeline_set_property),
2259         (gst_pipeline_get_property), (do_pipeline_seek),
2260         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2261         (gst_pipeline_get_delay):
2262         Don't deadlock when reading properties.
2264 2006-03-13  Wim Taymans  <wim@fluendo.com>
2266         * libs/gst/base/gstbasetransform.c:
2267         (gst_base_transform_class_init), (gst_base_transform_init),
2268         (gst_base_transform_sink_event),
2269         (gst_base_transform_sink_eventfunc),
2270         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2271         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2272         (gst_base_transform_set_property),
2273         (gst_base_transform_get_property),
2274         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2275         (gst_base_transform_set_qos_enabled),
2276         (gst_base_transform_is_qos_enabled):
2277         * libs/gst/base/gstbasetransform.h:
2278         Make basetransform virtual method for src events too.
2279         Handle QOS in basetransform.
2280         API: gst_base_transform_update_qos()
2281         API: gst_base_transform_set_qos_enabled()
2282         API: gst_base_transform_is_qos_enabled()
2284 2006-03-13  Wim Taymans  <wim@fluendo.com>
2286         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2287         (gst_base_sink_do_sync):
2288         Small cleanups.
2289         Use QOS debug category.
2291 2006-03-13  Wim Taymans  <wim@fluendo.com>
2293         * plugins/elements/gstqueue.c:
2294         Very small doc update.
2296 2006-03-13  Wim Taymans  <wim@fluendo.com>
2298         * gst/gst_private.h:
2299         * gst/gstinfo.c: (_gst_debug_init):
2300         Added QOS debug category
2302 2006-03-13  Wim Taymans  <wim@fluendo.com>
2304         * docs/gst/gstreamer-sections.txt:
2305         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2306         * gst/gstbin.h:
2307         * gst/gstbus.c: (gst_bus_class_init):
2308         * gst/gstbus.h:
2309         * gst/gstclock.c:
2310         * gst/gstelement.c: (gst_element_set_locked_state):
2311         * gst/gstsegment.c:
2312         Documentation updates.
2314         * gst/gstpipeline.c: (gst_pipeline_get_type),
2315         (gst_pipeline_class_init), (gst_pipeline_init),
2316         (gst_pipeline_dispose), (gst_pipeline_set_property),
2317         (gst_pipeline_get_property), (do_pipeline_seek),
2318         (gst_pipeline_send_event), (gst_pipeline_change_state),
2319         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2320         (gst_pipeline_get_delay):
2321         * gst/gstpipeline.h:
2322         Added methods for setting the delay.
2323         API: gst_pipeline_set_delay()
2324         API: gst_pipeline_get_delay()
2325         Add pipeline debug category
2326         Various cleanups.
2327         Updated docs.
2328         Don't reset stream time when seek failed.
2330 2006-03-13  Wim Taymans  <wim@fluendo.com>
2332         * docs/design/draft-klass.txt:
2333         * docs/design/part-clocks.txt:
2334         * docs/design/part-events.txt:
2335         * docs/design/part-gstbin.txt:
2336         * docs/design/part-gstpipeline.txt:
2337         * docs/design/part-messages.txt:
2338         * docs/design/part-negotiation.txt:
2339         * docs/design/part-overview.txt:
2340         * docs/design/part-preroll.txt:
2341         * docs/design/part-seeking.txt:
2342         * docs/design/part-states.txt:
2343         * docs/design/part-streams.txt:
2344         Documentation updates.
2346 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2348         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2349         us to leak strings...
2351 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2353         * libs/gst/net/gstnettimeprovider.c:
2354           fix docs
2355         * win32/common/config.h:
2356           update
2358 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2360         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2362         * configure.ac:
2363           Don't check for libgnomeui (leftover from old examples
2364           that aren't built or disted any longer) (#334303).
2365           
2366 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2368         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2369         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2370           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2371           there's no space left on the device.
2373 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2375         * gst/gstclock.h:
2376           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2377           to cast the input to GstClockTime before comparing with
2378           another GstClockTime value.
2380 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2382         * configure.ac:
2383           back to trunk
2385 === release 0.10.4 ===
2387 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2389         * configure.ac:
2390           releasing 0.10.4, "Light"
2392 2006-03-10  Michael Smith  <msmith@fluendo.com>
2394         * libs/gst/dataprotocol/dataprotocol.c:
2395           Fix docs for dataprocotol to not get the return types completely
2396           wrong for a few functions.
2398 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2400         * docs/gst/gstreamer-sections.txt:
2401         * gst/gstpipeline.c: (gst_pipeline_class_init),
2402         (gst_pipeline_init), (gst_pipeline_set_property),
2403         (gst_pipeline_get_property), (gst_pipeline_change_state),
2404         (gst_pipeline_set_auto_flush_bus),
2405         (gst_pipeline_get_auto_flush_bus):
2406         * gst/gstpipeline.h:
2407           Add new API: gst_pipeline_set_auto_flush_bus() and
2408           gst_pipeline_get_auto_flush_bus() to disable automatic
2409           flushing of the pipeline's GstBus when going from READY
2410           to NULL state (#332045).
2412 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2414         * docs/gst/gstreamer-sections.txt:
2415         * gst/gsturi.c: (gst_uri_has_protocol):
2416         * gst/gsturi.h:
2417            Add new API: gst_uri_has_protocol() (#333779).
2419 2006-03-09  Wim Taymans  <wim@fluendo.com>
2421         * gst/gstclock.c: (gst_clock_entry_new),
2422         (gst_clock_id_compare_func), (gst_clock_id_wait),
2423         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2424         (gst_clock_init), (gst_clock_get_internal_time),
2425         (gst_clock_set_master), (do_linear_regression),
2426         (gst_clock_add_observation), (gst_clock_set_property):
2427         * gst/gstclock.h:
2428         Review docs.
2429         Small cleanups.
2430         Fix a possible segfault when the window-size is made smaller.
2431         Calculate jitter before performing the clock wait. Ideally
2432         the clock implementation should calculate jitter but we need
2433         API breakage for that.
2435         * gst/gstsystemclock.c: (gst_system_clock_init):
2436         Docs review.
2437         
2438         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2439         Remove leftover else
2441         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2442         (gst_systemclock_suite):
2443         Added check to test GST_CLOCK_DIFF.
2445 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2447         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2448         (gst_type_find_helper_get_range):
2449           If we are provided with the size, we should implement
2450           GstTypeFind::get_length, so that typefind functions who
2451           want to can actually peek at the middle of a file.
2453 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2455         * docs/manual/advanced-dataaccess.xml:
2456           Add some very very basic error checking.
2458         * docs/pwg/appendix-checklist.xml:
2459           Some updates to the list of things to check when writing an element.
2461 2006-03-08  Wim Taymans  <wim@fluendo.com>
2463         * docs/design/part-element-transform.txt:
2464         Added some docs about the design of tranform elements.
2466         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2467         (gst_base_src_loop), (gst_base_src_change_state):
2468         Mark buffers with the DISCONT flag.
2470 2006-03-08  Michael Smith  <msmith@fluendo.com>
2472         * gst/gstregistry.h:
2473         * gst/gstregistryxml.c: (gst_registry_save),
2474         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2475         (gst_registry_xml_save_pad_template),
2476         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2477         (gst_registry_xml_write_cache):
2478           Rewrite registry-saving to avoid race conditions and check for
2479           failed writes.
2481 2006-03-08  Wim Taymans  <wim@fluendo.com>
2483         * libs/gst/base/gstbasetransform.c:
2484         (gst_base_transform_transform_caps),
2485         (gst_base_transform_transform_size),
2486         (gst_base_transform_prepare_output_buffer),
2487         (gst_base_transform_get_unit_size),
2488         (gst_base_transform_buffer_alloc),
2489         (gst_base_transform_handle_buffer),
2490         (gst_base_transform_change_state):
2491         Cleanups, separate normal flow from errors, add sensible
2492         DEBUG lines.
2493         Don't try to renegotiate when allocating an output buffer.
2494         Also copy DISCONT buffer flag when copying a buffer.
2495         Reset the transform after we finish streaming, not during.
2497 2006-03-08  Wim Taymans  <wim@fluendo.com>
2499         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2500         Use last buffer timestamp in qos message.
2502 2006-03-07  Wim Taymans  <wim@fluendo.com>
2504         Patch by: Christophe Fergeau
2506         * docs/pwg/advanced-tagging.xml:
2507         * docs/pwg/building-pads.xml:
2508           fixes #333416
2510 2006-03-07  Wim Taymans  <wim@fluendo.com>
2512         * docs/libs/gstreamer-libs-sections.txt:
2513         Added basesink new methods.
2515         * gst/gstevent.c:
2516         * gst/gstevent.h:
2517         Docs updates. Flesh out the QoS docs.
2519         * libs/gst/base/gstadapter.c:
2520         Small doc clarification about ownership and flushing.
2522         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2523         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2524         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2525         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2526         * libs/gst/base/gstbasesink.h:
2527         API additions: 
2528         Added new methods to allow subclass to control max-lateness 
2529         and sync.
2530         Generate very basic QoS events based on last sync observation.
2531         Updated docs, fix typo, added some QoS blurb.
2533         * libs/gst/base/gstbasesrc.c:
2534         Remove obsolete _get_state() calls from docs.
2536 2006-03-07  Wim Taymans  <wim@fluendo.com>
2538         * docs/libs/gstreamer-libs-sections.txt:
2539         * libs/gst/base/gstbasetransform.h:
2540         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2541         Fix docs for GstBaseSrc.
2543 2006-03-07  Wim Taymans  <wim@fluendo.com>
2545         * docs/gst/gstreamer-sections.txt:
2546         * gst/gstbuffer.h:
2547         * gst/gstvalue.c:
2548         * libs/gst/base/gstbasetransform.h:
2549         Small documentation fixes.
2551 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2553         * gst/gstvalue.c:
2554           Document thread-unsafety of gst_value_register_foo_func()
2555           when used at the same time as gst_value_foo() (#322628).
2557 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2559         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2560         (gst_push_src_check_get_range):
2561           Push sources don't support pull mode by default.
2563 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2565         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2566         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2567         (gst_base_src_default_check_get_range):
2568         * libs/gst/base/gstbasesrc.h:
2569           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2570           provide default implementation, and rename
2571           gst_base_src_check_get_range() to
2572           gst_base_src_pad_check_get_range() for clarity.
2574 2006-03-06  Wim Taymans  <wim@fluendo.com>
2576         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2577         Make property overridable.
2579 2006-03-06  Wim Taymans  <wim@fluendo.com>
2581         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2582         (gst_base_sink_init), (gst_base_sink_set_property),
2583         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2584         * libs/gst/base/gstbasesink.h:
2585         API addition: Make max-lateness a property.
2587 2006-03-06  Wim Taymans  <wim@fluendo.com>
2589         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2590         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2591         Don't ever draw a frame that is >10ms late.
2593 2006-03-06  Michael Smith  <msmith@fluendo.com>
2595         * gst/gstmessage.c: (_gst_message_copy):
2596           When copying a message, set the parent_refcount of the enclosed
2597           structure to point at the copy, not the original message.
2599 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2601         Patch by: Christophe Fergeau
2603         * gst/gstutils.h:
2604           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2605           usable in c++ code (#333417)
2607 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2609         * gst/gstclock.h:
2610           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2612 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2614         * libs/gst/base/gstbasetransform.c:
2615         (gst_base_transform_transform_caps):
2616           Make sure caps are writable before passing them to
2617           gst_caps_append().
2619 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2621         * gst/gsterror.h:
2622           Fix some minor docs errors.
2624 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2626           Patch by: Ross Burton <ross at burtonini dot com>
2628         * gst/gsterror.c: (_gst_resource_errors_init):
2629         * gst/gsterror.h:
2630           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2632 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2634         * gst/gst.c:
2635         Add a check and output a g_warning when GStreamer is built
2636         against GLib 2.6 but running against 2.8 or higher, and vice 
2637         versa. (Closes: #323542)
2639 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2641         * gst/parse/parse.l:
2642           Commit patch for parse_launch syntax from #331255. Removes 
2643           support for quoted strings and mimetypes when writing filtered 
2644           caps. See the bug report for more details - I'm pretty sure this
2645           obscure feature is not in use by _anyone_ anywhere.
2647           With this simple change, the size of the gstreamer.so here 
2648           drops from 2193KB to 1565KB.
2650 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2652         * plugins/elements/gsttypefindelement.h:
2653         * plugins/elements/gsttypefindelement.c:
2654         (gst_type_find_element_src_event), (start_typefinding),
2655         (stop_typefinding), (gst_type_find_element_handle_event),
2656         (gst_type_find_element_chain),
2657         (gst_type_find_element_chain_do_typefinding):
2658           Use gst_type_find_helper_for_buffer() for chain-based
2659           typefinding.
2661 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2663         * plugins/elements/gsttypefindelement.c:
2664         (gst_type_find_element_class_init),
2665         (gst_type_find_element_set_property),
2666         (gst_type_find_element_get_property):
2667           Deprecate "maximum" property (not only was it only taken into
2668           account for typefinding in push-mode anyway, it also was never
2669           actually possible to set it in the first place because the
2670           property was registered with the numeric property ID for the
2671           "minimum" property). Register "maximum" property correctly,
2672           for the sake of future copy'n'pasters. Remove some cruft
2673           from property get/set functions.
2675 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2677         * plugins/elements/gsttypefindelement.c:
2678         (gst_type_find_element_activate):
2679           Use gst_type_find_helper_get_range() here, so we
2680           can honour the "minimum" property and also emit
2681           the signal with the correct probability of the found caps.
2683 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2685         * docs/libs/gstreamer-libs-sections.txt:
2686         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2687         (helper_find_suggest), (gst_type_find_helper_get_range),
2688         (gst_type_find_helper):
2689         * libs/gst/base/gsttypefindhelper.h:
2690           New API: gst_type_find_helper_get_range() (#333042).
2692 2006-03-02  Michael Smith  <msmith@fluendo.com>
2694         * gst/gstregistryxml.c: (load_feature):
2695           Asserting on a failure to read part of the registry is Not Cool.
2696           Just log a warning and return NULL (which is already handled)
2698 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2700         * win32/common/libgstbase.def:
2701           added export of gst_type_find_helper_for_buffer
2702         * win32/common/libgstbase.def:
2703           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2704           gst_ghost_pad_get_target
2706 2006-02-28  Wim Taymans  <wim@fluendo.com>
2708         * docs/design/draft-klass.txt:
2709         We use Filter now.
2710         Added Connector to mark elements that are only used to
2711         allow pipeline connections.
2712         Moved Debug to extra feature since most of them are 
2713         functionally something else.
2715 2006-02-28  Wim Taymans  <wim@fluendo.com>
2717         * docs/design/draft-klass.txt:
2718         Some updates and clarifications.
2720 2006-02-28  Wim Taymans  <wim@fluendo.com>
2722         * docs/design/draft-klass.txt:
2723         Proposal for klass field values.
2725         * docs/design/part-streams.txt:
2726         Start of a doc describing stream anatomy.
2728 2006-02-28  Wim Taymans  <wim@fluendo.com>
2730         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2731         Help the compiler a bit with type registration.
2732         Use existing forward cod path instead of duplicating it when 
2733         handling a message.
2734         
2735         * gst/gstbus.c: (gst_bus_get_type):
2736         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2737         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2738         * gst/gstclock.c: (gst_clock_get_type):
2739         * gst/gstelement.c: (gst_element_get_type),
2740         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2741         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2742         * gst/gstminiobject.c: (gst_mini_object_get_type):
2743         * gst/gstpad.c: (gst_pad_get_type):
2744         * gst/gstsegment.c: (gst_segment_get_type):
2745         * gst/gststructure.c: (gst_structure_get_type):
2746         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2747         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2748         * gst/gstvalue.c:
2749         Help compiler with type registration.
2751         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2752         Small doc update.
2754 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2756         * plugins/elements/gsttypefindelement.c:
2757         (gst_type_find_element_handle_event):
2758           When we get an EOS event and have not found a type yet
2759           (most likely because we had not yet accumulated
2760           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2761           type given the data we have so far. Fixes typefinding
2762           for very short streams again, most notably quicktime
2763           redirections as used on Apple's trailer site (#331701).
2765 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2767         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2768         (gst_type_find_helper):
2769           Try typefinding factories with the highest rank first.
2771 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2773         * docs/libs/gstreamer-libs-docs.sgml:
2774         * docs/libs/gstreamer-libs-sections.txt:
2775         * libs/gst/base/gsttypefindhelper.c:
2776           Add section for typefind helper and add documentation
2777           for the old and the new function.
2779 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2781         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2782         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2783         (gst_type_find_helper_for_buffer):
2784         * libs/gst/base/gsttypefindhelper.h:
2785           New API: gst_type_find_helper_for_buffer() (#332723).
2786           
2787 2006-02-27  Michael Smith  <msmith@fluendo.com>
2789         Patch by: Loïc Minier
2791         * configure.ac:
2792         * docs/Makefile.am:
2793         * docs/slides/Makefile.am:
2794           prevent CVS directories getting disted.
2796 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2798         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2799           Use the REFCOUNTING category for caps refcounting.
2800           
2801 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2803         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2804           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2806 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2808         * plugins/elements/gsttypefindelement.c:
2809         (gst_type_find_element_activate):
2810           Use gst_pad_check_pull_range() before _activate_pull()
2811           to avoid unnecessary open/close (see #331690).
2813 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2815         * gst/gstutils.c:
2816           Docs enhancement: make it crystal clear what the
2817           gst_pad_add_*_probe() callbacks should look like.
2819 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2821         * libs/gst/base/gstbasesrc.c:
2822           Document how applications can stop recording from
2823           live sources (see #330996).
2825 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2827         * tests/check/Makefile.am:
2828         * tests/check/libs/basesrc.c: (eos_event_counter),
2829         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2830         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2831         (gst_basesrc_suite), (main):
2832           ... and add some tests for the base source EOS stuff.
2834 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2836         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2837           Test case originally showed the problem fixed below,
2838           but was then amended. Add checks back at the place
2839           where they used to be.
2841 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2843         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2844         (gst_base_src_init), (gst_base_src_loop),
2845         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2846         (gst_base_src_change_state):
2847         * libs/gst/base/gstbasesrc.h:
2848           Don't unconditionally send EOS when going from PAUSED to
2849           READY state, esp. make sure we don't send two EOS events
2850           in some cases (e.g. one when reaching EOS and one when
2851           going from PAUSED to READY). Also, we don't want to send
2852           EOS events when operating in pull mode. However, we do
2853           want to send an EOS event when shutting down a live
2854           source explicitly, for example (fixes #330996).
2855           
2856 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2858         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2859           Update src->read_position after a seek when not using mmap.
2860           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2862 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2864         * gst/Makefile.am:
2865         * gst/gstparse.h:
2866         * gst/gstutils.c:
2867         * gst/gstutils.h:
2868         Make things work with --disable-parse as they do with 
2869         --disable-load-save - the symbols involved disappear, but the
2870         header is still installed and GST_DISABLE_PARSE is included via
2871         gstconfig.h
2873 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2875         * libs/gst/base/gstbasetransform.c:
2876         (gst_base_transform_change_state): Fix a stupid bug. I was 
2877         sure I compiled that.
2879 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2881         * gst/gstpad.c: (gst_pad_set_blocked_async):
2882         * gst/gstutils.c: (gst_pad_add_data_probe),
2883         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2884         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2885         (gst_pad_remove_buffer_probe): Make those function act on the
2886         ghostpad target when it's a ghostpad. (Closes #331727)
2888 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2890         * libs/gst/base/gstbasetransform.c:
2891         (gst_base_transform_change_state): Make basetransform reusable.
2892         (Closes #331898)
2894 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2896         * docs/random/release:
2897         Move the current documentation of how to do a release to the top
2898         of the file.
2900         * gst/gstbin.c: (gst_bin_class_init),
2901         (gst_bin_handle_message_func):
2902         Allow multiple state-recalculation threads. (Closes #328873)
2904 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2906         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2907         * gst/gstpad.c: (gst_pad_set_event_function),
2908         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2909         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2910         2 strings. You can't use the STR_NULL macro on that.
2912 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2914         * gst/gstpad.c: (gst_pad_set_event_function),
2915         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2916         (gst_pad_set_getcaps_function)
2917         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2918           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2919           So now, we can use --gst-debug-level=5 on Windows
2920         * win32/common/libgstcontroller.def:
2921           Added export of gst_controller_init
2922         * win32/vs6/libgstcontroller.dsp:
2923           Fixed Release post build configuration
2925 2006-02-17  Wim Taymans  <wim@fluendo.com>
2927         * tests/check/gst/gstquery.c: (GST_START_TEST):
2928         Added another check.
2930 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2932         * plugins/elements/gsttypefindelement.c: (find_peek):
2933           We can do peeks at non-zero offsets, as long as they
2934           fall within the buffer we have.
2936 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2938         * tests/check/Makefile.am:
2939         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2940         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2941         (parse_suite), (main):
2942           Add testsuite for parse launch syntax
2944 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2946         * plugins/elements/gsttypefindelement.c:
2947         (gst_type_find_element_chain):
2948           When typefinding is unsuccessful in the chain function, don't
2949           error out immediately. Only error out with NO_CAPS_FOUND if
2950           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2951           otherwise simply wait for more data so we can try typefinding
2952           again with more data later. Also, don't attempt to typefind
2953           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2954           this should improve typefinding from network sources where the
2955           size of the first buffer can be somewhat random.
2957 2006-02-14  Wim Taymans  <wim@fluendo.com>
2959         * docs/gst/gstreamer-sections.txt:
2960         * gst/gstpadtemplate.c:
2961         * gst/gstpadtemplate.h:
2962         Fix padtemplate docs, fixes #328805.
2964 2006-02-14  Wim Taymans  <wim@fluendo.com>
2966         * tools/gst-launch.c: (main):
2967         NO_PREROLL is not an ERROR so don't send confusing messages
2968         to the user.
2970 2006-02-14  Wim Taymans  <wim@fluendo.com>
2972         Patch by: Torsten Schoenfeld
2974         * gst/gstregistry.c: (gst_registry_get_default),
2975         (_gst_registry_cleanup):
2976         Protect default registry with lock and ref/sink it.
2977         Fixes #324818
2979 2006-02-14  Wim Taymans  <wim@fluendo.com>
2981         * gst/gstbuffer.c:
2982         * gst/gstquery.c: (gst_query_list_add_format),
2983         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2984         (gst_query_parse_formats_nth):
2985         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2986         Docs fixes.
2988 2006-02-14  Wim Taymans  <wim@fluendo.com>
2990         * docs/gst/gstreamer-sections.txt:
2991         Reworked query docs.
2993         * gst/gstquery.c: (gst_query_new_formats),
2994         (gst_query_list_add_format), (gst_query_set_formats),
2995         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2996         (gst_query_parse_formats_nth):
2997         * gst/gstquery.h:
2998         Flesh out formats query, added some new methods.
2999         Fix part of #324398.
3001         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3002         Added query creation tests.
3004 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3006         * gst/gstpad.c: (fixate_value):
3007         Add a default fixation for fraction lists.
3009 2006-02-13  Wim Taymans  <wim@fluendo.com>
3011         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3012         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3013         (gst_task_join):
3014         * gst/gsttask.h:
3015         Detect and warn for obvious deadlocks. fixes #320340
3016         Fix error case where lock was not released.
3018         * tests/check/Makefile.am:
3019         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3020         (task_func), (gst_element_suite), (main):
3021         Add task check.
3023 2006-02-13  Wim Taymans  <wim@fluendo.com>
3025         * docs/gst/gstreamer-sections.txt:
3026         * gst/gstbus.c:
3027         Add new functions to docs.
3029 2006-02-13  Wim Taymans  <wim@fluendo.com>
3031         * docs/design/part-TODO.txt:
3032         Updated TODO list, basesrc supports seeking to non-bytes
3033         formats.
3035         * docs/design/part-element-sink.txt:
3036         Update docs.
3038         * gst/gstbin.c: (bin_replace_message),
3039         (gst_bin_handle_message_func):
3040         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3041         * gst/gstevent.c: (gst_event_finalize):
3042         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3043         (gst_pad_send_event):
3044         Use shiny new _TYPE_NAME macros.
3046         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3047         Move debug statement up.
3049         * gst/gstelement.c: (gst_element_set_locked_state):
3050         Add some debugging.
3052 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3054         * docs/gst/gstreamer-sections.txt:
3055         * gst/gstmessage.h:
3056         * gst/gstquery.h:
3057           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3058           macros (#330906). Also, document the already existing
3059           GST_QUERY_TYPE macro.
3061 2006-02-13  Wim Taymans  <wim@fluendo.com>
3063         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3064         (event_probe), (GST_START_TEST):
3065         Only events up to the pipeline EOS are counted, there are
3066         some more when going to NULL currently which we don't care
3067         about for now.
3069 2006-02-13  Wim Taymans  <wim@fluendo.com>
3071         * gst/gstpad.c: (gst_pad_send_event):
3072         Correctly check flushing and emit probes. fixes #330125
3074 2006-02-10  Andy Wingo  <wingo@pobox.com>
3076         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3077         structure.
3078         (gst_bus_init): Cache the location of the private data in the
3079         instance structure.
3080         (gst_bus_enable_sync_message_emission) 
3081         (gst_bus_disable_sync_message_emission): Implement new public
3082         functions.
3083         (gst_bus_post): Emit the sync-message signal if the user asked for
3084         it. Fixes #330684.
3086         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3087         location of the bus-private structure.
3088         (gst_bus_enable_sync_message_emission)
3089         (gst_bus_disable_sync_message_emission): API addition
3091 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3093         Patch by: Vincent Torri
3095         * docs/pwg/building-boiler.xml:
3096         PWG patch from #326800
3098 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3100         * configure.ac:
3101         * docs/Makefile.am:
3102         * docs/design/Makefile.am:
3103           Dist design docs.
3105 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3107         * configure.ac:
3108           back to CVS
3110 === release 0.10.3 ===
3112 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3114         * configure.ac:
3115           releasing 0.10.3, "Like a virgin"
3117 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3119         * configure.ac:
3120           2nd prerelease of 0.10.3
3121           Bump libtool versioning.
3123 2006-02-07  Andy Wingo  <wingo@pobox.com>
3125         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3126         update last_stop if we're in TIME format and the timestamp is
3127         valid.
3129         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3130         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3131         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3132         If we get a new newsegment with a different format, adapt
3133         accordingly.
3135         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3136         of 0. Not a problem, really.
3138         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3139         warn if sync=true.
3141 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3143         * configure.ac:
3144           Prelease of 0.10.3
3146 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3148         * win32/vs7:
3149           project files updated to the default vs7 configuration
3150         * win32/common/libgstbase.def:
3151         * win32/common/libgstreamer.def:
3152           added new symbols,
3153           removed empty lines,
3154           sorted all exported symbols alphabetically
3155         * win32/common/dirent.c:
3156         * win32/common/dirent.h:
3157         * win32/common/gchar.h:
3158           use windows line end.
3159           
3160 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3162         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3163           Send EOS event when stopping.
3165 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3167         * docs/README:
3168           Tell folks what to do if the plugin-foobar.xml file
3169           hasn't been generated for a newly-added plugin.
3171 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3173         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3174         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3175         (gst_collect_pads_start), (gst_collect_pads_stop),
3176         (gst_collect_pads_event): Collectpads now holds a reference
3177         to the GstPad that was added. Indeed we don't want to look
3178         at pads that might just go away with no warning...
3180 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3182         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3183         (gst_collect_pads_start), (gst_collect_pads_stop),
3184         (gst_collect_pads_event), (gst_collect_pads_chain):
3185         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3186         Mark Nauwelaerts's patch on bug #328491.
3188 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3190         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3191         (gst_utils_suite):
3192           Add some simple tests for gst_parse_bin_from_description() and
3193           gst_bin_find_unconnected_pad() (#329069).
3195 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3197         * tools/gst-launch.c: (event_loop), (main):
3198           Catch errors during preroll (#320084).
3200 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3202         * plugins/elements/gsttypefindelement.c:
3203         (gst_type_find_element_activate):
3204           Post TYPE_NOT_FOUND error message when typefinding
3205           is unsuccessful in the activate function as well.
3207 2006-02-02  Wim Taymans  <wim@fluendo.com>
3209         * docs/design/part-element-sink.txt:
3210         Updated doc.
3212 2006-02-02  Wim Taymans  <wim@fluendo.com>
3214         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3215         (gst_base_sink_render_object),
3216         (gst_base_sink_queue_object_unlocked):
3217         Only keep track of prerollable items when we are 
3218         prerolling.
3219         Before rendering after preroll, always check if we
3220         have queued items.
3221         Added some more debugging.
3223 2006-02-02  Wim Taymans  <wim@fluendo.com>
3225         * gst/gstelement.c: (gst_element_continue_state),
3226         (gst_element_set_state_func), (gst_element_change_state):
3227         Fixed #326576, been running this for quite some time with
3228         no regressions at all.
3230 2006-02-02  Wim Taymans  <wim@fluendo.com>
3232         * common/gst.supp:
3233         Added more suppressions
3235 2006-02-02  Wim Taymans  <wim@fluendo.com>
3237         * docs/design/part-element-sink.txt:
3238         Updated document.
3240         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3241         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3242         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3243         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3244         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3245         (gst_base_sink_preroll_object),
3246         (gst_base_sink_queue_object_unlocked),
3247         (gst_base_sink_queue_object), (gst_base_sink_event),
3248         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3249         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3250         (gst_base_sink_get_position), (gst_base_sink_change_state):
3251         * libs/gst/base/gstbasesink.h:
3252         Totally refactored matching the design doc.
3253         Use two segments, one to clip incomming buffers and another to
3254         perform sync.
3255         Handle queueing correctly, bypass the queue when playing.
3256         Make EOS cancelable.
3257         Handle errors correctly when operating in pull based mode.
3259         * tests/check/elements/fakesink.c: (GST_START_TEST),
3260         (fakesink_suite):
3261         Added new check for sinks.
3263 2006-02-02  Wim Taymans  <wim@fluendo.com>
3265         * gst/gstsegment.c: (gst_segment_clip):
3266         No reason to refuse to clip when start == -1
3268 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3270         * docs/README:
3271         * docs/manual/intro-basics.xml:
3272         * docs/manual/intro-preface.xml:
3273         * docs/manual/manual.xml:
3274         * docs/pwg/advanced-dparams.xml:
3275         * docs/pwg/intro-basics.xml:
3276         * docs/pwg/intro-preface.xml:
3277         * docs/pwg/pwg.xml:
3278           describe dparams (controller) for plugins
3279           unify docs a little more
3281 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3283         * docs/gst/gstreamer-sections.txt:
3284         * gst/gstutils.c: (element_find_unconnected_pad),
3285         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3286         * gst/gstutils.h:
3287           Add new API: gst_parse_bin_from_description() and
3288           gst_bin_find_unconnected_pad() (#329069).
3290 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3292         * docs/manual/README:
3293           uncover a nasty detail of the docs build
3295 2006-01-31  Wim Taymans  <wim@fluendo.com>
3297         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3298         Don't cache duration messages if we're not going to use or
3299         free them.
3301 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3303         * docs/manual/advanced-dparams.xml:
3304         * docs/pwg/advanced-dparams.xml:
3305           more dparam docs
3306         * gst/gstindex.c:
3307           fix docs
3308         * libs/gst/controller/lib.c: (gst_controller_init):
3309           init just once
3311 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3313         * gst/gstelement.c: (gst_element_message_full):
3314           also show file/line/func if no additional debug was given
3316 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3317         
3318         * win32/vs7/grammar.vcproj:
3319           activate copy of autogenerated files for Release mode
3321 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3322         
3323         * win32/common/libgstreamer.def:
3324           export gst_value_compare
3326 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3328         * plugins/elements/Makefile.am:
3329         * plugins/elements/gstelements.c:
3330         * plugins/elements/gstfdsink.c: (_do_init),
3331         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3332         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3333         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3334         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3335         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3336         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3337         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3338         * plugins/elements/gstfdsink.h:
3339         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3341 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3343         * docs/manual/advanced-dparams.xml:
3344           describe controller
3345         * docs/manual/advanced-position.xml:
3346         * docs/manual/basics-init.xml:
3347         * docs/manual/manual.xml:
3348         * docs/manual/titlepage.xml:
3349         * docs/pwg/pwg.xml:
3350         * docs/pwg/titlepage.xml:
3351           cleanup xml (more to come)
3352         * libs/gst/controller/gstcontroller.c:
3353           fix typo
3355 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3356         
3357         * win32/vs6/grammar.dsp:
3358           add autogen of gstmarshal.c,h for Release mode
3359                 
3360 2006-01-30  Wim Taymans  <wim@fluendo.com>
3362         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3363         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3364         (gst_base_sink_handle_object), (gst_base_sink_event),
3365         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3366         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3367         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3368         (gst_base_sink_deactivate), (gst_base_sink_activate),
3369         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3370         (gst_base_sink_query), (gst_base_sink_change_state):
3371         Basesink cleanups, remove some old code.
3372         Handle the case where a subclass can preroll in the render
3373         method (mostly audiosinks).
3374         Handle more events.
3375         Remove some locks around variables that are now protected
3376         with the PREROLL_LOCK (clock_id, flushing, ..).
3377         Optimize position query some more, do correct locking.
3378         Remove old code to push queue in state change, this is not
3379         needed anymore since preroll blocks on all prerollable items 
3380         now.
3381         Almost implemented as described in design doc.
3383 2006-01-30  Wim Taymans  <wim@fluendo.com>
3385         * tests/check/gst/gstbin.c: (GST_START_TEST):
3386         Wait for refcount to settle down before checking.
3388 2006-01-30  Wim Taymans  <wim@fluendo.com>
3390         * docs/design/part-element-sink.txt:
3391         Pseudo code overview of desired sink behaviour regarding
3392         preroll.
3394 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3395         * win32/vs6/grammar.dsp:
3396           fix some bugs in Release mode for autogenerated files
3397                 
3398 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3399         * win32/common/libgstbase.def:
3400         * win32/common/libgstreamer.def:
3401           export some new symbols: gst_base_src_set_format,
3402           gst_iterator_next, gst_structure_set_valist
3404 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3406         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3407         Set pad functions unconditionally. Fixes #329105.
3409 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3410         * win32/vs8:
3411           add vs8 project files created by Sergey Scobich
3413 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3415         * gst/gstutils.c: (gst_element_unlink_pads):
3416         Don't leak pad references.
3418         * tests/check/elements/fakesink.c: (GST_START_TEST):
3419         * tests/check/generic/sinks.c: (GST_START_TEST):
3420         * tests/check/generic/states.c: (GST_START_TEST):
3421         * tests/check/gst/gstbin.c: (GST_START_TEST):
3422         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3423         * tests/check/gst/gstelement.c: (GST_START_TEST):
3424         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3425         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3426         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3427         Fix a bunch of leaks. Make generic/sinks.c
3428         use a bit less cpu by slowing the buffer rate
3429         between fakesrc and fakesink.
3430         
3431 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3432         * gst/gstcaps.c:
3433         * gst/gstelement.c: (gst_element_send_event):
3434         * gst/gstevent.c:
3435         * gst/gstinfo.c:
3436         * gst/gstiterator.c:
3437         * gst/gstiterator.h:
3438         * gst/gstpad.c: (gst_pad_send_event):
3439         * gst/gststructure.c:
3440         * gst/gsturi.c:
3441         * gst/gstutils.c:
3442         * gst/gstvalue.c:
3443         * libs/gst/base/gstadapter.c:
3444           doc fixes, to link to function, just write gst_cool_function(), don't
3445           prefix with '#'
3447 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3449         * plugins/elements/gsttee.c: (gst_tee_do_push),
3450         (gst_tee_handle_buffer):
3451         Always prefer an actual return value from a src
3452         pad in place of NOT_LINKED. This means we return
3453         WRONG_STATE when all src pads are WRONG_STATE
3454         instead of NOT_LINKED.
3456         Lock when replacing the last message to prevent
3457         racing with the get_property method.
3459         Add debug output
3461 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3463         * tests/check/Makefile.am:
3464         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3465         (main):
3466         Add a very simple check that should have caught the memleak I fixed
3467         last night (if not for the slice allocator hiding it)
3469 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3471         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3472         (gst_bin_remove_func), (gst_bin_handle_message_func),
3473         (bin_query_duration_fold), (bin_query_generic_fold):
3474         Clean up references to the clock provider when disposed or when
3475         handling a clock-lost message from it.
3477         Unref sinks when performing a query via gst_iterator_fold, as the
3478         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3480         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3481         (gst_clock_set_master):
3482         Drop our reference to the master clock, if any, when we are disposed.
3484         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3485         Chain up in dispose. 
3487 2006-01-26  Wim Taymans  <wim@fluendo.com>
3489         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3490         Add some debugging.
3492 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3494         * plugins/elements/gsttee.c: (gst_tee_do_push),
3495         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3496         handles pad being NOT_LINKED or in WRONG_STATE.
3498 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3500         * win32/MANIFEST:
3501           more updating
3503 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3505         * win32/MANIFEST:
3506           remove obsolete entry
3508 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3510         * docs/gst/gstreamer-sections.txt:
3511         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3512         (gst_bin_iterate_sources), (gst_bin_send_event):
3513         * gst/gstbin.h:
3514         * gst/gstelement.c: (gst_element_send_event):
3515         * gst/gstevent.c:
3516         * gst/gstpad.c: (gst_pad_send_event):
3517           added code for downstream events, reviewed docs in gstevent.c
3519 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3521         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3522         We only query position using the clock in the playing state.
3523         Query peer in the other cases.
3524         * win32/common/config.h: Updates.
3526 2006-01-24  Wim Taymans  <wim@fluendo.com>
3528         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3529         A clock entry that is scheduled for the exact time of the
3530         clock is still in time.
3532         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3533         (gst_base_sink_do_sync):
3534         Add some more debug info.
3536 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3538         * win32/vs7:
3539           Add new vs7 project files and solution.
3541 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3543         * win32/vs7:
3544           all files removed as they were out-dated.
3546 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3548         * docs/random/release:
3549           update notes
3550         * gst/gstbin.c: (gst_bin_init):
3551         * gst/gstbus.c: (gst_bus_new):
3552         * gst/gstbus.h:
3553         * gst/gstpipeline.c: (gst_pipeline_init):
3554           use gst_bus_new(), improve logging, fix docs
3555         * win32/common/config.h:
3556           update for cvs build
3558 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3560         * autogen.sh:
3561           up required version of automake to 1.7
3563 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3565         * win32/common/libgstreamer.def:
3566           export gst_buffer_is_metadata_writable
3568 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3570         * docs/gst/gstreamer-sections.txt:
3571         * gst/gstevent.h:
3572           Add gst_event_replace() (#327001)
3574 2006-01-20  Wim Taymans  <wim@fluendo.com>
3576         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3577         Make it actually compile too..
3579 2006-01-20  Wim Taymans  <wim@fluendo.com>
3581         * gst/gstcaps.c:
3582         Clarify behaviour of _is_equal() when passing NULL parameters.
3584         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3585         (gst_pad_set_caps):
3586         Cleanups. Don't unref NULL caps.
3587         When setting the same caps, protect caps of the pad with
3588         proper lock.
3589         Use full functionality of _is_equal() when comparing caps.
3591 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3593         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3594         Don't loop infinitely if there are no buffers to present. Partially
3595         fixes #327197, but collectpads is just broken for reusing elements
3596         to do multiple encodes atm.
3598 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3600         * tools/gst-inspect.c: (print_element_features):
3601         * tools/gst-xmlinspect.c: (main):
3602         URL_HANDLER is not a plugin feature we can search for in
3603         the registry.
3605 2006-01-19  Edward Hervey  <edward@fluendo.com>
3607         * gst/gstelement.c: (gst_element_pads_activate): 
3608         When activating, do src pads first, then sink pads.
3609         When de-activating, do sink pads first, then src pads.
3611 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3613         * docs/gst/gstreamer-sections.txt:
3614         Add gst_index_add_associationv to the docs
3616 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3618         * gst/gstevent.c:
3619           Fix docs typo
3621         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3622         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3623           Do some refactoring. Doesn't actually change functionality,
3624           but makes landing the DRAIN event easier later.
3626 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3628         * docs/pwg/advanced-scheduling.xml:
3629           Update from 0.9.x to 0.10 API and make example a bit
3630           clearer.
3632 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3634         * docs/gst/gstreamer-sections.txt:
3635         Add gst_buffer_(is|make)_metadata_writable methods.
3637 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3639         * docs/design/part-sparsestreams.txt:
3640         Update sparse streams doc, hopefully for greater clarity
3642 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3644         * docs/design/part-events.txt:
3645         Remove mention of FILLER events.
3646         Add DRAIN event.
3648         * docs/design/part-sparsestreams.txt:
3649         Write some things about using NEWSEGMENT to keep sparse streams
3650         flowing.
3652 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3654         * gst/gstbin.c: (gst_bin_dispose):
3655           Guard gst_object_unref call against a NULL object (dispose
3656           can theoretically be called multiple times).
3657           
3658 2006-01-18  Wim Taymans  <wim@fluendo.com>
3660         * gst/gstbin.c: (gst_bin_element_set_state):
3661         * gst/gstclock.c: (gst_clock_id_wait):
3662         Added some more debug info.
3664         * libs/gst/base/gstadapter.c:
3665         Added more docs.
3667         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3668         (gst_base_sink_do_sync), (gst_base_sink_chain):
3669         Added some comments.
3671 2006-01-18  Wim Taymans  <wim@fluendo.com>
3673         * tests/check/Makefile.am:
3674         * tests/check/elements/fakesink.c: (chain_async_buffer),
3675         (chain_async), (chain_async_return), (GST_START_TEST),
3676         (fakesink_suite), (main):
3677         Added fakesink test that checks prerolling and clipping
3678         behaviour.
3680         * tests/check/gst/gstutils.c: (GST_START_TEST):
3681         Make check run faster so that buildbots don't timeout.
3683 2006-01-18  Wim Taymans  <wim@fluendo.com>
3685         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3686         (gst_base_sink_do_sync):
3687         Some cleanups.
3688         When the sink finishes blocking on the preroll buffer, it can
3689         immediatly render it instead of rendering when the next buffer
3690         arrives.
3692 2006-01-18  Wim Taymans  <wim@fluendo.com>
3694         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3695         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3696         (gst_base_sink_chain):
3697         Small cleanups.
3698         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3699         Don't store _last_stop if the buffer is dropped.
3701 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3703         * plugins/elements/gsttypefindelement.c:
3704         (gst_type_find_element_class_init):
3705           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3706           object method handler that sets the caps on the pad and we want
3707           that to happen before we emit the signal (fixes e.g. feeding a
3708           plain text file to decodebin).
3710 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3712         * gst/gstplugin.c: Add MPL and Proprietary as license options
3714 2006-01-18  Andy Wingo  <wingo@pobox.com>
3716         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3717         symbol was exported before, it appears this was just an oversight.
3718         Fixes #168703.
3719         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3721         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3722         prototype to gint. OK since this prototype was not in the header.
3724 2006-01-17  Andy Wingo  <wingo@pobox.com>
3726         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3727         registry while we remove plugins.
3729         * tools/gst-inspect.c (print_element_info): Don't unref the
3730         factory arg, that should be the responsibility of whatever code
3731         received the ref. Fixes a double-free when called from
3732         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3733         (main): Unref the factory if we have one.
3734         (print_element_list): No change -- relies on the
3735         plugin_feature_list_free to free the list of features.
3737 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3739         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3740         (gst_buffer_make_metadata_writable):
3741         * gst/gstbuffer.h:
3742         * libs/gst/base/gstbasetransform.c:
3743         (gst_base_transform_prepare_output_buf):
3744         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3745         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3746           Replace gst_buffer_(make|is)_metadata_writable patch now
3747           that the release is out.
3749 2006-01-17  Andy Wingo  <wingo@pobox.com>
3751         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3752         in the present tense without reference to versions.
3754         * gst/gstregistry.c (gst_registry_add_plugin)
3755         (gst_registry_remove_plugin, gst_registry_remove_feature)
3756         (gst_registry_find_feature, gst_registry_get_feature_list)
3757         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3758         (gst_registry_lookup, gst_registry_scan_path)
3759         (_gst_registry_remove_cache_plugins)
3760         (gst_registry_get_feature_list_by_plugin): Add argument
3761         validation.
3763 === release 0.10.2 ===
3765 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3767         * configure.ac:
3768           releasing 0.10.2, "If man is five"
3770 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3772         * gst/gstbuffer.c:
3773         * gst/gstbuffer.h:
3774         * libs/gst/base/gstbasetransform.c:
3775         (gst_base_transform_prepare_output_buf):
3776         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3777         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3778           Back out patch until after the release.
3780 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3782         * gst/gstminiobject.c:
3783           Spelling fix in docs.
3784         * ChangeLog - remove conflict indicator
3786 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3788         Reviewed By: Andy Wingo
3790         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3791         (gst_buffer_make_metadata_writable):
3792         * gst/gstbuffer.h:
3793           Add gst_buffer_(is|make)_metadata_writable as analogues of
3794           gst_buffer_(is|make)_writable.
3796         * libs/gst/base/gstbasetransform.c:
3797         (gst_base_transform_prepare_output_buf):
3798         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3799           Use name gst_buffer_(is|make)_metadata_writable functions.
3801         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3802           Test gst_buffer_(is|make)_metadata_writable
3803         
3804           (Closes: #324162)
3806 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3808         * docs/manual/Makefile.am:
3809           don't do parallel make
3810         * configure.ac:
3811           AC_SUBST HOST_CPU
3812         * win32/common/config.h.in:
3813           add generations for HOST_CPU and GST_MAJORMINOR
3814         * win32/common/config.h:
3815           commit generated result
3817 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3819         * docs/manual/appendix-integration.xml:
3820           Update GNOME integration section to use gst_init_get_option_group()
3821           instead of the old popt stuff (#322911). Also, GNOME applications
3822           should  now use gconf*sink and gconf*src instead of the old gconf
3823           helper lib we had.
3825 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3828         * docs/gst/gstreamer-docs.sgml:
3829         * docs/gst/gstreamer-sections.txt:
3830         * docs/libs/gstreamer-libs-sections.txt:
3831           add new API entries to the docs
3832         * libs/gst/controller/Makefile.am:
3833         * libs/gst/controller/gstcontroller.c:
3834         * libs/gst/controller/gstcontroller.h:
3835         * libs/gst/controller/gstcontrollerprivate.h:
3836         * libs/gst/controller/gsthelper.c:
3837         * libs/gst/controller/gstinterpolation.c:
3838           move private structs to private header
3839         * po/README:
3840           gstreamer-0.7 -> gstreamer-0.10
3841         * tests/check/libs/struct_i386.h:
3842           remove private structs
3844 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3846         * plugins/indexers/Makefile.am:
3847           Fixes as part of #317048
3849 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3851         * plugins/indexers/Makefile.am:
3852           fix #316086 - compilation when mmap is missing
3854 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3856         * libs/gst/base/gstbasesink.c:
3857           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3858           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3859         * win32/common/config.h:
3860           added some defines GST_MAJORMINOR and HOST_CPU
3861         * win32/common/libgstbase.def:
3862         * win32/common/libgstreamer.def:
3863           added some exported functions.
3865 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3867         * libs/gst/controller/gstcontroller.c:
3868         (gst_controlled_property_set_interpolation_mode),
3869         (gst_controlled_property_new):
3870         * libs/gst/controller/gstcontroller.h:
3871         * libs/gst/controller/gstinterpolation.c:
3872         (interpolate_none_get_string_value_array):
3873           make G_TYPE_STRING controlable
3875 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3877         * tools/README:
3878         * tools/gst-feedback.1.in:
3879         * tools/gst-inspect.1.in:
3880         * tools/gst-launch.1.in:
3881         * tools/gst-md5sum.1.in:
3882         * tools/gst-typefind.1.in:
3883         * tools/gst-xmlinspect.1.in:
3884         * tools/gst-xmllaunch.1.in:
3885           cleanup man-pages, remove reference to gst-register, document env-vars
3887 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3889         * gst/gstbuffer.c: (gst_buffer_span):
3890           gst_buffer_span should copy the timestamp of the first buffer
3891           if they were both originally overlapping subbuffers of the 
3892           same parent, using the same logic as the 'slow copy' case.
3894 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3896         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3897           Need to awaken ALL the pads when we pop a buffer, otherwise
3898           collectpads only works when there is 2 input streams.
3900 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3902         * docs/random/ensonic/media-device-daemon.txt:
3903           more ideas (dbus)
3904         * gst/gstbuffer.c:
3905           fix doc example, add clarification
3906         * tools/gst-launch.1.in:
3907           add initial info about GST_PLUGIN_PATH, needs more work
3909 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3911         * docs/manual/basics-bins.xml:
3912         * docs/manual/basics-elements.xml:
3913         * docs/manual/intro-basics.xml:
3914           Some more minor docs additions and updates.
3916 2006-01-11  Wim Taymans  <wim@fluendo.com>
3918         * docs/manual/basics-bins.xml:
3919         * docs/manual/basics-elements.xml:
3920         Some small fixes as pointed out by Ser-ver on IRC.
3922 2006-01-10  Edward Hervey  <edward@fluendo.com>
3924         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3925         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3926         the single-segment mode.
3928 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3930         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3932         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3933         (gst_base_src_perform_seek), (gst_base_src_send_event),
3934         (gst_base_src_set_property), (gst_base_src_get_property),
3935         (gst_base_src_loop), (gst_base_src_start),
3936         (gst_base_src_activate_push):
3937         * libs/gst/base/gstbasesrc.h:
3938           Name (private) union; makes Sun's Forte compiler happy (#324900).
3940 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3942         * README:
3943           gst-register is gone.
3945 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3947         * gst/gstvalue.c: (_gst_value_initialize):
3948           make the G_TYPE_DATE instantiation work if debug is disabled
3950 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3952         * gst/gstmessage.c: (gst_message_parse_tag),
3953         (gst_message_parse_error), (gst_message_parse_warning):
3954           Don't crash when return location for error/warning debug
3955           string is NULL; add fact that return locations can be
3956           NULL to docs where appropriate.
3958 2006-01-05  Wim Taymans  <wim@fluendo.com>
3960         * gst/gstplugin.c: (gst_plugin_load_file):
3961         Replace strdup by g_strdup.
3963 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3965         * docs/pwg/advanced-types.xml:
3966           fix doc borkage
3968 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3970         submitted by: Abel Cheung
3972         * po/LINGUAS:
3973         * po/zh_TW.po:
3974           Added Chinese (traditional) translation
3976 2006-01-04  Wim Taymans  <wim@fluendo.com>
3978         * docs/manual/basics-pads.xml:
3979         * docs/plugins/Makefile.am:
3980         * docs/plugins/gstreamer-plugins-docs.sgml:
3981         * docs/plugins/gstreamer-plugins-sections.txt:
3982         * docs/pwg/advanced-clock.xml:
3983         * docs/pwg/advanced-scheduling.xml:
3984         * docs/pwg/advanced-types.xml:
3985         * plugins/elements/gstfdsink.c:
3986         * plugins/elements/gstfdsrc.c:
3987         * plugins/elements/gstfdsrc.h:
3988         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3989         * plugins/elements/gstidentity.h:
3990         * plugins/elements/gstqueue.h:
3991         * plugins/elements/gsttee.c:
3992         * plugins/elements/gsttee.h:
3993         * plugins/elements/gsttypefindelement.c:
3994         (gst_type_find_element_class_init):
3995         * plugins/elements/gsttypefindelement.h:
3996         Small updates to various docs.
3997         Added core plugins to docs.
3999 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4001         * common/gst.supp:
4002           add a suppression for liboil's uninitialized variable
4004 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4006         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4008         * gst/gstutils.h:
4009           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4010           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4011           compiler switch is being used (#325429).
4013 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4015         * gst/gstbin.c: (gst_bin_query):
4016           Disable duration query caching in bins until it gets
4017           fixed (see #324807).
4019 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4021         * tools/gst-inspect.c: (print_element_properties_info):
4022           Handle properties of POINTER and BOXED type.
4024 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4026         * gst/gst.c: (init_post):
4027           Init tags stuff and some other things before loading
4028           any static plugins (there may be other static plugins
4029           than just the GStreamer ones, and they may want to
4030           register their own tags or formats or whatever, and
4031           preferably without segfaulting).
4033         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4034           Print at least a warning in the debug logs if we drop a
4035           query just because we don't know how to adjust the value
4036           in the particular format.
4038 2005-12-24  David Schleef  <ds@schleef.org>
4040         * tools/gstreamer-completion:
4041           Replacement for gst-complete written in sh and sed.  Only
4042           completes names of features, but that's 90% of what I want
4043           it for.  Properties are not available in registry.xml.  (Maybe
4044           they should be...)
4046 === release 0.10.1 ===
4048 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4050         * configure.ac:
4051           releasing 0.10.1, "Nollaig chridheil"
4053 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4055         * docs/faq/cvs.xml:
4056           Add missing quote, should be make ERROR_CFLAGS="".
4058 2005-12-20  Wim Taymans  <wim@fluendo.com>
4060         * docs/design/part-trickmodes.txt:
4061         More documentation on trickmodes.
4063 2005-12-20  Edward Hervey  <edward@fluendo.com>
4065         * gst/gstcaps.c: (gst_static_caps_get_type):
4066         * gst/gstcaps.h:
4067           API addition: GST_TYPE_STATIC_CAPS
4068         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4069         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4070         * gst/gstpadtemplate.h:
4071           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4072         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4073         bindings.
4075 2005-12-18  Wim Taymans  <wim@fluendo.com>
4077         * libs/gst/base/gstadapter.c:
4078         * libs/gst/base/gstadapter.h:
4079         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4080         (gst_base_sink_get_position):
4081         * libs/gst/base/gstbasesink.h:
4082         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4083         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4084         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4085         (gst_base_src_send_event), (gst_base_src_update_length),
4086         (gst_base_src_get_range), (gst_base_src_loop),
4087         (gst_base_src_start):
4088         * libs/gst/base/gstbasesrc.h:
4089         * libs/gst/base/gstbasetransform.h:
4090         * libs/gst/base/gstcollectpads.h:
4091         * libs/gst/base/gstpushsrc.c:
4092         * libs/gst/base/gstpushsrc.h:
4093         * libs/gst/dataprotocol/dataprotocol.c:
4094         * libs/gst/dataprotocol/dataprotocol.h:
4095         * libs/gst/net/gstnetclientclock.h:
4096         * libs/gst/net/gstnettimeprovider.h:
4097         Documentation updates.
4099 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4101         * docs/manual/basics-helloworld.xml:
4102           Remove superfluous closing bracket in helloworld example.
4104 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4106         * tools/gst-launch.1.in:
4107           Update gst-launch man page; add a section with useful
4108           environment variables. Fixes #323882.
4110 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4112         * gst/gst.c:
4113         * gst/gst_private.h:
4114           change some char* into char[]
4116 2005-12-16  Wim Taymans  <wim@fluendo.com>
4118         * gst/gstregistryxml.c: (load_feature):
4119         Cleanups.
4120         Don't use g_object_unref on GstObjects so that we avoid
4121         leaks on unsafe glibs.
4123 2005-12-16  Wim Taymans  <wim@fluendo.com>
4125         * gst/gstbin.c: (gst_bin_recalc_state):
4126         Small doc updates.
4128 2005-12-16  Wim Taymans  <wim@fluendo.com>
4130         * common/check.mak:
4131         Added make forever target for check.
4133 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4135         * gst/gst.c: (init_post):
4136           make the registry cache file HOST_CPU-dependent
4138 2005-12-16  Andy Wingo  <wingo@pobox.com>
4140         * plugins/elements/gstbufferstore.c
4141         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4142         return value.
4144         * tests/check/gst/gstobject.c
4145         (test_fake_object_name_threaded_unique): Pay attention to
4146         g_list_sort return value.
4148 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4150         * tools/gst-feedback-m.m:
4151           Update for 0.9/0.10 (fixes #323870).
4153 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4155         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4156           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4157           
4158         * tests/check/gst/gstminiobject.c: (my_foo_init),
4159         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4160         (test_value_collection), (gst_mini_object_suite):
4161           Add test to ensure refcounts end up as expected when passing
4162           GstMiniObjects through g_object_get() and g_object_set().
4164 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4166         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4167         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4168         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4169         of collectpads. This version removes a lot of races without
4170         touching API/ABI. Yay !
4172 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4174         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4175           Don't allow activation of a srcpad in pull_range if it has no
4176           getrange function.
4177           Change some debug statements to be a little clearer
4179         * plugins/elements/gsttypefindelement.c:
4180         (gst_type_find_handle_src_query):
4181           Check that we have a peer before executing queries thereupon.
4183         * tests/examples/metadata/read-metadata.c: (message_loop):
4184           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4185           immediately return us any available message with 0 timeout.
4187 2005-12-12  Michael Smith  <msmith@fluendo.com>
4189         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4190           Don't unref factories after calling them.
4191         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4192         * plugins/elements/gsttypefindelement.c:
4193         (gst_type_find_element_chain):
4194           Free lists of factories after using them. Fixing typefinding memory
4195           leaks.
4197 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4199         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4200         (gst_plugin_feature_load):
4201           more meaningful debug output
4202         * configure.ac:
4203         * tests/Makefile.am:
4204         * tests/old/examples/Makefile.am:
4205           make make distcheck happy again
4207 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4209         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4210           Catch the special case where we are operating chain-based,
4211           but the downstream peer pad has no chain function. Emit a
4212           custom error message in this case instead of letting the
4213           core generate one implying that this is some sort of core
4214           bug. It's not, it just means that whatever got plugged
4215           into the pipeline downstream when we announced the type
4216           can only operate pull-based, while our source can only
4217           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4218           Error string has not been marked for translation yet, as
4219           it probably needs some more work first.
4221         (gst_type_find_element_get_best_possibility):
4222           Add helper function to find the best of all available
4223           found possibilities that qualify given the min. threshold.
4225         (gst_type_find_element_handle_event):
4226           Fix the case where we get an EOS while still in TYPEFIND
4227           mode (we want to chose the best of all possible types,
4228           not just the first type that happens to be in our unsorted
4229           list of possible types).
4231         (gst_type_find_element_chain):
4232           Make sure we return GST_FLOW_ERROR when we errored out
4233           in stop_typefinding(); also, don't just find the best of
4234           all found type entries and then use the last examined
4235           type entry, but actually use the best entry.
4237 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4239         * tests/examples/typefind/typefind.c: (type_found):
4240         * tests/examples/xml/runxml.c: (xml_loaded):
4241           More gcc4 fixes and a mem leak fix.
4243 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4245         * tests/examples/xml/createxml.c: (object_saved):
4246           gcc 4 fixes
4248 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4250         * tests/Makefile.am:
4251           enable the examples even more
4253 2005-12-12  Andy Wingo  <wingo@pobox.com>
4255         * libs/gst/net/gstnettimeprovider.c
4256         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4257         (gst_net_time_provider_set_property)
4258         (gst_net_time_provider_get_property):
4259         API addition: Export "active" as a GObject property.
4260         (gst_net_time_provider_thread): Only respond to time queries if
4261         the time provider is active.
4263         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4264         NetTimeProvider, preserving binary compat.
4266 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4268         * tests/examples/controller/audio-example.c: (main):
4269         * tests/examples/launch/Makefile.am:
4270           convert comments again
4272 2005-12-12  Wim Taymans  <wim@fluendo.com>
4274         * libs/gst/base/gstpushsrc.c:
4275         Fix typo.
4277 2005-12-12  Wim Taymans  <wim@fluendo.com>
4279         * docs/libs/gstreamer-libs-sections.txt:
4280         Added new symbol to docs.
4282         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4283         (gst_base_src_init), (gst_base_src_set_format),
4284         (gst_base_src_default_query), (gst_base_src_query),
4285         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4286         (gst_base_src_perform_seek), (gst_base_src_send_event),
4287         (gst_base_src_default_event), (gst_base_src_event_handler),
4288         (gst_base_src_set_property), (gst_base_src_get_property),
4289         (gst_base_src_wait), (gst_base_src_do_sync),
4290         (gst_base_src_update_length), (gst_base_src_get_range),
4291         (gst_base_src_check_get_range), (gst_base_src_loop),
4292         (gst_base_src_default_negotiate), (gst_base_src_start),
4293         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4294         (gst_base_src_change_state):
4295         * libs/gst/base/gstbasesrc.h:
4296         Implement seeking to other formats than _BYTES.
4297         Implement more seeking methods correctly.
4298         Doc updates.
4299         Added query vmethod.
4300         Added do_seek vmethod to make life easier for subclasses
4301         when seeking.
4302         API addition: gst_base_src_set_format()
4304 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4306         * tests/examples/Makefile.am:
4307           added that too
4309 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4311         * configure.ac:
4312         * docs/random/ensonic/media-device-daemon.txt:
4313         * tests/examples/controller/.cvsignore:
4314         * tests/examples/controller/Makefile.am:
4315         * tests/examples/controller/audio-example.c: (main):
4316         * tests/examples/helloworld/.cvsignore:
4317         * tests/examples/helloworld/Makefile.am:
4318         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4319         * tests/examples/launch/.cvsignore:
4320         * tests/examples/launch/Makefile.am:
4321         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4322         * tests/examples/metadata/.cvsignore:
4323         * tests/examples/metadata/Makefile.am:
4324         * tests/examples/metadata/read-metadata.c: (message_loop),
4325         (make_pipeline), (print_tag), (main):
4326         * tests/examples/queue/.cvsignore:
4327         * tests/examples/queue/Makefile.am:
4328         * tests/examples/queue/queue.c: (event_loop), (main):
4329         * tests/examples/typefind/.cvsignore:
4330         * tests/examples/typefind/Makefile.am:
4331         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4332         (main):
4333         * tests/examples/xml/.cvsignore:
4334         * tests/examples/xml/Makefile.am:
4335         * tests/examples/xml/createxml.c: (object_saved), (main):
4336         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4337         * tests/old/examples/Makefile.am:
4338         * tests/old/examples/TODO:
4339         * tests/old/examples/controller/.cvsignore:
4340         * tests/old/examples/controller/Makefile.am:
4341         * tests/old/examples/controller/audio-example.c:
4342         * tests/old/examples/helloworld/.cvsignore:
4343         * tests/old/examples/helloworld/Makefile.am:
4344         * tests/old/examples/helloworld/helloworld.c:
4345         * tests/old/examples/launch/.cvsignore:
4346         * tests/old/examples/launch/Makefile.am:
4347         * tests/old/examples/launch/mp3parselaunch.c:
4348         * tests/old/examples/launch/mp3play:
4349         * tests/old/examples/manual/Makefile.am:
4350         * tests/old/examples/metadata/Makefile.am:
4351         * tests/old/examples/metadata/read-metadata.c:
4352         * tests/old/examples/queue/.cvsignore:
4353         * tests/old/examples/queue/Makefile.am:
4354         * tests/old/examples/queue/queue.c:
4355         * tests/old/examples/typefind/.cvsignore:
4356         * tests/old/examples/typefind/Makefile.am:
4357         * tests/old/examples/typefind/typefind.c:
4358         * tests/old/examples/xml/.cvsignore:
4359         * tests/old/examples/xml/Makefile.am:
4360         * tests/old/examples/xml/createxml.c:
4361         * tests/old/examples/xml/runxml.c:
4362           applied some simple fixing to some examples
4363           re-enabled the working examples
4365 2005-12-12  Wim Taymans  <wim@fluendo.com>
4367         * gst/gstsegment.c: (gst_segment_init),
4368         (gst_segment_set_last_stop), (gst_segment_set_seek),
4369         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4370         (gst_segment_to_running_time):
4371         Added more documentation.
4372         Make sure the last_pos value is updated properly.
4373         Make sure to_stream_time and to_running_time don't
4374         operate on wrong values.
4376         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4377         Update check.
4379 2005-12-12  Michael Smith  <msmith@fluendo.com>
4381         * plugins/elements/gsttypefindelement.c: (free_entry),
4382         (gst_type_find_element_chain):
4383           Now that we're not leaking factories, make sure we keep references
4384           to them while we need them.
4386 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4388         * tests/check/gst/struct_i386.h:
4389           ifdef out the XML structs
4391 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4393         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4394           floor is not needed, F is always positive; this obviates the
4395           need for adding -lm when building without libxml
4397 2005-12-12  Wim Taymans  <wim@fluendo.com>
4399         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4400         Take current playback rate into account when reporting
4401         the position.
4403 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4405         * docs/manual/mime-world.fig:
4406           Let's try this again, this time with a file that is
4407           actually in XFig format.
4409 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4411         * docs/manual/mime-world.fig:
4412           Add audioconvert element to diagram so that it
4413           matches the text and the code (fixes #319526).
4415 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4417         * docs/pwg/building-chainfn.xml:
4418         * docs/pwg/building-pads.xml:
4419         * docs/pwg/building-state.xml:
4420         * docs/pwg/other-source.xml:
4421           Update state change stuff for 0.10 (fixes #322969).
4423 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4425         * docs/manual/advanced-dataaccess.xml:
4426         * docs/manual/appendix-checklist.xml:
4427         * docs/manual/appendix-programs.xml:
4428         * docs/manual/basics-pads.xml:
4429         * docs/manual/highlevel-components.xml:
4430         * docs/manual/manual.xml:
4431           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4432           add converters in front of pipelines; remove curly
4433           brackets for threads stuff, they no longer exist; use
4434           GST_TYPE_FRACTION for framerates; update some pieces of
4435           code to 0.10, but there's plenty more to do.
4437         * docs/manual/appendix-porting.xml:
4438           Expand on asynchroneous state changes; s/0.9/0.10/;
4439           mention disappearance of gst_init_get_popt_table()
4440           (fixes #322916).
4442 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4444         * docs/faq/using.xml:
4445           Spider no longer exists, and neither does gst-launch-ext.
4446           Update examples to use decodebin and playbin and put
4447           converters in front of sinks (fixes #323726).
4449 2005-12-09  Michael Smith  <msmith@fluendo.com>
4451         * plugins/elements/gsttypefindelement.c: (find_peek),
4452         (gst_type_find_element_chain):
4453           Fix leaking element factories in typefinding.
4454           Fix problem where we forgot about a probable type on non-seekable
4455           files, and thus later mis-typefound it.
4457 2005-12-09  Michael Smith  <msmith@fluendo.com>
4459         * common/m4/gst-makecontext.m4:
4460         * common/m4/gst-mcsc.m4:
4461         * configure.ac:
4462         * win32/common/config.h:
4463         * win32/common/config.h.in:
4464           Remove makecontext stuff; not used in 0.10 and causes problems on
4465           HPUX according to bug #322441
4467 2005-12-07  Wim Taymans  <wim@fluendo.com>
4469         * tests/check/Makefile.am:
4470         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4471         (main):
4472         * tests/check/libs/struct_i386.h:
4473         Added ABI check for libs
4475 2005-12-07  Wim Taymans  <wim@fluendo.com>
4477         * tests/check/Makefile.am:
4478         And add the struct_i386.h to dist.
4480 2005-12-07  Wim Taymans  <wim@fluendo.com>
4482         * tests/check/Makefile.am:
4483         * tests/check/gst/.cvsignore:
4484         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4485         (main):
4486         * tests/check/gst/struct_i386.h:
4487         Added check for ABI compatibility.
4489 2005-12-07  Wim Taymans  <wim@fluendo.com>
4491         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4492         (gst_fake_src_get_times), (gst_fake_src_create):
4493         Fix broken sync option, fixes #323259
4495 2005-12-07  Wim Taymans  <wim@fluendo.com>
4497         * gst/gstbuffer.c:
4498         Small docs update.
4500         * gst/gstcaps.c: (gst_caps_is_equal):
4501         Don't assert on NULL <--> X. Fixes #323260
4503         * gst/gstminiobject.c: (gst_mini_object_replace):
4504         If we're doing atomic operations, we might just as well use
4505         the proper way to get an atomic pointer.
4507         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4508         Clean up debugging.
4510 2005-12-07  Michael Smith  <msmith@fluendo.com>
4512         * gst/parse/grammar.y:
4513           Remove handling of { } for threads.
4515 2005-12-06  David Schleef  <ds@schleef.org>
4517         * libs/gst/base/gstbasetransform.c: speling fix.
4519 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4521         * docs/libs/tmpl/gstdataprotocol.sgml:
4522         * docs/random/omega/testing/gstobject.c:
4523         * gst/gst.c:
4524         * gst/gstclock.c:
4525         * gst/gstelement.c:
4526         * gst/gstelementfactory.c:
4527         * gst/gsterror.c:
4528         * gst/gstevent.c:
4529         * gst/gstghostpad.c:
4530         * gst/gstinfo.c:
4531         * gst/gstpadtemplate.c:
4532         * gst/gstregistryxml.c:
4533         * gst/gsttaglist.c:
4534         * gst/gsttagsetter.c:
4535         * gst/gsttypefind.c:
4536         * gst/gstvalue.c:
4537         * libs/gst/base/gstbasesrc.c:
4538         * libs/gst/net/gstnetclientclock.c:
4539         * libs/gst/net/gstnettimeprovider.c:
4540         * plugins/elements/gstfakesrc.c:
4541         * plugins/elements/gstfdsrc.c:
4542         * plugins/elements/gstfilesrc.c:
4543         * plugins/elements/gstidentity.c:
4544         * plugins/elements/gstqueue.c:
4545         * plugins/elements/gsttypefindelement.c:
4546         * plugins/indexers/gstfileindex.c:
4547         * plugins/indexers/gstmemindex.c:
4548         * tests/check/gst/gsttag.c:
4549         * tests/old/examples/cutter/cutter.c:
4550         * tests/old/examples/mixer/mixer.c:
4551         * tests/old/examples/xml/runxml.c: (main):
4552         * tests/old/testsuite/caps/normalisation.c:
4553         * tests/old/testsuite/debug/global.c:
4554         * tests/old/testsuite/parse/parse1.c:
4555         * tools/gst-xmlinspect.c:
4556         * win32/common/dirent.c:
4557           expand tabs
4559 === release 0.10.0 ===
4561 2005-12-05   <thomas (at) apestaart (dot) org>
4563         * configure.ac:
4564           releasing 0.10.0, "Maroilles"
4566 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4568         submitted by: Funda Wang <fundawang@linux.net.cn>
4570         * po/LINGUAS:
4571         * po/zh_CN.po:
4572           added Chinese (Traditional) translation
4574 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4576         * docs/gst/gstreamer-sections.txt:
4577         * docs/libs/tmpl/gstdataprotocol.sgml:
4578         * docs/random/thomasvs/TODO:
4579         * gst/gstutils.c:
4580         * gst/gstutils.h:
4581           fix docs
4583 2005-12-05  Andy Wingo  <wingo@pobox.com>
4585         patch by: Wim Taymans <wim@fluendo.com>
4587         * libs/gst/base/gstbasetransform.c
4588         (gst_base_transform_prepare_output_buf)
4589         (gst_base_transform_buffer_alloc):
4590         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4591         alloc_buffer_and_set_caps.
4593         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4594         set_caps on the source pad.
4595         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4596         alloc_buffer used to do. Fixes #322874.
4598         * docs/gst/gstreamer-sections.txt: 
4599         * docs/design/part-negotiation.txt: 
4600         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4601         changes.
4603 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4605         patch by: Sebastien Moutte
4607         * win32/MANIFEST:
4608         * win32/common/config.h.in:
4609         * win32/vs6/libgstcontroller.dsp:
4610           win32 build fixes
4612 2005-12-05  Wim Taymans  <wim@fluendo.com>
4614         * gst/gstcaps.c: (gst_caps_is_equal):
4615         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4616         (gst_fake_src_create):
4617         Back out previous code changes, leave doc updates, file bugs 
4618         instead. 
4620 2005-12-05  Wim Taymans  <wim@fluendo.com>
4622         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4623         (gst_fake_src_get_times), (gst_fake_src_create):
4624         * plugins/elements/gstfakesrc.h:
4625         Fix broken sync code.
4627 2005-12-05  Wim Taymans  <wim@fluendo.com>
4629         * gst/gstcaps.c: (gst_caps_is_equal):
4630         Comparing NULL against !NULL yields different caps, not a
4631         failure.
4633 2005-12-05  Wim Taymans  <wim@fluendo.com>
4635         * gst/gstpipeline.c:
4636         Fix small typo in docs.
4638 2005-12-05  Andy Wingo  <wingo@pobox.com>
4640         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4642         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4643         registries/plugins with a MAJORMINOR one.
4644         (plugin_desc): Rename library from gstcoreleements to
4645         staticelements. Fixes #323222.
4647 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4649         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4650           Change debug category to 'collectpads' from 'collect_pads'
4651           (fixes #323250).
4653 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4655         patch by: Sebastien Moutte
4657         * libs/gst/controller/gstinterpolation.c:
4658           use convert function for uint64/double
4659         * win32/vs6/libgstcontroller.dsp:
4660           link to GLib
4662 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4664         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4665         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4666         * gst/gstutils.h:
4667         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4668           add tests that seem to show that the guint64/gdouble conversions
4669           are correct.
4671 2005-12-02  Wim Taymans  <wim@fluendo.com>
4673         * gst/gstregistry.c: (gst_registry_add_path):
4674         * gst/gstregistry.h:
4675         * gst/gstregistryxml.c:
4676         Fix docs again.
4678 2005-12-02  Wim Taymans  <wim@fluendo.com>
4680         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4681         (gst_util_uint64_scale_int):
4682         Small cleanup.
4684         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4685         Add debug log line.
4687         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4688         Add FIXME.
4690 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4692         * win32/MANIFEST:
4693         * win32/common/config.h:
4694         * win32/vs6/gstreamer.dsw:
4695         * win32/vs6/libgstcoreelements.dsp:
4696         * win32/vs6/libgstelements.dsp:
4697           renamed core elements plugin
4699 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4701         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4702         (get_candidates):
4703           do piece-wise major/minor comparison so 0.9 < 0.10
4704           also allow .exe extensions for tools
4706 2005-12-02  Michael Smith  <msmith@fluendo.com>
4708         * gst/gst.c:
4709           Escape a % to make gtkdoc happier; bug 322958.
4711 === release 0.9.7 ===
4713 2005-12-01   <thomas (at) apestaart (dot) org>
4715         * configure.ac:
4716           releasing 0.9.7, "My Dog Has No Nose"
4718 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4720         * common/gst-xmlinspect.py:
4721         * configure.ac:
4722         * docs/libs/tmpl/gstdataprotocol.sgml:
4723         * docs/random/release:
4724         * po/af.po:
4725         * po/az.po:
4726         * po/bg.po:
4727         * po/ca.po:
4728         * po/cs.po:
4729         * po/de.po:
4730         * po/en_GB.po:
4731         * po/fr.po:
4732         * po/it.po:
4733         * po/nb.po:
4734         * po/nl.po:
4735         * po/ru.po:
4736         * po/sq.po:
4737         * po/sr.po:
4738         * po/sv.po:
4739         * po/tr.po:
4740         * po/uk.po:
4741         * po/vi.po:
4742         * win32/common/config.h:
4743         * win32/common/config.h.in:
4744         * win32/vs6/gst_inspect.dsp:
4745         * win32/vs6/gst_launch.dsp:
4746         * win32/vs6/libgstbase.dsp:
4747         * win32/vs6/libgstelements.dsp:
4748         * win32/vs6/libgstreamer.dsp:
4749         * win32/vs7/GStreamer.vcproj:
4750         * win32/vs7/gst-inspect.vcproj:
4751         * win32/vs7/gst-launch.vcproj:
4752         * win32/vs7/libgstbase.vcproj:
4753           bump GST_MAJORMINOR to 0.10
4754           reset libtool version
4756 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4758         * po/LINGUAS:
4759         * po/bg.po:
4760           Added Bulgarian translation by (Alexander Shopov)
4762 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4764         * tests/check/gst/gstplugin.c:
4765           fix test
4767 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4769         * common/gst-xmlinspect.py:
4770         * common/gtk-doc-plugins.mak:
4771         * configure.ac:
4772         * docs/Makefile.am:
4773         * docs/gst/Makefile.am:
4774         * docs/gst/gstreamer-docs.sgml:
4775         * docs/gst/gstreamer-sections.txt:
4776         * docs/gst/gstreamer.types:
4777         * docs/gst/gstreamer.types.in:
4778         * docs/plugins/Makefile.am:
4779         * docs/plugins/gstreamer-plugins-docs.sgml:
4780         * docs/plugins/gstreamer-plugins-sections.txt:
4781         * docs/plugins/gstreamer-plugins.types:
4782         * docs/plugins/inspect.stamp:
4783         * docs/plugins/inspect/plugin-coreelements.xml:
4784         * docs/plugins/inspect/plugin-coreindexers.xml:
4785         * docs/plugins/scanobj-build.stamp:
4786         * gstreamer.spec.in:
4787         * plugins/elements/Makefile.am:
4788         * plugins/elements/gstelements.c:
4789         * plugins/elements/gstfakesink.c:
4790         * plugins/elements/gstfakesrc.c:
4791         * plugins/elements/gstfilesink.c:
4792         * plugins/elements/gstfilesrc.c:
4793         * plugins/elements/gstqueue.c:
4794         * plugins/indexers/Makefile.am:
4795         * plugins/indexers/gstindexers.c:
4796           document core plugins in a separate document just like all the
4797           others
4798           rename these plugins to something starting with core
4800 2005-12-01  Andy Wingo  <wingo@pobox.com>
4802         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4803         padding here before, but it missed the commit.
4805 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4807         * libs/gst/controller/gstinterpolation.c:
4808           whitespace prices have crashed, we should feel free to use some now
4809           use gst_guint64_to_gdouble
4811 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4813         * libs/gst/controller/gstcontroller.c:
4814         * libs/gst/controller/gsthelper.c:
4815         * libs/gst/controller/gstinterpolation.c:
4816         * libs/gst/controller/lib.c:
4817           wrap config.h include
4819 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4821         * docs/gst/gstreamer-sections.txt:
4822           update docs
4824 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4826         * plugins/elements/gstelements.c:
4827         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4828         (gst_fd_sink__class_init), (gst_fd_sink__init),
4829         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4830         (gst_fd_sink__get_property):
4831         * plugins/elements/gstfdsink.h:
4832         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4833         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4834         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4835         (gst_fd_src_unlock), (gst_fd_src_set_property),
4836         (gst_fd_src_get_property), (gst_fd_src_create),
4837         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4838         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4839         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4840         (gst_fd_src_uri_handler_init):
4841         * plugins/elements/gstfdsrc.h:
4842         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4843           more anal cleanup
4845 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4847         * docs/gst/Makefile.am:
4848         * docs/gst/gstreamer.types.in:
4849         * gst/Makefile.am:
4850           fix the docs build
4852 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4854         * configure.ac:
4855         * gst/Makefile.am:
4856         * gst/gst.c:
4857         * gst/gstplugin.h:
4858         * gst/gstregistry.h:
4859         * tests/benchmarks/complexity.c:
4860         * tests/benchmarks/mass-elements.c:
4861         * tests/check/Makefile.am:
4862         * tools/Makefile.am:
4863         * tools/gst-inspect.c:
4864         * tools/gst-xmlinspect.c:
4865           various fixes to make
4866           --disable-nls --disable-registry --disable-loadsave
4867           --disable-parse --disable-gst-debug
4868           work and get the core .so down to 360444 bytes after stripping
4870 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4872         * Makefile.am:
4873         * configure.ac:
4874           descend into tests
4875         * docs/random/thomasvs/TODO:
4876         * tests/Makefile.am:
4877         * tests/README:
4878           add a README
4880 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4882         * win32/GStreamer.vcproj:
4883         * win32/MANIFEST:
4884         * win32/Makefile:
4885         * win32/Makefile.inspect:
4886         * win32/Makefile.launch:
4887         * win32/Makefile.register:
4888         * win32/README.txt:
4889         * win32/gst-inspect.vcproj:
4890         * win32/gst-launch.vcproj:
4891         * win32/gst-register.vcproj:
4892         * win32/gstelements.vcproj:
4893         * win32/gstgetbits.def:
4894         * win32/gstgetbits.vcproj:
4895         * win32/gstreamer-dbg.def:
4896         * win32/gstreamer.def:
4897         * win32/libgstbase.def:
4898         * win32/libgstbase.vcproj:
4899         * win32/link_oldruntime.c:
4900         * win32/mman.c:
4901         * win32/mman.h:
4902         * win32/mman.inl:
4903         * win32/msvc71.sln:
4904           move even more stuff, win32/ is nice and clean now
4906 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4908         * libs/gst/control/.cvsignore:
4909         * win32/MANIFEST:
4910         * win32/config.h:
4911         * win32/dirent.c:
4912         * win32/dirent.h:
4913         * win32/gstbytestream.def:
4914         * win32/gstbytestream.vcproj:
4915         * win32/gstconfig.h:
4916         * win32/gstenumtypes.c:
4917         * win32/gstenumtypes.h:
4918         * win32/gstoptimalscheduler.vcproj:
4919         * win32/gstversion.h:
4920         * win32/gtchar.h:
4921         * win32/testsuite/bins.vcproj:
4922         * win32/testsuite/bytestream.vcproj:
4923         * win32/testsuite/caps.vcproj:
4924         * win32/testsuite/cleanup.vcproj:
4925         * win32/testsuite/clock.vcproj:
4926         * win32/testsuite/debug.vcproj:
4927         * win32/testsuite/dlopen.vcproj:
4928         * win32/testsuite/dynparams.vcproj:
4929         * win32/testsuite/elements.vcproj:
4930         * win32/testsuite/ghostpads.vcproj:
4931         * win32/testsuite/indexers.vcproj:
4932         * win32/testsuite/negotiation.vcproj:
4933         * win32/testsuite/parse.vcproj:
4934         * win32/testsuite/plugin.vcproj:
4935         * win32/testsuite/refcounting.vcproj:
4936         * win32/testsuite/schedulers.vcproj:
4937         * win32/testsuite/states.vcproj:
4938         * win32/testsuite/tags.vcproj:
4939         * win32/testsuite/threads.vcproj:
4940           remove old win32 stuff that isn't maintained and should be
4941           reorganized
4943 2005-11-30  Andy Wingo  <wingo@pobox.com>
4945         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4946         loading the gst.interfaces python module bork.
4948         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4949         available since GLib 2.2. Fixes #318031.
4951 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4953         * Makefile.am:
4954         * check/.cvsignore:
4955         * check/Makefile.am:
4956         * check/elements/.cvsignore:
4957         * check/elements/fakesrc.c:
4958         * check/elements/fdsrc.c:
4959         * check/elements/identity.c:
4960         * check/generic/.cvsignore:
4961         * check/generic/states.c:
4962         * check/gst-libs/.cvsignore:
4963         * check/gst-libs/controller.c:
4964         * check/gst-libs/gdp.c:
4965         * check/gst/.cvsignore:
4966         * check/gst/capslist.h:
4967         * check/gst/gst.c:
4968         * check/gst/gstbin.c:
4969         * check/gst/gstbuffer.c:
4970         * check/gst/gstbus.c:
4971         * check/gst/gstcaps.c:
4972         * check/gst/gstelement.c:
4973         * check/gst/gstevent.c:
4974         * check/gst/gstghostpad.c:
4975         * check/gst/gstiterator.c:
4976         * check/gst/gstmessage.c:
4977         * check/gst/gstminiobject.c:
4978         * check/gst/gstobject.c:
4979         * check/gst/gstpad.c:
4980         * check/gst/gstpipeline.c:
4981         * check/gst/gstplugin.c:
4982         * check/gst/gstsegment.c:
4983         * check/gst/gststructure.c:
4984         * check/gst/gstsystemclock.c:
4985         * check/gst/gsttag.c:
4986         * check/gst/gstutils.c:
4987         * check/gst/gstvalue.c:
4988         * check/net/.cvsignore:
4989         * check/net/gstnetclientclock.c:
4990         * check/net/gstnettimeprovider.c:
4991         * check/pipelines/.cvsignore:
4992         * check/pipelines/cleanup.c:
4993         * check/pipelines/simple_launch_lines.c:
4994         * check/pipelines/stress.c:
4995         * check/states/.cvsignore:
4996         * check/states/sinks.c:
4997         * configure.ac:
4998         * examples/Makefile.am:
4999         * examples/appreader/.cvsignore:
5000         * examples/appreader/Makefile.am:
5001         * examples/appreader/appreader.c:
5002         * examples/controller/.cvsignore:
5003         * examples/controller/Makefile.am:
5004         * examples/controller/audio-example.c:
5005         * examples/cutter/.cvsignore:
5006         * examples/cutter/Makefile.am:
5007         * examples/cutter/cutter.c:
5008         * examples/cutter/cutter.h:
5009         * examples/events/Makefile.am:
5010         * examples/events/seek.c:
5011         * examples/helloworld/.cvsignore:
5012         * examples/helloworld/Makefile.am:
5013         * examples/helloworld/helloworld.c:
5014         * examples/helloworld2/.cvsignore:
5015         * examples/helloworld2/Makefile.am:
5016         * examples/helloworld2/helloworld2.c:
5017         * examples/launch/.cvsignore:
5018         * examples/launch/Makefile.am:
5019         * examples/launch/mp3parselaunch.c:
5020         * examples/launch/mp3play:
5021         * examples/manual/.cvsignore:
5022         * examples/manual/Makefile.am:
5023         * examples/manual/extract.pl:
5024         * examples/metadata/Makefile.am:
5025         * examples/metadata/read-metadata.c:
5026         * examples/mixer/.cvsignore:
5027         * examples/mixer/Makefile.am:
5028         * examples/mixer/mixer.c:
5029         * examples/mixer/mixer.h:
5030         * examples/pingpong/.cvsignore:
5031         * examples/pingpong/Makefile.am:
5032         * examples/pingpong/pingpong.c:
5033         * examples/plugins/.cvsignore:
5034         * examples/plugins/Makefile.am:
5035         * examples/plugins/example.c:
5036         * examples/plugins/example.h:
5037         * examples/pwg/.cvsignore:
5038         * examples/pwg/Makefile.am:
5039         * examples/pwg/extract.pl:
5040         * examples/queue/.cvsignore:
5041         * examples/queue/Makefile.am:
5042         * examples/queue/queue.c:
5043         * examples/queue2/.cvsignore:
5044         * examples/queue2/Makefile.am:
5045         * examples/queue2/queue2.c:
5046         * examples/queue3/.cvsignore:
5047         * examples/queue3/Makefile.am:
5048         * examples/queue3/queue3.c:
5049         * examples/queue4/.cvsignore:
5050         * examples/queue4/Makefile.am:
5051         * examples/queue4/queue4.c:
5052         * examples/retag/.cvsignore:
5053         * examples/retag/Makefile.am:
5054         * examples/retag/retag.c:
5055         * examples/retag/transcode.c:
5056         * examples/thread/.cvsignore:
5057         * examples/thread/Makefile.am:
5058         * examples/thread/thread.c:
5059         * examples/typefind/.cvsignore:
5060         * examples/typefind/Makefile.am:
5061         * examples/typefind/typefind.c:
5062         * examples/xml/.cvsignore:
5063         * examples/xml/Makefile.am:
5064         * examples/xml/createxml.c:
5065         * examples/xml/runxml.c:
5066         * tests/Makefile.am:
5067         * tests/check/Makefile.am:
5068         * testsuite/.cvsignore:
5069         * testsuite/Makefile.am:
5070         * testsuite/Rules:
5071         * testsuite/caps/.cvsignore:
5072         * testsuite/caps/Makefile.am:
5073         * testsuite/caps/app_fixate.c:
5074         * testsuite/caps/audioscale.c:
5075         * testsuite/caps/caps.c:
5076         * testsuite/caps/caps.h:
5077         * testsuite/caps/caps_strings:
5078         * testsuite/caps/compatibility.c:
5079         * testsuite/caps/deserialize.c:
5080         * testsuite/caps/enumcaps.c:
5081         * testsuite/caps/eratosthenes.c:
5082         * testsuite/caps/filtercaps.c:
5083         * testsuite/caps/fixed.c:
5084         * testsuite/caps/fraction-convert.c:
5085         * testsuite/caps/fraction-multiply-and-zero.c:
5086         * testsuite/caps/intersect2.c:
5087         * testsuite/caps/intersection.c:
5088         * testsuite/caps/normalisation.c:
5089         * testsuite/caps/random.c:
5090         * testsuite/caps/renegotiate.c:
5091         * testsuite/caps/sets.c:
5092         * testsuite/caps/simplify.c:
5093         * testsuite/caps/string-conversions.c:
5094         * testsuite/caps/structure.c:
5095         * testsuite/caps/subtract.c:
5096         * testsuite/caps/union.c:
5097         * testsuite/debug/.cvsignore:
5098         * testsuite/debug/Makefile.am:
5099         * testsuite/debug/category.c:
5100         * testsuite/debug/commandline.c:
5101         * testsuite/debug/global.c:
5102         * testsuite/debug/output.c:
5103         * testsuite/debug/printf_extension.c:
5104         * testsuite/dlopen/.cvsignore:
5105         * testsuite/dlopen/Makefile.am:
5106         * testsuite/dlopen/dlopen_gst.c:
5107         * testsuite/dlopen/loadgst.c:
5108         * testsuite/elements/.cvsignore:
5109         * testsuite/elements/Makefile.am:
5110         * testsuite/elements/gst-inspect-check.in:
5111         * testsuite/elements/struct_i386.h:
5112         * testsuite/elements/struct_size.c:
5113         * testsuite/indexers/.cvsignore:
5114         * testsuite/indexers/Makefile.am:
5115         * testsuite/indexers/cache1.c:
5116         * testsuite/indexers/indexdump.c:
5117         * testsuite/parse/.cvsignore:
5118         * testsuite/parse/Makefile.am:
5119         * testsuite/parse/parse1.c:
5120         * testsuite/parse/parse2.c:
5121         * testsuite/plugin/.cvsignore:
5122         * testsuite/plugin/Makefile.am:
5123         * testsuite/plugin/README:
5124         * testsuite/plugin/dynamic.c:
5125         * testsuite/plugin/linked.c:
5126         * testsuite/plugin/loading.c:
5127         * testsuite/plugin/registry.c:
5128         * testsuite/plugin/static.c:
5129         * testsuite/plugin/static2.c:
5130         * testsuite/plugin/testplugin.c:
5131         * testsuite/plugin/testplugin2.c:
5132         * testsuite/plugin/testplugin2_s.c:
5133         * testsuite/plugin/testplugin_s.c:
5134         * testsuite/refcounting/.cvsignore:
5135         * testsuite/refcounting/Makefile.am:
5136         * testsuite/refcounting/bin.c:
5137         * testsuite/refcounting/element.c:
5138         * testsuite/refcounting/element_pad.c:
5139         * testsuite/refcounting/mainloop.c:
5140         * testsuite/refcounting/mem.c:
5141         * testsuite/refcounting/mem.h:
5142         * testsuite/refcounting/object.c:
5143         * testsuite/refcounting/pad.c:
5144         * testsuite/refcounting/sched.c:
5145         * testsuite/refcounting/thread.c:
5146         * testsuite/states/.cvsignore:
5147         * testsuite/states/Makefile.am:
5148         * testsuite/states/bin.c:
5149         * testsuite/states/locked.c:
5150         * testsuite/states/parent.c:
5151         * testsuite/threads/.cvsignore:
5152         * testsuite/threads/159566.c:
5153         * testsuite/threads/159852.c:
5154         * testsuite/threads/Makefile.am:
5155         * testsuite/threads/queue.c:
5156         * testsuite/threads/signals.c:
5157         * testsuite/threads/staticrec.c:
5158         * testsuite/threads/thread.c:
5159         * testsuite/threads/threadb.c:
5160         * testsuite/threads/threadc.c:
5161         * testsuite/threads/threadd.c:
5162         * testsuite/threads/threade.c:
5163         * testsuite/threads/threadf.c:
5164         * testsuite/threads/threadg.c:
5165         * testsuite/threads/threadh.c:
5166         * testsuite/threads/threadi.c:
5167           move all of these under tests
5169 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5171         * configure.ac:
5172         * tests/Makefile.am:
5173           fix distcheck
5175 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5177         * docs/gst/gstreamer-sections.txt:
5178         * tests/sched/.cvsignore:
5179         * tests/sched/Makefile.am:
5180         * tests/sched/cases/(fs-fs).xml:
5181         * tests/sched/cases/(fs-i-fs).xml:
5182         * tests/sched/cases/(fs-i-i-fs).xml:
5183         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5184         * tests/sched/dynamic-pipeline.c:
5185         * tests/sched/interrupt1.c:
5186         * tests/sched/interrupt2.c:
5187         * tests/sched/interrupt3.c:
5188         * tests/sched/runtestcases:
5189         * tests/sched/runxml.c:
5190         * tests/sched/sched-stress.c:
5191         * tests/sched/sort.c:
5192         * tests/sched/testcases:
5193         * tests/sched/testcases1.tc:
5194         * tests/seeking/.cvsignore:
5195         * tests/seeking/Makefile.am:
5196         * tests/seeking/seeking1.c:
5197         * tests/threadstate/.cvsignore:
5198         * tests/threadstate/Makefile.am:
5199         * tests/threadstate/test1.c:
5200         * tests/threadstate/test2.c:
5201         * tests/threadstate/threadstate1.c:
5202         * tests/threadstate/threadstate2.c:
5203         * tests/threadstate/threadstate3.c:
5204         * tests/threadstate/threadstate4.c:
5205         * tests/threadstate/threadstate5.c:
5206           remove obsolete tests
5207         * configure.ac:
5208         * tests/bench-complexity.scm:
5209         * tests/bench-mass_elements.scm:
5210         * tests/complexity.c:
5211         * tests/complexity.gnuplot:
5212         * tests/instantiate/.cvsignore:
5213         * tests/instantiate/Makefile.am:
5214         * tests/instantiate/caps.c:
5215         * tests/mass_elements.c:
5216         * tests/network-clock-utils.scm:
5217         * tests/network-clock.scm:
5218         * tests/plot-data:
5219         First pass at cleaning up tests/ dir before moving the rest
5220         Combined with CVS surgery
5222 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5224         * po/POTFILES.in:
5225           queue has moved, update
5227 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5229         * docs/gst/gstreamer-sections.txt:
5230           remove double entries from the docs
5231         * gst/gst_private.h:
5232         * gst/gstinfo.c: (_gst_debug_init):
5233           remove the THREAD debug category
5234         * gst/Makefile.am:
5235         * gst/gstqueue.c:
5236         * gst/gstqueue.h:
5237         * docs/gst/gstreamer.types:
5238         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5239         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5240           completely move queue and fix up debugging categories
5242 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5244         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5245           make initialization portable, using LL is not
5247 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5249         * win32/common/gstconfig.h:
5250           add large padding
5252 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5254         * win32/common/libgstreamer.def:
5255           rename symbols; sort base section
5257 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5259         * gst/gstclock.c: (do_linear_regression):
5260           remove crack non-portable handrolled DEBUG macro
5262 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5264         * docs/random/release:
5265           update notes
5266         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5267         (gst_object_flags_get_type), (register_gst_bin_flags),
5268         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5269         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5270         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5271         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5272         (gst_caps_flags_get_type), (register_gst_clock_return),
5273         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5274         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5275         (gst_clock_flags_get_type), (register_gst_state),
5276         (gst_state_get_type), (register_gst_state_change_return),
5277         (gst_state_change_return_get_type), (register_gst_state_change),
5278         (gst_state_change_get_type), (register_gst_element_flags),
5279         (gst_element_flags_get_type), (register_gst_core_error),
5280         (gst_core_error_get_type), (register_gst_library_error),
5281         (gst_library_error_get_type), (register_gst_resource_error),
5282         (gst_resource_error_get_type), (register_gst_stream_error),
5283         (gst_stream_error_get_type), (register_gst_event_type_flags),
5284         (gst_event_type_flags_get_type), (register_gst_event_type),
5285         (gst_event_type_get_type), (register_gst_seek_type),
5286         (gst_seek_type_get_type), (register_gst_seek_flags),
5287         (gst_seek_flags_get_type), (register_gst_format),
5288         (gst_format_get_type), (register_gst_index_certainty),
5289         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5290         (gst_index_entry_type_get_type),
5291         (register_gst_index_lookup_method),
5292         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5293         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5294         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5295         (gst_index_flags_get_type), (register_gst_debug_level),
5296         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5297         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5298         (gst_iterator_result_get_type), (register_gst_iterator_item),
5299         (gst_iterator_item_get_type), (register_gst_message_type),
5300         (gst_message_type_get_type), (register_gst_mini_object_flags),
5301         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5302         (gst_pad_link_return_get_type), (register_gst_flow_return),
5303         (gst_flow_return_get_type), (register_gst_activate_mode),
5304         (gst_activate_mode_get_type), (register_gst_pad_direction),
5305         (gst_pad_direction_get_type), (register_gst_pad_flags),
5306         (gst_pad_flags_get_type), (register_gst_pad_presence),
5307         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5308         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5309         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5310         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5311         (gst_plugin_flags_get_type), (register_gst_rank),
5312         (gst_rank_get_type), (register_gst_query_type),
5313         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5314         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5315         (gst_tag_flag_get_type), (register_gst_task_state),
5316         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5317         (gst_alloc_trace_flags_get_type),
5318         (register_gst_type_find_probability),
5319         (gst_type_find_probability_get_type), (register_gst_uri_type),
5320         (gst_uri_type_get_type), (register_gst_parse_error),
5321         (gst_parse_error_get_type):
5322         * win32/common/gstenumtypes.h:
5323         * win32/common/gstversion.h:
5324           update visual studio generated files
5326 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5328         * win32/vs6/libgstbase.dsp:
5329         * win32/vs6/libgstelements.dsp:
5330           update project files for new locations
5332 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5334         * Makefile.am:
5335           remove some files
5336         * README:
5337           reinstate and update
5338         * DEVEL:
5339         * REQUIREMENTS:
5340           removed
5341         * LICENSE:
5342         * docs/random/LICENSE:
5343           moved to random
5345 2005-11-30  Edward Hervey  <edward@fluendo.com>
5347         * gst/gsttypefind.c: (gst_type_find_register):
5348         * gst/gsttypefind.h:
5349         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5350         (gst_type_find_factory_dispose):
5351         * gst/gsttypefindfactory.h:
5352         Fix memory leak in GstTypeFindFactory.
5354 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5356         * gst/gst.c:
5357         * plugins/elements/Makefile.am:
5358         * plugins/elements/gstelements.c:
5359         * plugins/elements/gstqueue.c:
5360           move queue from core to the elements plugin
5362 2005-11-29  Andy Wingo  <wingo@pobox.com>
5364         * libs/gst/base/gstbasetransform.h: 
5365         * libs/gst/base/gstbasesrc.h: 
5366         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5368         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5369         of pointers by which to pad very extensible base classes (like the
5370         ones in libs/gst/base).
5372 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5374         * docs/gst/gstreamer-docs.sgml:
5375         * docs/gst/gstreamer-sections.txt:
5376         * docs/libs/gstreamer-libs-docs.sgml:
5377         * docs/libs/gstreamer-libs-sections.txt:
5378           moving documentation from core to lib
5380 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5382         * check/Makefile.am:
5383         * configure.ac:
5384         * docs/gst/Makefile.am:
5385         * gst/Makefile.am:
5386         * gst/base/.cvsignore:
5387         * gst/base/Makefile.am:
5388         * gst/base/README:
5389         * gst/base/gstadapter.c:
5390         * gst/base/gstadapter.h:
5391         * gst/base/gstbasesink.c:
5392         * gst/base/gstbasesink.h:
5393         * gst/base/gstbasesrc.c:
5394         * gst/base/gstbasesrc.h:
5395         * gst/base/gstbasetransform.c:
5396         * gst/base/gstbasetransform.h:
5397         * gst/base/gstcollectpads.c:
5398         * gst/base/gstcollectpads.h:
5399         * gst/base/gstpushsrc.c:
5400         * gst/base/gstpushsrc.h:
5401         * gst/base/gsttypefindhelper.c:
5402         * gst/base/gsttypefindhelper.h:
5403         * gst/check/Makefile.am:
5404         * gst/check/gstcheck.c:
5405         * gst/check/gstcheck.h:
5406         * gst/net/Makefile.am:
5407         * gst/net/gstnet.h:
5408         * gst/net/gstnetclientclock.c:
5409         * gst/net/gstnetclientclock.h:
5410         * gst/net/gstnettimepacket.c:
5411         * gst/net/gstnettimepacket.h:
5412         * gst/net/gstnettimeprovider.c:
5413         * gst/net/gstnettimeprovider.h:
5414         * libs/gst/Makefile.am:
5415         * libs/gst/base/Makefile.am:
5416         * libs/gst/base/gstbasetransform.c:
5417         * libs/gst/check/Makefile.am:
5418         * plugins/elements/Makefile.am:
5419         * po/POTFILES.in:
5420           CVS surgery + support to move base, check, and net out of gst
5421           and into libs/gst
5423 2005-11-29  Andy Wingo  <wingo@pobox.com>
5425         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5427         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5428         padding.
5430         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5432         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5434         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5436         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5437         padding; reduces object size by about 30%. We don't expect
5438         anything else to go into gstobject.
5440         * gst/gstminiobject.h (struct _GstMiniObject)
5441         (struct _GstMiniObjectClass): Only one pointer of padding; the
5442         payload is only a pointer and two ints anyway. For the class there
5443         are only two methods as well.
5444         
5445         * gst/gstelement.h (struct _GstElementClass): Removed
5446         the state_changed signal callback, it is not used.
5448 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5450         * docs/gst/gstreamer.types:
5451           fix includes, though they are a little dinky
5453 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5455         * check/Makefile.am:
5456           look in the right place for elements, a lot more chance of
5457           success
5458         * gst/Makefile.am:
5459           remove indexers and elements subdirs
5460         * plugins/Makefile.am:
5461           make indexers conditional
5463 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5465         * Makefile.am:
5466         * configure.ac:
5467         * plugins/elements/Makefile.am:
5468         * plugins/elements/gstcapsfilter.c:
5469         * plugins/elements/gstfilesink.c:
5470         * plugins/elements/gstfilesrc.c:
5471         * plugins/elements/gstidentity.c:
5472         * plugins/indexers/Makefile.am:
5473           do CVS surgery and related build fixery to move elements
5474           and indexers in a new gstreamer/plugins directory, out of the
5475           gst/ directory
5477 2005-11-29  Andy Wingo  <wingo@pobox.com>
5479         * check/Makefile.am:
5480         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5481         * pkgconfig/gstreamer-net.pc.in:
5482         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5483         #322257.
5485 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5487         * tools/Makefile.am:
5488         * tools/gst-complete.1.in:
5489         * tools/gst-complete.c:
5490         * tools/gst-compprep.1.in:
5491         * tools/gst-compprep.c:
5492           removing -compprep and -complete
5494 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5496         * gst/gstevent.c: (gst_event_new_new_segment),
5497         (gst_event_parse_new_segment):
5498         * gst/gstevent.h:
5499           fix #320529 - clean up new_segment API and structure.
5500           Let's hope everyone was using the methods, and not the structure.
5502 2005-11-29  Edward Hervey  <edward@fluendo.com>
5504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5505         (gst_base_sink_event), (gst_base_sink_do_sync),
5506         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5507         Properly handle non GST_FORMAT_TIME segment
5508         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5509         Properly handle non GST_FORMAT_TIME segment
5510         * gst/gstsegment.c:
5511         This function is valid if the accumulator is 0 and the format
5512         is different from the requested format.
5513         
5514 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5516         * docs/gst/gstreamer-sections.txt:
5517         Add gst_query_new_seeking and gst_query_parse_seeking to the
5518         docs.
5520 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5522         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5523           Treat a pad alloc with new caps the same as if we were not
5524           negotiated, in order to allow a changing upstream output
5525           to produce a new format of data.
5527 2005-11-29  Edward Hervey  <edward@fluendo.com>
5529         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5530         (gst_base_transform_event), (gst_base_transform_eventfunc):
5531         The event virtual method is now properly implemented, with a default
5532         handler
5533         Sub classes should call the parent_class event method. They should
5534         return FALSE if they had a problem handling the given event, or don't
5535         want GstBaseTransform to send that even downstream
5536         * gst/elements/gstidentity.c: (gst_identity_class_init),
5537         (gst_identity_init), (gst_identity_event),
5538         (gst_identity_transform_ip), (gst_identity_set_property),
5539         (gst_identity_get_property):
5540         * gst/elements/gstidentity.h:
5541         Added the single-segment boolean property.
5542         If set to TRUE, it will output a single segment of data, starting from
5543         0, will eat up all incoming newsegment, and modify the timestamp of the
5544         buffers accordingly
5546 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5548         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5549           Don't ref NULL target pad (#322751). Improve docs.
5551 2005-11-29  Michael Smith  <msmith@fluendo.com>
5553         * gst/gstregistryxml.c: (load_plugin):
5554           Don't crash if we failed to load a feature from a plugin. 
5556 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5558         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5559         (GST_START_TEST):
5560           use more check API and less GLib API
5562 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5564         * Makefile.am:
5565           don't run checks if we don't have check
5566         * common/check.mak:
5567           remove the registry when running make torture
5568         * docs/gst/gstreamer-sections.txt:
5569           remove second multiply
5570         * gst/gstqueue.c: (gst_queue_loop):
5571           fix a compile warning when disabling debug
5573 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5575         * gst/gstinfo.h:
5576         Hey! Let's print the pad name if the pointer != NULL instead
5577         of when it == NULL :-)
5579 2005-11-28  Wim Taymans  <wim@fluendo.com>
5581         * check/gst/gstutils.c: (GST_START_TEST):
5582         Updated check, add some scaling accuracy checking code.
5584         * gst/gstutils.c: (gst_util_div128_64),
5585         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5586         (gst_util_uint64_scale_int):
5587         Fix 6 times faster division code. Optimize for common 
5588         1/1 and less common X/1 cases.
5590 2005-11-28  Wim Taymans  <wim@fluendo.com>
5592         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5593         More checks.
5595         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5596         (do_linear_regression), (gst_clock_add_observation):
5597         Cleanups.
5598         Release lock when the clock cannot be slaved.
5599         Catch the case where the regression returned an invalid denominator.
5601         * gst/gstutils.c: (gst_util_div128_64_iterate),
5602         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5603         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5604         Add protentially more performant non-iterative 128/64 divide function
5605         that unfortunatly does not work yet.
5606         Shortcut the trivial 0/X = 0 case.
5607         Remove the warnings on overflow.
5609 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5611         * gst/gstplugin.c: (gst_plugin_register_func):
5612           everything causing a plugin not to load should be at least a WARNING
5614 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5616         * docs/random/ensonic/dparams.txt:
5617           some TODOs for the next dev cycle
5618         * libs/gst/controller/gstcontroller.c:
5619         (gst_controlled_property_set_interpolation_mode),
5620         (gst_controlled_property_new):
5621         * libs/gst/controller/gstcontroller.h:
5622           use base type to assign acccessor functions
5624 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5626         * check/Makefile.am:
5627         Oops, that should have been top_srcdir
5629 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5631         * check/Makefile.am:
5632         * check/elements/fdsrc.c: (GST_START_TEST):
5633         Use a cmdline define to specify the location of a file to use for
5634         testing, to avoid breaking distcheck.
5636 2005-11-28  Andy Wingo  <wingo@pobox.com>
5638         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5640 2005-11-28  Edward Hervey  <edward@fluendo.com>
5642         * tools/gst-launch.c: (main):
5643         Clarify the output strings, makes it easier to translate.
5644         Fixes #322626
5646 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5648         * gst/Makefile.am:
5649           don't try and build net if we don't even have <sys/socket.h>
5651 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5653         * check/Makefile.am:
5654         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5655         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5656           Add tests for fdsrc seekability
5658         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5659         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5660         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5661         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5662         * gst/elements/gstfdsrc.h:
5663           fdsrc should not be a 'live' source.
5664           Implement seeking on seekable fd's.
5666         * gst/gstquery.c: (gst_query_new_seeking),
5667         (gst_query_parse_seeking):
5668         * gst/gstquery.h:
5669           Implement SEEKING query functions: 
5670             *_new_seeking and *_parse_seeking
5672 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5674         * gst/gstelement.c: (gst_element_dispose):
5675           don't loop forever
5677         * gst/gstiterator.c:
5678         * gst/gststructure.c:
5679           doc fixes
5681         * libs/gst/controller/gstcontroller.c:
5682         (gst_controlled_property_set_interpolation_mode):
5683         * libs/gst/controller/gstcontroller.h:
5684         * libs/gst/controller/gstinterpolation.c:
5685         (interpolate_none_get_enum_value_array):
5686           support controlling enums
5688 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5690         * gst/gstvalue.c:
5691           Improve documentation for gst_value_union().
5693         * gst/gstvalue.h:
5694           Change return value for union, intersect and subtract functions
5695           from gint to gboolean.
5697 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5699         * gst/gstvalue.c: (gst_value_serialize_any_list),
5700         (gst_value_transform_any_list_string),
5701         (gst_value_deserialize_list), (gst_value_deserialize_array),
5702         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5703         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5704         (gst_value_set_fraction_range_full),
5705         (gst_value_deserialize_fraction_range),
5706         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5707         (gst_value_deserialize_boolean),
5708         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5709         (gst_value_serialize_float), (gst_value_deserialize_float),
5710         (gst_string_wrap), (gst_value_deserialize_string),
5711         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5712         (gst_value_union_int_range_int_range),
5713         (gst_value_intersect_int_range_int_range),
5714         (gst_value_intersect_double_range_double_range),
5715         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5716         (gst_value_subtract_int_range_int_range),
5717         (gst_value_subtract_double_double_range),
5718         (gst_value_subtract_double_range_double_range),
5719         (gst_value_deserialize_fraction):
5720         * gst/gstvalue.h:
5721           Use gint, gdouble and gchar in our API instead of int, double and
5722           char (and make usage in gstvalue.c more consistent).
5724 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5726         * check/Makefile.am:
5727         * libs/gst/controller/Makefile.am:
5728         * libs/gst/dataprotocol/Makefile.am:
5729           fix up Makefile.am and remove GST_ENABLE_NEW
5731 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5733         * configure.ac:
5734         * gst/Makefile.am:
5735         * gst/base/Makefile.am:
5736         * gst/check/Makefile.am:
5737         * gst/elements/Makefile.am:
5738         * gst/net/Makefile.am:
5739           update LDFLAGS use some more
5741 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5743         * common/m4/gst-doc.m4:
5744           Fixes #312589
5746 2005-11-26  Edward Hervey  <edward@fluendo.com>
5748         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5749         This shouldn't issue a g_warning since it returns NULL if it
5750         couldn't find the plugin, and all functions using this behave
5751         properly on a NULL return. Switching to a GST_WARNING.
5753 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5755         * gst/gstbin.c: (gst_bin_handle_message_func):
5756         Don't leak clock messages.
5758 2005-11-25  Wim Taymans  <wim@fluendo.com>
5760         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5761         (gst_util_uint64_scale_int):
5762         Optimisations, remove unneeded vars.
5764 2005-11-25  Wim Taymans  <wim@fluendo.com>
5766         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5767         Added more checks for the high precision uint64 cases.
5769         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5770         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5771         Implement high precision (guint64 * guint64) / guint64.
5773 2005-11-24  Wim Taymans  <wim@fluendo.com>
5775         * gst/base/gstbasesrc.c: (gst_base_src_query):
5776         Fix wrong percentage query.
5778         * gst/gstutils.c: (gst_util_uint64_scale),
5779         (gst_util_uint64_scale_int):
5780         Add some more common cases that can be handled 
5781         efficiently to _scale.
5783 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5785         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5786         (gst_mini_object_suite):
5787           don't use check calls from threads; check probably isn't
5788           threadsafe and using a lock to make it threadsafe would
5789           defeat the purpose of this check
5790         * gst/check/gstcheck.c:
5791         * gst/check/gstcheck.h:
5792           use GST_DEBUG some more
5794 2005-11-24  Wim Taymans  <wim@fluendo.com>
5796         * gst/gstutils.c: (gst_util_uint64_scale),
5797         (gst_util_uint64_scale_int):
5798         Chain trivial case to _scale_int.
5800 2005-11-24  Wim Taymans  <wim@fluendo.com>
5802         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5803         Added test for scaling.
5805         * gst/gstclock.h:
5806         Small doc fix.
5808         * gst/gstutils.c: (gst_util_uint64_scale_int):
5809         Implemented high precision scaling code.
5811 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5813         * gst/gstinfo.h:
5814           do not crash on pad==NULL
5816 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5818         Patch by: Stefan Kost
5820         * common/gtk-doc.mak:
5821         * docs/gst/Makefile.am:
5822         * docs/libs/Makefile.am:
5823           Fix distcheck issues for the libraries docs build
5824           Closes #319599.
5826 2005-11-24  Michael Smith <msmith@fluendo.com>
5828         * docs/manual/basics-helloworld.xml:
5829           Fix bug #315027: memory leak in example code in docs.
5831 2005-11-24  Michael Smith <msmith@fluendo.com>
5833         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5834           Unlock the PREROLL_LOCK in a failure case.
5836 2005-11-24  Wim Taymans  <wim@fluendo.com>
5838         * docs/gst/gstreamer-sections.txt:
5839         * gst/base/gstadapter.h:
5840         * gst/base/gstbasesink.h:
5841         * gst/base/gstbasesrc.h:
5842         * gst/base/gstbasetransform.h:
5843         * gst/base/gstpushsrc.h:
5844         * gst/elements/gstfakesink.h:
5845         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5846         * gst/elements/gstfakesrc.h:
5847         * gst/elements/gstfilesink.h:
5848         * gst/elements/gstfilesrc.h:
5849         * gst/gst.c:
5850         * gst/gstbin.c:
5851         * gst/gstbuffer.c: (_gst_buffer_copy):
5852         * gst/gstbus.h:
5853         * gst/gstcaps.c:
5854         * gst/gstchildproxy.c:
5855         * gst/gstclock.c:
5856         * gst/gstelement.c:
5857         * gst/gstelementfactory.c:
5858         * gst/gstelementfactory.h:
5859         * gst/gstevent.c:
5860         * gst/gstghostpad.h:
5861         * gst/gstindex.h:
5862         * gst/gstinterface.h:
5863         * gst/gstminiobject.c:
5864         * gst/gstminiobject.h:
5865         * gst/gstpad.c:
5866         * gst/gstpad.h:
5867         * gst/gstpadtemplate.h:
5868         * gst/gstpipeline.h:
5869         * gst/gstpluginfeature.h:
5870         * gst/gstquery.h:
5871         * gst/gstqueue.h:
5872         * gst/gsttaglist.c:
5873         * gst/gsttaglist.h:
5874         * gst/gsttagsetter.c:
5875         * gst/gsttagsetter.h:
5876         * gst/gsttrace.c:
5877         * gst/gsttrace.h:
5878         * gst/gsttypefind.h:
5879         * gst/gsturi.h:
5880         * gst/gstvalue.c:
5881         * gst/net/gstnetclientclock.c:
5882         * gst/net/gstnetclientclock.h:
5883         * gst/net/gstnettimepacket.c:
5884         * gst/net/gstnettimeprovider.c:
5885         * gst/net/gstnettimeprovider.h:
5886         Doc fixes.
5888 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5890         * configure.ac: back to HEAD
5892 === release 0.9.6 ===
5894 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5896         * configure.ac:
5897           releasing 0.9.6, "Always On Time"
5899 2005-11-23  Wim Taymans  <wim@fluendo.com>
5901         * docs/gst/gstreamer-sections.txt:
5902         * gst/glib-compat.c:
5903         * gst/gsttagsetter.c:
5904         * gst/gstvalue.c:
5905         * gst/net/gstnetclientclock.c:
5906         * gst/net/gstnettimepacket.h:
5907         Doc updates.
5909 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5911         * docs/faq/using.xml:
5912         * docs/libs/tmpl/gstcontrol.sgml:
5913         * docs/manual/advanced-dparams.xml:
5914         * docs/manual/appendix-checklist.xml:
5915         * docs/manual/basics-elements.xml:
5916         * docs/pwg/other-source.xml:
5917         * docs/random/moving-plugins:
5918         * gst/gstpad.c:
5919         * tools/gst-launch.1.in:
5920           remove mentions of sinesrc
5922 2005-11-23  Michael Smith <msmith@fluendo.com>
5924         * docs/gst/gstreamer-sections.txt:
5925           Update for new API and API changes.
5926         * gst/gstobject.h:
5927           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5928         * gst/gstvalue.c:
5929           Documentation typo fix.
5930         * gst/net/gstnettimepacket.c:
5931           Documentation fixes for arguments.
5933 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5935         * gst/gststructure.c: (gst_structure_get_fraction),
5936         (gst_structure_parse_value),
5937         (gst_structure_fixate_field_nearest_fraction):
5938         * gst/gststructure.h:
5939         * gst/gstutils.c: (gst_util_uint64_scale_int):
5940         * gst/gstutils.h:
5941         * scripts/update-funcnames:
5942         API Changes. 
5943         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5944         Make gst_structure_fixate_field_nearest_fraction take a numerator
5945         and denominator argument instead of a GValue
5946         add gst_structure_get_fraction helper function.
5948 2005-11-23  Wim Taymans  <wim@fluendo.com>
5950         * docs/design/part-TODO.txt:
5951         Update TODO.
5953         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5954         * gst/net/gstnetclientclock.h:
5955         Use parent fields for timeout and window_size.
5957 2005-11-23  Andy Wingo  <wingo@pobox.com>
5959         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5960         rate_num/rate_denom change.
5962         * gst/net/gstnetclientclock.c
5963         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5964         OBJECT_LOCK. Don't call add_observation with the lock.
5966         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5967         fraction.
5968         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5969         rate fraction.
5970         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5971         deal with rate as a fraction whose numerator and denominator are
5972         GstClockTime values.
5973         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5974         master; the other fields are protected by the SLAVE_LOCK.
5975         (do_linear_regression): Note that this must be called with the
5976         SLAVE_LOCK.
5977         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5978         OBJECT_LOCK. Call set_calibration instead of touching the
5979         variables directly.
5980         (gst_clock_set_property, gst_clock_get_property): Protect
5981         master/slave parameters with the SLAVE_LOCK.
5983         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5984         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5985         note that all of the instance variables that add_observation and
5986         the set_master functions use are protected by that lock and not
5987         the OBJECT_LOCK.
5988         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5990         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5991         the caller to take the object lock.
5993 2005-11-23  Wim Taymans  <wim@fluendo.com>
5995         * gst/gsterror.c: (_gst_core_errors_init):
5996         * gst/gsterror.h:
5997         Add error for clock stuff.
5999         * gst/gstpipeline.c: (gst_pipeline_change_state),
6000         (gst_pipeline_set_clock):
6001         Post clock error when clock cannot be used in a pipeline.
6003 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6005         * docs/gst/gstreamer-sections.txt:
6006           make two symbols from gstinfo private for the docs
6007         * gst/base/gstcollectpads.h:
6008         * gst/gstutils.c:
6009           fix doc typos, update docs
6011 2005-11-22  Wim Taymans  <wim@fluendo.com>
6013         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6014         (gst_base_sink_wait), (gst_base_sink_do_sync),
6015         (gst_base_sink_handle_event):
6016         * gst/base/gstbasesink.h:
6017         No need to store the clock, the parent element class already
6018         has it.
6020         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6021         Updates for clock_set returning a gboolean
6023         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6024         (gst_clock_id_wait_async), (gst_clock_class_init),
6025         (gst_clock_init), (gst_clock_finalize),
6026         (gst_clock_get_internal_time), (gst_clock_get_time),
6027         (gst_clock_slave_callback), (gst_clock_set_master),
6028         (gst_clock_get_master), (do_linear_regression),
6029         (gst_clock_add_observation), (gst_clock_set_property),
6030         (gst_clock_get_property):
6031         * gst/gstclock.h:
6032         Implement master/slave. When setting a clock as a slave, a
6033         periodic timeout is scheduled to sample master and slave times.
6034         Then the slave clock is recalibrated to match offset and rate
6035         of the master clock.
6036         Update logging a bit.
6037         Add flag so that a clock can state that is cannot be slaved to
6038         another clock.
6040         * gst/gstelement.c: (gst_element_set_clock):
6041         * gst/gstelement.h:
6042         The set clock returns a gboolean for when an element cannot
6043         deal with the selected clock in the pipeline. 
6045         * gst/gstpipeline.c: (gst_pipeline_change_state),
6046         (gst_pipeline_set_clock):
6047         * gst/gstpipeline.h:
6048         Handle the case where the selected clock cannot be set on
6049         the pipeline.
6051         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6052         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6053         (gst_net_client_clock_set_property),
6054         (gst_net_client_clock_get_property),
6055         (gst_net_client_clock_observe_times):
6056         * gst/net/gstnetclientclock.h:
6057         Use regression code in GstClock parent, remove duplicated
6058         functionality.
6060 2005-11-22  Michael Smith <msmith@fluendo.com>
6062         * gst/gstutils.c: (gst_util_clock_time_scale):
6063         * gst/gstutils.h:
6064         * docs/gst/gstreamer-sections.txt:
6065           Rename method to have extra underscore.
6067 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6069         * gst/elements/Makefile.am:
6070         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6071         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6072         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6073         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6074         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6075         * gst/elements/gstfakesrc.h:
6076         * gst/gstqueue.c: (queue_leaky_get_type):
6077           correctly fix GEnumValues so that nick is the short lowercase
6078           dashed tag
6079         * tools/gst-inspect.c: (print_element_properties_info):
6080           also show the nick, since it's useful to use from parse_launch
6081           syntax
6082           Fixes #322139
6084 2005-11-22  Michael Smith <msmith@fluendo.com>
6086         * gst/gstutils.c: (gst_util_clocktime_scale):
6087         * gst/gstutils.h:
6088         * docs/gst/gstreamer-sections.txt:
6089           Add util method for scaling a clocktime by a fraction. Useful 
6090           implementation is left as an exercise for the reader.
6092 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6094         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6095         If needed, allocate storage in the destination value during
6096         collection.
6098 2005-11-22  Edward Hervey  <edward@fluendo.com>
6100         * docs/gst/gstreamer-sections.txt:
6101         * gst/Makefile.am:
6102         * gst/gst.h:
6103         * gst/gsturitype.c:
6104         * gst/gsturitype.h:
6105         * gst/gstutils.c: (gst_util_set_object_arg):
6106         * tools/gst-compprep.c: (main):
6107         * tools/gst-inspect.c: (print_element_properties_info):
6108         Removed GstURI, closes bug #321061
6110 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6112         * check/gst/gststructure.c: (GST_START_TEST):
6113         * gst/gststructure.c: (gst_structure_parse_value):
6114           Oops, broke automatic string type parsing.
6115           Add a test to catch it in future.
6117 2005-11-22  Andy Wingo  <wingo@pobox.com>
6119         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6120         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6121         Actually rename the function implementations. Grr.
6123 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6125         * check/gst/capslist.h:
6126           Comment test cases
6127         * check/gst/gststructure.c: (GST_START_TEST),
6128         (gst_structure_suite):
6129           Test automatic value type detection in gst_structure_from_string.
6130         * gst/gststructure.c: (gst_structure_parse_value):
6131           Add fraction as a type we try and guess automatically in
6132           caps/structure strings.
6134 2005-11-22  Andy Wingo  <wingo@pobox.com>
6136         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6138         * gst/gsttagsetter.h:
6139         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6140         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6141         (gst_tag_setter_add_tag_valist)
6142         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6143         _add_values, _add_valist, and _add_valist_values. Since this is an
6144         interface the function suffixes should be more explicit so
6145         language binding don't end up with element.add_valist ->
6146         gst_tag_setter_add_valist, for example. Fixes #322069.
6148 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6150         * check/gst/gstcaps.c: (GST_START_TEST):
6151           Extend caps string tests to check that a caps to string
6152           conversion is reversible and produces the same caps.
6154         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6155           Output "fraction" as the generic type fraction range, so caps
6156           serialisation and deserialisation works.
6157         * check/gst/capslist.h:
6158         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6159           Support 'MIN' and 'MAX' for deserialising fractions.
6161 2005-11-22  Andy Wingo  <wingo@pobox.com>
6163         * gst/gstevent.h (gst_event_new_new_segment)
6164         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6165         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6166         Renamed from *_newsegment, *_buffersize, *_notarget.
6168         * scripts/update-funcnames: New script, performs the changes
6169         listed above.
6171 2005-11-22  Wim Taymans  <wim@fluendo.com>
6173         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6174         Make sure the GstFlowReturn is returned.
6176         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6177         (gst_bus_add_signal_watch):
6178         * gst/gstbus.h:
6179         add gst_bus_add_signal_watch_full.
6181         * gst/gstplugin.c: (gst_plugin_load_file):
6182         Small style cleanup.
6184 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6186         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6187           Block the fakesrc srcpad when we send an event, to avoid
6188           contention on the stream_lock causing random test failures.
6190 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6192         * check/gst/gstvalue.c: (GST_START_TEST):
6193         * gst/gstvalue.c: (gst_value_fraction_subtract):
6194           Fix subtraction.
6196 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6198         * gst/gst.h:
6199           include "gstchildproxy.h"
6200         * gst/gstchildproxy.h:
6201         * libs/gst/controller/gstcontroller.h:
6202           use G_GNUC_NULL_TERMINATED
6204 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6206         * check/gst/capslist.h:
6207         * check/gst/gstcaps.c: (GST_START_TEST):
6208         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6209         * gst/gststructure.c: (gst_structure_parse_range),
6210         (gst_structure_fixate_field_nearest_fraction):
6211         * gst/gststructure.h:
6212         * gst/gstvalue.c: (gst_value_init_fraction_range),
6213         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6214         (gst_value_collect_fraction_range),
6215         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6216         (gst_value_set_fraction_range_full),
6217         (gst_value_get_fraction_range_min),
6218         (gst_value_get_fraction_range_max),
6219         (gst_value_serialize_fraction_range),
6220         (gst_value_transform_fraction_range_string),
6221         (gst_value_compare_fraction_range),
6222         (gst_value_deserialize_fraction_range),
6223         (gst_value_intersect_fraction_fraction_range),
6224         (gst_value_intersect_fraction_range_fraction_range),
6225         (gst_value_subtract_fraction_fraction_range),
6226         (gst_value_subtract_fraction_range_fraction),
6227         (gst_value_subtract_fraction_range_fraction_range),
6228         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6229         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6230         (gst_value_transform_string_fraction), (_gst_value_initialize):
6231         * gst/gstvalue.h:
6232           Implement fraction ranges and extend GstFraction to support
6233           arithmetic subtraction, as well as deserialization from integer
6234           strings such as "100"
6235           Add a testsuite as for int and double range set operations
6237 2005-11-21  Andy Wingo  <wingo@pobox.com>
6239         * gst/gsttaglist.h: 
6240         * gst/gstcaps.h: 
6241         * gst/gststructure.h: Add glib-compat.h.
6243 2005-11-21  Wim Taymans  <wim@fluendo.com>
6245         * gst/gstbin.c: (gst_bin_change_state_func):
6246         Fix for #321595
6248 2005-11-21  Wim Taymans  <wim@fluendo.com>
6250         * gst/gstsegment.h:
6251         And add a nice define too.
6253 2005-11-21  Wim Taymans  <wim@fluendo.com>
6255         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6256         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6257         (gst_segment_set_duration), (gst_segment_set_last_stop),
6258         (gst_segment_set_seek), (gst_segment_set_newsegment),
6259         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6260         (gst_segment_clip):
6261         * gst/gstsegment.h:
6262         Make binding friendly.
6264 2005-11-21  Andy Wingo  <wingo@pobox.com>
6266         * gst/gsttagsetter.h: 
6267         * gst/gsttaglist.h: 
6268         * gst/gststructure.h: 
6269         * gst/gstcaps.h: 
6270         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6271         #319940.
6273         * gst/gsterror.c (_gst_core_errors_init):
6274         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6275         category.
6277         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6278         (noinst_HEADERS): noinst the -private.
6280 2005-11-21  Michael Smith <msmith@fluendo.com>
6282         * gst/gstplugin.h:
6283         * gst/gstregistry.h:
6284           Remove unimplemented declarations for which we can see no sensible
6285           use.
6287 2005-11-21  Andy Wingo  <wingo@pobox.com>
6289         * gst/gst.h: Include glib-compat.h.
6291         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6293         * gst/glib-compat.c: Include the public and the private header.
6295         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6297         * gst/gstvalue.c: 
6298         * gst/gstpad.c: 
6299         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6301         * check/gst/gstevent.c (create_custom_events): Check that
6302         FLUSH_STOP is serialized.
6304         * check/elements/identity.c (event_func): 
6305         * check/elements/fakesrc.c (event_func): No stream lock, the core
6306         takes it.
6308         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6309         stream lock taking, yay.
6311         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6312         ensure that core takes the stream lock.
6314         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6315         lock name change.
6317         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6318         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6319         it already. For the flush start we do take it though so we get the
6320         right preroll state change messages.
6322         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6323         the stream lock here, the core does it for us.
6325         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6326         GST_STREAM_GET_LOCK.
6327         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6328         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6329         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6330         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6331         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6332         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6334         * gst/gstpad.c: Update for stream lock name change.
6336         * gst/base/gstbasesink.c: Update for preroll lock name change.
6338 2005-11-21  Wim Taymans  <wim@fluendo.com>
6340         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6341         (gst_clock_get_master):
6342         * gst/gstclock.h:
6343         * gst/gstsystemclock.c: (gst_system_clock_init):
6344         Convert Clock flags to object flags.
6345         Added methods to manage master/slave clocks.
6347 2005-11-21  Wim Taymans  <wim@fluendo.com>
6349         * check/gst/gstsegment.c: (GST_START_TEST):
6350         * docs/design/part-TODO.txt:
6351         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6352         (gst_base_sink_event), (gst_base_sink_do_sync),
6353         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6354         (gst_base_sink_query), (gst_base_sink_change_state):
6355         * gst/base/gstbasesink.h:
6356         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6357         (gst_base_src_default_newsegment),
6358         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6359         (gst_base_src_get_range), (gst_base_src_loop),
6360         (gst_base_src_change_state):
6361         * gst/base/gstbasesrc.h:
6362         * gst/base/gstbasetransform.c:
6363         (gst_base_transform_prepare_output_buf),
6364         (gst_base_transform_event), (gst_base_transform_change_state):
6365         * gst/base/gstbasetransform.h:
6366         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6367         (gst_collect_pads_event):
6368         * gst/base/gstcollectpads.h:
6369         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6370         (gst_fake_src_create):
6371         * gst/elements/gstfakesrc.h:
6372         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6373         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6374         (gst_segment_set_last_stop), (gst_segment_set_seek),
6375         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6376         (gst_segment_to_running_time), (gst_segment_clip):
6377         * gst/gstsegment.h:
6378         More segment updates, replace code in plugins with segment
6379         helper functions.
6381 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6383         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6384         Don't ignore sscanf results
6386 2005-11-21  Andy Wingo  <wingo@pobox.com>
6388         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6390         * *.h:
6391         * *.c: Ran scripts/update-macros. Oh yes.
6393         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6394         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6395         GST_GET_LOCK, etc.
6397         * scripts/update-macros: New script. Run it on your files to
6398         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6399         well.
6401 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6403         * docs/gst/Makefile.am:
6404         * docs/gst/gstreamer-docs.sgml:
6405         * docs/gst/gstreamer-sections.txt:
6406         * docs/gst/gstreamer.types:
6407         * gst/gstinfo.h:
6408           more docs fixes, add new api to the docs
6410 2005-11-21  Andy Wingo  <wingo@pobox.com>
6412         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6413         state_broadcast call.
6415         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6417 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6419         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6420         function calls for arrays.
6422 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6424         * docs/random/ensonic/media-device-daemon.txt:
6425           wild idea, can this be done?
6426         * docs/gst/gstreamer-sections.txt:
6427         * gst/gsterror.h:
6428         * gst/gstfilter.c:
6429         * gst/gstfilter.h:
6430         * gst/gstplugin.h:
6431         * gst/gstpluginfeature.c:
6432         * gst/gsttrace.c:
6433         * gst/gstvalue.c:
6434         * gst/gstvalue.h:
6435           doc fixes and additions
6437 2005-11-21  Andy Wingo  <wingo@pobox.com>
6439         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6440         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6441         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6442         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6443         private to the basesrc implementation.
6445         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6446         behalf of event function if necessary. It should no longer be
6447         necessary to take the stream lock in pad's event functions. Fixes
6448         #320299.
6450 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6451         * docs/gst/gstreamer-sections.txt:
6452         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6453         (gst_structure_fixate_field_nearest_double),
6454         (gst_structure_fixate_field_boolean):
6455         * gst/gststructure.h:
6456         * win32/common/libgstreamer.def:
6457         * win32/gstreamer.def:
6459         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6460         (#322027)
6462 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6464         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6465         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6466         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6467         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6468         (gst_fdsrc_uri_handler_init):
6469         * gst/elements/gstfdsrc.h:
6470           Port fd:// URI handler from 0.8 to fdsrc
6472 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6474         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6475         (gst_value_serialize_fourcc):
6476         * gst/gstvalue.h:
6477           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6478           consistent with our other format defines (#320324).
6480 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6482         * gst/gstvalue.c: (gst_value_is_fixed):
6483           Revert previous commit. Value lists are by definition
6484           not fixed, as they are a list of possible values.
6486 2005-11-21  Andy Wingo  <wingo@pobox.com>
6488         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6489         during the stable series if we need it. Fixes #319178.
6491         * gst/gstevent.c (gst_event_new_filler): Removed.
6493         * check/gst/gstevent.c: Update comment about filler events.
6495 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6497         * gst/gstvalue.c: (gst_value_is_fixed):
6498           Should handle both value arrays and value lists.
6500 2005-11-21  Andy Wingo  <wingo@pobox.com>
6502         patch by: Alessandro Dessina <alessandro nnva org>
6504         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6505         functions to access arrays. Fixes #321962.
6507 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6509         * docs/gst/gstreamer.types:
6510           gst_collectpads_get_type => gst_collect_pads_get_type.
6511           
6512         * gst/base/gstbasetransform.c:
6513           Remove unused SIGNAL_HANDOFF enum.
6515 2005-11-21  Andy Wingo  <wingo@pobox.com>
6517         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6518         the event type (upstream, downstream, serialized). Renamed
6519         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6520         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6521         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6523         * gst/gstevent.c: Update for new CUSTOM event names.
6525         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6527         * gst/gstevent.h:
6528         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6529         bug #319392.
6531 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6533         * docs/gst/gstreamer-sections.txt:
6534         * win32/common/libgstbase.def:
6535         * win32/libgstbase.def:
6536         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6537         (gst_collect_pads_class_init), (gst_collect_pads_init),
6538         (gst_collect_pads_finalize), (gst_collect_pads_new),
6539         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6540         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6541         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6542         (gst_collect_pads_start), (gst_collect_pads_stop),
6543         (gst_collect_pads_peek), (gst_collect_pads_pop),
6544         (gst_collect_pads_available), (gst_collect_pads_read),
6545         (gst_collect_pads_flush), (gst_collect_pads_event),
6546         (gst_collect_pads_chain):
6547         * gst/base/gstcollectpads.h:
6548           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6549           unimplemented functions as unimplemented. Add padding to
6550           GstCollectData. (#320766, #320423)
6552 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6554         * gst/gstmessage.c:
6555           Improve docs for DURATION message (usage of duration parameter)
6556           (#320113)
6558 2005-11-20  Wim Taymans  <wim@fluendo.com>
6560         * check/Makefile.am:
6561         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6562         (main):
6563         * gst/Makefile.am:
6564         * gst/gst.h:
6565         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6566         (gst_segment_set_seek), (gst_segment_set_newsegment),
6567         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6568         (gst_segment_clip):
6569         * gst/gstsegment.h:
6570         Added segment helper structure and methods. Not fully implemented
6571         yet.
6572         Added segment check.
6574 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6576         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6577           Add a deserialisation test for fractions
6578         * examples/metadata/read-metadata.c: (message_loop),
6579         (make_pipeline), (main):
6580           Fix up metadata reading sample.
6581         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6582           Debug format fix
6583         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6584           Don't try and fixate empty caps
6585         * gst/gst_private.h:
6586           Wrap in G_BEGIN_DECLS/G_END_DECLS
6587         * gst/gstvalue.c: (gst_value_collect_fraction),
6588         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6589         (gst_value_transform_string_fraction),
6590         (gst_value_compare_fraction):
6591           Add some extra guards to ensure that we don't end up 
6592           with an invalid denominator of 0 in a gstfraction and
6593           that fractions always get reduced.
6595 2005-11-20  Wim Taymans  <wim@fluendo.com>
6597         * docs/gst/gstreamer-sections.txt:
6598         * gst/gstbuffer.h:
6599         * gst/gstelement.c:
6600         * gst/gstformat.c:
6601         * gst/gstformat.h:
6602         * gst/gstindex.h:
6603         * gst/gstquery.c:
6604         * gst/gstquery.h:
6605         * gst/gstvalue.c:
6606         Doc fixes.
6608 2005-11-20  Wim Taymans  <wim@fluendo.com>
6610         * docs/design/part-TODO.txt:
6611         * gst/gstcaps.h:
6612         Make a proper enum of the flag.
6614 2005-11-19  Wim Taymans  <wim@fluendo.com>
6616         * docs/design/part-TODO.txt:
6617         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6618         (gst_format_to_quark), (gst_format_register):
6619         * gst/gstformat.h:
6620         * gst/gstquery.c: (_gst_query_initialize),
6621         (gst_query_type_get_name), (gst_query_type_to_quark),
6622         (gst_query_type_register):
6623         * gst/gstquery.h:
6624         Add type to quark and type to string conversions.
6626 2005-11-19  Andy Wingo  <wingo@pobox.com>
6628         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6629         #320097.
6631 2005-11-19  Wim Taymans  <wim@fluendo.com>
6633         * docs/design/part-TODO.txt:
6634         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6635         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6636         (gst_bin_handle_message_func):
6637         * gst/gstbin.h:
6638         Make message handling overridable.
6640 2005-11-19  Andy Wingo  <wingo@pobox.com>
6642         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6644         * gst/gstclock.h:
6645         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6646         be a GstClockTime.
6647         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6648         is a GstClockTime. Fixes #321710.
6650         * gst/gstclock.h (GstClock): Remove offset property. Add
6651         internal_calibration and external_calibration. Fix padding. Pad
6652         also by GstClockTime so we don't run into problems.
6654         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6655         (gst_clock_get_rate_offset): Remove.
6656         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6658         * gst/gstutils.h:
6659         * gst/gstutils.c (g_static_rec_cond_wait)
6660         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6662         * gst/gstbin.c: Remove terrible continue_state prototype.
6664         * gst/gstelement.h (gst_element_continue_state): Make public.
6666         * gst/gstelement.h:
6667         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6668         by continue_state. Fixes #319389.
6670         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6671         Really fixes #168438. However I don't see anywhere where the
6672         filter function is called... stupid GStreamer...
6673         
6674         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6675         don't have a dispose function, so it won't get called when the
6676         object is unreffed, but oh well!
6678         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6679         allows a destroy function to be set so user_data can be freed.
6680         Fixes #168438.
6681         (gst_index_set_filter): Call gst_index_set_filter_full.
6683         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6685         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6686         string should produce an error, given the lack of a way to
6687         represent NULL strings. Fixes #165650.
6688         
6689         * gst/gstvalue.h: 
6690         * gst/gstvalue.c (gst_value_array_append_value) 
6691         (gst_value_array_prepend_value, gst_value_array_get_size) 
6692         (gst_value_array_get_value): New API, copied from
6693         gst_value_list_*, only operates on arrays.
6694         (gst_value_list_append_value, gst_value_list_prepend_value) 
6695         (gst_value_list_concat, gst_value_list_get_size) 
6696         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6698         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6699         init_list, because it works on both.
6700         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6701         (gst_value_copy_list_or_array): Renamed from copy_list.
6702         (gst_value_free_list_or_array): Renamed from free_list.
6703         (gst_value_collect_list_or_array): Renamed from collect_list.
6704         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6705         (gst_value_list_or_array_peek_pointer): Renamed from
6706         list_peek_pointer.
6707         (_gst_value_array_value_table, _gst_value_list_value_table):
6708         Update value table functions.
6709         (gst_value_compare_list_or_array): Renamed from compare_list.
6711         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6712         some constness.
6714         * gst/gsttaglist.c:
6715         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6716         GstTagList*. Fixes #143472.
6718         * gst/gststructure.h: Clarify what the foreach/map functions can
6719         or can't do to their arguments.
6721 2005-11-18  Wim Taymans  <wim@fluendo.com>
6723         * gst/gstclock.c: (gst_clock_set_calibration),
6724         (gst_clock_get_calibration):
6725         Doc and API fixes.
6726         Calibration can be set with internal time equal to current
6727         internal time too.
6729 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6731         * gst/gsterror.c:
6732         * gst/gsterror.h:
6733           document
6735 2005-11-18  Andy Wingo  <wingo@pobox.com>
6737         * configure.ac: 
6738         * pkgconfig/gstreamer-net.pc.in:
6739         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6740         * pkgconfig/Makefile.am: Add net pkgconfig files.
6742 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6744         * gst/gstcaps.c:
6745         * gst/gstghostpad.c:
6746         * gst/gsttrace.c:
6747         * gst/gstvalue.c:
6748         * gst/gstvalue.h:
6749           docs fixes
6751 2005-11-18  Andy Wingo  <wingo@pobox.com>
6753         * gst/net/gstnetclientclock.c: Turn off debugging.
6755         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6756         times connverge somewhat. Can't make a real test.
6758         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6759         integer arithmetic. Return the minimum of the domain, which can be
6760         set as "internal" for gst_clock_set_calibration.
6761         (gst_net_client_clock_observe_times): Call _set_calibration.
6762         (gst_net_client_clock_new): Call _set_calibration instead of
6763         rate_offset.
6765         * check/net/gstnetclientclock.c (test_functioning): Use the right
6766         adjustment api.
6768         * gst/gstclock.h:
6769         * gst/gstclock.c (gst_clock_get_calibration) 
6770         (gst_clock_set_calibration): New functions, obsolete the ones I
6771         added yesterday. Doh. Precision issues mean we have to extrapolate
6772         from a point in the more recent past than 1970.
6773         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6774         obsolete.
6775         (gst_clock_adjust_unlocked): Use the right calibration data.
6777 2005-11-18  Edward Hervey  <edward@fluendo.com>
6779         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6780         Also reset the ->current_* values in READY->PAUSED
6782 2005-11-18  Andy Wingo  <wingo@pobox.com>
6784         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6785         Whoops, check the right fd. Also add some debugging.
6786         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6787         (do_linear_regression): Add a crapload of debugging. Subtract off
6788         the minimum values from the input series to discard unneeded bits.
6789         Use only int arithmetic. There is still double arithmetic when
6790         calculating the intercept that needs fixing. Return boolean to
6791         indicate success; FALSE would mean the domain or range is too
6792         great. Still needs fixes.
6794 2005-11-18  Wim Taymans  <wim@fluendo.com>
6796         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6797         For the current position in stream time, we need to subtract
6798         accumulated time.
6799         
6800         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6801         Release lock before calling the callback function of async
6802         entries.
6804 2005-11-18  Andy Wingo  <wingo@pobox.com>
6806         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6807         Port goes all the way to MAXUINT16.
6809         * gst/net/gstnettimeprovider.c: Make the port range the same as
6810         for the kernel: 0 assigns, otherwise ports are less than
6811         MAXUINT16.
6813         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6814         port change.
6816         * check/net/gstnetclientclock.c (test_functioning): Add the start
6817         of another test. 
6819 2005-11-18  Wim Taymans  <wim@fluendo.com>
6821         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6822         (gst_bin_remove_func), (bin_bus_handler):
6823         * gst/gstbin.h:
6824         Removing a clock provider from a bin, triggers a clock lost message
6825         so that a new clock will be selected.
6826         Adding a clock to a bin triggers a clock provider message.
6827         Make sure we reselect a clock when we received a clock lost message.
6828         Keep a reference to the element that provided the clock.
6830 2005-11-18  Andy Wingo  <wingo@pobox.com>
6832         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6833         the clock initially so it produces values around the base time.
6834         (gst_net_client_clock_class_init): Typo fix.
6835         (gst_net_client_clock_thread): Add note on when the socket gets
6836         closed.
6838 2005-11-17  Wim Taymans  <wim@fluendo.com>
6840         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6841         Free remote and local time arrays.
6843 2005-11-17  Wim Taymans  <wim@fluendo.com>
6845         * gst/net/gstnetclientclock.c: (do_linear_regression),
6846         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6847         Fix compilation, uninitialized vars and a forgotten continue.
6849 2005-11-17  Andy Wingo  <wingo@pobox.com>
6851         * check/Makefile.am (check_PROGRAMS): 
6852         * check/net/gstnetclientclock.c: Add a most minimal test for the
6853         net client clock. More to come later.
6855         * gst/net/gstnet.h: 
6856         * gst/net/Makefile.am: Add netclientclock.
6858         * gst/net/gstnetclientclock.h:
6859         * gst/net/gstnetclientclock.c: New files, implement an untested
6860         GstClock that takes its time from a network time provider.
6861         Implements the algorithm in network-clock.scm.
6863         * tests/network-clock.scm (*window-size*): Rename from
6864         *queue-length*.
6865         * tests/network-clock.scm (network-time): 
6866         * tests/network-clock-utils.scm (q-push): Update callers.
6868 2005-11-17  Wim Taymans  <wim@fluendo.com>
6870         * gst/gstbin.c: (gst_bin_provide_clock_func),
6871         (gst_bin_sort_iterator_new):
6872         And unref the child too..
6874 2005-11-17  Wim Taymans  <wim@fluendo.com>
6876         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6877         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6878         Refactor the sort iterator so it can be used while holding the
6879         LOCK too.
6880         Make clock selection select a clock closest to the source.
6882 2005-11-17  Michael Smith <msmith@fluendo.com>
6884         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6885         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6886         * gst/gstclock.h:
6887           Anonymous structs are a gcc (and some other compilers) extension, so
6888           don't use them. Since this is only for ABI-compatibility, and our
6889           API/ABI freeze is over in a few days, this whole thing will only
6890           last a few days, so don't bother trying to think up a meaningful
6891           name for the struct.
6893 2005-11-17  Andy Wingo  <wingo@pobox.com>
6895         * gst/gstclock.h (GstClock): Add rate and offset properties,
6896         preserving ABI stability. Add rate/offset accessors. Will file bug
6897         for the freeze break.
6899         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6900         and offset, trying to keep precision and avoiding
6901         underflow/overflow.
6902         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6903         functions. Make gst_clock_set_time_adjust obsolete.
6904         (gst_clock_set_time_adjust): Note that this function is obsolete.
6905         Will file bug soon.
6907         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6908         greppable by using GST_PADDING-1+1.
6910 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6912         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6914         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6915           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6917         * gst/gstpadtemplate.h:
6918         * gst/gstpluginfeature.h:
6919           Don't use c++ style comments in headers (#321638).
6921 2005-11-16  Andy Wingo  <wingo@pobox.com>
6923         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6924         buffer.
6926         * check/net/gstnettimeprovider.c: Check to see that the time
6927         provider actually provides times. Works, yo!
6929 2005-11-16  Wim Taymans  <wim@fluendo.com>
6931         * check/Makefile.am:
6932         Enable more tests.
6934         * check/elements/fakesrc.c: (GST_START_TEST):
6935         Set element to NULL before disposing it.
6937 2005-11-16  Andy Wingo  <wingo@pobox.com>
6939         * gst/net/Makefile.am:
6940         * gst/net/gstnet.h:
6941         * gst/net/gstnettimeprovider.c: 
6942         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6943         provider, include it from gstnet.h, and add it to the build.
6945         * gst/net/gstnettimepacket.h: 
6946         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6947         sending and receiving.
6949 2005-11-16  Wim Taymans  <wim@fluendo.com>
6951         * check/Makefile.am:
6952         Enable valgrind check.
6954         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6955         (gst_fake_src_alloc_buffer):
6956         Fix memleak.
6958 2005-11-16  Wim Taymans  <wim@fluendo.com>
6960         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6961         Call parent finalize too.
6963 2005-11-16  Wim Taymans  <wim@fluendo.com>
6965         * check/Makefile.am:
6966         Enable valgrind check that should work fine now.
6968         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6969         * gst/gstqueue.c: (gst_queue_init):
6970         Fix memleaks in pad allocation.
6972 2005-11-16  Andy Wingo  <wingo@pobox.com>
6974         * gst/net/Makefile.am:
6975         * gst/net/gstnet.h: New part of core to hold network elements and
6976         objects. Put in core because it exposes API that applications want
6977         to use. The library is named libgstnet-tempname right now because
6978         of the existing libgstnet in gst-plugins-base. Solution is
6979         probably to rename the one in plugins-base; will file a bug for
6980         the freeze break.
6982         * gst/net/gstnettimeprovider.c: 
6983         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6984         get_time call over the network.
6986         * configure.ac: 
6987         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6989         * check/Makefile.am:
6990         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6991         get additions shortly.
6993 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6995         * gst/gstpad.c: (gst_pad_new_from_static_template):
6996         * gst/gstpad.h:
6997           add gst_pad_new_from_static_template functions
6998         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6999         (gst_check_setup_sink_pad):
7000         * gst/elements/gsttee.c: (gst_tee_init):
7001           and use them
7003 2005-11-16  Wim Taymans  <wim@fluendo.com>
7005         * gst/gstpad.c: (gst_pad_pause_task):
7006         Removed warning, it's not really an error either.
7008 2005-11-16  Wim Taymans  <wim@fluendo.com>
7010         * gst/base/gstbasetransform.c:
7011         (gst_base_transform_prepare_output_buf),
7012         (gst_base_transform_event):
7013         Check if the caps are NULL, this can happen if the element
7014         is shutting down and the pad caps are set to NULL.
7016 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7018         * gst/elements/gsttee.c: (gst_tee_init):
7019           fix pad template leak in tee
7021 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7023         * gst/glib-compat.c: (g_value_dup_gst_object):
7024         * gst/glib-compat.h:
7025         * gst/gstpad.c: (gst_pad_set_property):
7026           use gst_object_ref when setting the pad template; this will
7027           trigger the pad template leaks on GLib 2.6 and the slaves
7029 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7031         * gst/glib-compat.c: (gst_flags_get_first_value):
7032         * gst/glib-compat.h:
7033         * gst/gstregistryxml.c:
7034           remove functions copied from GLib 2.6
7036 2005-11-16  Michael Smith <msmith@fluendo.com>
7038         * gst/Makefile.am:
7039           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7040           do, but only breaks with newer valgrind versions. We're not a
7041           valgrind tool, we have no link-time dependencies on libcoregrind.
7043 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7045         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7046           some debug changes
7047         * gst/gstmessage.h:
7048           typo fixes
7050 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7052         * gst/base/gstbasesrc.c: (gst_base_src_init):
7053         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7054         * gst/gstqueue.c: (gst_queue_init):
7055         * gst/gstregistryxml.c: (load_feature):
7056           Revert all these unrefs, they don't even pass make check !
7058 2005-11-15  Johan Dahlin  <johan@gnome.org>
7060         * gst/base/gstbasesrc.c: (gst_base_src_init):
7061         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7062         * gst/gstqueue.c: (gst_queue_init): 
7063         Free pad templates, fixes a couple of leaks.
7065 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7067         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7069         * gst/gstpad.c: (gst_pad_get_property):
7070           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7071           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7072           (#321452)
7074 2005-11-15  Wim Taymans  <wim@fluendo.com>
7076         * gst/gstevent.c:
7077         Small doc update.
7079 2005-11-15  Andy Wingo  <wingo@pobox.com>
7081         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7083         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7084         using GST_CLOCK_TIME_NONE to disable base time management.
7085         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7086         time if it was NONE before.
7087         (gst_pipeline_change_state): Only munge the base time if
7088         stream_time != GST_CLOCK_TIME_NONE.
7090         * check/gst/gstpipeline.c (test_base_time): Punt around the
7091         problem of the probe not being called, because that's not the
7092         issue I'm looking at. Add a check that setting stream_time to NONE
7093         disables base time management.
7094         
7095 2005-11-15  Wim Taymans  <wim@fluendo.com>
7097         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7098         segment_stop == -1 at startup.
7100         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7101         (gst_base_transform_change_state):
7102         Init segment values at start.
7104 2005-11-15  Wim Taymans  <wim@fluendo.com>
7106         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7107         0 segment values are 0 in any format.
7109         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7110         * gst/base/gstbasetransform.h:
7111         Parse newsegment correctly in basetransform
7113         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7114         Sync to clock using updated segment values.
7116 2005-11-15  Andy Wingo  <wingo@pobox.com>
7118         * check/gst/gstpipeline.c (test_base_time): Add check that the
7119         base time and stream time are reset correctly.
7121 2005-11-15  Wim Taymans  <wim@fluendo.com>
7123         * docs/design/part-TODO.txt:
7124         Some more TODO items.
7126 2005-11-15  Andy Wingo  <wingo@pobox.com>
7128         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7129         error if the user selected "no clock" as the clocking method.
7131         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7132         timestamps with live capture.
7134         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7135         is 0 but we are a live source, timestamp the buffers using the
7136         element's clock.
7138 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7140         * docs/gst/gstreamer-sections.txt:
7141         * gst/gsterror.c:
7142         * gst/gstghostpad.c:
7143         * gst/gstobject.h:
7144         * gst/gstxml.c:
7145           more section docs
7147 2005-11-14  Wim Taymans  <wim@fluendo.com>
7149         * common/gst.supp:
7150           add suppressions from Wim's Debian machine
7152 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7154         * common/gst.supp:
7155           add suppressions from Andy's AMD64 Ubuntu machine
7157 2005-11-14  Andy Wingo  <wingo@pobox.com>
7159         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7160         STATE_LOCK not necessary. Fixes #311489.
7162         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7163         #305291.
7165         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7166         this function is not implemented.
7168 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7170         * gst/base/gstbasetransform.c:
7171         (gst_base_transform_prepare_output_buf):
7172         Ref the source pad caps while we need them.
7173         Fixes (#321386)
7175 2005-11-11  Wim Taymans  <wim@fluendo.com>
7177         * docs/gst/gstreamer-sections.txt:
7178         Added some docs for GstCollectData.
7180         * gst/base/gstadapter.c:
7181         Some small code example fix.
7183         * gst/base/gstcollectpads.c:
7184         * gst/base/gstcollectpads.h:
7185         Document some more.
7187 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7189         * configure.ac: back to HEAD
7191 === release 0.9.5 ===
7193 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7195         * configure.ac:
7196           releasing 0.9.5, "Bike Lunch Day"
7198 2005-11-11  Wim Taymans  <wim@fluendo.com>
7200         * gst/gstbuffer.c: (_gst_buffer_copy):
7201         Copy more flags.
7203         * gst/gstcaps.c: (gst_caps_is_equal):
7204         Fix some docs.
7205         Make _is_equal fast in the trivial cases.
7207         * gst/gstminiobject.c:
7208         * gst/gstminiobject.h:
7209         More docs. Spifify .h file.
7211         * gst/gstutils.c:
7212         Small doc update.
7214 2005-11-11  Wim Taymans  <wim@fluendo.com>
7216         * gst/base/gstbasetransform.c:
7217         (gst_base_transform_prepare_output_buf),
7218         (gst_base_transform_handle_buffer):
7219         Small cleanups.
7220         If we're processing a buffer and need to allocate an output
7221         buffer, we cannot accept a format change. If we did get a 
7222         format change, we have to alloc a buffer ourselves of the 
7223         right size.
7225 2005-11-11  Wim Taymans  <wim@fluendo.com>
7227         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7228         While checking the flag for reentrancy in the gstcaps function
7229         is nice to detect recursive invocations, it also makes it 
7230         impossible to call getcaps from multiple threads, which must be
7231         possible. So, checking for recursive calls has to go.
7233 2005-11-11  Michael Smith <msmith@fluendo.com>
7235         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7236           Don't sync on buffers that fall partially outside our current
7237           segment. Prevents an assertion failure/abort playing some files.
7239 2005-11-10  Andy Wingo  <wingo@pobox.com>
7241         * check/gst/gstbin.c (test_message_state_changed_children): Style
7242         fix..
7244         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7245         gst_bus_poll with the signal watch. Ensures that poll and a signal
7246         watch see the same messages.
7248         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7249         a poll and a watch at the same time get the same messages.
7251 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7253         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7254         * gst/gstcaps.c: (gst_caps_intersect):
7255           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7256           and it's not needed.
7258 2005-11-10  Wim Taymans  <wim@fluendo.com>
7260         * docs/design/part-TODO.txt:
7261         Updated todo.
7263 2005-11-10  Wim Taymans  <wim@fluendo.com>
7265         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7266         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7267         (gst_base_src_do_sync), (gst_base_src_get_range):
7268         Implement clock sync in base class.
7270 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7272         patch by: Tim-Philipp Müller <tim at centricular dot net>
7274         * gst/gststructure.c: (gst_structure_parse_field),
7275         (gst_structure_from_string):
7276           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7277           so that gst_parse_launch() can deal with spaces in filtered link
7278           caps (fixes #164479)
7279         * check/gst/capslist.h:
7280         * check/gst/gststructure.c: (GST_START_TEST):
7281           add unit tests for this change
7283 2005-11-10  Wim Taymans  <wim@fluendo.com>
7285         * docs/gst/gstreamer-sections.txt:
7286         * gst/gstelement.c:
7287         * gst/gstelement.h:
7288         Fix docs, move some STATE macros to private.
7290 2005-11-10  Wim Taymans  <wim@fluendo.com>
7292         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7293         Added check for bug #317341
7295         * gst/gstbuffer.c:
7296         * gst/gstbuffer.h:
7297         Some more spiffifying.
7299         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7300         Call peer linkfunction if we are a source pad. Totally fixes
7301         #317341
7303         * gst/gstpad.c:
7304         Update docs, source pads should call the peer linkfunction
7305         so they can atomically perform the pad link.
7307 2005-11-09  Wim Taymans  <wim@fluendo.com>
7309         * gst/gstbuffer.c:
7310         * gst/gstbuffer.h:
7311         Uber-spiffy-spiffify some more.
7313 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7315         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7316         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7317         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7318         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7319         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7320         * gst/gstpad.c: (gst_pad_init):
7321           Use GST_DEBUG_FUNCPTR() more extensively.
7323 2005-11-09  Wim Taymans  <wim@fluendo.com>
7325         * gst/gstobject.c: (gst_object_class_init):
7326         * gst/gstobject.h:
7327         Documentation fixes.
7329 2005-11-09  Edward Hervey  <edward@fluendo.com>
7331         * gst/gsttypefindfactory.c:
7332         Fix docs.
7333         
7334 2005-11-09  Edward Hervey  <edward@fluendo.com>
7336         * gst/base/gsttypefindhelper.c:
7337         * gst/gsttypefind.c:
7338         * gst/gsttypefind.h:
7339         Fix docs.
7341 2005-11-09  Wim Taymans  <wim@fluendo.com>
7343         * gst/gstiterator.c:
7344         Fix revision data.
7346         * gst/gsttask.c:
7347         * gst/gsttask.h:
7348         Fix docs.
7350 2005-11-09  Wim Taymans  <wim@fluendo.com>
7352         * gst/gstevent.h:
7353         * gst/gsturi.h:
7354         Fix docs.
7356 2005-11-09  Wim Taymans  <wim@fluendo.com>
7358         * docs/gst/gstreamer-sections.txt:
7359         Moved the message async delivery private lock and cond
7360         to the private section.
7362         * gst/gstmessage.c:
7363         * gst/gstmessage.h:
7364         Fixed docs.
7366 2005-11-09  Edward Hervey  <edward@fluendo.com>
7368         * docs/gst/gstreamer-sections.txt:
7369         * gst/gsturi.c:
7370         * gst/gsturi.h:
7371         Document GstURIHandler
7373 2005-11-09  Wim Taymans  <wim@fluendo.com>
7375         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7376         (gst_iterator_find_custom):
7377         * gst/gstiterator.h:
7378         Fix iterator docs.
7380 2005-11-09  Wim Taymans  <wim@fluendo.com>
7382         * gst/gstbin.h:
7383         Document another field.
7385         * gst/gststructure.c:
7386         * gst/gststructure.h:
7387         Document.
7389 2005-11-09  Wim Taymans  <wim@fluendo.com>
7391         * gst/gstbin.h:
7392         Documented structs.
7394 2005-11-09  Wim Taymans  <wim@fluendo.com>
7396         * docs/gst/gstreamer-sections.txt:
7397         Added some new macros.
7399         * gst/gstclock.c:
7400         * gst/gstclock.h:
7401         * gst/gstobject.h:
7402         Docs updates.
7404 2005-11-09  Wim Taymans  <wim@fluendo.com>
7406         * docs/design/part-TODO.txt:
7407         Some more items for the TODO
7409         * gst/gstcaps.c:
7410         * gst/gstcaps.h:
7411         Document GstCaps.
7413 2005-11-09  Andy Wingo  <wingo@pobox.com>
7415         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7416         to work on something else now tho...
7418         * gst/base/gstadapter.c: More adapter docs.
7420         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7421         (gst_file_sink_stop): New functions, replace the state change
7422         handler.
7423         (gst_file_sink_class_init): Hook up the start and stop functions.
7424         (gst_file_sink_base_init): Don't set the state change handler any
7425         more. It was a bit ugly too, being set from here...
7426         (gst_file_sink_get_property, gst_file_sink_set_property):
7427         Cleanups...
7428         (gst_file_sink_set_location): More robust check that doesn't call
7429         GST_STATE. Ugggggg.
7431 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7433         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7434           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7436 2005-11-08  Wim Taymans  <wim@fluendo.com>
7438         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7439         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7440         (gst_base_sink_chain), (gst_base_sink_change_state):
7441         * gst/base/gstbasesink.h:
7442         * gst/base/gstbasesrc.h:
7443         * gst/gstelement.h:
7444         * gst/gstevent.h:
7445         Avoid excessive typechecking in macros.
7447         * gst/gstminiobject.c: (gst_mini_object_get_type),
7448         (gst_mini_object_init), (gst_mini_object_new),
7449         (gst_mini_object_free):
7450         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7451         (gst_object_finalize):
7452         Remove cruft code, optimize alloc_trace.
7454 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7456         * docs/faq/gst-uninstalled:
7457           fix up PS1 for systems that try to reset it
7459 2005-11-07  Wim Taymans  <wim@fluendo.com>
7461         * gst/base/gstbasesrc.c: (gst_base_src_init),
7462         (gst_base_src_get_range):
7463         Set the segment_end to -1 initially. Fixed typefind.
7465 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7467         * gst/base/gstadapter.c:
7468           Debug category should be 'adapter', not 'GstAdapter'.
7469           
7470         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7471         (gst_collectpads_class_init), (gst_collectpads_init),
7472         (gst_collectpads_peek), (gst_collectpads_pop),
7473         (gst_collectpads_event), (gst_collectpads_chain):
7474           Add debug category and some debugging output. Use boilerplate
7475           macros. Remove some extraneous words from docs.
7477 2005-11-05  Andy Wingo  <wingo@pobox.com>
7479         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7480         macro.
7482 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7484         * docs/gst/gstreamer-sections.txt:
7485         * gst/gstcaps.h:
7486         * gst/gstinfo.c:
7487         * gst/gstminiobject.h:
7488         * gst/gstobject.h:
7489         * gst/gstutils.h:
7490           more docs added
7492 2005-11-04  Wim Taymans  <wim@fluendo.com>
7494         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7495         Small update to stop at the configured segment_end
7496         position.
7498 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7500         * gst/gstregistry.c:
7501         * gst/gstregistry.h:
7502           added missing docs
7504 2005-11-04  Edward Hervey  <edward@fluendo.com>
7506         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7507         Check if we are doing a segment seek and have arrived at the
7508         end of that segment.
7510 2005-11-04  Wim Taymans  <wim@fluendo.com>
7512         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7513         Don't leak a mutex unlock in case of an error.
7515         * gst/gstbus.h:
7516         Doc fixes.
7518 2005-11-04  Wim Taymans  <wim@fluendo.com>
7520         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7521         (gst_bus_post):
7522         Get the context to wake up only once.
7524 2005-11-03  Wim Taymans  <wim@fluendo.com>
7526         * check/states/sinks.c: (GST_START_TEST):
7527         Uncomment fixed check.
7529         * docs/design/part-TODO.txt:
7530         Updated TODO.
7532         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7533         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7534         (gst_base_sink_get_position):
7535         If we are going to PLAYING, post the right pending state
7536         when we post the intermediate paused message.
7538         * gst/gstelement.c: (gst_element_continue_state),
7539         (gst_element_set_state_func), (gst_element_change_state):
7540         Don't post state changes that were between the same state
7541         and were not ASYNC.
7543 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7545         * docs/gst/gstreamer-sections.txt:
7546         * gst/gstcaps.h:
7547         * gst/gstinfo.c:
7548         * gst/gstminiobject.h:
7549         * gst/gstobject.h:
7550         * gst/gstutils.h:
7551           more docs and doc style fixes
7553 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7555         * docs/gst/gstreamer-sections.txt:
7556         * gst/gstelement.c:
7557         * gst/gstminiobject.c:
7558         doc fixes
7560 2005-11-03  Andy Wingo  <wingo@pobox.com>
7562         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7563         state-changed messages actually have the right order and the right
7564         values.
7566 2005-11-03  Wim Taymans  <wim@fluendo.com>
7568         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7569         Added some more checks. Specifically the case where NO_PREROLL
7570         elements are in the pipeline.
7572         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7573         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7574         (gst_base_sink_get_position):
7575         Post READY->PAUSED state change messages too.
7576         Fix bug where VOID was posted as pending state...
7578         * gst/gstbin.c: (gst_bin_recalc_state):
7579         use _element_continue_state() to continue the state change.
7581         * gst/gstelement.c: (gst_element_continue_state),
7582         (gst_element_commit_state), (gst_element_set_state_func),
7583         (gst_element_change_state), (gst_element_change_state_func):
7584         Lots of state change cleanups, assign the STATE_RETURN in
7585         a new continue_state() function that also propagates the
7586         last return value from a state change to the app.
7587         Update some debug statements with proper category.
7589 2005-11-03  Wim Taymans  <wim@fluendo.com>
7591         * docs/design/part-events.txt:
7592         * docs/design/part-gstpipeline.txt:
7593         * docs/design/part-messages.txt:
7594         * docs/design/part-overview.txt:
7595         * docs/design/part-seeking.txt:
7596         * docs/design/part-states.txt:
7597         * docs/design/part-trickmodes.txt:
7598         * docs/manual/advanced-position.xml:
7599         Small docs updates.
7601         * gst/gstobject.h:
7602         People think !! is ugly, this looks better.
7604         * gst/gstpad.c: (gst_pad_set_blocked_async):
7605         Remove !! since it's fixed elsewhere now.
7607 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7609         * gst/gstminiobject.h:
7610         * gst/gstobject.h:
7611           Add !! to _FLAG_IS_SET macros to make the result boolean.
7613 2005-11-03  Edward Hervey  <edward@fluendo.com>
7615         * gst/gstpad.c: (gst_pad_set_blocked_async):
7616         comparing a flag and a gboolean rarely returns coherent results...
7617         Added two characters (!!) to make that work correctly.
7618         
7619 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7621         * gst/gstbus.c: (gst_bus_class_init):
7622           Fix some typos.
7623           
7624         * gst/gstqueue.c: (gst_queue_loop):
7625           Don't assume a miniobject that isn't a buffer is an
7626           event (it could be that there is a refcounting
7627           problem somewhere and the pointer is stale and
7628           refers to an already destroyed miniobject).
7630 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7632         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7634 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7636         * docs/manual/advanced-position.xml:
7637           Update seek example and explanations to current 0.9 API.
7639         * gst/elements/gsttypefindelement.c:
7640         (gst_type_find_element_activate):
7641           Remove FIXME comment now that the found caps
7642           are unreffed.
7644 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7646         * gst/gstregistryxml.c: (load_feature):
7647           Add another GST_STR_NULL instance
7649 2005-11-02  Edward Hervey  <edward@fluendo.com>
7651         * gst/gstpad.c: (handle_pad_block):
7652         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7653         
7654 2005-11-02  Wim Taymans  <wim@fluendo.com>
7656         * gst/gstbin.c:
7657         Fix typo in docs.
7659         * gst/gstelement.c: (gst_element_commit_state):
7660         Remove unused value.
7662         * gst/gstiterator.c:
7663         Mention that the returned element is reffed in the docs.
7665 2005-11-02  Wim Taymans  <wim@fluendo.com>
7667         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7668         (gst_pad_push), (gst_pad_push_event):
7669         Unlock blocked pads when they are flushed.
7671 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7673         * docs/README:
7674         * docs/gst/gstreamer-sections.txt:
7675         * gst/gstbin.c:
7676           doc updates
7677         * gst/gstregistry.c: (gst_registry_scan_path_level):
7678           fix for a nasty little missed situation where an installed plug-in
7679           which was in the cache did not get overridden by an uninstalled one
7680           which was earlier in the plugin path because the newly created plugin
7681           for the uninstalled one (not in the registry) didn't get its
7682           ->registered set to TRUE
7684 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7686         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7687         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7688         (gst_collectpads_is_active), (gst_collectpads_collect),
7689         (gst_collectpads_collect_range), (gst_collectpads_start),
7690         (gst_collectpads_stop), (gst_collectpads_peek),
7691         (gst_collectpads_pop), (gst_collectpads_available),
7692         (gst_collectpads_read), (gst_collectpads_flush):
7693           Guard public API with assertions.
7694         
7695         * gst/gstpad.c:
7696           Fix docs for gst_pad_set_link_function().
7698 2005-11-02  Johan Dahlin  <johan@gnome.org>
7700         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7701         Unref found_caps after we used it.
7703 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7705         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7706           Don't try to ref NULL.
7708 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7710         * win32/common/config.h.in:
7711           provide a GST_FUNCTION that just gives a string for now
7713 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7715         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7716         (gst_object_flags_get_type), (register_gst_bin_flags),
7717         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7718         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7719         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7720         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7721         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7722         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7723         (gst_clock_flags_get_type), (register_gst_state),
7724         (gst_state_get_type), (register_gst_state_change_return),
7725         (gst_state_change_return_get_type), (register_gst_state_change),
7726         (gst_state_change_get_type), (register_gst_element_flags),
7727         (gst_element_flags_get_type), (register_gst_core_error),
7728         (gst_core_error_get_type), (register_gst_library_error),
7729         (gst_library_error_get_type), (register_gst_resource_error),
7730         (gst_resource_error_get_type), (register_gst_stream_error),
7731         (gst_stream_error_get_type), (register_gst_event_type),
7732         (gst_event_type_get_type), (register_gst_seek_type),
7733         (gst_seek_type_get_type), (register_gst_seek_flags),
7734         (gst_seek_flags_get_type), (register_gst_format),
7735         (gst_format_get_type), (register_gst_index_certainty),
7736         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7737         (gst_index_entry_type_get_type),
7738         (register_gst_index_lookup_method),
7739         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7740         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7741         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7742         (gst_index_flags_get_type), (register_gst_debug_level),
7743         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7744         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7745         (gst_iterator_result_get_type), (register_gst_iterator_item),
7746         (gst_iterator_item_get_type), (register_gst_message_type),
7747         (gst_message_type_get_type), (register_gst_mini_object_flags),
7748         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7749         (gst_pad_link_return_get_type), (register_gst_flow_return),
7750         (gst_flow_return_get_type), (register_gst_activate_mode),
7751         (gst_activate_mode_get_type), (register_gst_pad_direction),
7752         (gst_pad_direction_get_type), (register_gst_pad_flags),
7753         (gst_pad_flags_get_type), (register_gst_pad_presence),
7754         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7755         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7756         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7757         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7758         (gst_plugin_flags_get_type), (register_gst_rank),
7759         (gst_rank_get_type), (register_gst_query_type),
7760         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7761         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7762         (gst_tag_flag_get_type), (register_gst_task_state),
7763         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7764         (gst_alloc_trace_flags_get_type),
7765         (register_gst_type_find_probability),
7766         (gst_type_find_probability_get_type), (register_gst_uri_type),
7767         (gst_uri_type_get_type), (register_gst_parse_error),
7768         (gst_parse_error_get_type):
7769         * win32/common/gstversion.h:
7770           update win32 copies
7772 2005-11-01  Luca Ognibene  <luogni@tin.it>
7774         * gst/gst.c:
7775           fix docs. popt is dead, long live GOption.
7777 2005-10-31  Wim Taymans  <wim@fluendo.com>
7779         * gst/gstbuffer.h:
7780         Small doc fix.
7782 2005-10-31  Andy Wingo  <wingo@pobox.com>
7784         * Boo!
7786         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7788         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7789         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7790         the possibility of deadlocks here if code calling notify() or
7791         set() has a lock that can be taken in another notify handler (ABBA
7792         with class lock and e.g. python GIL state lock).
7794 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7796         * gst/gstbus.c: Doc updates.
7798 2005-10-28  Wim Taymans  <wim@fluendo.com>
7800         * docs/design/part-TODO.txt:
7801         * gst/gstiterator.c:
7802         * gst/gstsystemclock.c:
7803         * gst/gstsystemclock.h:
7804         Doc updates.
7806 2005-10-28  Edward Hervey  <edward@fluendo.com>
7808         * docs/gst/gstreamer-docs.sgml:
7809         * docs/gst/gstreamer-sections.txt:
7810         the GstURIType documentation page is private, it only defines GstURIType
7811         which should be defined in the GstURIHandler page
7812         
7813 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7815         * gst/gstbin.c: (gst_bin_class_init):
7816         * gst/gstbin.h:
7817         * gst/gstutils.c:
7818         Documentation updates.
7820 2005-10-28  Wim Taymans  <wim@fluendo.com>
7822         * docs/gst/gstreamer-sections.txt:
7823         * gst/gstclock.c:
7824         * gst/gstclock.h:
7825         Documented the clocks.
7827 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7829         * docs/gst/gstreamer-sections.txt:
7830           move some macros to private sections
7831         * gst/gstminiobject.c:
7832         * gst/gstminiobject.h:
7833           add descriptions provided by ds and some more
7834         * gst/gstpad.h:
7835           mark macro as to be removed
7837 2005-10-28  Wim Taymans  <wim@fluendo.com>
7839         * docs/design/part-TODO.txt:
7840         Add an item to TODO.
7842         * gst/gstiterator.c: (gst_iterator_fold),
7843         (gst_iterator_find_custom):
7844         * gst/gstiterator.h:
7845         Add iterator docs.
7847 2005-10-28  Wim Taymans  <wim@fluendo.com>
7849         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7850         (gst_base_transform_init):
7851         Don't leak class.
7853         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7854         An EOS event marks the queue as completely filled.
7856 2005-10-27  Wim Taymans  <wim@fluendo.com>
7858         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7859         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7860         Some more debugging.
7862         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7863         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7864         (gst_base_transform_event), (gst_base_transform_getrange),
7865         (gst_base_transform_chain):
7866         * gst/base/gstbasetransform.h:
7867         Fix debugging,
7868         Protect transform and concurrent buffer alloc with a new lock.
7869         Try not to break ABI/API.
7871 2005-10-27  Wim Taymans  <wim@fluendo.com>
7873         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7874         (gst_base_src_init), (gst_base_src_query),
7875         (gst_base_src_default_newsegment),
7876         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7877         (gst_base_src_send_event), (gst_base_src_event_handler),
7878         (gst_base_src_pad_get_range), (gst_base_src_loop),
7879         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7880         (gst_base_src_start), (gst_base_src_deactivate),
7881         (gst_base_src_activate_push), (gst_base_src_change_state):
7882         Move some stuff around and cleanup things.
7884 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7886         * gst/base/gstbasesrc.c: (gst_base_src_query):
7887           Add missing break statements.
7889 2005-10-27  Wim Taymans  <wim@fluendo.com>
7891         * check/gst/gstbin.c: (GST_START_TEST):
7892         An extra refcount is taken in basesrc.
7894         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7895         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7896         (gst_base_src_loop):
7897         Small cleanups, check for flushing after being unlocked from the 
7898         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7899         Don't send out EOS when going to READY.
7901 2005-10-27  Wim Taymans  <wim@fluendo.com>
7903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7904         (gst_base_sink_get_position):
7905         Some more debug.
7907         * gst/gstbin.c: (message_check), (bin_replace_message),
7908         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7909         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7910         (bin_query_duration_init), (bin_query_duration_fold),
7911         (bin_query_duration_done), (bin_query_generic_fold),
7912         (gst_bin_query):
7913         * tools/gst-launch.c: (main):
7914         Remove old option.
7916 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7918         * examples/controller/audio-example.c: (main):
7919         * examples/queue/queue.c: (event_loop):
7920         * gst/base/gstbasetransform.h:
7921         * gst/gstelement.c: (gst_element_send_event):
7922         * gst/gstevent.h:
7923         * gst/gstpad.c: (gst_pad_send_event):
7924           fixing examples
7925           fixing docs typos
7926           changing log priority in error situations
7928 2005-10-25  Wim Taymans  <wim@fluendo.com>
7930         * gst/gstbin.c: (message_check), (bin_replace_message),
7931         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7932         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7933         (bin_query_duration_init), (bin_query_duration_fold),
7934         (bin_query_duration_done), (bin_query_generic_fold),
7935         (gst_bin_query):
7936         Some doc and debug updates.
7937         Cache previously requested query DURATION for speed. invalidate
7938         cached duration if element posts a DURATION message.
7940 2005-10-25  Wim Taymans  <wim@fluendo.com>
7942         * docs/design/part-TODO.txt:
7943         Update TODO.
7945         * gst/gstbin.c: (message_check), (bin_replace_message),
7946         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7947         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7948         (bin_query_duration_init), (bin_query_duration_fold),
7949         (bin_query_duration_done), (bin_query_generic_fold),
7950         (gst_bin_query):
7951         Handle SEGMENT_START/DONE messages correctly.
7952         More evolved query algorithm that handles duration queries
7953         correctly.
7955         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7956         (gst_element_get_state_func), (gst_element_abort_state),
7957         (gst_element_commit_state), (gst_element_lost_state):
7958         Some more debugging.
7960         * gst/gstmessage.h:
7961         Added doc.
7963 2005-10-25  Wim Taymans  <wim@fluendo.com>
7965         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7966         Don't use invalid stream_time.
7968         * gst/gstevent.c: (gst_event_new_newsegment):
7969         stream_time in newsegment cannot be undefined.
7971 2005-10-24  Wim Taymans  <wim@fluendo.com>
7973         * gst/gstbus.c:
7974         Doc fix.
7976         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7977         (gst_queue_loop):
7978         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7980 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7982         * docs/libs/tmpl/gstdparam.sgml:
7983         * docs/libs/tmpl/gstdplinint.sgml:
7984         * docs/libs/tmpl/gstdpman.sgml:
7985         * docs/libs/tmpl/gstdpsmooth.sgml:
7986         * docs/libs/tmpl/gstunitconvert.sgml:
7987           these are obsolete
7989 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7991         * configure.ac:
7992           back to HEAD
7994 === release 0.9.4 ===
7996 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7998         * configure.ac:
7999           releasing 0.9.4, "Tyrannosaurus Rex"
8001 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8003         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8004         (gst_file_sink_get_current_offset):
8005           Use fseeko() and ftello() if available. When falling back on
8006           lseek() to get the current offset, fflush() first to make sure
8007           everything is up-to-date and we get the right offset.
8009 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8011         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8012         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8013         * gst/gsterror.c: (_gst_stream_errors_init):
8014         * gst/gsterror.h:
8015         * gst/gstqueue.c: (gst_queue_loop):
8016         * po/POTFILES.in:
8017           remove prematurely added error category and clean up the instances
8019 2005-10-21  Wim Taymans  <wim@fluendo.com>
8021         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8022         (gst_base_sink_get_position), (gst_base_sink_query),
8023         (gst_base_sink_change_state):
8024         Simply set the right flag when going to playing, that's all
8025         we need to do instead of calling a function inside the object
8026         lock (that could take the lock as well and deadlock)
8028 2005-10-21  Wim Taymans  <wim@fluendo.com>
8030         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8031         (gst_base_src_loop):
8032         Don't warn, the peer element knows what to do best when
8033         the seek failed, it might try something else.
8035 2005-10-21  Wim Taymans  <wim@fluendo.com>
8037         * gst/base/gstbasesrc.c: (gst_base_src_init),
8038         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8039         Fix seeking.
8041 2005-10-21  Wim Taymans  <wim@fluendo.com>
8043         * docs/design/part-segments.txt:
8044         More docs.
8046         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8047         Correctly set caps, even on the subbufer.
8049 2005-10-21  Wim Taymans  <wim@fluendo.com>
8051         * docs/gst/gstreamer-docs.sgml:
8052         * docs/gst/gstreamer-sections.txt:
8053         * gst/gstelement.h:
8054         * gst/gstevent.c:
8055         * gst/gstevent.h:
8056         * gst/gstmessage.h:
8057         * gst/gstpad.h:
8058         * gst/gstparse.h:
8059         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8060         * gst/gsttask.h:
8061         * gst/gstutils.c:
8062         * gst/gstutils.h:
8063         And 2% more doc coverage.
8065 2005-10-21  Andy Wingo  <wingo@pobox.com>
8067         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8068         position reporting.
8070 2005-10-20  Wim Taymans  <wim@fluendo.com>
8072         * gst/gsterror.c: (gst_error_get_message):
8073         * gst/gstparse.h:
8074         * gst/gstquery.h:
8075         * gst/gststructure.c:
8076         * gst/gsttrace.c:
8077         * gst/gstutils.c:
8078         More docs.
8080 2005-10-20  Wim Taymans  <wim@fluendo.com>
8082         * gst/gstbuffer.h:
8083         * gst/gstpad.c:
8084         * gst/gstparse.c:
8085         Another 1% more coverage.
8087 2005-10-20  Wim Taymans  <wim@fluendo.com>
8089         * docs/gst/gstreamer-sections.txt:
8090         * gst/gstelement.c: (gst_element_get_state_func),
8091         (gst_element_abort_state), (gst_element_commit_state),
8092         (gst_element_lost_state):
8093         * gst/gstevent.h:
8094         * gst/gstquery.c: (gst_query_set_position),
8095         (gst_query_parse_position), (gst_query_set_duration),
8096         (gst_query_parse_duration), (gst_query_new_convert):
8097         * gst/gstutils.c:
8098         Yay! 1% more docs coverage.
8100 2005-10-20  Wim Taymans  <wim@fluendo.com>
8102         * gst/gstpad.h:
8103         * gst/gstquery.c: (gst_query_set_position),
8104         (gst_query_parse_position), (gst_query_set_duration),
8105         (gst_query_parse_duration), (gst_query_new_convert):
8106         * gst/gstquery.h:
8107         * gst/gstutils.c: (gst_element_query_convert):
8108         * gst/gstutils.h:
8109         Docs and consistency fixes.
8111 2005-10-20  Wim Taymans  <wim@fluendo.com>
8113         * gst/gsttask.c:
8114         * gst/gsttask.h:
8115         More docs.
8117 2005-10-20  Wim Taymans  <wim@fluendo.com>
8119         * gst/gstbin.c: (message_check), (bin_replace_message),
8120         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8121         (update_degree), (gst_bin_sort_iterator_next),
8122         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8123         Reworked the message handling a bit, cache the messages instead of
8124         only the senders. alows us to do more in the future.
8126 2005-10-20  Wim Taymans  <wim@fluendo.com>
8128         * docs/design/part-TODO.txt:
8129         Update TODO
8131         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8132         (gst_base_sink_query):
8133         Don't use clock time to report position when in EOS.
8135 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8137         * tools/gst-inspect.c: (print_interfaces),
8138         (print_element_properties_info), (print_element_info):
8139           Fix interface output with gst-inspect -a; don't print
8140           newlines after double/float properties.
8142 2005-10-20  Wim Taymans  <wim@fluendo.com>
8144         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8145         (gst_base_sink_query):
8146         Speed up current position calculation.
8148         * gst/base/gstbasesrc.c: (gst_base_src_query),
8149         (gst_base_src_default_newsegment):
8150         Correctly set stream position in newsegment.
8152         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8153         (update_degree), (gst_bin_sort_iterator_next),
8154         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8155         * gst/gstmessage.c: (gst_message_new_custom):
8156         Clean up debugging info
8158         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8159         (gst_queue_loop), (gst_queue_handle_src_query):
8160         Pause task faster.
8162 2005-10-19  Wim Taymans  <wim@fluendo.com>
8164         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8165         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8166         Fix query handling again.
8168 2005-10-19  Wim Taymans  <wim@fluendo.com>
8170         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8171         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8172         * gst/base/gstbasesrc.c: (gst_base_src_query):
8173         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8174         * gst/elements/gsttypefindelement.c:
8175         (gst_type_find_handle_src_query), (find_element_get_length),
8176         (gst_type_find_element_activate):
8177         API change fix.
8179         * gst/gstquery.c: (gst_query_new_position),
8180         (gst_query_set_position), (gst_query_parse_position),
8181         (gst_query_new_duration), (gst_query_set_duration),
8182         (gst_query_parse_duration), (gst_query_set_segment),
8183         (gst_query_parse_segment):
8184         * gst/gstquery.h:
8185         Bundling query position/duration is not a good idea since duration
8186         does not change much and we don't want to recalculate it for every
8187         position query, so they are separated again..
8188         Base value in segment query is not needed.
8190         * gst/gstqueue.c: (gst_queue_handle_src_query):
8191         * gst/gstutils.c: (gst_element_query_position),
8192         (gst_element_query_duration), (gst_pad_query_position),
8193         (gst_pad_query_duration):
8194         * gst/gstutils.h:
8195         Updates for query API change.
8196         Added some docs here and there.
8198 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8200         * check/gst/gstbin.c: (GST_START_TEST):
8201         * check/gst/gstghostpad.c: (GST_START_TEST):
8202         * check/pipelines/cleanup.c: (GST_START_TEST):
8203           wait on thread to die so we can check refcount correctly
8205 2005-10-18  Wim Taymans  <wim@fluendo.com>
8207         * check/pipelines/stress.c: (GST_START_TEST):
8208         Make check a little more time consuming.
8210 2005-10-18  Wim Taymans  <wim@fluendo.com>
8212         * check/Makefile.am:
8213         * check/pipelines/stress.c: (GST_START_TEST),
8214         (simple_launch_lines_suite), (main):
8215         Small state change torture test.
8217         * docs/design/part-states.txt:
8218         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8219         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8220         (gst_base_sink_change_state):
8221         Never take state lock from streaming thread, clean up ugly
8222         hacks. Unfortunatly core does not yet support nice ways to
8223         async commit state.
8224         
8225         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8226         (bin_bus_handler):
8227         Start state recalc if a STATE_DIRTY message is posted, but only
8228         on the toplevel bin.
8230         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8231         (gst_element_get_state_func), (gst_element_abort_state),
8232         (gst_element_commit_state), (gst_element_lost_state),
8233         (gst_element_set_state_func), (gst_element_change_state):
8234         * gst/gstelement.h:
8235         State variables are now protected with the LOCK, the state
8236         lock is only used to serialize _set_state().
8238 2005-10-18  Wim Taymans  <wim@fluendo.com>
8240         * check/gst/gstbin.c: (GST_START_TEST):
8241         * check/gst/gstmessage.c: (GST_START_TEST):
8242         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8243         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8244         (bin_bus_handler):
8245         * gst/gstelement.c: (gst_element_abort_state),
8246         (gst_element_commit_state), (gst_element_lost_state):
8247         * gst/gstmessage.c: (gst_message_new_state_changed),
8248         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8249         (gst_message_new_segment_done), (gst_message_new_duration),
8250         (gst_message_parse_state_changed),
8251         (gst_message_parse_segment_start),
8252         (gst_message_parse_segment_done), (gst_message_parse_duration):
8253         * gst/gstmessage.h:
8254         * tools/gst-launch.c: (event_loop):
8255         Seriously, this is better than a previous commit as we only need
8256         to notify the fact that an element changed state in a streaming
8257         thread, marking the state of the parents dirty, hence the 
8258         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8259         message.
8261 2005-10-18  Wim Taymans  <wim@fluendo.com>
8263         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8264         (gst_bin_recalc_func):
8265         * gst/gstelement.c: (gst_element_set_clock),
8266         (gst_element_abort_state), (gst_element_lost_state):
8267         Cleanups, prepare for state change fixes.
8269 2005-10-18  Wim Taymans  <wim@fluendo.com>
8271         * gst/gstbin.h:
8272         * gst/gstelement.c: (gst_element_class_init),
8273         (gst_element_set_state), (gst_element_set_state_func):
8274         * gst/gstelement.h:
8275         Pending ABI changes.
8276         GThreadPool in GstBinClass to monitor async state changes.
8277         state_cookie in GstElement to detect concurrent gst/set state.
8278         set_state is now virtual too in case a very complicated element
8279         has to be constructed.
8281 2005-10-18  Wim Taymans  <wim@fluendo.com>
8283         * check/gst/gstbin.c: (GST_START_TEST):
8284         * check/gst/gstmessage.c: (GST_START_TEST):
8285         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8286         * gst/gstbin.c: (bin_bus_handler):
8287         * gst/gstelement.c: (gst_element_commit_state),
8288         (gst_element_lost_state):
8289         * gst/gstmessage.c: (gst_message_new_state_changed),
8290         (gst_message_new_segment_start), (gst_message_new_segment_done),
8291         (gst_message_new_duration), (gst_message_parse_state_changed),
8292         (gst_message_parse_segment_start),
8293         (gst_message_parse_segment_done), (gst_message_parse_duration):
8294         * gst/gstmessage.h:
8295         * tools/gst-launch.c: (event_loop):
8296         Make messages future proof.
8297         state-change gets a flag if it was a message comming from the
8298         streaming thread.
8299         segment-start/stop can also be specified in other formats.
8300         A message to notify an app that a pipeline changed playback 
8301         duration.
8302         Also fix a GstMessage leak in -launch
8304 2005-10-18  Andy Wingo  <wingo@pobox.com>
8306         * gst/gstelement.c (gst_element_dispose): More helpful message.
8308 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8310         reviewed by: <delete if not using a buddy>
8312         * common/gtk-doc.mak:
8314 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8316         * gst/gstregistry.c: (gst_registry_scan_path_level):
8317           unref a plug-in we get that was already initialized
8319 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8321         * docs/gst/gstreamer-sections.txt:
8322         * docs/libs/gstreamer-libs-sections.txt:
8323         * gst/gstelement.h:
8324           add new api entries
8325           hide internal macro
8327 2005-10-17  Andy Wingo  <wingo@pobox.com>
8329         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8330         cleanup.
8332         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8334         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8336         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8337         (gst_element_get_state_func): Better debug message.
8338         (gst_element_commit_state): s/INFO/DEBUG/.
8339         (gst_element_lost_state, gst_element_change_state): 
8341         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8342         (gst_message_new_custom): s/INFO/LOG/.
8344 2005-10-17  Michael Smith <msmith@fluendo.com>
8346         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8347           Check if end time is valid using end time, not start time.
8349 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8351         * check/gst-libs/controller.c: (GST_START_TEST),
8352         (gst_controller_suite):
8353         * libs/gst/controller/gstcontroller.c:
8354         (gst_controlled_property_set_interpolation_mode):
8355         * libs/gst/controller/gstcontroller.h:
8356         * libs/gst/controller/gstinterpolation.c:
8357         * testsuite/controller/.cvsignore:
8358         * testsuite/controller/Makefile.am:
8359         * testsuite/controller/interpolator.c:
8360           merge controller testsuites
8361           fix broken tests
8362           remove mem-chunk from docs
8364 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8366         * gst/gstmemchunk.c:
8367         * gst/gstmemchunk.h:
8368         * gst/gsttrashstack.c:
8369         * gst/gsttrashstack.h:
8370           out.  get out.  you're fired.  to the Attic !
8372 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8374         * gst/gstcaps.c: (gst_caps_intersect):
8375           fix signedness issues in a (hopefully) correct way
8376         * gst/gstelement.c: (gst_element_pads_activate):
8377           some debugging
8378         * gst/gstobject.c: (gst_object_set_parent):
8379           some debugging
8381 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8383         * gst/gstvalue.h: Fix prototypes.
8385 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8387         * docs/gst/gstreamer-sections.txt:
8388         * gst/gst.c: (gst_version_string):
8389         * gst/gst.h:
8390         * gst/gstversion.h.in:
8391         * win32/common/libgstreamer.def:
8392           add gst_version_string ()
8394 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8396         * configure.ac:
8397           clean up further
8398         * gst/gst.c: (init_post):
8399         * win32/common/config.h.in:
8400           it's PLUGINDIR now
8401         * gst/gstcaps.c: (gst_caps_intersect):
8402           use gint64, the range could be bigger than a guint
8404 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8406         * gst/gstclock.h:
8407           document potential problem in 2038
8409 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8411         * gst/gstcaps.c: (gst_caps_intersect):
8412           Fix guint j diving under 0
8414 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8416         * configure.ac:
8417         * win32/common/config.h:
8418         * win32/common/config.h.in:
8419           check for process.h, declares getpid() on Windows
8420         * gst/gstinfo.c:
8421           include process.h if we have it
8422         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8423         * gst/gstmemchunk.h:
8424           fix signedness issues
8425         * win32/common/libgstreamer.def:
8426           fix get_type's
8428 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8430         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8431         fix. Because of unsigned ints, caps intersection was going nuts and
8432         trying to access structures with G_MAXUINT index. That fixes
8433         videotestsrc ! ffmpegcolorspace ! fakesink
8434         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8435         consistency.
8437 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8439         * configure.ac:
8440           use the gettext macro
8441         * gst/elements/gstelements.c:
8442         * gst/gst.c:
8443         * gst/indexers/gstindexers.c:
8444           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8445         * win32/common/config.h:
8446           updated config.h
8447         * win32/common/config.h.in:
8448           add the template to generate config.h
8449         * win32/common/gstenumtypes.c:
8450         * win32/common/gstversion.h:
8451           updated copies
8453 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8455         * gst/gst.c: (gst_version):
8456         * gst/gstversion.h.in:
8457           add the nano
8459 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8461         * gst/gstevent.h:
8462           Oops, add missing closing bracket.
8464 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8466         * configure.ac:
8467           use common m4's for argument checking
8469 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8471         * docs/gst/gstreamer-sections.txt:
8472         * gst/gstevent.h:
8473           Add GST_EVENT_TYPE_NAME() macro.
8475 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8477         * gst/gstinfo.c:
8478         * gst/gstpluginfeature.c:
8479         * gst/gsttask.c:
8480           privatize more symbols
8482 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8484         * configure.ac:
8485           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8486           everything that uses GStreamer API should have the includes
8488 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8490         * docs/gst/gstreamer-sections.txt:
8491         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8492         * gst/gstvalue.h:
8493           give each value a _get_type, removes the DATA exports
8495 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8497         * gst/gst.c:
8498         * gst/gst.h:
8499           remove _gst_registry_auto_load, not used anymore
8500         * gst/gstbin.c: (gst_bin_get_type):
8501         * gst/gstbin.h:
8502         * gst/gstelement.c: (gst_element_get_type):
8503         * gst/gstelement.h:
8504         * gst/gstobject.c: (gst_object_get_type):
8505         * gst/gstobject.h:
8506         * gst/gstpad.c: (gst_pad_get_type):
8507         * gst/gstpad.h:
8508           make _get_type functions similar, fixes data export from library
8510 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8512         * configure.ac:
8513           correctly make conditionals
8514         * gst/elements/Makefile.am:
8515         * gst/elements/gstelements.c:
8516           fix typo causing fdsrc not to build
8518 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8520         * testsuite/Makefile.am:
8521         * testsuite/bytestream/.cvsignore:
8522         * testsuite/bytestream/Makefile.am:
8523         * testsuite/bytestream/filepadsink.c:
8524         * testsuite/bytestream/gstbstest.c:
8525         * testsuite/bytestream/test1.c:
8526         * testsuite/bytestream/testfile1:
8527         * testsuite/caps/normalisation.c:
8528         * testsuite/caps/random.c: (main):
8529         * testsuite/cleanup/.cvsignore:
8530         * testsuite/cleanup/Makefile.am:
8531         * testsuite/cleanup/cleanup1.c:
8532         * testsuite/cleanup/cleanup2.c:
8533         * testsuite/cleanup/cleanup3.c:
8534         * testsuite/cleanup/cleanup4.c:
8535         * testsuite/cleanup/cleanup5.c:
8536         * testsuite/controller/interpolator.c:
8537         * testsuite/debug/printf_extension.c: (main):
8538         * testsuite/elements/tee.c:
8539         * testsuite/negotiation/.cvsignore:
8540         * testsuite/negotiation/Makefile.am:
8541         * testsuite/negotiation/pad_link.c:
8542         * testsuite/pad/Makefile.am:
8543         * testsuite/pad/chainnopull.c:
8544         * testsuite/pad/getnopush.c:
8545         * testsuite/pad/link.c:
8546         * testsuite/refcounting/sched.c: (create_pipeline):
8547         * testsuite/registry/Makefile.am:
8548         * testsuite/registry/gst-print-formats.c:
8549         * testsuite/schedulers/.cvsignore:
8550         * testsuite/schedulers/142183-2.c:
8551         * testsuite/schedulers/142183.c:
8552         * testsuite/schedulers/143777-2.c:
8553         * testsuite/schedulers/143777.c:
8554         * testsuite/schedulers/147713.c:
8555         * testsuite/schedulers/147819.c:
8556         * testsuite/schedulers/147894-2.c:
8557         * testsuite/schedulers/147894.c:
8558         * testsuite/schedulers/Makefile.am:
8559         * testsuite/schedulers/group_link.c:
8560         * testsuite/schedulers/queue_link.c:
8561         * testsuite/schedulers/relink.c:
8562         * testsuite/schedulers/unlink.c:
8563         * testsuite/schedulers/unref.c:
8564         * testsuite/schedulers/useless_iteration.c:
8565         * testsuite/states/bin.c:
8566           clean out/remove some stuff from the testsuite directories
8568 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8570         * configure.ac:
8571           check for some headers
8572         * gst/elements/Makefile.am:
8573         * gst/elements/gstelements.c:
8574           don't compile fdsrc without sys/socket.h
8575         * gst/indexers/Makefile.am:
8576         * gst/indexers/gstindexers.c: (plugin_init):
8577           don't compile fileindex without mmap
8579 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8581         * configure.ac:
8582           reorganize
8583           clean up
8584           document more
8585           remove cruft
8586         * check/Makefile.am:
8587         * docs/gst/Makefile.am:
8588         * examples/helloworld/Makefile.am:
8589         * gst/Makefile.am:
8590         * gst/base/Makefile.am:
8591         * gst/check/Makefile.am:
8592         * gst/elements/Makefile.am:
8593         * gst/indexers/Makefile.am:
8594         * gst/parse/Makefile.am:
8595         * libs/gst/controller/Makefile.am:
8596         * libs/gst/dataprotocol/Makefile.am:
8597         * examples/helloworld/helloworld.c: (event_loop):
8598           compile fixes, though it's not being compiled currently
8600 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8602         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8603           Add some simple tests for the new taglist date API.
8605 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8607         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8608         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8609           Beautify 'last-message' output: print 'none' for buffer timestamps
8610           and durations if none is set; improve alignment with next messages.
8612 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8614         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8615         * gst/gstpluginfeature.h:
8616         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8617         * gst/gstregistry.h:
8618         * docs/gst/gstreamer-sections.txt:
8619           Add new API to check plugin feature version requirements.
8621         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8622           Some basic tests for the above.         
8624 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8626         * gst/gststructure.c: (gst_structure_to_string):
8627           guard against NULL printf - happens when for example
8628           a message structure with GstClock gets serialized
8630 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8632         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8633           Fix presumable copy'n'pasto.
8635 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8637         * gst/elements/gstfakesrc.h:
8638         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8639         * gst/elements/gsttypefindelement.c:
8640           fix some signedness
8641         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8642           I wonder if this could actually write +2GB files before
8644 2005-10-13  Andy Wingo  <wingo@pobox.com>
8646         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8647         Fix Timmeke Waymans bug.
8648         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8649         string of the proper length to gst_caps_from_string. There's a
8650         potential for, before this fix, that this could cause someone
8651         connecting over the network to cause a segfault if the payload is
8652         not NUL-terminated.
8654 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8656         * docs/design/draft-push-pull.txt:
8657         * docs/design/part-overview.txt:
8658         * docs/random/TODO-pre-0.9:
8659         * docs/random/old/ChangeLog.gstreamer:
8660         * gst/base/gstpushsrc.c:
8661         * gst/gstclock.c:
8662           fixed typos
8664 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8666         * gst/glib-compat.c: (gst_flags_get_first_value):
8667         * gst/glib-compat.h:
8668         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8669         (gst_value_compare_double), (gst_value_serialize_flags):
8670           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8671           infinite loop
8673 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8675         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8676         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8677           fix up debugging
8678         * tools/gst-launch.c: (event_loop):
8679           print out clock nicely
8681 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8683         * docs/gst/gstreamer-sections.txt:
8684         * gst/gsttaglist.h:
8685         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8686         (gst_tag_list_get_date_index):
8687           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8688           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8690 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8692         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8693         (gst_collectpads_chain):
8694         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8695         in CollectData.
8697 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8699         * docs/gst/gstreamer-sections.txt:
8700         * gst/gst.c:
8701         * gst/gsterror.h:
8702         * tools/gst-inspect.c: (main):
8703         * tools/gst-launch.c: (main):
8704         * tools/gst-run.c: (main):
8705         * tools/gst-xmlinspect.c: (main):
8706           fix GOption context leaks
8707           doc fixes
8709 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8711         * gst/gstbus.c:
8712           use HAVE_UNISTD_H
8713         * win32/common/config.h:
8714           update config
8715         * win32/vs6/grammar.dsp:
8716         * win32/vs6/libgstelements.dsp:
8717         * win32/vs6/libgstreamer.dsp:
8718           update vs6 files
8720 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8722         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8723         * gst/base/gstbasesrc.c: (gst_base_src_query):
8724           fix more guint64<->gdouble conversions
8726 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8728         * Makefile.am:
8729           add win32-update target
8730         * win32/common/gstconfig.h:
8731         * win32/common/gstenumtypes.c:
8732         * win32/common/gstenumtypes.h:
8733         * win32/common/gstversion.h:
8734           add files that visual studio can't generate
8736 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8738         * Makefile.am:
8739           add a win32-update target
8740         * configure.ac:
8742 2005-10-12  Wim Taymans  <wim@fluendo.com>
8744         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8745         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8746         * gst/gstelement.c: (gst_element_commit_state),
8747         (gst_element_set_state):
8748         Protect flags with proper lock.
8749         unref provided cached clock in dispose.
8751 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8753         * gst/gst.c:
8754         * gst/gstminiobject.h:
8755         * gst/gstpad.h:
8756         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8757           removed unused flags from miniobject
8758           doc fixes
8760 2005-10-12  Wim Taymans  <wim@fluendo.com>
8762         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8763         (gst_file_sink_event), (gst_file_sink_render):
8764         Flush before seeking.
8766 2005-10-12  Andy Wingo  <wingo@pobox.com>
8768         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8769         always been the case.
8771 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8773         * check/gst/gstbin.c: (GST_START_TEST):
8774         * docs/gst/gstreamer-sections.txt:
8775         * gst/base/gstbasesink.c: (gst_base_sink_init):
8776         * gst/base/gstbasesrc.c: (gst_base_src_init),
8777         (gst_base_src_get_range), (gst_base_src_check_get_range),
8778         (gst_base_src_start), (gst_base_src_stop):
8779         * gst/base/gstbasesrc.h:
8780         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8781         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8782         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8783         (bin_bus_handler):
8784         * gst/gstbin.h:
8785         * gst/gstbuffer.h:
8786         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8787         * gst/gstbus.h:
8788         * gst/gstelement.c: (gst_element_is_locked_state),
8789         (gst_element_set_locked_state), (gst_element_commit_state),
8790         (gst_element_set_state):
8791         * gst/gstelement.h:
8792         * gst/gstindex.c: (gst_index_init):
8793         * gst/gstindex.h:
8794         * gst/gstminiobject.h:
8795         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8796         (gst_object_set_parent):
8797         * gst/gstobject.h:
8798         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8799         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8800         * gst/gstpad.h:
8801         * gst/gstpadtemplate.h:
8802         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8803         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8804         * gst/gstpipeline.h:
8805         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8806         (gst_file_index_commit):
8807         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8808         * testsuite/pad/link.c: (gst_test_src_init),
8809         (gst_test_filter_init), (gst_test_sink_init):
8810         * testsuite/states/locked.c: (main):
8811           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8812           moved bitshift from macro to enum definition
8814 2005-10-12  Wim Taymans  <wim@fluendo.com>
8816         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8817         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8818         (gst_file_sink_render):
8819         Some more debugging info.
8821 2005-10-12  Wim Taymans  <wim@fluendo.com>
8823         * docs/design/part-states.txt:
8824         * tools/gst-launch.c: (main):
8825         Some doc updates.
8826         Revert non-intentional change.
8828 2005-10-12  Wim Taymans  <wim@fluendo.com>
8830         * check/gst/gstbin.c: (GST_START_TEST):
8831         * check/gst/gstelement.c: (GST_START_TEST):
8832         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8833         * check/gst/gstghostpad.c: (GST_START_TEST):
8834         * check/gst/gstpipeline.c: (GST_START_TEST):
8835         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8836         * check/states/sinks.c: (GST_START_TEST):
8837         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8838         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8839         (gst_bin_remove_func), (gst_bin_get_state_func),
8840         (gst_bin_recalc_state), (gst_bin_change_state_func),
8841         (bin_bus_handler):
8842         * gst/gstelement.c: (gst_element_get_state_func),
8843         (gst_element_get_state), (gst_element_abort_state),
8844         (gst_element_commit_state), (gst_element_set_state),
8845         (gst_element_change_state), (gst_element_change_state_func):
8846         * gst/gstelement.h:
8847         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8848         (gst_pipeline_provide_clock_func):
8849         * gst/gstutils.c: (gst_element_link_pads_filtered):
8850         * tools/gst-launch.c: (main):
8851         * tools/gst-typefind.c: (main):
8852         Use GstClockTime in _get_state() instead of GTimeVal.
8853         Remove old code in gstutils.c
8855 2005-10-12  Andy Wingo  <wingo@pobox.com>
8857         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8858         removed.
8860         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8861         there is no task. Shouldn't affect any code, as nothing in our
8862         plugins checks this return value.
8863         (gst_pad_stop_task): Also take the stream lock if the pad has no
8864         task. Docs updated.
8866 2005-10-12  Wim Taymans  <wim@fluendo.com>
8868         * gst/gstpad.c: (pre_activate), (post_activate),
8869         (gst_pad_activate_pull), (gst_pad_activate_push):
8870         Cleanup activation code. Reset old state if
8871         activation failed.
8873 2005-10-12  Wim Taymans  <wim@fluendo.com>
8875         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8876         (gst_base_sink_change_state):
8877         No need to prerol after receiving EOS.
8879         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8880         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8881         * gst/elements/gstidentity.c: (gst_identity_event):
8882         Print events more verbosely.
8884 2005-10-12  Wim Taymans  <wim@fluendo.com>
8886         * check/Makefile.am:
8887         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8888         * check/states/sinks2.c:
8889         Moved sinks2 testcode in sinks check.
8891         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8892         (gst_bin_remove_func), (gst_bin_recalc_state),
8893         (gst_bin_change_state_func), (bin_bus_handler):
8894         Fix potential race condition when _get_state() iterated over an
8895         ASYNC element right before it posted a state completion.
8897         * gst/gstclock.h:
8898         Do proper cast here.
8900         * gst/gstevent.c: (gst_event_new_newsegment),
8901         (gst_event_parse_newsegment):
8902         A playback rate of 0.0 is not allowed.
8904 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8906         * win32/common/config.h:
8907         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8908         (_trewinddir), (_ttelldir), (_tseekdir):
8909         * win32/common/dirent.h:
8910         * win32/common/gtchar.h:
8911         * win32/common/libgstbase.def:
8912         * win32/common/libgstreamer.def:
8913         * win32/vs6/grammar.dsp:
8914         * win32/vs6/gst_inspect.dsp:
8915         * win32/vs6/gst_launch.dsp:
8916         * win32/vs6/gstreamer.dsw:
8917         * win32/vs6/libgstbase.dsp:
8918         * win32/vs6/libgstelements.dsp:
8919         * win32/vs6/libgstreamer.dsp:
8920           Visual Studio 6 project files, and a new common directory.
8921           Phear.
8923 2005-10-11  Wim Taymans  <wim@fluendo.com>
8925         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8926         (gst_base_sink_do_sync), (gst_base_sink_query),
8927         (gst_base_sink_change_state):
8928         * gst/base/gstbasesink.h:
8929         Correctly parse newsegment info.
8931 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8933         * gst/gst.c: (init_post):
8934           split plugin paths correctly
8936 2005-10-11  Wim Taymans  <wim@fluendo.com>
8938         * check/gst/gstevent.c: (GST_START_TEST):
8939         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8940         (gst_base_sink_change_state):
8941         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8942         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8943         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8944         * gst/gstevent.c: (gst_event_new_newsegment),
8945         (gst_event_parse_newsegment):
8946         * gst/gstevent.h:
8947         Added extra flag to newsegment for future API freeze.
8948         Updated check and base elements.
8950 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8952         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8953         (gst_collectpads_add_pad), (gst_collectpads_pop),
8954         (gst_collectpads_event), (gst_collectpads_chain):
8955         * gst/base/gstcollectpads.h: Handle EOS correctly.
8957 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8959         * tools/gst-launch.c: (main):
8960           more null protecting
8962 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8964         * gst/gst-i18n-lib.h:
8965           check for ENABLE_NLS, not GETTEXT_PACKAGE
8966         * gst/gstregistry.c: (gst_registry_add_plugin),
8967         (gst_registry_scan_path_level),
8968         (_gst_registry_remove_cache_plugins):
8969           protect possibly NULL strings
8970         * gst/parse/types.h:
8971           config.h already included before
8972         * tools/gst-inspect.c: (main):
8973           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8974           check for ENABLE_NLS, not GETTEXT_PACKAGE
8975         * tools/gst-launch.c: (main):
8976           check for ENABLE_NLS, not GETTEXT_PACKAGE
8978 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8980         * configure.ac:
8981           if we don't have glib, fail before testing 2.8
8982         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8983           fix a leak, should fix plugins-base testsuite
8985 2005-10-11  Andy Wingo  <wingo@pobox.com>
8987         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8988         take the mode we're going to as an arg. Go head and set the mode
8989         and flushing flags now, so that if the activate function starts a
8990         thread all the flags will be in the right state.
8991         (post_activate): Renamed also. Just handle making sure streaming
8992         finishes for the deactivation case, and setting the deactivated
8993         mode.
8994         (gst_pad_set_active): Complain loudly if deactivation fails.
8995         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8996         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8997         remove the terrible hack.
8999 2005-10-11  Wim Taymans  <wim@fluendo.com>
9001         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9002         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9003         (gst_bin_recalc_state), (gst_bin_change_state_func),
9004         (gst_bin_dispose), (bin_bus_handler):
9005         * gst/gstbin.h:
9006         Prepare to make current EOS message queue more generic.
9007         Fix some typos.
9009         * gst/gstevent.c: (gst_event_new_newsegment),
9010         (gst_event_parse_newsegment):
9011         * gst/gstevent.h:
9012         Rename base to stream_time.
9014         * gst/gstmessage.h:
9015         Fix typo in docs.
9017 2005-10-11  Wim Taymans  <wim@fluendo.com>
9019         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9020         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9021         (gst_bin_change_state_func), (bin_bus_handler):
9022         * gst/gstbin.h:
9023         Work on proper clock selection.
9025 2005-10-11  Edward Hervey  <edward@fluendo.com>
9027         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9028         * libs/gst/controller/gstcontroller.h:
9029         Added GList* version of _remove_properties() in order to be able to wrap
9030         it in bindings.
9032 2005-10-11  Wim Taymans  <wim@fluendo.com>
9034         * docs/design/part-states.txt:
9035         Some more docs.
9037         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9038         (gst_bin_change_state_func), (bin_bus_handler):
9039         Doc updates. Don't distribute the same clock over and over again.
9041         * gst/gstclock.c:
9042         * gst/gstclock.h:
9043         Doc updates.
9045         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9046         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9047         (gst_pad_send_event):
9048         * gst/gstpad.h:
9049         Make probe emission threadsafe again.
9050         Register quarks and move _get_name() from utils.
9051         Doc updates.
9053         * gst/gstpipeline.c: (gst_pipeline_class_init),
9054         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9055         Only redistribute the clock of it changed.
9057         * gst/gstsystemclock.h:
9058         Doc updates. 
9060         * gst/gstutils.c:
9061         * gst/gstutils.h:
9062         Moved the _flow_get_name() to GstPad.
9064 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9066         * check/gst-libs/gdp.c: (GST_START_TEST):
9067         * check/gst/gstcaps.c: (GST_START_TEST):
9068         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9069         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9070         (gst_dp_packet_from_caps):
9071           fix more valgrind warnings before turning up the heat
9073 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9075         * gst/parse/grammar.y:
9076           some cleanup before the hacking
9078 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9080         * gst/base/gstbasesrc.c: (gst_base_src_query):
9081           use conversions
9082         * gst/gstutils.c: (gst_guint64_to_gdouble),
9083         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9084         * gst/gstutils.h:
9085           externalize, basesrc uses it
9086           obviously the implementation needs testing
9088 2005-10-10  Wim Taymans  <wim@fluendo.com>
9090         * tests/sched/Makefile.am:
9091         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9092         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9094 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9096         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9097           apparently converting from guint64 to double is not implemented
9098           on MSVC
9100 2005-10-10  Wim Taymans  <wim@fluendo.com>
9102         * check/Makefile.am:
9103         * check/generic/states.c: (GST_START_TEST):
9104         * check/gst/gstbin.c: (GST_START_TEST):
9105         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9106         * check/states/sinks.c: (GST_START_TEST):
9107         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9108         (main):
9109         Check fixes, use API as stated in design docs, remove hacks.
9111         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9112         (gst_base_sink_change_state):
9113         Catch stopping our task while we're shutting down.
9115         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9116         (gst_bin_remove_func), (gst_bin_get_state_func),
9117         (gst_bin_recalc_state), (gst_bin_change_state_func),
9118         (bin_bus_handler):
9119         * gst/gstbin.h:
9120         * gst/gstelement.c: (gst_element_init),
9121         (gst_element_get_state_func), (gst_element_abort_state),
9122         (gst_element_commit_state), (gst_element_lost_state),
9123         (gst_element_set_state), (gst_element_change_state),
9124         (gst_element_change_state_func):
9125         * gst/gstelement.h:
9126         New state change algorithm (see #318116)
9128         * gst/gstpipeline.c: (gst_pipeline_class_init),
9129         (gst_pipeline_init), (gst_pipeline_set_property),
9130         (gst_pipeline_get_property), (do_pipeline_seek),
9131         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9132         * gst/gstpipeline.h:
9133         Remove crude state change hacks.
9135         * gst/gstutils.h:
9136         Remove crude hacks.
9138         * tools/gst-launch.c: (main):
9139         Fixes for state change. Needs some more work to fully use the
9140         new stuff.
9142 2005-10-10  Andy Wingo  <wingo@pobox.com>
9144         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9146         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9147         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9148         issue.
9150 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9152         * gst/gstiterator.c: (gst_iterator_new):
9153           Fix my previous commit: GTypes passed to gst_iterator_new()
9154           can be fundamental types.
9156 2005-10-10  Wim Taymans  <wim@fluendo.com>
9158         * gst/gstelement.c: (gst_element_iterate_pad_list),
9159         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9160         (gst_element_iterate_sink_pads):
9161         Use src/sink pads lists for the respective iterators instead
9162         of filtering.
9164 2005-10-10  Andy Wingo  <wingo@pobox.com>
9166         Merged in popt removal + GOption addition patch from Ronald, bug
9167         #169772.
9169         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9170         GstElement macros around, remove popt-related symbols, add goption
9171         stuff.
9173         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9174         
9175         * docs/gst/Makefile.am:
9176         * docs/libs/Makefile.am: No POPT_CFLAGS.
9177         
9178         * examples/manual/Makefile.am:
9179         * docs/manual/basics-init.xml: Doc updates with an example.
9180         
9181         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9182         (gst_init), (parse_one_option), (parse_goption_arg):
9183         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9184         bit of hand merging and debugging to get the GOption stuff working
9185         tho.
9186         
9187         * tests/Makefile.am:
9188         * tools/Makefile.am:
9189         * tools/gst-inspect.c: (main):
9190         * tools/gst-launch.c: (main):
9191         * tools/gst-run.c: (main):
9192         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9194 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9196         * gst/gstiterator.c: (gst_iterator_new):
9197           Add assertions to make sure passed GType is likely to really
9198           be a GType (as the compiler won't catch it if the size and
9199           GType arguments get mixed up, see #318447).
9201 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9203         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9205         * gst/gstbin.c: (gst_bin_iterate_sorted):
9206           Pass GType and size arguments to gst_iterator_new() in the right
9207           order (maybe we should make _new() take the GType as first argument
9208           just like _new_list()?) (#318447).
9209           
9211 2005-10-10  Wim Taymans  <wim@fluendo.com>
9213         * gst/gstelement.c: (gst_element_finalize):
9214         And free the GStaticRecMutex too
9216 2005-10-10  Andy Wingo  <wingo@pobox.com>
9218         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9219         Allocate and free the mutex properly.
9221         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9222         New macros.
9223         (GstElement): The state_lock is now recursive. Rebuild your
9224         plugins, suckers. Old macros adapted.
9226         * docs/gst/gstreamer-sections.txt: Doc updates.
9228         * gst/gstutils.h:
9229         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9230         (g_static_rec_cond_wait): Ported from state changes patch, while
9231         we wait on bug #317802 to be solved in a well-distributed GLib.
9233         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9234         gst_element_change_state, variable name changes.
9235         (gst_element_change_state): Split out of gst_element_set_state in
9236         preparation for the state change merge. Doesn't pay attention to
9237         the 'transition' argument.
9238         (gst_element_set_state): Updates, hopefully purely cosmetic.
9239         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9240         state change patch.
9241         (gst_element_get_state_func): Renamed from get_state, cosmetic
9242         changes.
9244 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9246         * gst/elements/gstelements.c:
9247         * win32/GStreamer.vcproj:
9248         * win32/config.h:
9249         * win32/dirent.c: (_tseekdir):
9250         * win32/gst-inspect.vcproj:
9251         * win32/gst-launch.vcproj:
9252         * win32/gstconfig.h:
9253         * win32/gstelements.vcproj:
9254         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9255         * win32/gstreamer.def:
9256         * win32/msvc71.sln:
9257           updates for the win32 build (patch from Sebastien Moutte)
9259 2005-10-10  Andy Wingo  <wingo@pobox.com>
9261         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9262         gst_bin_get_state, cleaned up (but no logic changes).
9263         (bin_element_is_sink): Comment updates.
9264         (sink_iterator_filter): Remove needless cast.
9265         (gst_bin_iterate_sinks): Doc update.
9266         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9267         cleaned up (but no logic changes).
9269         * check/states/sinks.c (test_src_sink): Cleanups from the state
9270         change patch.
9271         (test_livesrc_sink): Sync on the state.
9273         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9274         the state change patch.
9276         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9277         change patch.
9279         * check/gst/gstbin.c: Merge in some style fixes and additional
9280         checks from Wim's state change patch.
9282 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9284         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9285         (gst_type_find_helper):
9286           Check whether we have the requested data already in our list of
9287           cached buffers before pulling a new buffer; also make the buffer
9288           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9290 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9292         * gst/gstcaps.c:
9293         * gst/gstevent.c:
9294           doc updates
9295         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9296           don't use long long, it's not portable.  Replacing with
9297           gint64 seems to work; let's hope no skeletons fall out of the closet.
9299 2005-10-10  Andy Wingo  <wingo@pobox.com>
9301         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9303 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9305         * docs/gst/gstreamer-sections.txt:
9306         * gst/gstevent.c:
9307         * gst/gstevent.h:
9308         * gst/gstinfo.c:
9309         * gst/gstinfo.h:
9310         * gst/gstmessage.c: (gst_message_parse_state_changed):
9311         * gst/gstpad.c:
9312         * gst/gstpad.h:
9313           more docs, fix compilation
9315 2005-10-09  Philippe Khalaf <burger@speedy.org>
9316         * gst/gstmessage.c:
9317           Fixed a few forgotten variables on previous commit
9319 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9321         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9322           Fix evil typefind crasher: getrange() might return a short
9323           buffer at the end of a file, but gst_type_find_peek() must
9324           either return the full data as requested or NULL, but
9325           never a short buffer.
9327 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9329         * gst/gstmessage.c: (gst_message_new_state_changed),
9330         (gst_message_parse_state_changed):
9331         * gst/gstmessage.h:
9332           don't use "new", it's a C++ keyword
9334 2005-10-08  Wim Taymans  <wim@fluendo.com>
9336         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9337         * gst/gstelement.c: (gst_element_post_message):
9338         * gst/gstpipeline.c: (gst_pipeline_change_state):
9339         Small docs and debug updates.
9341 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9343         * docs/gst/gstreamer-sections.txt:
9344         * gst/gstelementfactory.c:
9345         * gst/gstevent.c:
9346         * gst/gsttaglist.c:
9347           more docs
9349 2005-10-08  Wim Taymans  <wim@fluendo.com>
9351         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9352         (gst_bin_dispose), (bin_bus_handler):
9353         Fix typos, add comments.
9354         Clear EOS list when going to PAUSED from any direction and do it
9355         in a threadsafe way.
9356         Get base time in a threadsafe way too.
9357         Fix confusing debug in the change_state function.
9358         Various other small cleanups.
9359         
9360         * gst/gstelement.c: (gst_element_post_message):
9361         Fix very verbose bus posting code.
9363         * gst/gstpipeline.c: (gst_pipeline_class_init),
9364         (gst_pipeline_set_property), (gst_pipeline_get_property),
9365         (gst_pipeline_change_state):
9366         Small ARG_ -> PROP_ cleanup
9368 2005-10-08  Wim Taymans  <wim@fluendo.com>
9370         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9371         Do a less CPU demanding EOS check because we can.
9373 2005-10-08  Wim Taymans  <wim@fluendo.com>
9375         * libs/gst/dataprotocol/dataprotocol.c:
9376         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9377         (gst_dp_packet_from_event):
9378         * libs/gst/dataprotocol/dataprotocol.h:
9379         * libs/gst/dataprotocol/dp-private.h:
9380         It's about time we bump the version number.
9381         Since event types don't fit in the guint8 anymore describing
9382         the payload type, make payload type 16 bits wide.
9384 2005-10-08  Wim Taymans  <wim@fluendo.com>
9386         * docs/design/part-TODO.txt:
9387         * docs/design/part-clocks.txt:
9388         * docs/design/part-events.txt:
9389         * docs/design/part-gstbin.txt:
9390         * docs/design/part-gstelement.txt:
9391         * docs/design/part-gstpipeline.txt:
9392         * docs/design/part-live-source.txt:
9393         * docs/design/part-messages.txt:
9394         * docs/design/part-overview.txt:
9395         * docs/design/part-states.txt:
9396         Many doc updates.
9398 2005-10-08  Wim Taymans  <wim@fluendo.com>
9400         * gst/gstevent.c:
9401         * gst/gstevent.h:
9402         Fix event quark registration.
9403         Add some space between events so we can insert them in the
9404         right groups.
9406 2005-10-08  Wim Taymans  <wim@fluendo.com>
9408         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9409         (gst_base_sink_handle_buffer):
9410         Better log message.
9412         * gst/gstbus.h:
9413         * gst/gstelement.h:
9414         More docs.
9416         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9417         (gst_queue_set_property), (gst_queue_get_property):
9418         * gst/gstqueue.h:
9419         Remove old unused properties.
9421 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9422         * docs/gst/gstreamer-sections.txt:
9423         * gst/gstmessage.c:
9424         * gst/gstmessage.h:
9425         * gst/gstminiobject.c:
9426         * gst/gstminiobject.h:
9427         * gst/gstobject.h:
9428         * gst/gstpad.h:
9429         * gst/gstutils.h:
9430           lots of new docs and doc fixes
9432 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9434         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9435         * gst/gstplugin.h:
9436         * gst/gstregistry.c: (gst_registry_lookup_locked),
9437         (gst_registry_scan_path_level):
9438         * gst/gstregistryxml.c: (load_plugin):
9439           Only ever load one plugin for a given plugin basename.
9440           This ensures correct overriding of GST_PLUGIN_PATH over
9441           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9442           system installed plugins.
9444 2005-10-08  Wim Taymans  <wim@fluendo.com>
9446         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9447         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9448         Prepare for doing QOS.
9450 2005-10-08  Wim Taymans  <wim@fluendo.com>
9452         * check/gst/gstbin.c: (GST_START_TEST):
9453         * check/pipelines/cleanup.c: (GST_START_TEST):
9454         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9455         Allow new clock message too.
9457 2005-10-08  Wim Taymans  <wim@fluendo.com>
9459         * gst/gstmessage.c: (gst_message_new_error),
9460         (gst_message_new_warning), (gst_message_new_tag),
9461         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9462         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9463         (gst_message_new_segment_start), (gst_message_new_segment_done),
9464         (gst_message_parse_state_changed),
9465         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9466         (gst_message_parse_new_clock):
9467         * gst/gstmessage.h:
9468         Also carry the clock in question.
9470 2005-10-08  Wim Taymans  <wim@fluendo.com>
9472         * gst/gstmessage.c: (gst_message_new_custom),
9473         (gst_message_new_eos), (gst_message_new_error),
9474         (gst_message_new_warning), (gst_message_new_tag),
9475         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9476         (gst_message_new_new_clock), (gst_message_new_segment_start),
9477         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9478         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9479         * gst/gstmessage.h:
9480         Clean up.
9481         Added clock related messages.
9483         * gst/gstpipeline.c: (gst_pipeline_change_state):
9484         Post message when the clock changed.
9486         * tools/gst-launch.c: (event_loop):
9487         Print new clock.
9489 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9491         * tools/gst-inspect.c: (print_element_properties_info):
9492           Can't pass NULL strings to g_print() on windows.
9494 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9496         * docs/Makefile.am:
9497         * docs/gst/Makefile.am:
9498         * docs/gst/gstreamer-docs.sgml:
9499         * docs/gst/running.xml:
9500         * docs/version.entities.in:
9501           add a chapter on running GStreamer.
9502           document GST_DEBUG and GST_PLUGIN* env vars
9504 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9506         * Makefile.am:
9507           remove include dir
9508         * configure.ac:
9509           remove PLUGINS_BUILDDIR stuff
9510         * gst/gst.c: (init_post):
9511           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9512         * idiottest.mak:
9513           remove, it was condescending and not needed
9515 2005-10-08  Wim Taymans  <wim@fluendo.com>
9517         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9518         (gst_base_sink_handle_object), (gst_base_sink_event),
9519         (gst_base_sink_wait), (gst_base_sink_handle_event),
9520         (gst_base_sink_change_state):
9521         * gst/base/gstbasesink.h:
9522         Repost EOS message while going to PLAYING if still EOS.
9523         Make sure that when receiving a FLUSH_START we don't attempt
9524         to sync on the clock anymore.
9526 2005-10-08  Wim Taymans  <wim@fluendo.com>
9528         * tools/gst-launch.c: (event_loop):
9529         Better message printout.
9531 2005-10-08  Wim Taymans  <wim@fluendo.com>
9533         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9534         (gst_bin_child_proxy_get_children_count):
9535         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9536         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9537         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9538         (gst_child_proxy_set_valist):
9539         * gst/parse/grammar.y:
9540         Make ChildProxy threadsafe and fix mem leaks.
9542 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9544         * gst/gst.c: (init_post):
9545           debug the GST_PLUGIN_ env vars
9547 2005-10-08  Wim Taymans  <wim@fluendo.com>
9549         * check/gst/gstbin.c: (GST_START_TEST):
9550         * check/gst/gstmessage.c: (GST_START_TEST):
9551         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9552         * gst/gstelement.c: (gst_element_commit_state),
9553         (gst_element_lost_state):
9554         * gst/gstmessage.c: (gst_message_new_state_changed),
9555         (gst_message_parse_state_changed):
9556         * gst/gstmessage.h:
9557         * tools/gst-launch.c: (event_loop):
9558         Added extra field to STATE_CHANGE message with the pending
9559         state, which will be different from the new state soon.
9561 2005-10-08  Wim Taymans  <wim@fluendo.com>
9563         * gst/gstbus.c: (gst_bus_pop):
9564         * gst/gstclock.c:
9565         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9566         Small cleanups and doc updates.
9568 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9570         * gst/gst.c: (init_pre):
9571         * gst/gstbin.c: (gst_bin_add_func):
9572           log distributing clocks and base time
9573         * gst/gstregistry.c: (gst_registry_add_plugin),
9574         (gst_registry_scan_path_level), (gst_registry_scan_path):
9575           clean up the debugging output a little
9576         * gst/gstutils.c: (gst_element_state_get_name):
9577           warn about a memleak (I've actually seen this be used, though
9578           it was probably a bug)
9580 2005-10-07  Wim Taymans  <wim@fluendo.com>
9582         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9583         (gst_base_src_init), (gst_base_src_default_newsegment),
9584         (gst_base_src_newsegment), (gst_base_src_do_seek),
9585         (gst_base_src_loop), (gst_base_src_start):
9586         * gst/base/gstbasesrc.h:
9587         Make the newsegment event customizable by subclasses.
9589 2005-10-07  Wim Taymans  <wim@fluendo.com>
9591         * gst/gstevent.c: (gst_event_new_buffersize),
9592         (gst_event_parse_buffersize):
9593         * gst/gstevent.h:
9594         New event for future idea.
9596 2005-10-07  Andy Wingo  <wingo@pobox.com>
9598         * gst/gstelement.c (gst_element_post_message): Doc update.
9600         * docs/gst/gstreamer-sections.txt: Update.
9602         * gst/gstmessage.c (gst_message_new_application): Made into a
9603         function like honest API calls.
9604         (gst_message_new_element): New message type.
9606         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9608         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9609         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9610         times.
9612         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9613         NO_PREROLL from gst_element_change_state to fall through.
9615 2005-10-07  Wim Taymans  <wim@fluendo.com>
9617         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9618         (gst_ghost_pad_do_activate_push):
9619         Activating a ghostpad with no internal pad in push mode
9620         is ok.
9622 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9624         * gst/gstobject.h:
9625           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9626           Fixes compilation on Windows.
9628 2005-10-07  Michael Smith <msmith@fluendo.com>
9630         * tools/gst-inspect.c:
9631           Print out feature and plugin count at the end when printing out
9632           all features.
9634 2005-10-04  Michael Smith <msmith@fluendo.com>
9636         * gst/gsterror.c: (_gst_stream_errors_init):
9637           Add another error string used in a few existing plugins.
9639         * gst/gstplugin.c:
9640         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9641         * tools/gst-inspect.c: (print_element_info):
9642           When a feature disappears from a plugin (and the feature exists in
9643           the cached registry file), things went horribly wrong. This isn't a
9644           complete fix, we should actually be removing the 'missing' features
9645           from the features list when we load the actual plugin. That's not
9646           yet implemented. 
9648 2005-10-04  Johan Dahlin  <johan@gnome.org>
9650         * check/gst/gstiterator.c: (GST_START_TEST):
9651         * gst/gstbin.c: (gst_bin_iterate_elements),
9652         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9653         * gst/gstelement.c: (gst_element_iterate_pads):
9654         * gst/gstformat.c: (gst_format_iterate_definitions):
9655         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9656         (gst_iterator_new_list), (gst_iterator_filter):
9657         * gst/gstiterator.h:
9658         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9659         Add a GType to GstIterator, update callsites and tests.
9661 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9663         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9664           give events a chance to be handled by event probes when the pad
9665           is not linked
9667 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9669         * gst/gstevent.c: (gst_event_type_get_name),
9670         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9671         * gst/gstevent.h:
9672           add string representations for event types
9674 2005-10-06  Wim Taymans  <wim@fluendo.com>
9676         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9677         Don't use NULL pointers.
9679 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9681         * gst/gst_private.h:
9682         * gst/gstbus.c:
9683         * gst/gstelement.c:
9684         * gst/gstinfo.c:
9685         * gst/gstpluginfeature.c:
9686           widen the debug category in output to fit the biggest one we have
9687           add a bus category and use it
9688           play with the colors
9689           fix up some categories
9691 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9693         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9694           add push activation of sink ghost pads.
9695           Andye, please verify
9697 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9699         * gst/gstutils.c: (gst_element_link_pads):
9700           fix a bug in the case where neither element has a pad
9701         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9702           add a test for that case
9704 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9706         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9707           emit have-data before checking for peers.  This allows
9708           for probe handlers to connect elements.  This helps autopluggers.
9709         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9710         (gst_pad_suite):
9711           add six checks, linked/unlinked with no/true/false probe
9713 2005-10-04  Wim Taymans  <wim@fluendo.com>
9715         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9716         (gst_fake_sink_event), (gst_fake_sink_preroll),
9717         (gst_fake_sink_render), (gst_fake_sink_change_state):
9718         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9719         (gst_fake_src_get_property), (gst_fake_src_create),
9720         (gst_fake_src_stop):
9721         * gst/elements/gstidentity.c: (gst_identity_stop):
9722         Protect last_message with lock.
9724 2005-10-04  Edward Hervey  <edward@fluendo.com>
9726         * gst/gstformat.h: 
9727         Added precision in the comments for GST_FORMAT_DEFAULT
9729 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9731         * tools/gst-launch.c: (main):
9732           Don't try to run erroneous pipelines.
9734 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9736         * gst/gstbus.c: We don't need this header.
9738 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9740         * configure.ac:
9741           back to development
9743 === release 0.9.3 ===
9745 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9747         * README:
9748         * configure.ac:
9749           Releasing 0.9.3, "Unregistered"
9751 2005-10-03  Andy Wingo  <wingo@pobox.com>
9753         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9754         whereby calling a pad's activatepush() function can start a thread
9755         that starts to push or pull before the pad gets the FLUSHING flag
9756         unset. Hack around it by holding the stream lock until the flag is
9757         set. Need to replace this with a proper solution. Together with
9758         the ghost pad fixes, this fixes mp3 playing/tagreading.
9760         * docs/design/part-gstghostpad.txt: Add a note about activation of
9761         proxy pads outside of ghost pads.
9763         * gst/gstghostpad.c: Implement the ghost pad activation design.
9765 2005-10-02  Andy Wingo  <wingo@pobox.com>
9767         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9768         It is volatile, after all.
9770         * docs/design/part-gstghostpad.txt: Flesh out activation with
9771         ghost pads.
9773         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9774         GST_DEBUG_FUNCPTR.
9776 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9778         * configure.ac:
9779           Fix (unused) AM_CONDITIONAL tests.
9781 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9783         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9785         * gst/gstutils.c: (gst_pad_query_convert):
9786           Add assertion that makes sure src_val is >=0, just like
9787           gst_query_new_convert() has. (#315895)
9789 2005-09-30  Edward Hervey  <edward@fluendo.com>
9791         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9792         Let's not iterate pads we're not interested in, it avoids getting 
9793         sky-high refcounts on sinkpad.
9795 2005-09-30  Wim Taymans  <wim@fluendo.com>
9797         * gst/gstelement.c: (gst_element_set_state),
9798         (gst_element_change_state):
9799         Small tweak, element in ASYNC remains ASYNC.
9801 2005-09-30  Wim Taymans  <wim@fluendo.com>
9803         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9804         Only error is an error.
9806         * gst/gstbin.c: (gst_bin_change_state):
9807         Better debugging.
9809         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9810         Also call pad_block in pad alloc.
9812         * gst/gstutils.c: (gst_flow_get_name):
9813         Better debugging.
9815 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9817         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9818         (gst_base_src_get_range):
9819           Fix documentation typos. Add some more debug info.
9821 2005-09-29  David Schleef  <ds@schleef.org>
9823         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9824           more end-user friendly.
9825         * tools/gst-inspect.c: (main): Check if command-line argument is
9826           a file and attempt to load that file as a plugin.
9828 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9830         * check/gst/gstbin.c:
9831         * check/states/sinks.c:
9832           fix tests for the new warning
9833         * check/gst/gstpipeline.c:
9834           add a test for pipeline and bus interaction
9835         * gst/gstelement.c:
9836           elements should be NULL if they get disposed; add a warning if not
9838 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9840         * gst/gstobject.c:
9841           for 2.6 refcounting, make debug log more correct by printing
9842           the actual refcounts at the time of swap (Wim)
9844 2005-09-29  Andy Wingo  <wingo@pobox.com>
9846         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9847         removes signal watches previously added via
9848         gst_bus_add_signal_watch.
9849         (gst_bus_add_signal_watch): Don't return the source id, just store
9850         it on the bus if there wasn't an id already.
9852         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9853         add_signal_watch and remove_signal_watch.
9855 2005-09-29  Edward Hervey  <edward@fluendo.com>
9857         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9858         Better if we actually iterate the list :)
9860 2005-09-29  Wim Taymans  <wim@fluendo.com>
9862         * check/gst/gstbin.c: (GST_START_TEST):
9863         Change for new bus API.
9865         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9866         (send_messages), (GST_START_TEST), (gstbus_suite):
9867         Change for new bus signal API.
9869         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9870         (gst_bus_source_prepare), (gst_bus_source_check),
9871         (gst_bus_create_watch), (gst_bus_add_watch_full),
9872         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9873         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9874         * gst/gstbus.h:
9875         Remove support for multiple GSources operating on different
9876         message types as it is too complex and unneeded when using
9877         signals.
9878         Added support for receiving signals from the bus.
9880 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9882         * docs/libs/tmpl/gstdataprotocol.sgml:
9883         * docs/manual/advanced-dataaccess.xml:
9884         * gst/elements/gstcapsfilter.c:
9885         * gst/gstutils.c:
9886           rename filter-caps to caps property
9888 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9890         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9891           More robust fraction string parsing.
9893         * docs/pwg/appendix-porting.xml:
9894           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9896 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9898         * gst/gstcaps.c: (gst_caps_do_simplify):
9899           Thou shalt not free a structure and then continue using it
9900           in the next loop iteration.
9902         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9903         (gst_caps_suite):
9904           Add test case for caps simplification.
9906 2005-09-29  Wim Taymans  <wim@fluendo.com>
9908         * check/gst/gstbin.c: (GST_START_TEST):
9909         Oops.
9911 2005-09-29  Wim Taymans  <wim@fluendo.com>
9913         * check/gst/gstbin.c: (GST_START_TEST):
9914         Add bus to bin.
9916         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9917         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9918         (find_element), (gst_bin_sort_iterator_next),
9919         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9920         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9921         (gst_bin_change_state), (gst_bin_dispose):
9922         A bin does not have a bus, it gets the bus from the parent.
9924         * gst/gstelement.c: (gst_element_requires_clock),
9925         (gst_element_provides_clock), (gst_element_is_indexable),
9926         (gst_element_is_locked_state), (gst_element_change_state),
9927         (gst_element_set_bus_func):
9928         Small cleanups.
9930         * gst/gstpipeline.c: (gst_pipeline_class_init),
9931         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9932         The pipeline provides a bus.
9934 2005-09-28  Johan Dahlin  <johan@gnome.org>
9936         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9937         gst_structure_get_enum instead of gst_structure_get_int
9939         * gst/gststructure.c (gst_structure_get_enum): Impl.
9941         * gst/gststructure.h (gst_structure_get_enum): Add
9943         * docs/gst/gstreamer-sections.txt: Ditto
9945         * gst/gstmessage.c (gst_message_new_state_changed): Use
9946         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9947         which does introspection.
9948         Reviewed by Christian Schaller
9950 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9952         * gst/gstinfo.c: (gst_debug_log_default):
9953           don't do dummy g_strdup()s
9954         * libs/gst/controller/gstcontroller.c:
9955         (on_object_controlled_property_changed),
9956         (gst_controlled_property_new), (gst_controller_new_valist),
9957         (gst_controller_new_list),
9958         (gst_controller_remove_properties_valist), (gst_controller_set),
9959         (gst_controller_get), (gst_controller_sync_values),
9960         (gst_controller_get_value_array), (_gst_controller_class_init),
9961         (gst_controller_get_type):
9962         * libs/gst/controller/gstcontroller.h:
9963         * libs/gst/controller/gstinterpolation.c:
9964         (gst_controlled_property_find_timed_value_node):
9965           convert // to /**/ comments
9967 2005-09-28  Wim Taymans  <wim@fluendo.com>
9969         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9970         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9971         (gst_bus_sync_signal_handler):
9972         * gst/gstbus.h:
9973         Added async-message and sync-message signals to the bus.
9974         Added helper BusFunc to emit signals for all posted messages.
9976         * gst/gstmessage.c: (gst_message_type_get_name),
9977         (gst_message_type_to_quark), (gst_message_get_type):
9978         * gst/gstmessage.h:
9979         Register quarks for message names.
9981 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9983         * docs/libs/gstreamer-libs-sections.txt:
9984         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9985         (gst_controller_new_list):
9986         * libs/gst/controller/gstcontroller.h:
9987           added another constructor for language bindings
9989 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9991         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9992           add another check
9993         * gst/gstbus.c:
9994           add some doc
9995         * gst/gstinfo.c: (_gst_debug_init):
9996           slightly more readable color for refcount debugging
9998 2005-09-28  Wim Taymans  <wim@fluendo.com>
10000         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10001         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10002         (find_element), (gst_bin_sort_iterator_next),
10003         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10004         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10005         (gst_bin_change_state), (gst_bin_dispose):
10006         Small doc fixes. get_clock -> provide_clock.
10008         * gst/gstelement.c: (gst_element_class_init),
10009         (gst_element_provides_clock), (gst_element_provide_clock),
10010         (gst_element_get_clock), (gst_element_commit_state),
10011         (gst_element_lost_state):
10012         * gst/gstelement.h:
10013         Make get/set_clock() symetric. Add provide_clock vmethod since
10014         that is actually what this function does.
10016         * gst/gstpipeline.c: (gst_pipeline_class_init),
10017         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10018         (gst_pipeline_get_clock):
10019         get_clock -> provide_clock.
10021 2005-09-28  Andy Wingo  <wingo@pobox.com>
10023         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10024         lieu of real docs...
10026         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10028 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10030         * gst/elements/gstcapsfilter.c:
10031         * gst/elements/gstfakesink.c:
10032         * gst/elements/gstfakesrc.c:
10033         * gst/elements/gstfdsink.c:
10034         * gst/elements/gstfdsrc.c:
10035         * gst/elements/gstfilesink.c:
10036         * gst/elements/gstfilesrc.c:
10037         * gst/elements/gstidentity.c:
10038         * gst/elements/gsttee.c:
10039         * gst/elements/gsttypefindelement.c:
10040           Make element details static.
10042 2005-09-28  Wim Taymans  <wim@fluendo.com>
10044         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10045         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10046         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10047         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10048         (gst_bin_change_state), (gst_bin_dispose):
10049         Some documentation updates.
10050         Clean up dispose handlers.
10052         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10053         * gst/gstpad.c: (gst_pad_dispose):
10054         Clean up dispose handler.
10056         * gst/gstpipeline.c: (gst_pipeline_change_state):
10057         Removed spurious UNLOCK.
10059 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10061         * docs/gst/gstreamer-sections.txt:
10062         * gst/base/gstbasesrc.h:
10063         * gst/gstelement.h:
10064         * gst/gstevent.h:
10065         * gst/gstobject.h:
10066         * gst/gstpad.h:
10067         * gst/gstpipeline.c:
10068         * gst/gstpipeline.h:
10069         * gst/gstutils.h:
10070         * gst/gstxml.h:
10071           added two new functions to the docs
10072                 documents all undocumented GstXXXFlags
10073                 completed some incomplete docs 
10075 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10077         * gst/gstbin.c: (gst_bin_dispose):
10078         * gst/gstelement.c: (gst_element_dispose):
10079           remove now useless and leaky resurrection code in dispose
10080         * gst/base/gstbasesrc.c: (gst_base_src_init):
10081         * gst/gstelementfactory.c: (gst_element_factory_create):
10082         * gst/gstobject.c: (gst_object_set_parent):
10083           add some debugging
10085 2005-09-27  Wim Taymans  <wim@fluendo.com>
10087         * docs/design/part-TODO.txt:
10088         Update TODO.
10090         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10091         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10092         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10093         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10094         (gst_bin_change_state):
10095         * gst/gstelement.h:
10096         Remove element variable, we keep element info in the iterator now.
10098 2005-09-27  Andy Wingo  <wingo@pobox.com>
10100         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10101         values.
10103 2005-09-27  Wim Taymans  <wim@fluendo.com>
10105         * check/gst/gstbin.c: (GST_START_TEST):
10106         Enable check that works now.
10108         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10109         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10110         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10111         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10112         (gst_bin_change_state):
10113         * gst/gstbin.h:
10114         Redid the state change algorithm using a topological sort algo.
10115         Handles all cases correctly.
10116         Exposed iterator for state change order.
10118         * gst/gstelement.h:
10119         Temp storage for state changes. Need to get rid of this soon.
10121 2005-09-27  Wim Taymans  <wim@fluendo.com>
10123         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10124         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10125         (link_fold_func), (gst_pad_proxy_setcaps):
10126         Leak fixes, the fold functions need to unref the passed object and
10127         _get_parent_*() returns ref to parent.
10129 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10131         * check/gst/gstbuffer.c: (test_make_writable):
10132           Plug leak in test case and fix 'make check-valgrind'
10134 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10136         * gst/gstbuffer.c: (gst_subbuffer_init):
10137           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10138           works correctly in all circumstances (we could have just copied
10139           the parent buffer's readonly flag, but conceptually it seems
10140           cleaner to mark all subbuffers as read-only). (based on patch
10141           by Alessandro Decina, #314710).
10142         
10143         * check/gst/gstbuffer.c: (create_read_only_buffer),
10144         (test_make_writable), (test_subbuffer_make_writable),
10145         (gst_test_suite):
10146           Add some tests for gst_buffer_make_writable().
10148 2005-09-27  Wim Taymans  <wim@fluendo.com>
10150         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10151         use gst_object_has_ancestor().
10153         * gst/gstobject.c: (gst_object_has_ancestor):
10154         * gst/gstobject.h:
10155         gst_object_has_ancestor() copied from gstbin.c as it is a
10156         usefull function.
10158         * tests/instantiate/create.c: (create_all_elements):
10159         * tests/lat.c: (handoff_src), (handoff_sink):
10160         * tests/sched/runxml.c: (main):
10161         * tests/seeking/seeking1.c: (main):
10162         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10163         (main):
10164         Fix compilation of some tests.
10166 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10168         * gst/gsterror.h:
10169           Remove comment. GST_TYPE_G_ERROR is here to stay,
10170           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10171           (#316961, #300610).
10173 2005-09-26  Wim Taymans  <wim@fluendo.com>
10175         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10176         Added check that shows error in state change order.
10178 2005-09-26  Wim Taymans  <wim@fluendo.com>
10180         * gst/gstbin.c: (gst_bin_change_state):
10181         Make state change function use 3 queues again, we were
10182         adding elements in the wrong order.
10184         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10185         Some debug info,
10187         * gst/gstpad.c: (gst_pad_dispose):
10188         Added some debug info first.
10190 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10192         * docs/design/draft-push-pull.txt:
10193         * docs/design/part-events.txt:
10194         * docs/design/part-overview.txt:
10195         * docs/design/part-scheduling.txt:
10196           Replace all _pull_region() with _pull_range()
10197           
10198 2005-09-26  Andy Wingo  <wingo@pobox.com>
10200         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10202         * check/gst-libs/controller.c: Update for controller api change.
10204         * configure.ac: 
10205         * tests/Makefile.am:
10206         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10207         over by GLib bug 118439.
10208         
10209         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10210         routines to a function.
10212         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10214         * libs/gst/controller/gsthelper.c:
10215         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10216         (gst_object_sync_values): Renamed from sink_values. Ugh.
10218         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10220         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10221         Renamed from controller_key, as it is exported.
10223         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10225 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10227         * gst/Makefile.am:
10228         * gst/gst.h:
10229         * gst/gstpad.h:
10230         * gst/gstpadtemplate.h:
10231         * gst/gstquery.c:
10232         * gst/gstquery.h:
10233         * gst/gstqueryutils.c:
10234         * gst/gstqueryutils.h:
10235           remove queryutils headers after moving the two used functions
10236           to gstquery.  also fixes build problem for gstsiddec
10238 2005-09-26  Michael Smith <msmith@fluendo.com>
10240         * tools/gst-launch.1.in:
10241         Correct documentation in manpage of debug syntax
10243 2005-09-26  Wim Taymans  <wim@fluendo.com>
10245         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10246         (gst_base_src_is_seekable), (gst_base_src_change_state):
10247         Some more debugging info.
10249 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10251         * docs/gst/gstreamer-sections.txt:
10252         * gst/base/gstbasetransform.h:
10253         * gst/gstindex.h:
10254           added more docs
10256 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10258         * docs/gst/.cvsignore:
10259         * docs/gst/tmpl/.cvsignore:
10260         * docs/gst/tmpl/gstpipeline.sgml:
10261         * docs/gst/tmpl/gstplugin.sgml:
10262         * gst/gstpipeline.c:
10263         * gst/gstplugin.c:
10264         * gst/gstplugin.h:
10265           inlined the last two docs files
10266           removed the tmpl directory from cvs (no more conflicts here!)
10268 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10270         * docs/gst/gstreamer-sections.txt:
10271         * docs/gst/tmpl/.cvsignore:
10272         * docs/gst/tmpl/gstpad.sgml:
10273         * docs/gst/tmpl/gstpadtemplate.sgml:
10274         * gst/Makefile.am:
10275         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10276         (gst_pad_finalize), (gst_pad_set_pad_template):
10277         * gst/gstpad.h:
10278         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10279         (gst_pad_template_class_init), (gst_pad_template_init),
10280         (gst_pad_template_dispose), (name_is_valid),
10281         (gst_static_pad_template_get), (gst_pad_template_new),
10282         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10283         (gst_pad_template_pad_created):
10284         * gst/gstpadtemplate.h:
10285           inlined two more docs
10286           factored gstpadtemplate out of gstpad
10288 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10290         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10291         (test_children_state_change_order_semi_sink):
10292           Fix test case: we can't rely on a fixed state change order when
10293           going from READY => PAUSED because the sink might commit its 
10294           new state first when the first buffer created by the source 
10295           reaches the sink before the source has finished its change state.
10296           (Test case still fails at times, see #316856, comment 5 onwards)
10298 2005-09-24  Wim Taymans  <wim@fluendo.com>
10300         * docs/design/part-events.txt:
10301         * docs/design/part-gstbus.txt:
10302         * docs/design/part-gstpipeline.txt:
10303         * docs/design/part-messages.txt:
10304         * docs/design/part-overview.txt:
10305         * docs/design/part-segments.txt:
10306         * gst/gstbin.c:
10307         * gst/gstbuffer.c:
10308         * gst/gstclock.c:
10309         * gst/gstelement.c:
10310         * gst/gstevent.c:
10311         * gst/gstfilter.c:
10312         * gst/gstiterator.c:
10313         Various documentation updates.
10315 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10317         * gst/gstclock.h:
10318           Well, that's embarassing.  Luckily we weren't using
10319           GST_CLOCK_DIFF anywhere.
10321 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10323         * common/gtk-doc.mak:
10324           don't fail on building XML, FC4 slave shows a bunch of doc
10325           missing bits that I don't get
10326         * gst/gstpad.c:
10327         * gst/gstpipeline.c:
10328         * gst/gststructure.c:
10329           some doc updates
10331 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10333         * docs/design/part-gstbin.txt:
10334         * docs/design/part-gstbus.txt:
10335         * gst/gstbus.c:
10336           Add blurb about how the bus goes into flushing mode and
10337           drops all messages when its bin goes from READY into NULL 
10338           state.
10340 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10342         * docs/gst/gstreamer-sections.txt:
10343         * gst/gststructure.c: (gst_structure_get_clock_time):
10344         * gst/gststructure.h:
10345           add a method to get a GstClockTime out of a structure
10347 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10349         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10350         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10351           Added test to check state change order in bins (can still be made
10352           to fail here under heavy disk load; bails out with 'Push on pad
10353           fakesink:sink0, but it was not activated in push mode').
10355         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10356           Fix state change order when there is only a semi sink (#316856)
10358         * gst/gstbus.c: (gst_bus_class_init):
10359           Use _class_peek_parent(), not _class_ref(); fix docs to say
10360           'default main context' instead of 'mainloop' where that is
10361           what's meant.
10363         * gst/gstelement.c: (gst_element_commit_state),
10364         (gst_element_set_state):
10365           Fix typos in debug messages
10367 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10369         * docs/README:
10370         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10371         * gst/gstpluginfeature.c:
10372         * gst/gstutils.c:
10373           various doc updates
10374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10375           change an assert into an error until it gets fixed properly
10377 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10379         * docs/gst/gstreamer-sections.txt:
10380         * docs/gst/tmpl/.cvsignore:
10381         * docs/gst/tmpl/gstelement.sgml:
10382         * docs/gst/tmpl/gstinfo.sgml:
10383         * docs/gst/tmpl/gstobject.sgml:
10384         * gst/gstelement.c:
10385         * gst/gstelement.h:
10386         * gst/gstinfo.c:
10387         * gst/gstinfo.h:
10388         * gst/gstobject.c: (gst_object_class_init):
10389         * gst/gstobject.h:
10390           inlined 3 more biiiig doc files and added some missing docs on the fly
10392 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10394         * check/gst/.cvsignore:
10395         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10396         * gst/gstregistryxml.c: (load_plugin),
10397         (gst_registry_xml_save_plugin):
10398           put back source in registry.  add checks for find_plugin.
10399         * testsuite/states/bin.c: (assert_state), (empty_bin),
10400         (test_adding_one_element), (main):
10401         * testsuite/states/locked.c: (main):
10402           some compile/run fixes
10404 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10406         * check/gst/gstvalue.c: (GST_START_TEST):
10407           fix leaks in the test itself
10409 2005-09-22  Wim Taymans  <wim@fluendo.com>
10411         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10412         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10413         (gst_base_sink_query):
10414         Prepare for more accurate position reporting and query
10415         handling.
10417         * gst/gstelement.c: (gst_element_send_event),
10418         (gst_element_set_state):
10419         Add some comment.
10421 2005-09-22  Wim Taymans  <wim@fluendo.com>
10423         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10424         (gst_query_parse_segment):
10425         * gst/gstquery.h:
10426         More documentation.
10427         Add segment query for future use.
10429 2005-09-22  Wim Taymans  <wim@fluendo.com>
10431         * gst/gstbin.c: (gst_bin_add_func):
10432         Some more debug info.
10434         * gst/gstelement.c: (gst_element_send_event):
10435         Simplify send_event
10437         * gst/gstelement.h:
10438         Don't know how flags got broken.
10440         * gst/gstquery.h:
10441         Added new query.
10443 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10445         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10446           Add simplistic test suite for GST_TYPE_DATE serialisation and
10447           deserialisation.
10449 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10451         * docs/gst/gstreamer-sections.txt:
10452         * gst/gststructure.c: (gst_structure_set_valist),
10453         (gst_structure_get_date):
10454         * gst/gststructure.h:
10455         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10456         (gst_date_copy), (gst_value_compare_date),
10457         (gst_value_serialize_date), (gst_value_deserialize_date),
10458         (gst_value_transform_date_string),
10459         (gst_value_transform_string_date), (_gst_value_initialize):
10460         * gst/gstvalue.h:
10461           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10462           bunch of utility functions along with a hack that checks that
10463           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10464           is required. Part of the grand scheme in #170777.
10466 2005-09-22  Andy Wingo  <wingo@pobox.com>
10468         * gst/gstconfig.h.in: Psych out gtk-doc.
10470         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10472         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10474         * tools/gst-inspect.c (print_element_list): Plug some
10475         inconsequential leaks.
10477         * gst/gstregistry.c (gst_registry_get_default): Doc.
10479         * check/gst/gstplugin.c: 
10480         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10481         * gst/gstelementfactory.c (gst_element_factory_create): 
10482         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10483         refcount changes.
10485         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10486         (gst_plugin_feature_load): Doc, don't eat refs.
10488         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10489         (gst_plugin_list_free): Doc.
10490         (gst_plugin_load_file): Doc updates.
10492         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10493         accessors returning refcounted objects, return a ref.
10495         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10496         accessor for caps. IDEMPOTENCE. Oh yes.
10498 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10500         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10502         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10503         (_gst_debug_register_funcptr):
10504           Add mutex to serialise access to the hash table with
10505           the function pointer => function name string mapping;
10506           make that hash table static scope (#316809).
10508         * gst/registries/.cvsignore:
10509           Remove left-over file.
10511 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10513         * docs/pwg/appendix-porting.xml:
10514           And something about newsegment events and caps-on-buffers to
10515           the porting guide (feel free to improve).
10517 2005-09-21  Andy Wingo  <wingo@pobox.com>
10519         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10520         data and event probes on the same pad.
10521         (test_buffer_probe_once): Test that removing probes from within
10522         the probe functions works.
10524 2005-09-21  Andy Wingo  <wingo@pobox.com>
10526         * check/gst/gstutils.c: New file.
10527         (test_buffer_probe_n_times): A simple buffer probe test. More to
10528         come, foolios.
10530         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10531         have-data::buffer, not have-data.
10532         (gst_pad_add_event_probe): Likewise for have-data::event.
10533         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10534         peer' isn't quite right yet though.
10535         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10536         (gst_pad_remove_data_probe): Change to take the guint handler_id
10537         as their arg, not the function+data, which is more glib-like.
10539         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10540         the signal emission to indicate if the data is a buffer or an
10541         event.
10542         (gst_pad_get_type): Initialize buffer and event quarks.
10543         (gst_pad_class_init): have-data is now a detailed signal, yes it
10544         is.
10546 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10548         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10549         * gst/gstutils.c: (gst_util_set_value_from_string),
10550         (gst_util_set_object_arg):
10551           Don't put functional code in g_return_if_fail() or
10552           g_return_val_if_fail() statements, otherwise things will 
10553           break when G_DISABLE_CHECKS is defined during compilation.
10555 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10557         * docs/gst/tmpl/.cvsignore:
10558         * docs/gst/tmpl/gstvalue.sgml:
10559         * gst/gstvalue.c:
10560         * gst/gstvalue.h:
10561           inlied another one and added  some obvious docs
10563 2005-09-21  Wim Taymans  <wim@fluendo.com>
10565         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10566         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10567         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10568         (gst_fdsrc_get_property), (gst_fdsrc_create):
10569         * gst/elements/gstfdsrc.h:
10570         Properly implement fdsrc. Removed signal and timeout,
10571         better implemented somewhere else.
10573 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10575         * docs/gst/tmpl/.cvsignore:
10576         * docs/gst/tmpl/gstimplementsinterface.sgml:
10577         * gst/gstinterface.c:
10578           inlined more docs
10580 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10582         * docs/gst/gstreamer-sections.txt:
10583         * docs/gst/tmpl/.cvsignore:
10584         * docs/gst/tmpl/gstenumtypes.sgml:
10585           remove obsolete doc file
10587 2005-09-21  David Schleef  <ds@schleef.org>
10589         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10590         little beer, fix a little leak.
10592 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10594         * docs/gst/gstreamer-docs.sgml:
10595         * docs/gst/gstreamer-sections.txt:
10596         * docs/gst/tmpl/.cvsignore:
10597         * gst/Makefile.am:
10598         * gst/gst.h:
10599         * gst/gstbin.c:
10600         * gst/gstelement.h:
10601         * gst/gstindex.c: (gst_index_class_init):
10602         * gst/gstindex.h:
10603         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10604         (gst_index_factory_class_init), (gst_index_factory_init),
10605         (gst_index_factory_finalize), (gst_index_factory_new),
10606         (gst_index_factory_destroy), (gst_index_factory_find),
10607         (gst_index_factory_create), (gst_index_factory_make):
10608         * gst/gstindexfactory.h:
10609         * gst/gstpluginfeature.c:
10610         * gst/gstpluginfeature.h:
10611         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10612           more docs inlined, splitted gstindex.{c,h}
10614 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10616         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10617           fix a leak
10619 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10621         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10622           Set sync to FALSE by default.
10624 2005-09-20  Wim Taymans  <wim@fluendo.com>
10626         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10627         (gst_base_sink_init):
10628         Make sync property settable from subclass.
10630         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10631         (gst_fake_sink_change_state):
10632         Set sync to FALSE by default.
10634 2005-09-20  Wim Taymans  <wim@fluendo.com>
10636         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10637         * tools/gst-launch.c: (main):
10638         The timeout handler should have lower priority than the source
10639         so we don't timeout before popping a message with 0 timeout.
10640         Dump error messages after failed state change.
10642 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10644         * tools/gst-inspect.c: (print_element_properties_info):
10645           Fix two typos.
10647 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10649         * check/gst/gstevent.c:
10650         * gst/elements/gstfakesink.c:
10651         * gst/elements/gstfakesink.h:
10652           remove the sync property from fakesink.
10653           has the side effect of setting sync TRUE
10654           for fakesink, which is a change.  Anyone who knows how
10655           to fix this nicely in a GObject-y way, feel free.
10657 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10659         * docs/gst/gstreamer-docs.sgml:
10660           remove probe refsection
10662 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10664         * check/Makefile.am:
10665           disable valgrinding the controller test again
10666         * docs/gst/gstreamer-sections.txt:
10667           update for api-changes
10669 2005-09-20  Wim Taymans  <wim@fluendo.com>
10671         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10672         (gst_base_sink_set_property), (gst_base_sink_get_property),
10673         (gst_base_sink_do_sync):
10674         * gst/base/gstbasesink.h:
10675         Added sync property to basesink to disable clock sync.
10677 2005-09-20  Andy Wingo  <wingo@pobox.com>
10679         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10680         eating the caller's refcount.
10682         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10683         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10684         refcount.
10686         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10687         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10688         of GLib 2.8 public, so we can know which refcount to check in
10689         tests.
10691         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10692         (gst_object_init): Only set the gst refcount if we're going ahead
10693         with the refcount hack.
10695 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10697         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10698         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10699           more leaks plumbed, added more debug-logging
10700         * gst/gstmacros.h:
10701           whitespace fix
10703 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10705         * gst/gstmessage.c:
10706           remove include of gstmemchunk.h
10708 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10710         * gst/gstclock.c: (_gst_clock_id_free):
10711           Commit from the Political Party For More Atomic CVS Commits,
10712           so that people don't waste too much of their day fishing
10713           out obvious leaks out of massive commits.
10714           Oh, and fix a pretty damn obvious leak in the memchunk
10715           removal code.
10717 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10719         * check/Makefile.am:
10720         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10721           plug mem-leak, re-add to valgrindable tests
10723 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10725         * gst/gstplugin.h:
10726           unbreak the build for those who have chronic arthritis
10727           and typing "make check" is just too taxing on the hands
10729 2005-09-20  Andy Wingo  <wingo@pobox.com>
10731         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10732         really want it out, you should fix plugins at the same time.
10734 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10736         * configure.ac:
10737         * docs/gst/gstreamer-sections.txt:
10738         * gst/gstobject.c:
10739           added missing symbols to api docs
10740           disable ref-count hack if we have glib >= 2.8
10742 2005-09-19  David Schleef  <ds@schleef.org>
10744         * docs/gst/Makefile.am: Ignore a few more internal headers
10745         * docs/gst/gstreamer-docs.sgml: Remove old sections
10746         * docs/gst/gstreamer-sections.txt: Remove old sections
10747         * docs/gst/tmpl/gstobject.sgml: update
10748         * docs/gst/tmpl/gstplugin.sgml: update
10749         * docs/gst/tmpl/gstpluginfeature.sgml: update
10750         * docs/random/ds/0.9-suggested-changes: update.
10751         * gst/Makefile.am: remove memchunk and trashstack, since they're
10752           not used.
10753         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10754         * gst/gst.h: don't include some headers
10755         * gst/gstchildproxy.c: add gstmarshal.h
10756         * gst/gstclock.c: Don't use memchunks
10757         * gst/gstminiobject.c: Add some docs
10758         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10759         * gst/gstobject.h: same
10760         * gst/gstplugin.c: include gstmacros.h
10761         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10762         * gst/gstquery.c: don't use memchunks
10763         * gst/gstregistry.c: rename gst_registry_deinit()
10764         * gst/gstregistry.h: same
10766 2005-09-19  David Schleef  <ds@schleef.org>
10768         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10769         * docs/libs/gstreamer-libs-sections.txt:
10770         * docs/libs/tmpl/gstgetbits.sgml:
10771         * docs/libs/tmpl/gstputbits.sgml:
10773 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10775         * win32/gstenumtypes.c:
10776         * win32/gstenumtypes.h:
10777           Update.
10779 2005-09-19  Wim Taymans  <wim@fluendo.com>
10781         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10782         Automatically PAUSE and RESUME a pipeline when a flushing seek
10783         is performed.
10785 2005-09-19  Andy Wingo  <wingo@pobox.com>
10787         * gst/gstregistry.h: Spacing fixen.
10789 2005-09-19  Wim Taymans  <wim@fluendo.com>
10791         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10792         Handle state change failure more correctly.
10794 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10796         * check/Makefile.am:
10797         * check/pipelines/cleanup.c: (run_pipeline):
10798         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10799         (GST_START_TEST):
10800           enable cleanup again after fixing the leak
10801         * docs/README:
10802           some more info on docs
10804 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10806         * check/Makefile.am:
10807           re-enable tests now that leaks are plugged
10808         * check/gst/gst.c:
10809         * check/gst/gstbin.c:
10810         * check/gst/gstpipeline.c:
10811           add some more tests while fixing leaks
10812         * common/check.mak:
10813           make sure binaries are uptodate when valgrinding/gdbing
10814         * gst/gst.c:
10815         * gst/gstelementfactory.c:
10816           remove a ref too many, and add a FIXME for when we get
10817           round to disposing of classes
10818         * gst/gstplugin.c:
10819           fix the refcounting when loading a plugin from a file and
10820           the code pretends that the pointer is the same even though
10821           of course it can change
10822         * gst/gstpluginfeature.c:
10823           unref plugins marked cached (a bit confusing as a name)
10824           as the docs state should be done
10825           various doc additions to explain refcounting
10826         * gst/gstregistry.c:
10827         * gst/gstregistryxml.c:
10828           debugging
10830 2005-09-19  Wim Taymans  <wim@fluendo.com>
10832         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10833         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10834         (send_messages), (GST_START_TEST), (gstbus_suite):
10835         * check/gst/gstpipeline.c: (GST_START_TEST):
10836         * check/pipelines/cleanup.c: (run_pipeline):
10837         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10838         (GST_START_TEST):
10839         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10840         (gst_bus_source_check), (gst_bus_source_dispatch),
10841         (gst_bus_create_watch), (gst_bus_add_watch_full),
10842         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10843         * gst/gstbus.h:
10844         * tools/gst-launch.c: (event_loop):
10845         * tools/gst-md5sum.c: (event_loop):
10846         GstBusHandler -> GstBusFunc, return value has the same meaning as
10847         any other GSource (FALSE == remove source).
10848         _add_watch() and _add_watch_full() now take a MessageType mask to
10849         only handle specific types of messages.
10850         _poll() returns the GstMessage instead of the message type to avoid
10851         race conditions.
10852         _have_pending() takes a MessageType mask now too.
10853         Added testsuite for multiple bus watches.
10854         Fix testsuites and applications for new bus API.
10856 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10858         * check/Makefile.am:
10859           mark a bunch of the tests as to fix until we fix them
10861 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10863         * common/check.mak:
10864           use GST_PLUGIN settings for valgrind tests as well, so we're
10865           valgrinding the correct thing
10866         * gst/gst.c: (init_post):
10867           plug another leak
10869 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10871         * gst/gst.c: (init_post), (gst_deinit):
10872         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10873         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10874         * gst/gstindex.c: (gst_index_factory_class_init),
10875         (gst_index_factory_finalize):
10876         * gst/gstobject.c: (gst_object_dispose):
10877         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10878         (gst_plugin_load_file), (gst_plugin_desc_free):
10879         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10880         (gst_plugin_feature_finalize):
10881         * gst/gstregistry.c: (gst_registry_class_init),
10882         (gst_registry_init), (gst_registry_finalize),
10883         (gst_registry_get_default), (gst_registry_deinit):
10884         * gst/gstregistry.h:
10885         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10886           various cleanups and memleak plugging.  make valgrind is happy now.
10888 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10890         * common/check.mak:
10891           add a check-valgrind target
10893 2005-09-18  David Schleef  <ds@schleef.org>
10895         * tools/gst-inspect.c: Revert the GOption code.
10897 2005-09-17  David Schleef  <ds@schleef.org>
10899         * check/Makefile.am: Fix environment variables.
10900         * check/gst/gstplugin.c: Fix for API changes.
10901         * tools/gst-inspect.c: Fix for API changes.
10902         * tools/gst-xmlinspect.c: Fix for API changes.
10903         * gst/gstelementfactory.c:
10904         * gst/gstplugin.c:
10905         * gst/gstplugin.h:
10906         * gst/gstpluginfeature.c:
10907         * gst/gstpluginfeature.h:
10908         * gst/gstregistry.c:
10909         * gst/gstregistry.h:
10910         * gst/gstregistryxml.c:
10911         * gst/gsttypefind.c:
10912         * gst/gsttypefindfactory.c:
10913         * gst/indexers/gstfileindex.c:
10914         * gst/indexers/gstmemindex.c:
10915         * gst/schedulers/Makefile.am:
10916           Change registry to keep track of both plugins and features,
10917           removing the feature tracking from plugins themselves.
10919 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10921         * check/Makefile.am:
10922         * tools/gst-register.1.in:
10923           remove gst-register
10925 2005-09-15  David Schleef  <ds@schleef.org>
10927         * check/gst/gstplugin.c:
10928         * gst/gstelementfactory.c:
10929         * gst/gstplugin.c:
10930         * gst/gstpluginfeature.c:
10931         * gst/gstregistry.c:
10932           Getting tired of debugging.  Disabled all the unreffing of
10933           plugins and features, which fixes the segfaults, but of
10934           course leaks like crazy.  At least playbin works.
10936 2005-09-15  David Schleef  <ds@schleef.org>
10938         * check/gst/gstplugin.c: (register_check_elements),
10939         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10940         More testing
10941         * gst/elements/gsttypefindelement.c: Fix refcounting.
10942         * gst/gsttypefind.c:
10943         * gst/gsttypefindfactory.c:
10944         * gst/gsttypefindfactory.h:
10946 2005-09-15  David Schleef  <ds@schleef.org>
10948         * gst/gstindex.c: get refcounting correct.
10949         * gst/gstregistry.c: Handle the case where a feature/plugin is
10950           not found.
10952 2005-09-15  David Schleef  <ds@schleef.org>
10954         * check/Makefile.am:
10955         * check/gst/gstplugin.c: Add test
10956         * gst/gstplugin.c: Fix problems noticed by testsuite
10957         * gst/gstplugin.h:
10958         * gst/gstregistry.c: 
10959         * gst/gstregistry.h:
10961 2005-09-15  David Schleef  <ds@schleef.org>
10963         * gst/gstplugin.c: Implement semi-decent recounting and locking
10964           in plugins and plugin features.
10965         * gst/gstplugin.h:
10966         * gst/gstpluginfeature.c:
10967         * gst/gstpluginfeature.h:
10968         * gst/gstregistry.c:
10970 2005-09-15  Michael Smith <msmith@fluendo.com>
10972         * gst/gstregistry.c: (gst_registry_get_feature_list):
10973           Implement this. Makes oggdemux work; decodebin still broken.
10975 2005-09-14  David Schleef  <ds@schleef.org>
10977         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10978           #316076)
10979         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10980         * gst/check/Makefile.am:
10981         * libs/gst/controller/Makefile.am:
10982         * libs/gst/dataprotocol/Makefile.am:
10984 2005-09-14  David Schleef  <ds@schleef.org>
10986         * configure.ac: Remove getbits library.  Nothing uses it, and
10987           it should be in something like liboil if someone did want
10988           to use it.
10989         * libs/gst/Makefile.am:
10990         * libs/gst/getbits/Makefile.am:
10991         * libs/gst/getbits/gbtest.c:
10992         * libs/gst/getbits/getbits.c:
10993         * libs/gst/getbits/getbits.h:
10994         * libs/gst/getbits/gstgetbits_generic.c:
10995         * libs/gst/getbits/gstgetbits_i386.s:
10996         * libs/gst/getbits/gstgetbits_inl.h:
10998 2005-09-14  David Schleef  <ds@schleef.org>
11000         * gst/Makefile.am: Dist glib-compat.h
11002 2005-09-14  David Schleef  <ds@schleef.org>
11004         * configure.ac: Remove gst/registries, since it's no longer used.
11005         * gst/registries/Makefile.am:
11006         * gst/registries/gstlibxmlregistry.c:
11007         * gst/registries/gstlibxmlregistry.h:
11008         * gst/registries/gstxmlregistry.c:
11009         * gst/registries/gstxmlregistry.h:
11010         * gst/registries/registrytest.c:
11012 2005-09-14  David Schleef  <ds@schleef.org>
11014         * gst/glib-compat.h:
11015         * gst/gstregistryxml.c:
11016           Convergence is near.  Seriously.
11018 2005-09-14  David Schleef  <ds@schleef.org>
11020         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11021         * gst/glib-compat.h:
11022           Attempt #4 to appease the buildbots.
11024 2005-09-14  David Schleef  <ds@schleef.org>
11026         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11027           Attempt #3.
11029 2005-09-14  David Schleef  <ds@schleef.org>
11031         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11032         Attempt #2.
11034 2005-09-14  David Schleef  <ds@schleef.org>
11036         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11037           the new functions.
11039 2005-09-14  David Schleef  <ds@schleef.org>
11041         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11042         * gst/glib-compat.h: Add some functions that are in newer versions
11043           of glib than we care to require.
11044         * gst/gstregistryxml.c: Use them.
11046 2005-09-14  David Schleef  <ds@schleef.org>
11048         * po/POTFILES.in: remove gst-register.c
11050 2005-09-14  David Schleef  <ds@schleef.org>
11052         * docs/gst/gstreamer-docs.sgml:
11053         * docs/gst/gstreamer-sections.txt:
11054         * docs/gst/gstreamer.types:
11055         * docs/gst/tmpl/gstelement.sgml:
11056         * docs/gst/tmpl/gstplugin.sgml:
11057         * docs/gst/tmpl/gstpluginfeature.sgml:
11058           Documentation updates for registry changes.
11060 2005-09-14  David Schleef  <ds@schleef.org>
11062         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11063           because we don't require glib-2.8.
11065 2005-09-14  David Schleef  <ds@schleef.org>
11067         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11068           registries directory.
11070 2005-09-14  David Schleef  <ds@schleef.org>
11072         * check/Makefile.am:
11073         * check/generic/states.c:
11074         * gst/Makefile.am:
11075         * gst/gst.c:
11076         * gst/gst.h:
11077         * gst/gst_private.h:
11078         * gst/gstelementfactory.c:
11079         * gst/gstindex.c:
11080         * gst/gstinfo.c:
11081         * gst/gstplugin.c:
11082         * gst/gstplugin.h:
11083         * gst/gstpluginfeature.c:
11084         * gst/gstpluginfeature.h:
11085         * gst/gstregistry.c:
11086         * gst/gstregistry.h:
11087         * gst/gstregistrypool.c: remove
11088         * gst/gstregistrypool.h: remove
11089         * gst/gsttypefind.c:
11090         * gst/gsttypefindfactory.c:
11091         * gst/gsturi.c:
11092         * tools/Makefile.am:
11093         * tools/gst-compprep.c:
11094         * tools/gst-inspect.c:
11095         * tools/gst-register.c: remove
11096         * tools/gst-xmlinspect.c:
11097           Registry rewrite.  Changes registry from being a file created
11098           by a tool into a simple cache file created automatically by 
11099           libgstreamer.  Removed gst-register (because it's no longer
11100           needed).  Remove registry pools, because we only have one
11101           registry implementation (XML).  Fix up other subsystems as
11102           necessary.
11104 2005-09-13  Michael Smith <msmith@fluendo.com>
11106         * gst/gstconfig.h.in:
11107           Don't Use windows linking attributes for MinGW. Fixes #316157
11109 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11111         * gst/gstutils.c: (set_state_async_thread_func),
11112         (gst_element_set_state_async):
11113           Apparently people think it's better if this function doesn't
11114           try to set the state to whatever state was asked for on the first
11115           call to this function for any object.  Seriously.
11117 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11119         * check/gst/gstpipeline.c: (GST_START_TEST):
11120         * docs/gst/gstreamer-sections.txt:
11121         * gst/gstutils.c: (set_state_async_thread_func),
11122         (gst_element_set_state_async):
11123         * gst/gstutils.h:
11124           add a "gst_element_set_state_async" method that
11125           sets the state and starts a thread to make sure the state
11126           change completes as best as it can
11128 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11130         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11131           codify design+behaviour in testsuite after discussion
11133 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11135         * docs/gst/tmpl/gstelement.sgml:
11136         * docs/manual/appendix-quotes.xml:
11137           add a quote
11138         * gst/gstelement.c: (gst_element_set_state):
11139           add some debug
11141 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11143         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11144         (gst_base_transform_prepare_output_buf),
11145         (gst_base_transform_handle_buffer):
11146         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11147         (gst_capsfilter_prepare_buf):
11148           Remove the requirement for sub-classes to call the parent
11149           implementation of prepare_output_buffer with a wrapper function.
11150           
11151         * gst/gsttaglist.h:
11152         * gst/gsttagsetter.h:
11153           Fix #define wrapper
11155 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11157         * docs/gst/gstreamer-sections.txt:
11158           more doc cleanups
11160 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11162         * docs/gst/gstreamer-sections.txt:
11163         * docs/gst/tmpl/gstelement.sgml:
11164         * docs/gst/tmpl/gstplugin.sgml:
11165         * gst/gstminiobject.c:
11166         * gst/gstvalue.h:
11167           docs now stop throwing warnings
11169 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11171         * docs/gst/gstreamer-sections.txt:
11172         * docs/gst/gstreamer.types:
11173         * docs/gst/tmpl/gstpad.sgml:
11174         * docs/gst/tmpl/gsttypes.sgml:
11175         * gst/base/gstadapter.h:
11176         * gst/base/gstbasesink.h:
11177         * gst/base/gstbasesrc.h:
11178         * gst/gstbin.h:
11179         * gst/gstbuffer.h:
11180         * gst/gstbus.h:
11181         * gst/gstcaps.h:
11182         * gst/gstclock.h:
11183         * gst/gstelement.h:
11184         * gst/gstevent.h:
11185         * gst/gstmessage.h:
11186         * gst/gstpad.h:
11187         * gst/gststructure.c:
11188         * gst/registries/gstlibxmlregistry.h:
11189           various documentation fixes
11191 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11193         * docs/gst/gstreamer-sections.txt:
11194         * docs/gst/tmpl/gstvalue.sgml:
11195           rearrange gstvalue section
11196         * gst/gstutils.c: (gst_element_state_get_name):
11197           NONE -> VOID
11198         * gst/gstvalue.c: (_gst_value_initialize):
11199         * gst/gstvalue.h:
11200           doc updates
11202 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11204         * check/gst-libs/controller.c:
11205           Header include fix.
11206         * gst/base/gstbasetransform.c:
11207         (gst_base_transform_default_prepare_buf),
11208         (gst_base_transform_handle_buffer):
11209         * gst/base/gstbasetransform.h:
11210           Some more basetransform changes and fixes to enable sub-classes
11211           that modify buffer metadata only.
11212         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11213         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11214         (gst_capsfilter_prepare_buf):
11215           If the output pad has fixed allowed caps and input buffers 
11216           don't have any, set the fixed caps on outgoing buffers.
11218 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11219         * check/elements/identity.c: (GST_START_TEST):
11220           Make the error a little clearer when the test fails because
11221           identity made a copy of the buffer.
11222         * docs/gst/gstreamer-sections.txt:
11223           New symbols in gstbasetransform.h
11224         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11225         (gst_base_transform_init), (gst_base_transform_transform_size),
11226         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11227         (gst_base_transform_default_prepare_buf),
11228         (gst_base_transform_get_unit_size),
11229         (gst_base_transform_buffer_alloc),
11230         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11231         (gst_base_transform_change_state),
11232         (gst_base_transform_set_passthrough),
11233         (gst_base_transform_set_in_place),
11234         (gst_base_transform_is_in_place):
11235         * gst/base/gstbasetransform.h:
11236           Change BaseTransform to separate in_place operate from same_caps
11237           output. in_place implies that the element can perform the transform
11238           on incoming buffers in-place, even if the caps on the output are
11239           different.
11240           Sub-class elements can now implement special buffer allocation
11241           methods for outgoing buffers if they wish to.
11242           Big documentation addition.
11243         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11244         * gst/elements/gstelements.c:
11245           Changes for basetransform modifications.
11246         * gst/elements/Makefile.am:
11247         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11248           Compile fix. Extra debug output.
11250 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11252         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11253         (gst_pad_suite):
11254           add tests for valid pad naming
11255         * gst/check/gstcheck.c: (gst_check_log_message_func),
11256         (gst_check_log_critical_func):
11257           add ASSERT_WARNING
11258           remove printing of code, it is fragile when the code contains
11259           % and the line number is enough info
11260         * gst/check/gstcheck.h:
11261         * gst/gstpad.c: (gst_pad_template_new):
11262           fix memleaks
11264 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11266         * configure.ac:
11267           say what CHECK flags we use
11268         * docs/libs/gstreamer-libs.types:
11269         * libs/gst/controller/Makefile.am:
11270         * libs/gst/controller/gst-controller.c:
11271         * libs/gst/controller/gst-controller.h:
11272         * libs/gst/controller/gst-helper.c:
11273         * libs/gst/controller/gst-interpolation.c:
11274         * libs/gst/controller/gstcontroller.c:
11275         * libs/gst/controller/gsthelper.c:
11276         * libs/gst/controller/gstinterpolation.c:
11277         * tools/gst-inspect.c: (print_plugin_info):
11278           we don't use dashes in header names
11280 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11282         * check/Makefile.am:
11283         * check/gst/.cvsignore:
11284         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11285         (gst_pipeline_suite), (main):
11286           adding a test for pipelines and state changes
11287         * gst/gstutils.c: (get_state_func):
11288           add some debugging
11289         * gstreamer.spec.in:
11290           fix up spec file
11292 2005-09-08  Michael Smith <msmith@fluendo.com>
11294         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11295         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11296         (gst_file_src_is_seekable), (gst_file_src_get_size),
11297         (gst_file_src_start):
11298         * gst/elements/gstfilesrc.h:
11299           Various fixes for unseekable, unmmapable, and non-normal files, so
11300           that fallback to read() rather than mmap() works.
11301         * gst/gstevent.c: (gst_event_new_newsegment):
11302           Allow newsegment events with segment_start == segment_end, as will
11303           correctly happen if you use filesrc on a zero-size file, for
11304           example.
11306 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11308         * gst/gstplugin.c: (gst_plugin_load_file):
11309           Call g_module_close when we don't load the module
11311         * gst/registries/gstlibxmlregistry.c:
11312         (gst_xml_registry_get_property):
11313           Port leak fix from 0.8
11315 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11317         * docs/gst/gstreamer-docs.sgml:
11318         * docs/gst/tmpl/.cvsignore:
11319         * docs/gst/tmpl/gsttrace.sgml:
11320         * docs/gst/tmpl/gsttrashstack.sgml:
11321         * gst/Makefile.am:
11322         * gst/gst.h:
11323         * gst/gstelement.h:
11324         * gst/gstevent.h:
11325         * gst/gstmessage.c:
11326         * gst/gstmessage.h:
11327         * gst/gsttag.c:
11328         * gst/gsttag.h:
11329         * gst/gsttaginterface.c:
11330         * gst/gsttaginterface.h:
11331         * gst/gsttaglist.c:
11332         * gst/gsttaglist.h:
11333         * gst/gsttagsetter.c:
11334         * gst/gsttagsetter.h:
11335         * gst/gsttrace.c:
11336         * gst/gsttrace.h:
11337         * gst/gsttrashstack.c:
11338           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11339           inlined docs for gsttrace, gsttrashstack
11341 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11343         * gst/Makefile.am:
11344         * gst/elements/gstbufferstore.h:
11345         * gst/elements/gsttypefindelement.c:
11346         * gst/elements/gsttypefindelement.h:
11347         * gst/gst.h:
11348         * gst/gsttypefind.c:
11349         * gst/gsttypefind.h:
11350         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11351         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11352         (gst_type_find_factory_dispose),
11353         (gst_type_find_factory_unload_thyself),
11354         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11355         (gst_type_find_factory_get_caps),
11356         (gst_type_find_factory_get_extensions),
11357         (gst_type_find_factory_call_function):
11358         * gst/gsttypefindfactory.h:
11359         * gst/registries/gstlibxmlregistry.c:
11360         * gst/registries/gstxmlregistry.c:
11361           splitted gsttypefind into gsttypefind, gsttypefindfactory
11363 2005-09-07  Andy Wingo  <wingo@pobox.com>
11365         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11366         condition whereby the pad's task function is entered before the
11367         pad_mode variable was set.
11369 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11371         * gst/gstpad.c: (gst_pad_alloc_buffer):
11372           Catch misbehaving pad_alloc functions that don't
11373           set up caps and do it for them.
11375 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11377         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11378           test for pipe!=NULL
11379         * docs/gst/tmpl/.cvsignore:
11380         * docs/gst/tmpl/gstmemchunk.sgml:
11381         * docs/gst/tmpl/gstparse.sgml:
11382         * docs/gst/tmpl/gsttaglist.sgml:
11383         * docs/gst/tmpl/gsttagsetter.sgml:
11384         * docs/gst/tmpl/gsttypefind.sgml:
11385         * docs/gst/tmpl/gsttypefindfactory.sgml:
11386         * gst/gstmemchunk.c:
11387         * gst/gstparse.c:
11388         * gst/gsttag.c:
11389         * gst/gsttaginterface.c:
11390         * gst/gsttypefind.c:
11391         * gst/gsttypefind.h:
11392           inlined more docs
11394 === release 0.9.2 ===
11396 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11398         * NEWS:
11399         * RELEASE:
11400         * configure.ac:
11401           releasing 0.9.2, "South"
11403 2005-09-05  Andy Wingo  <wingo@pobox.com>
11405         * gst/registries/gstxmlregistry.h:
11406         * gst/registries/gstxmlregistry.c: Um... resurrect...
11407         
11408         * gst/registries/gstxmlregistry.h:
11409         * gst/registries/gstxmlregistry.c: and update to newer API.
11410         Incidentally they should be a bit faster now that they don't have
11411         to parse the caps.
11412         
11413 2005-09-05  Andy Wingo  <wingo@pobox.com>
11415         * gst/registries/gstxmlregistry.h:
11416         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11417         replaced by the libxml registry a while back
11419 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11421         * docs/gst/tmpl/gstplugin.sgml:
11422         * gst/elements/gstelements.c:
11423         * gst/gst.c:
11424         * gst/gstplugin.c: (gst_plugin_register_func),
11425         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11426         (gst_plugin_get_source):
11427         * gst/gstplugin.h:
11428         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11429         (gst_xml_registry_save_plugin):
11430         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11431         (gst_xml_registry_save_plugin):
11432         * tools/gst-inspect.c: (print_plugin_info):
11433           add a "source" plugin description field, to represent the source
11434           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11435           will set it to PACKAGE, which is automake's idea of the name of
11436           the source project.
11438 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11440         * Makefile.am:
11441         * autogen.sh:
11442         * configure.ac:
11443         * docs/Makefile.am:
11444         * docs/faq/Makefile.am:
11445         * docs/gst/tmpl/gstelement.sgml:
11446         * docs/gst/tmpl/gsttypes.sgml:
11447         * docs/htmlinstall.mak:
11448         * docs/manual/Makefile.am:
11449         * docs/pwg/Makefile.am:
11450           reorganize doc build a little
11451           split out docbook and gtk-doc stuff
11452           have two separate --enable's and enable them through autogen
11453           but disable by default in configure (to be similar to other
11454           projects)
11455         * gstreamer.spec.in:
11456           clean up docs install
11457         * po/af.po:
11458         * po/az.po:
11459         * po/ca.po:
11460         * po/cs.po:
11461         * po/de.po:
11462         * po/en_GB.po:
11463         * po/fr.po:
11464         * po/it.po:
11465         * po/nb.po:
11466         * po/nl.po:
11467         * po/ru.po:
11468         * po/sq.po:
11469         * po/sr.po:
11470         * po/sv.po:
11471         * po/tr.po:
11472         * po/uk.po:
11473         * po/vi.po:
11474           translation updates
11476 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11478         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11479           Add comment.
11480           
11481         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11482         (gst_fake_sink_change_state):
11483           Make state change function thread-safe.
11484           
11485         * gst/gstpad.c: (gst_pad_alloc_buffer):
11486           Set offset on generic buffer allocated by fallback.
11488 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11490         * docs/gst/gstreamer-sections.txt:
11491         * docs/gst/tmpl/gstelement.sgml:
11492         * gst/gstpad.c:
11493         * libs/gst/controller/gst-controller.c:
11494         (gst_controlled_property_set_interpolation_mode),
11495         (gst_controlled_property_new),
11496         (gst_controller_find_controlled_property):
11497          run the wingo-magic script against the docs
11499 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11501         * docs/gst/gstreamer-docs.sgml:
11502         * docs/gst/gstreamer-sections.txt:
11503         * docs/gst/tmpl/.cvsignore:
11504         * docs/gst/tmpl/gstelementdetails.sgml:
11505         * docs/gst/tmpl/gstelementfactory.sgml:
11506         * gst/gst.c:
11507         * gst/gstbus.c:
11508         * gst/gstelementfactory.c:
11509         * gst/gstelementfactory.h:
11510           merged elementdetails docs into elementfactory docs
11511           inlined both
11513 2005-09-02  Andy Wingo  <wingo@pobox.com>
11515         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11516         consider this enum an enum and not a flags.
11518 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11520         * docs/gst/gstreamer-docs.sgml:
11521         * docs/gst/tmpl/.cvsignore:
11522         * docs/gst/tmpl/gstghostpad.sgml:
11523         * docs/gst/tmpl/gstiterator.sgml:
11524         * docs/gst/tmpl/gstmacros.sgml:
11525         * docs/gst/tmpl/gstrealpad.sgml:
11526         * docs/gst/tmpl/gstregistry.sgml:
11527         * docs/gst/tmpl/gstregistrypool.sgml:
11528         * docs/gst/tmpl/gststructure.sgml:
11529         * docs/gst/tmpl/gstsystemclock.sgml:
11530         * docs/gst/tmpl/gsttrace.sgml:
11531         * gst/gstghostpad.c:
11532         * gst/gstmacros.h:
11533         * gst/gstmemchunk.c:
11534         * gst/gstmemchunk.h:
11535         * gst/gstqueue.c:
11536         * gst/gstregistry.c:
11537         * gst/gstregistrypool.c:
11538         * gst/gststructure.c:
11539         * gst/gstsystemclock.c:
11540           more docs inlined
11542 2005-09-02  Andy Wingo  <wingo@pobox.com>
11544         * gst/gstelement.h (GstState): Renamed from GstElementState,
11545         changed to be a normal enum instead of flags.
11546         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11547         munged to be GST_STATE_CHANGE_*.
11548         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11549         work with the new state representation.
11550         (GstStateChange): New enumeration of possible state transitions.
11551         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11552         (GstElementClass::change_state): Pass the GstStateChange along as
11553         an argument. Helps language bindings, so they don't have to use
11554         tricky lock-needing macros like GST_STATE_CHANGE ().
11556         * scripts/update-states (file): New script. Run it on a file to
11557         update it for state naming and API changes. Updates files in
11558         place.
11560         * All files updated for the new API.
11562 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11564         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11565         * gst/gstutils.c: (gst_util_set_value_from_string),
11566         (gst_util_set_object_arg):
11567           fix a bunch of unchecked return values
11568         * tools/gst-complete.c: (main):
11569         * gstreamer.spec.in:
11570           clean up a little
11572 2005-09-01  Wim Taymans  <wim@fluendo.com>
11574         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11575         (gst_base_sink_event), (gst_base_sink_do_sync),
11576         (gst_base_sink_handle_event):
11577         * gst/base/gstbasesink.h:
11578         Handle newsegments more correctly.
11580         * gst/gstbus.c:
11581         Fix docs.
11583         * gst/gstevent.c: (gst_event_new_newsegment):
11584         A newsegment cannot have a start_time of -1
11586 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11588         * win32/gstenumtypes.c:
11589         * win32/gstenumtypes.h:
11590           Update
11592 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11594         * libs/gst/controller/gst-controller.c:
11595         (gst_controlled_property_set_interpolation_mode),
11596         (gst_controlled_property_new):
11597          fixed boolean again
11599 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11601         * docs/faq/gst-uninstalled:
11602           add -good
11603         * gst/gstevent.c:
11604         * gst/gstevent.h:
11605           remove wrong docs
11606         * gst/gstutils.c: (gst_element_link_filtered):
11607         * gst/gstutils.h:
11608           add gst_element_link_filtered
11610 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11612         * docs/gst/gstreamer-docs.sgml:
11613         * docs/gst/gstreamer-sections.txt:
11614         * docs/gst/tmpl/.cvsignore:
11615         * docs/gst/tmpl/gsterror.sgml:
11616         * docs/gst/tmpl/gstfilter.sgml:
11617         * docs/gst/tmpl/gsturihandler.sgml:
11618         * docs/gst/tmpl/gsturitype.sgml:
11619         * docs/gst/tmpl/gstutils.sgml:
11620         * docs/gst/tmpl/gstxml.sgml:
11621         * gst/gsterror.c:
11622         * gst/gsterror.h:
11623         * gst/gstfilter.c:
11624         * gst/gsturi.c:
11625         * gst/gsturitype.c:
11626         * gst/gstutils.c:
11627         * gst/gstxml.c:
11628           inlined more docs, fixed double id-ref
11630 2005-08-31  Wim Taymans  <wim@fluendo.com>
11632         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11633         (gst_base_transform_handle_buffer):
11634         Passthrough elements don't need the caps as they don't care.
11636 2005-08-31  Wim Taymans  <wim@fluendo.com>
11638         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11639         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11640         Don't leak refcounts on buffers.
11642 2005-08-31  Wim Taymans  <wim@fluendo.com>
11644         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11645         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11646         (gst_base_transform_chain), (gst_base_transform_change_state):
11647         * gst/base/gstbasetransform.h:
11648         Handle the case where we are not negotiated more gracefully.
11650 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11652         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11653         (gst_file_src_map_region):
11654           Set READONLY flag on mmap'ed buffers, otherwise
11655           gst_buffer_make_writable() won't work properly (#314708).
11657 2005-08-31  Wim Taymans  <wim@fluendo.com>
11659         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11660         passthrough elements can even do inplace on non writable
11661         buffers (as they don't touch them).
11663 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11665         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11666         (gst_test_mono_source_set_property),
11667         (gst_test_mono_source_class_init), (GST_START_TEST),
11668         (gst_controller_suite):
11669           more tests (hehe I have the most)
11670         * gst/gstbus.c:
11671           describe popping messages whenusing mulltiple sources
11672         * libs/gst/controller/gst-controller.c:
11673         (gst_controlled_property_set_interpolation_mode),
11674         (gst_controlled_property_new):
11675         * libs/gst/controller/gst-controller.h:
11676         * libs/gst/controller/gst-interpolation.c:
11677           implement boolean properties
11679 2005-08-31  Wim Taymans  <wim@fluendo.com>
11681         * gst/gstminiobject.c: (gst_mini_object_ref):
11682         Cannot assert that the refcount has to be positive
11683         since a disposed object can be resurrected.
11685 2005-08-31  Wim Taymans  <wim@fluendo.com>
11687         * gst/gstpad.c: (gst_pad_init):
11688         Revert change, need to first fix badly behaving 
11689         apps.
11691 2005-08-30  Wim Taymans  <wim@fluendo.com>
11693         * check/elements/fakesrc.c: (setup_fakesrc):
11694         * check/elements/identity.c: (setup_identity):
11695         Activate pads before using them.
11697 2005-08-30  Wim Taymans  <wim@fluendo.com>
11699         * gst/base/gstadapter.c: (gst_adapter_flush):
11700         Flushing out 0 bytes is ok for this function.
11702         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11703         no newsegment gives a warning and sets the start/stop to 
11704         invalid.
11706         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11707         (gst_base_transform_set_passthrough):
11708         Some debug info.
11710         * gst/gstminiobject.c: (gst_mini_object_ref):
11711         Check refcount here too.
11713         * gst/gstpad.c: (gst_pad_init):
11714         Pads are initially flushing and refusing data.
11716         * gst/gstutils.c: (gst_element_link_pads_filtered):
11717         When adding a capsfilter element make sure it has the
11718         same state as the parent bin.
11720 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11722         * docs/gst/tmpl/.cvsignore:
11723         * docs/gst/tmpl/gstformat.sgml:
11724         * docs/gst/tmpl/gstversion.sgml:
11725         * gst/gstbus.h:
11726         * gst/gstformat.c:
11727         * gst/gstformat.h:
11728         * gst/gstversion.h.in:
11729           more docs and two more inlined
11731 2005-08-30  Wim Taymans  <wim@fluendo.com>
11733         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11734         Don't sync to clock.
11736 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11738         * docs/gst/gstreamer-sections.txt:
11739           ultral33t func10ns deserve to appear in the docs actually
11740         * docs/gst/tmpl/.cvsignore:
11741         * docs/gst/tmpl/gstcompat.sgml:
11742         * docs/gst/tmpl/gstconfig.sgml:
11743         * gst/check/gstcheck.c:
11744         * gst/gstcompat.h:
11745         * gst/gstconfig.h.in:
11746           inlined more docs
11748 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11750         * docs/gst/tmpl/.cvsignore:
11751         * docs/gst/tmpl/gstquery.sgml:
11752         * docs/gst/tmpl/gstutils.sgml:
11753         * gst/gstquery.c:
11754         * gst/gstquery.h:
11755           inlined and extended docs
11757 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11759         * check/gst-libs/controller.c: (GST_START_TEST),
11760         (gst_controller_suite):
11761           more tests
11762         * docs/gst/tmpl/gstutils.sgml:
11763         * docs/libs/gstreamer-libs-sections.txt:
11764         * docs/libs/tmpl/gstdataprotocol.sgml:
11765           include path fixes
11766         * examples/controller/audio-example.c: (main):
11767           controller example works now
11768         * gst/gstclock.h:
11769           doc fixes
11770         * tools/gst-inspect.c: (print_element_properties_info):
11771           show param spec flags
11773 2005-08-29  Andy Wingo  <wingo@pobox.com>
11775         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11777 2005-08-28  Andy Wingo  <wingo@pobox.com>
11779         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11780         as having two arguments instead of just one. Allows superclasses
11781         to access information on subclasses -- see the terrible for() loop
11782         in gtype.c:g_type_create_instance for the reason why. All callers
11783         changed.
11785 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11787         * docs/design/part-messages.txt:
11788           update info
11789         * docs/gst/tmpl/.cvsignore:
11790         * docs/gst/tmpl/gstcaps.sgml:
11791         * docs/gst/tmpl/gstclock.sgml:
11792         * gst/gstbus.c:
11793         * gst/gstcaps.c:
11794         * gst/gstcaps.h:
11795         * gst/gstclock.c:
11796         * gst/gstclock.h:
11797         * gst/gstmessage.c:
11798           added descriptions for bus and message
11799           inline caps and clock docs
11801 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11803         * gst/gstmessage.c:
11804         * gst/gstmessage.h:
11805           doc fixes
11807 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11809         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11810           fix div-by-zero
11812 2005-08-26  Andy Wingo  <wingo@pobox.com>
11814         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11815         element_set_state's return val.
11816         (test_2_elements): Add test that's been disabled for months.
11818         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11819         can-activate-pull properties.
11821         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11822         can-activate-pull properties. Implement is_seekable so fakesrc can
11823         operate in pull mode.
11825         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11826         properties.
11827         (gst_base_sink_activate, gst_base_sink_activate_pull)
11828         (gst_base_sink_activate_push): Make activation mode choosing work.
11829         Cleanups.
11830         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11831         is right. Make pull mode work. Post an eos before pausing in pull
11832         mode.
11833         (gst_base_sink_change_state): Pay attention to the core's
11834         change_state() return val.
11835         
11836         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11837         has-getrange properties. Cleanups.
11838         
11839         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11840         has_getrange and replace with can_activate_pull and
11841         can_activate_push.
11843         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11844         locking comments. Remove has_loop, has_chain and replace with
11845         can_activate_pull and can_activate_push.
11847 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11849         * configure.ac:
11850         * examples/Makefile.am:
11851         * examples/metadata/Makefile.am:
11852         * examples/metadata/read-metadata.c: (message_loop),
11853         (have_pad_handler), (make_pipeline), (print_tag), (main):
11854           Add metadata reading example that loops over a list of filenames,
11855           dumping any tags found.
11857         * gst/gstbus.c: (gst_bus_dispose):
11858         * gst/gstelement.c: (gst_element_dispose):
11859           Release a few potentially-held references in dispose.
11861 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11863         * docs/gst/tmpl/gstminiobject.sgml:
11864           do *not* add tmpl/*.sgml files to CVS!
11866 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11868         * libs/gst/bytestream/.cvsignore:
11869         * libs/gst/bytestream/Makefile.am:
11870         * libs/gst/bytestream/adapter.c:
11871         * libs/gst/bytestream/adapter.h:
11872         * libs/gst/bytestream/bytestream.c:
11873         * libs/gst/bytestream/bytestream.h:
11874         * libs/gst/bytestream/filepad.c:
11875         * libs/gst/bytestream/filepad.h:
11876           removing obsolete files
11878 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11880         * docs/gst/gstreamer-docs.sgml:
11881         * docs/libs/gstreamer-libs-docs.sgml:
11882           disabed additional index entries again, as this makes docs-gen just
11883           slow and they aren't useful yet
11884         * docs/libs/gstreamer-libs-sections.txt:
11885           little -section.txt cleanup for libs
11887 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11889         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11890         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11891           fix up some debugging
11892         (gst_base_transform_get_unit_size),
11893         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11894         (gst_base_transform_handle_buffer):
11895         * gst/base/gstbasetransform.h:
11896           handle and store timed NEWSEGMENT events so that subclasses that
11897           calculate time by counting samples have a segment_start time they
11898           need to add to their timestamps - see audioresample
11900 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11902         * gst/gstbin.h:
11903           removed ';' from the end of macro defs
11904         * docs/gst/gstreamer-docs.sgml:
11905         * docs/gst/gstreamer-sections.txt:
11906         * docs/gst/tmpl/.cvsignore:
11907         * gst/gstbus.h:
11908         * gst/gstelement.c: (gst_element_class_init),
11909         (gst_element_set_state), (activate_pads),
11910         (gst_element_save_thyself):
11911         * gst/gstevent.c: (gst_event_new_newsegment):
11912         * gst/gstevent.h:
11913         * gst/gstiterator.c:
11914         * gst/gstiterator.h:
11915         * gst/gstpad.c:
11916         * gst/gstprobe.h:
11917         * gst/gstutils.c: (gst_pad_query_convert):
11918         * gst/gstutils.h:
11919           fixed parameter name mismatches between source, header and docs
11920           added some more docs, resolved the last batch of unused elements in
11921           docs (now someone needs to doc them)
11923 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11925         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11926         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11927           don't walk through the plugins backwards.  Where is all this
11928           reversed logic coming from ?
11930 2005-08-25  Wim Taymans  <wim@fluendo.com>
11932         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11933         (gst_base_transform_transform_size),
11934         (gst_base_transform_configure_caps),
11935         (gst_base_transform_get_unit_size),
11936         (gst_base_transform_buffer_alloc),
11937         (gst_base_transform_change_state):
11938         * gst/base/gstbasetransform.h:
11939         Cache caps unit_size.
11940         Make sure we cannot negotiate up and downstream at the
11941         same time.
11943 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11945         * gst/gst.c: (init_pre), (init_post):
11946           register the installed plugin path after the env var
11947         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11948         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11949           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11950           directories, so the tests can prefer uninstalled over installed
11952 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11954         * gst/base/gstbasetransform.h:
11955           comment
11956         * gst/gstpad.c:
11957           add to docs
11959 2005-08-25  Wim Taymans  <wim@fluendo.com>
11961         * gst/gstbin.c: (bin_bus_handler):
11962         Be a bit more conservative about the posted message.
11963         
11964         * gst/gstbus.c: (gst_bus_post):
11965         Some cleanups, warn wrong return values.
11967 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11969         * check/gst/gstbin.c: (GST_START_TEST):
11970         * gst/gstbin.c: (bin_bus_handler):
11971         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11972         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11973         (gst_message_new_warning), (gst_message_new_tag),
11974         (gst_message_new_state_changed), (gst_message_new_segment_start),
11975         (gst_message_new_segment_done), (gst_message_new_custom):
11976         * gst/gstmessage.h:
11977         * tools/gst-launch.c: (event_loop):
11978         * tools/gst-md5sum.c: (event_loop):
11979           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11981 2005-08-25  Wim Taymans  <wim@fluendo.com>
11983         * check/generic/states.c: (GST_START_TEST):
11984         Cleanup can be done at the end.
11986         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11987         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11988         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11989         Oh boy.. Thanks for finding this, Thomas. 
11991 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11993         * docs/gst/gstreamer.types:
11994           added missing types
11996 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11998         * docs/gst/gstreamer-docs.sgml:
11999         * docs/gst/gstreamer-sections.txt:
12000         * docs/gst/tmpl/.cvsignore:
12001         * gst/gstbin.c:
12002         * gst/gstiterator.c:
12003         * gst/gstutils.c:
12004         * gst/registries/gstxmlregistry.h:
12005           added missing classes and symbols (123 more to go)
12006           removed removed symbols from section file
12007           fixed many doc-comments
12009 2005-08-24  Wim Taymans  <wim@fluendo.com>
12011         * check/generic/states.c: (GST_START_TEST):
12012         Make sure all tasks are stopped.
12014         * check/gst/gstbin.c: (GST_START_TEST):
12015         Unref after usage for proper valgrinding.
12017         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12018         Really wait for the task to stop before destroying the
12019         mutex.
12021         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12022         (gst_queue_src_activate_push):
12023         Small cleanups. Don't stop the task when we did not start
12024         it.
12026         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12027         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12028         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12029         (gst_task_join):
12030         * gst/gsttask.h:
12031         Protect the stream lock with the object lock.
12032         Disallow setting the stream lock when running.
12033         Add cleanup_all to wait for the threadpool to finish.
12034         Remove code to autoallocate a mutex if none was provided.
12035         Add _join() to wait for a task to stop.
12036         Protect the thread pool with a global lock.
12038 2005-08-24  Wim Taymans  <wim@fluendo.com>
12040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12041         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12042         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12043         * gst/base/gstbasesink.h:
12044         Handle newsegment events correctly.
12045         Drop buffers out of the segment range.
12047 2005-08-22  Andy Wingo  <wingo@pobox.com>
12049         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12050         macro, implements an interface and gstimplementsinterface for a
12051         new type.
12053 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12055         * check/Makefile.am:
12056         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12057           add a test that does a bunch of state changes on elements
12058           needs some fixing for valgrind
12059         * check/states/sinks.c: (gst_object_suite):
12060           whitespace
12061         * gst/gstcaps.h:
12062           add prototype for gst_caps_is_equal_fixed
12063         * gst/gstplugin.c:
12064         * gst/gstregistrypool.c:
12065           doc fixes
12067 2005-08-24  Andy Wingo  <wingo@pobox.com>
12069         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12070         convert a negative value. Doesn't make much sense. Mostly this is
12071         here to force callers to ensure -1 maps to -1.
12073 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12075         * docs/pwg/advanced-types.xml:
12076           Well done to Michael for catching my deliberate introduction
12077           of this spelling mistake. 
12078         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12079         * gst/gstelement.h:
12080           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12081           unlink pads before removing the element from the bin.
12083 2005-08-24  Andy Wingo  <wingo@pobox.com>
12085         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12086         the same thing as GST_DEBUG=*:4.
12087         (parse_debug_level, parse_debug_category): New helper parsers.
12089 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12091         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12092         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12093         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12094         (gst_base_transform_buffer_alloc),
12095         (gst_base_transform_handle_buffer):
12096           use gboolean return values and pointers to size so we can use the
12097           full GST_BUFFER_SIZE range (guint) for buffer sizes
12098           use GstPadDirection for transform_caps
12099         * gst/base/gstbasetransform.h:
12100           rename get_size to get_unit_size since that's what it is
12101         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12102           use GstPadDirection for transform_caps
12103         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12104         * gst/gstutils.h:
12105           cleanup and debugging
12107 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12109         * gst/gstelement.c: (gst_element_class_init),
12110         (gst_element_set_state), (activate_pads),
12111         (gst_element_save_thyself):
12112         * tools/gst-compprep.c: (main):
12113         * tools/gst-inspect.c: (print_element_properties_info):
12114         * tools/gst-xmlinspect.c: (print_element_properties):
12115           Fixed long standing mem-leak
12117 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12119         * check/gst/gstbin.c: (GST_START_TEST):
12120         * gst/gstbin.c: (bin_bus_handler):
12121         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12122         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12123         (gst_message_new_warning), (gst_message_new_tag),
12124         (gst_message_new_state_changed), (gst_message_new_segment_start),
12125         (gst_message_new_segment_done), (gst_message_new_custom):
12126         * gst/gstmessage.h:
12127         * tools/gst-launch.c: (event_loop):
12128         * tools/gst-md5sum.c: (event_loop):
12129           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12130           that applications can sensibly post custom messages with references
12131           to their own objects.
12133 2005-08-24  Andy Wingo  <wingo@pobox.com>
12135         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12136         already.
12138 2005-08-24  Wim Taymans  <wim@fluendo.com>
12140         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12141         (gst_base_transform_transform_caps),
12142         (gst_base_transform_transform_size),
12143         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12144         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12145         (gst_base_transform_handle_buffer):
12146         * gst/base/gstbasetransform.h:
12147         Many fixes and new features added by Thomas. Can now also do
12148         transforms with variable sizes and a custom fixate_caps function.
12150 2005-08-24  Wim Taymans  <wim@fluendo.com>
12152         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12153         Some debugging.
12155         * gst/gstclock.h:
12156         Cast to ClockTime before formatting to time.
12158         * gst/gstutils.h:
12159         Cleanups.
12161 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12163         * check/gst-libs/controller.c: (GST_START_TEST),
12164         (gst_controller_suite):
12165         * docs/gst/tmpl/gstcaps.sgml:
12166         * docs/gst/tmpl/gstghostpad.sgml:
12167         * docs/gst/tmpl/gstquery.sgml:
12168         * docs/gst/tmpl/gstutils.sgml:
12169         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12170         (gst_object_sink_values), (gst_object_get_value_arrays),
12171         (gst_object_get_value_array):
12172           gracefully handle helper method calls to objects that are not beeing
12173           controlled, added test case for that          
12175 2005-08-23  Wim Taymans  <wim@fluendo.com>
12177         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12178         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12179         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12180         (gst_event_parse_qos), (gst_event_new_seek),
12181         (gst_event_parse_seek):
12182         * gst/gstevent.h:
12183         Some more debugging output and doc cleanups.
12185         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12186         Fix possible deadlock.
12188 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12190         * docs/gst/gstreamer-docs.sgml:
12191         * docs/gst/gstreamer-sections.txt:
12192         * docs/gst/gstreamer.types:
12193         * docs/gst/tmpl/.cvsignore:
12194         * gst/gstbin.h:
12195         * gst/gstbus.c:
12196         * gst/gstelement.c:
12197         * gst/gstevent.h:
12198           added 100 symbols from gstreamer-unused.txt to the right sections
12199           fixed more broken comments
12200           added GstBus to docs
12202 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12204         * docs/gst/gstreamer-sections.txt:
12205         * docs/gst/tmpl/.cvsignore:
12206         * docs/gst/tmpl/gstbin.sgml:
12207         * docs/gst/tmpl/gstbuffer.sgml:
12208         * gst/base/gstbasesrc.c:
12209         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12210         * gst/gstbuffer.c:
12211         * gst/gstbuffer.h:
12212         * tools/gst-launch.1.in:
12213           inlined more doc comments, added missing comments and fixed comments
12214           fixed typos
12216 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12218         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12219           some debugging
12220         * gst/gstcaps.h:
12221           whitespace fixes
12222         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12223           more debugging
12224         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12225         * gst/gststructure.h:
12226           add a fixate function for booleans; add a FIXME that these func
12227           names should probably be gst_structure_fixate_*
12229 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12231         * docs/gst/gstreamer-docs.sgml:
12232         * docs/gst/gstreamer-sections.txt:
12233         * gst/Makefile.am:
12234         * gst/gstbin.c: (gst_bin_get_type),
12235         (gst_bin_child_proxy_get_child_by_index),
12236         (gst_bin_child_proxy_get_children_count),
12237         (gst_bin_child_proxy_init):
12238         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12239         (gst_child_proxy_get_child_by_index),
12240         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12241         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12242         (gst_child_proxy_get), (gst_child_proxy_set_property),
12243         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12244         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12245         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12246         * gst/gstchildproxy.h:
12247         * gst/parse/grammar.y:
12248         * tools/gst-inspect.c: (print_interfaces),
12249         (print_element_properties_info), (print_element_info):
12250           ported gstchildproxy over from 0.8
12251           ported gst-inspect fixes and enhancements over from 0.8
12253 2005-08-22  Wim Taymans  <wim@fluendo.com>
12255         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12256         (gst_base_transform_handle_buffer):
12257         Also call the transform function if we have ANY caps.
12259         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12260         Fix debug info.
12262 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12264         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12265           Don't pretend to handle seek events if the source is not seekable
12267 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12270           Remove extra parameter to debug output
12272         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12273         (gst_base_src_do_seek), (gst_base_src_activate_push):
12274           Fix seek event handling.
12276         * gst/gstpipeline.c: (gst_pipeline_change_state):
12277         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12278         (gst_queue_src_activate_push):
12279           Don't start the src pad task on FLUSH_STOP if the pad
12280           isn't linked.
12281           Debug changes.
12283 2005-08-22  Wim Taymans  <wim@fluendo.com>
12285         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12286         Added check for gst_static_caps_get() refcounting.
12288 2005-08-22  Wim Taymans  <wim@fluendo.com>
12290         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12291         Make _static_caps_get() refcounting sane.
12292         
12293         * gst/gstelement.c: (gst_element_set_state):
12294         Add g_return_val_if_fail() to protect against segfaults.
12296 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12298         * docs/gst/tmpl/gstevent.sgml:
12299         * gst/gstevent.c:
12300         * gst/gstevent.h:
12301           inlined remaining docs, added missing doc comments
12303 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12305         * check/gst/gstbin.c: (GST_START_TEST):
12306           since we don't know when preroll is done, use refcount range
12307           check for the sink
12308         * gst/check/gstcheck.h:
12309           add macro for checking refcount range
12311 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12313         * check/Makefile.am:
12314           clean up environment for when registry gets built versus
12315           when actual tests are run; valgrind seems to not report
12316           leaks if GST_PLUGIN_PATH is set to some specific values
12317         * check/gst/gstbin.c: (GST_START_TEST):
12318           add more refcounting checks; maybe this exposes a
12319           preroll lock bug ?
12320         * common/check.mak:
12321         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12322         * gst/check/gstcheck.h:
12323         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12324         (gst_bin_change_state):
12325         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12326           add/fix debugging/whitespace
12328 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12330         * check/gst/gstevent.c: (event_probe), (test_event),
12331         (GST_START_TEST):
12332          Er, don't call gst_bin_watch_for_state_change you idiot.
12334 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12336         * check/Makefile.am:
12337           Use CHECK_CFLAGS and CHECK_LIBS
12338         * check/gst/gstevent.c: (event_probe), (test_event),
12339         (GST_START_TEST):
12340           Don't leak events.
12341         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12342         (gst_base_src_start), (gst_base_src_stop),
12343         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12344         (gst_base_src_change_state):
12345           Sprinkle gst_base_src_stop liberally around error paths to fix
12346           problems reusing a source after failed state changes.
12347         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12348         (helper_find_suggest), (gst_type_find_helper):
12349           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12350         * gst/gstevent.h:
12351         * docs/gst/tmpl/gstevent.sgml:
12352           Migrate part of the docs from the SGML file. Wait for ensonic to
12353           tell me how I did it wrong ;)
12354         * tools/gst-typefind.c: (main):
12355           Extra robustness to state changes between files.
12357 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12359         * check/Makefile.am:
12360           don't valgrind the controller test - it's leaking - Stefan, HELP
12361         * gst/check/gstcheck.c: (gst_check_message_error),
12362         (gst_check_chain_func), (gst_check_setup_element),
12363         (gst_check_teardown_element), (gst_check_setup_src_pad),
12364         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12365         (gst_check_teardown_sink_pad):
12366         * gst/check/gstcheck.h:
12367           add a bunch of methods to set up elements, and src and sink pads
12368         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12369         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12370         (GST_START_TEST):
12371           use them
12372         * gst/gstmessage.c:
12373         * gst/gsttag.h:
12374           whitespace/doc fixes
12376 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12378         * gst/gstelement.h:
12379           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12380           be handled by the application and not always printed as well
12382 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12384         * check/Makefile.am:
12385           set GST_TOOLS_DIR
12386         * gst/check/gstcheck.c: (gst_check_message_error):
12387         * gst/check/gstcheck.h:
12388           add a fail_unless_equals_int
12389           add fail_unless for error messages
12391 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12393         * check/Makefile.am:
12394         * check/gst.supp:
12395         * common/Makefile.am:
12396         * common/check.mak:
12397         * common/gst.supp:
12398           factor out some of the common stuff so we can use it
12400 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12402         * check/Makefile.am:
12403         * check/gst/gstiterator.c: (GST_START_TEST):
12404         * check/gst/gstsystemclock.c: (GST_START_TEST),
12405         (gst_systemclock_suite):
12406         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12407         * gst/gstclock.c:
12408           valgrind more tests
12410 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12412         * check/elements/.cvsignore:
12413         * check/elements/gstfakesrc.c:
12414           rename to name of element
12415         * check/elements/identity.c: (chain_func), (event_func),
12416         (setup_identity), (cleanup_identity), (GST_START_TEST),
12417         (identity_suite), (main):
12418           add a test for identity
12419         * check/Makefile.am:
12420         * pkgconfig/Makefile.am:
12421         * pkgconfig/gstreamer-check.pc.in:
12422         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12423         * gst/check:
12424         * gst/Makefile.am:
12425         * configure.ac:
12426           move the check stuff to a library that gets installed
12427         * check/gst-libs/controller.c: (GST_START_TEST):
12428         * check/gst-libs/gdp.c:
12429         * check/gst/gst.c: (GST_START_TEST):
12430         * check/gst/gstbin.c:
12431         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12432         * check/gst/gstbus.c:
12433         * check/gst/gstcaps.c: (GST_START_TEST):
12434         * check/gst/gstelement.c:
12435         * check/gst/gstghostpad.c:
12436         * check/gst/gstiterator.c:
12437         * check/gst/gstmessage.c:
12438         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12439         * check/gst/gstobject.c:
12440         * check/gst/gstpad.c: (GST_START_TEST):
12441         * check/gst/gststructure.c: (GST_START_TEST):
12442         * check/gst/gstsystemclock.c: (GST_START_TEST),
12443         (gst_systemclock_suite):
12444         * check/gst/gsttag.c: (gst_tag_suite):
12445         * check/gst/gstvalue.c:
12446         * check/pipelines/cleanup.c:
12447         * check/pipelines/simple_launch_lines.c:
12448         * check/states/sinks.c:
12449           change include statement
12451         * docs/gst/gstreamer-sections.txt:
12452         * docs/gst/tmpl/gstpad.sgml:
12453           document more pad stuff
12454         * gst/gstminiobject.c: (gst_mini_object_ref),
12455         (gst_mini_object_unref):
12456           debug refcounting
12458 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12460         * docs/gst/tmpl/gst.sgml:
12461         * gst/gst.c:
12462           eliminate another tmpl file, fix spelling in the long-description
12464 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12466         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12467         (test_event), (timediff), (gstevents_suite):
12468           Should fix build on 64-bit arch's
12470 2005-08-18  Andy Wingo  <wingo@pobox.com>
12472         Make sure that when a pipeline goes to PLAYING, that data has
12473         actually hit the sink.
12475         * check/states/sinks.c (test_sink): A sink that doesn't get any
12476         data shouldn't return SUCCESS for going to either PLAYING or
12477         PAUSED. Test also the return values on the way back down.
12479         * gst/gstelement.c (gst_element_set_state): When changing the
12480         state of an element currently changing state asynchronously, go to
12481         lost-state after commiting the pending state. Makes future calls
12482         to get_state continue to return ASYNC.
12484         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12485         ASYNC when going to PLAYING if we still don't have preroll, as can
12486         happen with live sources.
12488 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12490         * docs/pwg/advanced-types.xml:
12491           Hack long paragraph into 2 chunks as a workaround for buggy
12492           jadetex version in sid and breezy that loops infinitely and
12493           eats all RAM.
12495 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12497         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12498         (test_event), (timediff), (gstevents_suite):
12499           Provide more error margin in clock measurements to allow for 
12500           g_get_current_time inaccuracies.
12502 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12504         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12505         (test_event), (timediff), (gstevents_suite):
12506            Fix error message output so I might be able to tell why the
12507            test works here but fails on the build farm.
12509 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12511         * check/Makefile.am:
12512         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12513         (test_event), (timediff), (gstevents_suite), (main):
12514           I wrote a test!
12516         * docs/design/part-seeking.txt:
12517           Spelling correction
12519         * docs/gst/tmpl/gstevent.sgml:
12520         * docs/gst/tmpl/gstfakesrc.sgml:
12521           Docs updates.
12523         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12524           Treat a buffer-without-newsegment the same as a receiving 
12525           a newsegment not in time format, and disable syncing to the clock
12526           with a warning.
12528         * gst/gstbus.c: (gst_bus_set_sync_handler):
12529           Assert if anyone tries to replace the existing sync_handler for bus, 
12530           as only the owner should be setting it.
12532         * gst/gstevent.h:
12533           Have a fixed set of custom event enums with events identified by
12534           their structure name (as in 0.8), rather than a free-for-all
12535           allowing collisions between enum values from different plugins.
12537         * gst/gstpad.c: (gst_pad_class_init):
12538           Docs change.
12539           
12540         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12541           Handle out-of-band downstream events from the sending thread.
12543 2005-08-17  Andy Wingo  <wingo@pobox.com>
12545         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12546         play-timeout==0 to mean no timeout at all. In that case, don't
12547         bother with a get_state or a warning, just return directly, even
12548         if it's ASYNC.
12550         * gst/base/gstbasetransform.c: Debug changes.
12552         * gst/gstutils.h:
12553         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12554         ensure bins post state change messages. A bit of a hack but I can't
12555         think of a way to avoid it.
12557         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12559 2005-08-16  Andy Wingo  <wingo@pobox.com>
12561         * gst/base/gstadapter.h:
12562         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12563         peek() but you own the data. Not terribly efficient atm.
12565 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12567         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12568         (gst_element_found_tags):
12569         * gst/gstutils.h:
12570           Add two utility functions for tag handling.
12572 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12574         * docs/manual/advanced-dataaccess.xml:
12575         * docs/manual/basics-helloworld.xml:
12576           Fix docs to use _bin_add() before _link(), which fixes the examples
12577           with recent core versions (reported by Madhan Raj M
12578           <raj_madan@rediffmail.com>, #313199).
12580 2005-08-16  Wim Taymans  <wim@fluendo.com>
12582         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12583         Added subtract checks.
12585         * docs/design/part-events.txt:
12586         Some more docs about newsegment
12588         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12589         Fix FIXME
12591         * gst/gstcaps.c: (gst_caps_to_string):
12592         Add comments, cleanups.
12593         
12594         * gst/gstelement.c: (gst_element_save_thyself):
12595         cleanups
12596         
12597         * gst/gstvalue.c: (gst_value_collect_int_range),
12598         (gst_string_unwrap), (gst_value_union_int_int_range),
12599         (gst_value_union_int_range_int_range),
12600         (gst_value_intersect_int_int_range),
12601         (gst_value_intersect_int_range_int_range),
12602         (gst_value_intersect_double_double_range),
12603         (gst_value_intersect_double_range_double_range),
12604         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12605         (gst_value_subtract_int_range_int),
12606         (gst_value_subtract_double_range_double),
12607         (gst_value_subtract_double_range_double_range),
12608         (gst_value_subtract_from_list), (gst_value_subtract_list),
12609         (gst_value_can_compare), (gst_value_compare_fraction):
12610         Cleanups, add comments, remove unneeded asserts.
12612 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12614         * tools/gst-launch.c: (event_loop):
12615           don't convert NULL structures to strings
12617 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12619         * docs/gst/gstreamer-sections.txt:
12620           made some defines private
12621         * docs/gst/tmpl/gstconfig.sgml:
12622         * docs/gst/tmpl/gstqueue.sgml:
12623         * docs/gst/tmpl/gsttaglist.sgml:
12624         * docs/gst/tmpl/gsttypes.sgml:
12625         * docs/gst/tmpl/gstutils.sgml:
12626         * docs/pwg/appendix-porting.xml:
12627         * gst/base/gstbasesink.h:
12628         * gst/base/gstbasesrc.c:
12629         * gst/base/gstbasesrc.h:
12630         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12631         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12632         * gst/gstelement.c: (gst_element_class_init):
12633         * gst/gstpad.c: (gst_pad_class_init):
12634         * gst/gstqueue.c: (gst_queue_class_init):
12635         * gst/gstxml.c: (gst_xml_class_init):
12636           documented all undocumented signal inline
12637         * libs/gst/controller/gst-controller.h:
12638           added padding
12640 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12642         * docs/pwg/appendix-porting.xml:
12643           Document _set_link_function -> _set_setcaps_function.
12645 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12647         * check/Makefile.am:
12648           add a .check target for running the check
12649         * check/gst-libs/controller.c: (GST_START_TEST):
12650           cosmetic fixups
12651         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12652           complete checks for gstbuffer; would be nice if I could get the
12653           gcov stuff to work so I can see if I actually completed gstbuffer.c
12654         * check/gstcheck.h:
12655           add ASSERT_BUFFER_REFCOUNT
12657 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12659         * docs/gst/gstreamer-sections.txt:
12660         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12661         * gst/gsttag.h:
12662           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12663           spew out a warning if a tag that is already registered
12664           is re-registered, unless it is re-registered with a 
12665           different type (#308438).
12667 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12669         * docs/pwg/appendix-porting.xml:
12670         * docs/pwg/building-state.xml:
12671           Add some paragraphs about state changes in 0.9 to the PWG
12672           and the porting guide, in particular about the new meaning
12673           of GST_STATE_PAUSED and how to write state change functions
12674           with concurrent access by multiple threads in mind.
12676 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12678         * docs/gst/gstreamer-docs.sgml:
12679         * docs/libs/gstreamer-libs-docs.sgml:
12680           added deprecation and since indexes
12681         * libs/gst/controller/gst-controller.c:
12682         * libs/gst/controller/gst-helper.c:
12683           added since tags
12686 2005-08-11  Wim Taymans  <wim@fluendo.com>
12688         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12689         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12690         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12691         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12692         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12693         (gst_ghost_pad_set_target):
12694         Actually implement (re)setting the target on a ghostpad
12695         as described in the docs.
12697 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12699         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12700           Check whether GST_DEBUG_NO_COLOR environment variable is
12701           set and disable coloured debug output if that is the case.
12703 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12705         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12706         (gst_type_find_helper):
12707           The memory returned by gst_type_find_peek() needs to
12708           stay valid until the end of a typefind function, and
12709           typefind functions may keep results from different 
12710           offsets around, so we can't just unref the buffer from
12711           the previous _peek(), but have to save all buffers 
12712           returned by _peek() until typefinding is done and only
12713           free them then.
12715 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12717         * docs/gst/gstreamer-sections.txt:
12718         * gst/gstutils.h:
12719           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12721 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12723         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12724           Fix a pretty good memleak.
12726 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12728         * gst/gstiterator.h:
12729           Fix wrong include and 'make distcheck'.
12731 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12733         * gst/gstbin.c: (bin_bus_handler):
12734           Use gst_element_post_message() instead.
12736 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12738         * gst/base/gstadapter.h:
12739         * gst/base/gstbasesink.h:
12740         * gst/base/gstbasesrc.h:
12741         * gst/base/gstbasetransform.h:
12742         * gst/base/gstcollectpads.h:
12743         * gst/base/gstpushsrc.h:
12744         * gst/gstiterator.h:
12745           Add padding to our base elements' class and instance structs and
12746           to GstIterator (you will need to rebuild all plugins and apps!)
12748 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12750         * gst/gstbin.c: (bin_bus_handler):
12751           Make default message forwarding from child->bus to bin->bus
12752           threadsafe and make it not emit warnings if the parent has no bus.
12754 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12756         * gst/gstelement.c: (activate_pads):
12757           On paused->ready, set pad->caps to NULL, as is the documented
12758           behaviour in this state change. Fixes playback of series of
12759           media files when visualization is enabled in Totem.
12761 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12763         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12764           Allow NULL as filter-caps (which means "any").
12766 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12768         * docs/libs/gstreamer-libs-sections.txt:
12769         * libs/gst/controller/gst-controller.c:
12770         * libs/gst/controller/gst-controller.h:
12771         * libs/gst/controller/gst-helper.c:
12772           adding more entries to the docs and fix small doc-bugs
12774 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12776         * docs/gst/gstreamer-docs.sgml:
12777         * docs/gst/gstreamer-sections.txt:
12778         * docs/gst/gstreamer.types:
12779         * docs/gst/tmpl/gstbasesink.sgml:
12780         * docs/gst/tmpl/gstbasesrc.sgml:
12781         * docs/gst/tmpl/gstbasetransform.sgml:
12782         * docs/gst/tmpl/gstfakesrc.sgml:
12783         * gst/base/gstcollectpads.c:
12784         * gst/base/gstcollectpads.h:
12785         * libs/gst/controller/gst-controller.c:
12786         * libs/gst/controller/gst-controller.h:
12787         * libs/gst/controller/gst-helper.c:
12788         * libs/gst/controller/gst-interpolation.c:
12789         * libs/gst/controller/lib.c:
12790           added long/short desc for controller docs
12791           added collectpads base class docs
12792           added correct includes to base-class docs
12794 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12796         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12797         (gst_test_mono_source_set_property),
12798         (gst_test_mono_source_class_init), (GST_START_TEST),
12799         (gst_controller_suite):
12800         * docs/gst/gstreamer-docs.sgml:
12801         * docs/gst/gstreamer-sections.txt:
12802         * docs/gst/gstreamer.types:
12803         * docs/libs/gstreamer-libs-docs.sgml:
12804         * docs/libs/gstreamer-libs-sections.txt:
12805         * gst/base/gstadapter.c:
12806         * libs/gst/controller/gst-controller.c:
12807         (gst_controlled_property_new), (gst_controlled_property_free),
12808         (gst_controller_new_valist),
12809         (gst_controller_remove_properties_valist),
12810         (gst_controller_sink_values), (_gst_controller_finalize):
12811         * libs/gst/controller/gst-controller.h:
12812         * libs/gst/controller/gst-helper.c:
12813         (gst_object_control_properties), (gst_object_uncontrol_properties),
12814         (gst_object_get_controller), (gst_object_set_controller),
12815         (gst_object_sink_values), (gst_object_get_value_arrays),
12816         (gst_object_get_value_array):
12817           more tests (and fixes) for the controller
12818           more docs for the controller
12819           integrated companies docs for the adapter 
12821 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12823         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12824         (GST_START_TEST), (fakesrc_suite):
12825           add tests for sizetype
12827 2005-08-04  Andy Wingo  <wingo@pobox.com>
12829         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12830         fixes buffer_alloc proxying among other things.
12832         * gst/base/gstbasetransform.c:
12833         * gst/base/gstbasetransform.h:
12834         Revert patch to gstbasetransform from 7-28 removing
12835         delay_configure.
12837         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12838         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12839         Semantics changed, should return not the size of the output buffer
12840         but the byte size of a buffer with a given caps.
12842         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12843         debug object.
12844         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12845         out) are not the pad caps until setcaps finishes.
12846         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12847         not-in-place case as well. Deal with changing from in-place to
12848         not-in-place within calling pad_alloc_buffer. Still a bit
12849         concerned about the overhead here...
12851 2005-08-03  Andy Wingo  <wingo@pobox.com>
12853         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12854         fixating is an error.
12856 2005-08-04  Edward Hervey  <edward@fluendo.com>
12858         * gst/base/gstadapter.h: 
12859         Added gst_adapter_get_type() to the header
12861 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12863         * check/Makefile.am:
12864         * check/gst-libs/controller.c:
12865         * libs/gst/controller/gst-controller.c:
12866         (gst_controller_new_valist):
12867           added check test suite for the controller
12868         * gst/base/gstpushsrc.c:
12869           fixed a doc typo
12871 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12873         * docs/gst/Makefile.am:
12874         * docs/gst/gstreamer-docs.sgml:
12875         * docs/gst/gstreamer-sections.txt:
12876         * docs/gst/gstreamer.types:
12877         * docs/gst/tmpl/gstfakesrc.sgml:
12878         * gst/base/README:
12879         * gst/base/gstbasesink.c:
12880         * gst/base/gstbasesink.h:
12881         * gst/base/gstbasesrc.c:
12882         * gst/base/gstbasesrc.h:
12883         * gst/base/gstbasetransform.c:
12884         * gst/base/gstpushsrc.c:
12885         * gst/base/gstpushsrc.h:
12886           add short/long description docs to base classes
12887           add pushsrc to the docs
12888           remove consolidated doc fragments
12890 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12892         * configure.ac:
12893         * docs/libs/Makefile.am:
12894         * docs/libs/gstreamer-libs-docs.sgml:
12895         * docs/libs/gstreamer-libs-sections.txt:
12896         * docs/libs/gstreamer-libs.types:
12897         * examples/Makefile.am:
12898         * examples/controller/.cvsignore:
12899         * examples/controller/Makefile.am:
12900         * examples/controller/audio-example.c: (main):
12901         * libs/gst/Makefile.am:
12902         * libs/gst/controller/.cvsignore:
12903         * libs/gst/controller/Makefile.am:
12904         * libs/gst/controller/gst-controller.c:
12905         (on_object_controlled_property_changed), (gst_timed_value_compare),
12906         (gst_timed_value_find),
12907         (gst_controlled_property_set_interpolation_mode),
12908         (gst_controlled_property_new), (gst_controlled_property_free),
12909         (gst_controller_find_controlled_property),
12910         (gst_controller_new_valist), (gst_controller_new),
12911         (gst_controller_remove_properties_valist),
12912         (gst_controller_remove_properties), (gst_controller_set),
12913         (gst_controller_set_from_list), (gst_controller_unset),
12914         (gst_controller_get), (gst_controller_get_all),
12915         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12916         (gst_controller_get_value_array),
12917         (gst_controller_set_interpolation_mode),
12918         (_gst_controller_finalize), (_gst_controller_init),
12919         (_gst_controller_class_init), (gst_controller_get_type):
12920         * libs/gst/controller/gst-controller.h:
12921         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12922         (g_object_uncontrol_properties), (g_object_get_controller),
12923         (g_object_set_controller), (g_object_sink_values),
12924         (g_object_get_value_arrays), (g_object_get_value_array):
12925         * libs/gst/controller/gst-interpolation.c:
12926         (gst_controlled_property_find_timed_value_node),
12927         (interpolate_none_get), (interpolate_trigger_get),
12928         (interpolate_trigger_get_value_array):
12929         * libs/gst/controller/lib.c: (gst_controller_init):
12930         * pkgconfig/Makefile.am:
12931         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12932         * pkgconfig/gstreamer-control.pc.in:
12933         * testsuite/Makefile.am:
12934         * testsuite/controller/.cvsignore:
12935         * testsuite/controller/Makefile.am:
12936         * testsuite/controller/interpolator.c: (main):
12937           added controller code
12938           removed dparam pc files
12940 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12941         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12942         (gst_collectpads_stop):
12943           Broadcast the condition when shutting down, to make sure we wake all
12944           threads up. Shut down pads on finalize, for safety.
12946 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12947         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12948         (gst_base_transform_handle_buffer),
12949         (gst_base_transform_change_state):
12950           Handle PAUSED->READY->PAUSED transition after negotiation
12951           occurred already.
12952         * gst/gstmessage.c: (gst_message_init):
12953           Extra piece of debug for new messages.
12955 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12957         * configure.ac:
12958         * docs/gst/tmpl/gstbasesrc.sgml:
12959         * docs/gst/tmpl/gstelement.sgml:
12960         * docs/gst/tmpl/gstevent.sgml:
12961         * docs/gst/tmpl/gstfakesrc.sgml:
12962         * docs/gst/tmpl/gstformat.sgml:
12963         * docs/gst/tmpl/gstghostpad.sgml:
12964         * docs/gst/tmpl/gstpad.sgml:
12965         * docs/gst/tmpl/gstquery.sgml:
12966         * docs/gst/tmpl/gststructure.sgml:
12967         * docs/gst/tmpl/gsttaglist.sgml:
12968         * docs/gst/tmpl/gstvalue.sgml:
12969         * docs/libs/gstreamer-libs-docs.sgml:
12970         * docs/libs/gstreamer-libs-sections.txt:
12971         * docs/libs/gstreamer-libs.types:
12972         * libs/gst/Makefile.am:
12973         * libs/gst/control/.cvsignore:
12974         * libs/gst/control/Makefile.am:
12975         * libs/gst/control/control.c:
12976         * libs/gst/control/control.h:
12977         * libs/gst/control/dparam.c:
12978         * libs/gst/control/dparam.h:
12979         * libs/gst/control/dparam_smooth.c:
12980         * libs/gst/control/dparam_smooth.h:
12981         * libs/gst/control/dparamcommon.h:
12982         * libs/gst/control/dparammanager.c:
12983         * libs/gst/control/dparammanager.h:
12984         * libs/gst/control/dplinearinterp.c:
12985         * libs/gst/control/dplinearinterp.h:
12986         * libs/gst/control/unitconvert.c:
12987         * libs/gst/control/unitconvert.h:
12988         * testsuite/Makefile.am:
12989         * testsuite/dynparams/.cvsignore:
12990         * testsuite/dynparams/Makefile.am:
12991         * testsuite/dynparams/dparamstest.c:
12992         * tools/Makefile.am:
12993         * tools/gst-inspect.c: (print_element_info), (main):
12994         * tools/gst-xmlinspect.c: (print_element_info), (main):
12995           deactivate and remove dparams (libgstcontrol)
12997 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12999         * gst/elements/gsttypefindelement.c:
13000         (gst_type_find_element_have_type), (gst_type_find_element_init),
13001         (stop_typefinding), (gst_type_find_element_handle_event),
13002         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13003         * gst/elements/gsttypefindelement.h:
13004           Set caps on all outgoing buffers, not just the first one.
13006 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13008         * gst/elements/gsttypefindelement.c:
13009         (gst_type_find_element_have_type),
13010         (gst_type_find_element_check_set_buffer_caps),
13011         (gst_type_find_element_init), (stop_typefinding),
13012         (gst_type_find_element_handle_event),
13013         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13014         * gst/elements/gsttypefindelement.h:
13015           Set caps on first outgoing buffer when we've found the type.
13017 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13019         * docs/gst/gstreamer-docs.sgml:
13020         * docs/gst/gstreamer-sections.txt:
13021         * docs/gst/tmpl/gstscheduler.sgml:
13022         * docs/gst/tmpl/gstschedulerfactory.sgml:
13023           Remove some old cruft from docs.
13025 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13027         * gst/gstpad.h:
13028           Fix inline docs for GstPadLinkReturn.
13029           
13030         * gst/gststructure.c: (gst_structure_has_name):
13031         * gst/gststructure.h:
13032         * docs/gst/gstreamer-sections.txt:
13033           New API: gst_structure_has_name().
13035 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13037         * configure.ac:
13038           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13039           and _LARGEFILE_SOURCE in config.h as required. Do not 
13040           export those flags in our .pc files any longer (#142209).
13042           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13044         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13045         (gst_file_sink_do_seek), (gst_file_sink_event),
13046         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13047           Redo seek/tell calls with large file support in mind; add some
13048           debugging messages; add log message that tells us when large
13049           file support is unavailable or not enabled for some reason.
13051         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13052           Add log message that tells us when large file support 
13053           is unavailable or not enabled for some reason.
13055 2005-07-29  Wim Taymans  <wim@fluendo.com>
13057         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13058         Added test for removing an element with ghostpad from a bin.
13059         Fixed test as current implementation does the right thing.
13061         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13062         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13063         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13064         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13065         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13066         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13067         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13068         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13069         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13070         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13071         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13072         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13073         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13074         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13075         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13076         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13077         * gst/gstghostpad.h:
13078         Clean up ghostpads, remove properties for internal stuff.
13079         Make threadsafe.
13080         Fix refcounting.
13081         Prepare for switching targets, not all use cases work yet.
13083 2005-07-29  Wim Taymans  <wim@fluendo.com>
13085         * docs/design/part-gstghostpad.txt:
13086         Small update.
13088         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13089         (gst_bin_remove_func):
13090         Unlinking pads while holding the bin LOCK is not a good
13091         idea.
13093         * gst/gstpad.c: (gst_pad_class_init),
13094         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13095         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13096         No prob setting template after creating the pad.
13098 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13100         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13101         (gst_bus_peek), (gst_bus_source_dispatch),
13102         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13103         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13104           gst_bus_poll may be called from other threads. Handle
13105           this nicely by not making poll_data disappear off the
13106           stack once gst_bus_poll returns.
13107           gst_bus_peek now increments the refcount on the returned
13108           message.
13110 2005-07-29  Wim Taymans  <wim@fluendo.com>
13112         * docs/design/part-gstghostpad.txt:
13113         Overview of current GhostPad datastructures and use
13114         cases for changing the target.
13116 2005-07-28  Wim Taymans  <wim@fluendo.com>
13118         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13119         Added checks for hierarchy consistency whan adding linked
13120         elements to bins.
13122         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13123         Added check to test element scheduling without bin/pipeline.
13125         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13126         First add elements to bin, then link.
13127         
13128         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13129         (gst_bin_remove_func):
13130         Unlink pads from elements added/removed from bin to maintain
13131         hierarchy consistency.
13133 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13135         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13136         (gst_base_transform_handle_buffer):
13137         * gst/base/gstbasetransform.h:
13138           Remove broken delay_configure (fixes renegotiation of software
13139           scaling pipelines); remove some leftover printf()s.
13141 2005-07-28  Wim Taymans  <wim@fluendo.com>
13143         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13144         Added some more tests for wrong hierarchy
13146         * docs/design/part-overview.txt:
13147         Some updates.
13149         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13150         Cleanups.
13152         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13153         (gst_element_dispose):
13154         Some more cleanups.
13156         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13157         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13158         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13159         (gst_pad_set_caps), (gst_pad_send_event):
13160         Check for correct hierarchy when linking pads. Moving to
13161         strict requirement for ghostpads when linking elements in
13162         different bins.
13164         * gst/gstpad.h:
13165         Clean ups. Added WRONG_HIERARCHY return value.
13167 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13169         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13170           Better debug if no transform is possible.
13172 2005-07-27  Wim Taymans  <wim@fluendo.com>
13174         * docs/random/wtay/network-transp:
13175         Some old doc I had.
13177 2005-07-27  Wim Taymans  <wim@fluendo.com>
13179         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13180         (gst_dp_event_from_packet):
13181         Fix serialization of seek events.
13183 2005-07-27  Wim Taymans  <wim@fluendo.com>
13185         * check/gst-libs/gdp.c: (GST_START_TEST):
13186         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13187         Fix compilation and fix event serialization.
13189 2005-07-27  Wim Taymans  <wim@fluendo.com>
13191         * CHANGES-0.9:
13192         * docs/design/part-TODO.txt:
13193         * docs/design/part-events.txt:
13194         Some docs updates
13196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13197         (gst_base_sink_event), (gst_base_sink_do_sync),
13198         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13199         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13200         (gst_base_src_do_seek), (gst_base_src_event_handler),
13201         (gst_base_src_loop):
13202         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13203         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13204         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13205         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13206         (gst_base_transform_set_passthrough),
13207         (gst_base_transform_is_passthrough):
13208         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13209         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13210         Event updates.
13212         * gst/gstbuffer.h:
13213         Use faster casts.
13215         * gst/gstelement.c: (gst_element_seek):
13216         * gst/gstelement.h:
13217         Update gst_element_seek.
13219         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13220         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13221         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13222         (gst_event_new_eos), (gst_event_new_newsegment),
13223         (gst_event_parse_newsegment), (gst_event_new_tag),
13224         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13225         (gst_event_parse_qos), (gst_event_new_seek),
13226         (gst_event_parse_seek), (gst_event_new_navigation):
13227         * gst/gstevent.h:
13228         Make GstEvent use GstStructure. Add parsing code, make sure the
13229         API is sufficiently generic.
13230         Mark possible directions of events and serialization.
13232         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13233         (_gst_message_copy), (gst_message_new_segment_start),
13234         (gst_message_new_segment_done), (gst_message_new_custom),
13235         (gst_message_parse_segment_start),
13236         (gst_message_parse_segment_done):
13237         Small cleanups.
13239         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13240         (gst_pad_set_caps), (gst_pad_send_event):
13241         Update for new events. 
13242         Catch events sent in wrong directions.
13244         * gst/gstqueue.c: (gst_queue_link_src),
13245         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13246         (gst_queue_handle_src_query):
13247         Event updates.
13249         * gst/gsttag.c:
13250         * gst/gsttag.h:
13251         Remove event code from this file.
13253         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13254         (gst_dp_event_from_packet):
13255         Event updates.
13257 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13259         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13260         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13261         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13262           Make debugging actually useful.
13264 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13266         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13267         (gst_pad_fixate_caps):
13268           Implement default fixation once again, so that gst_pad_fixate()
13269           actually does anything at all. This probably needs to be some
13270           sort of a last resort, and use profile-based fixation first, but
13271           since that doesn't exist yet, this is the best we have. Fixes
13272           visualization in Totem.
13274 2005-07-22  Wim Taymans  <wim@fluendo.com>
13276         * docs/design/part-events.txt:
13277         Small update.
13279         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13280         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13281         (gst_base_sink_activate_pull):
13282         Some more comments.
13284         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13285         (gst_fake_src_create):
13286         Fix handoff marshall.
13288         * gst/elements/gstidentity.c: (gst_identity_class_init),
13289         (gst_identity_transform_ip):
13290         We're a real inplace element.
13292         * gst/gstbus.c: (gst_bus_post):
13293         Added some comments.
13295         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13296         * tests/muxing/case1.c: (main):
13297         * tests/sched/dynamic-pipeline.c: (main):
13298         * tests/sched/interrupt1.c: (main):
13299         * tests/sched/interrupt2.c: (main):
13300         * tests/sched/interrupt3.c: (main):
13301         * tests/sched/runxml.c: (main):
13302         * tests/sched/sched-stress.c: (main):
13303         * tests/seeking/seeking1.c: (event_received), (main):
13304         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13305         (main):
13306         * tests/threadstate/threadstate3.c: (main):
13307         * tests/threadstate/threadstate4.c: (main):
13308         * tests/threadstate/threadstate5.c: (main):
13309         Fix the tests.
13311 2005-07-21  Wim Taymans  <wim@fluendo.com>
13313         * docs/design/part-seeking.txt:
13314         Some small additions.
13316         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13317         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13318         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13319         * gst/base/gstbasesink.h:
13320         discont values are gint64, handle the math correctly.
13322         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13323         Make the basesrc report error if the source pad is not linked.
13325         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13326         (gst_queue_loop), (gst_queue_handle_src_query),
13327         (gst_queue_src_activate_push):
13328         Make queue collect data even if the srcpad is not linked.
13329         Start pushing out data as soon as it is linked.
13331         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13332         * gst/gstutils.h:
13333         Added gst_flow_get_name() to ease error reporting.
13335 2005-07-20  Wim Taymans  <wim@fluendo.com>
13337         * gst/gstmessage.c: (gst_message_new_segment_start),
13338         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13339         (gst_message_parse_segment_done):
13340         * gst/gstmessage.h:
13341         Added a bunch of messages for advanced seeking.
13343         * gst/parse/grammar.y:
13344         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13345         (gst_dpman_state_changed):
13346         Fix some new-pad -> pad-added signals
13348 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13350         * docs/manual/appendix-porting.xml:
13351         * docs/pwg/appendix-porting.xml:
13352           Document new-pad/state-change signal renames and the FixedList
13353           type rename.
13355 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13357         * docs/manual/advanced-autoplugging.xml:
13358         * docs/manual/basics-helloworld.xml:
13359         * docs/manual/basics-pads.xml:
13360         * docs/random/ds/0.9-suggested-changes:
13361         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13362         * gst/gstelement.h:
13363         * gst/gstevent.h:
13364         * gst/gstformat.h:
13365         * gst/gstquery.h:
13366         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13367         (gst_structure_parse_array), (gst_structure_parse_value):
13368         * gst/gstvalue.c: (gst_type_is_fixed),
13369         (gst_value_list_prepend_value), (gst_value_list_append_value),
13370         (gst_value_list_get_size), (gst_value_list_get_value),
13371         (gst_value_transform_array_string), (gst_value_serialize_array),
13372         (gst_value_deserialize_array), (gst_value_intersect_array),
13373         (gst_value_is_fixed), (_gst_value_initialize):
13374         * gst/gstvalue.h:
13375           GstElement::new-pad -> pad-added, GstElement::state-change ->
13376           state-changed, GstValueFixedList -> GstValueArray, add format and
13377           flags as their own arguments in gst_element_seek() (should improve
13378           "bindeability"), remove function generators since they don't work
13379           under a whole bunch of compilers (they were deprecated already
13380           anyway).
13382 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13384         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13385         (_gst_debug_register_funcptr):
13386         * gst/gstinfo.h:
13387           Fix illegal cast on some platforms (#309253).
13389 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13391         * gst/gstmessage.c: (gst_message_new_custom):
13392         * gst/gstmessage.h:
13393           Add _new_custom, make _new_application a macro to _new_custom.
13395 2005-07-20  Wim Taymans  <wim@fluendo.com>
13397         * gst/base/gstbasesrc.c: (gst_base_src_init),
13398         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13399         * gst/base/gstbasesrc.h:
13400         Add a gboolean to decide when to push out a discont.
13402         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13403         (gst_queue_loop), (gst_queue_handle_src_query),
13404         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13405         (gst_queue_set_property), (gst_queue_get_property):
13406         Some cleanups.
13408         * tests/threadstate/threadstate1.c: (main):
13409         Make a thread test compile and run... very silly..
13412 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13414         * docs/manual/appendix-porting.xml:
13415           Mention removal of libgstgconf-0.9.la and existence of gconf
13416           elements.
13418 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13420         * docs/pwg/advanced-clock.xml:
13421         * docs/pwg/appendix-porting.xml:
13422         * docs/pwg/intro-preface.xml:
13423         * docs/pwg/other-base.xml:
13424         * docs/pwg/other-manager.xml:
13425         * docs/pwg/other-nton.xml:
13426         * docs/pwg/other-ntoone.xml:
13427         * docs/pwg/other-oneton.xml:
13428         * docs/pwg/pwg.xml:
13429           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13430           demuxer), remove n-to-n (was never written), fix some code examples
13431           and links and update the porting section to include all this.
13433 2005-07-19  Wim Taymans  <wim@fluendo.com>
13435         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13436         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13437         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13438         (gst_queue_src_activate_push), (gst_queue_change_state),
13439         (gst_queue_get_property):
13440         * gst/gstqueue.h:
13441         Propagate GstFlowReturn more intelligently upstream and output
13442         an ERROR/EOS when streaming stopped due to fatal error.
13444 2005-07-19  Wim Taymans  <wim@fluendo.com>
13446         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13447         Don't block forever for the state change to complete, the
13448         pipeline already did with a sensible timeout.
13450 2005-07-19  Wim Taymans  <wim@fluendo.com>
13452         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13453         Make sure we never call the create function is we
13454         got deactivated.
13456 2005-07-19  Andy Wingo  <wingo@pobox.com>
13458         * gst/parse/parse.l: Attempt to solve bug #172815.
13460 2005-07-19  Wim Taymans  <wim@fluendo.com>
13462         * docs/design/part-clocks.txt:
13463         * docs/design/part-events.txt:
13464         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13465         Small docs updates.
13466         Only update the seeking values when we are not
13467         busy streaming.
13469 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13471         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13472           Oops, ignore the result of gst_pad_push_event here.
13474 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13476         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13477         (gst_base_src_activate_push):
13478           Send discont event from the loop function, as pads
13479           aren't activated yet in the activate_push handler.
13481         * gst/gstbin.c: (bin_bus_handler):
13482           Don't leak element name.
13484 2005-07-18  Andy Wingo  <wingo@pobox.com>
13486         * configure.ac: Use AS_LIBTOOL_TAGS.
13488 2005-07-18  Wim Taymans  <wim@fluendo.com>
13490         * docs/gst/gstreamer.types:
13491         Remove deleted types.
13493 2005-07-18  Wim Taymans  <wim@fluendo.com>
13495         * check/elements/gstfakesrc.c: (GST_START_TEST):
13496         * configure.ac:
13497         * gst/Makefile.am:
13498         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13499         (init_popt_callback):
13500         * gst/gst.h:
13501         * gst/gst_private.h:
13502         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13503         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13504         * gst/gstbin.h:
13505         * gst/gstbus.h:
13506         * gst/gstconfig.h.in:
13507         * gst/gstelement.c: (gst_element_class_init),
13508         (gst_element_set_base_time), (gst_element_get_base_time),
13509         (iterator_fold_with_resync), (gst_element_change_state),
13510         (gst_element_dispose), (gst_element_get_bus):
13511         * gst/gstelement.h:
13512         * gst/gstelementfactory.h:
13513         * gst/gsterror.c: (_gst_core_errors_init):
13514         * gst/gsterror.h:
13515         * gst/gstevent.h:
13516         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13517         * gst/gstindex.c:
13518         * gst/gstinfo.c: (_gst_debug_init):
13519         * gst/gstmessage.c: (_gst_message_copy):
13520         * gst/gstmessage.h:
13521         * gst/gstminiobject.h:
13522         * gst/gstobject.c:
13523         * gst/gstobject.h:
13524         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13525         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13526         * gst/gstpad.h:
13527         * gst/gstparse.h:
13528         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13529         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13530         (gst_pipeline_get_last_stream_time):
13531         * gst/gstpipeline.h:
13532         * gst/gstpluginfeature.h:
13533         * gst/gstquery.h:
13534         * gst/gstscheduler.c:
13535         * gst/gstscheduler.h:
13536         * gst/gststructure.h:
13537         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13538         (gst_task_finalize), (gst_task_func), (gst_task_create),
13539         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13540         (gst_task_stop), (gst_task_pause):
13541         * gst/gsttask.h:
13542         * gst/gsttypefind.h:
13543         * gst/gsttypes.h:
13544         * gst/registries/gstlibxmlregistry.c: (load_feature),
13545         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13546         * gst/registries/gstxmlregistry.c:
13547         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13548         * gst/schedulers/threadscheduler.c:
13549         * libs/gst/control/dparammanager.h:
13550         * tools/gst-inspect.c: (print_element_list),
13551         (print_plugin_features), (print_element_features):
13552         * tools/gst-xmlinspect.c: (print_element_list),
13553         (print_plugin_info), (main):
13554         Removed plugable schedulers.
13555         Removed Scheduler/Manager from elements.
13556         Removed gsttypes.h, rearranged includes.
13557         Removed dependency pad<->element, element<>pipeline, and
13558         various others,  fix includes.
13559         implement gst_pad_get_parent() with gst_object_get_parent()
13560         Make GstTask sefcontained.
13561         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13562         timeout.
13563         Fix endless loop in iterator_fold_with_resync.
13566 2005-07-18  Wim Taymans  <wim@fluendo.com>
13568         * gst/Makefile.am:
13569         * gst/gstarch.h:
13570         Remove old file.
13572 2005-07-18  Wim Taymans  <wim@fluendo.com>
13574         * gst/Makefile.am:
13575         No more cothreads.h
13577 2005-07-18  Wim Taymans  <wim@fluendo.com>
13579         * gst/cothreads.c:
13580         * gst/cothreads.h:
13581         Let's remove these.
13583 2005-07-18  Wim Taymans  <wim@fluendo.com>
13585         * docs/design/part-dynamic.txt:
13586         * docs/design/part-events.txt:
13587         * docs/design/part-seeking.txt:
13588         Some more docs in the works.
13590         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13591         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13592         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13593         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13594         (gst_base_transform_handle_buffer),
13595         (gst_base_transform_sink_activate_push),
13596         (gst_base_transform_src_activate_pull),
13597         (gst_base_transform_set_passthrough),
13598         (gst_base_transform_is_passthrough):
13599         Refcounting fixes.
13601         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13602         Cleanups.
13604         * gst/gstevent.c: (gst_event_finalize):
13605         Set SRC to NULL.
13607         * gst/gstutils.c: (gst_element_unlink),
13608         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13609         (gst_pad_proxy_setcaps):
13610         * gst/gstutils.h:
13611         Add _get_parent_element() to get a pads parent as an element.
13613 2005-07-18  Wim Taymans  <wim@fluendo.com>
13615         * check/gst/gstbin.c: (GST_START_TEST):
13616         Remove bogus test.
13618 2005-07-18  Wim Taymans  <wim@fluendo.com>
13620         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13621         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13622         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13623         (gst_base_sink_event), (gst_base_sink_do_sync),
13624         (gst_base_sink_chain), (gst_base_sink_loop),
13625         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13626         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13627         Refcounting fixes.
13628         Fix logic for returning ASYNC when not prerolled.
13630 2005-07-18  Wim Taymans  <wim@fluendo.com>
13632         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13633         Fix nasty refcount bug.
13635 2005-07-16 Philippe Khalaf <burger@speedy.org>
13637         * gst/elements/gstfdsrc.c:
13638         * gst/elements/gstfdsrc.h:
13639         * gst/elements/gstelements.c:
13640         * gst/elements/Makefile.am:
13641         Ported fdsrc to 0.9.
13643 2005-07-16  Wim Taymans  <wim@fluendo.com>
13645         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13646         (gst_base_sink_do_sync):
13647         Fix compile error.
13649 2005-07-16  Wim Taymans  <wim@fluendo.com>
13651         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13652         (gst_base_sink_event), (gst_base_sink_get_times),
13653         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13654         * gst/base/gstbasesink.h:
13655         Store and use discont values when syncing buffers as described
13656         in design docs.
13657         
13658         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13659         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13660         (gst_base_src_activate_push):
13661         Push discont event when starting.
13663         * gst/elements/gstidentity.c: (gst_identity_transform):
13664         Small cleanups.
13666         * gst/gstbin.c: (gst_bin_change_state):
13667         Small cleanups in base_time  distribution.
13669         * gst/gstelement.c: (gst_element_set_base_time),
13670         (gst_element_get_base_time), (gst_element_change_state):
13671         * gst/gstelement.h:
13672         Added methods for the base_time of the element.
13673         Some MT fixes.
13675         * gst/gstpipeline.c: (gst_pipeline_send_event),
13676         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13677         (gst_pipeline_get_last_stream_time):
13678         * gst/gstpipeline.h:
13679         MT fixes.
13680         Handle seeking as described in design doc, remove stream_time
13681         hack.
13682         Cleanups clock and stream_time selection code. Added accessors
13683         for the stream_time.
13684         
13686 2005-07-16  Andy Wingo  <wingo@pobox.com>
13688         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13689         (#305291).
13691 2005-07-16  Wim Taymans  <wim@fluendo.com>
13693         * check/gst/gstbin.c: (GST_START_TEST):
13694         Make elements silent as the deep_notify refs the
13695         parent, which might make the test fail.
13697         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13698         Don't hold the lock for too long.
13700 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13702         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13703           Don't unref the caps we passed to gst_caps_make_writable() after
13704           passing them. gst_caps_make_writable() will do that for us.
13706 2005-07-15  Andy Wingo  <wingo@pobox.com>
13708         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13709         (#157311).
13711         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13712         own marshalling function for the handoff signal. Properly type the
13713         buffer as a buffer. Fixes some warnings. Should do a more general
13714         solution.
13715         (gst_identity_class_init): Plug into the right marshaller.
13717 2005-07-15  Wim Taymans  <wim@fluendo.com>
13719         * docs/design/part-TODO.txt:
13720         * docs/design/part-clocks.txt:
13721         * docs/design/part-element-sink.txt:
13722         * docs/design/part-events.txt:
13723         * docs/design/part-gstpipeline.txt:
13724         Updated docs, mostly DISCONT related.
13726 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13728         * docs/pwg/building-pads.xml:
13729           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13731 2005-07-15  Andy Wingo  <wingo@pobox.com>
13733         * tools/gst-typefind.c: Update, add copyright block.
13735         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13736         Normalize and truncate caps before fixation.
13738         * gst/gstcaps.h:
13739         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13740         discards all but the first structure from its argument.
13742 2005-07-15  Wim Taymans  <wim@fluendo.com>
13744         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13745         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13746         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13747         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13748         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13749         (gst_base_transform_chain), (gst_base_transform_change_state),
13750         (gst_base_transform_set_passthrough),
13751         (gst_base_transform_is_passthrough):
13752         * gst/base/gstbasetransform.h:
13753         Make passthrough work using the bufferpools.
13754         Changed API a bit, subclasses have to write into a buffer
13755         provided by the base class.
13756         More debug info in nego functions.
13757         
13758         * gst/elements/gstidentity.c: (gst_identity_init),
13759         (gst_identity_transform):
13760         Port to new base class.
13762 2005-07-15  Wim Taymans  <wim@fluendo.com>
13764         * gst/gstmessage.c: (gst_message_new_state_changed):
13765         * tools/gst-launch.c: (event_loop), (main):
13766         Totally dump messages in -launch with the -m option.
13767         Fix message name for State messages,
13769 2005-07-14  Wim Taymans  <wim@fluendo.com>
13771         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13772         Post error messages on errors.
13774 2005-07-14  Wim Taymans  <wim@fluendo.com>
13776         * gst/gstcaps.c: (gst_caps_do_simplify):
13777         Remove debug info.
13779         * gst/gsterror.h:
13780         Define error for stream stopped.
13782         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13783         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13784         Do proper return values.
13786         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13787         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13788         (gst_pad_get_range):
13789         Better return values.
13791         * gst/gstpad.h:
13792         Reorganise return values, add macro to check for fatal errors.
13794         * gst/gstqueue.c: (gst_queue_chain):
13795         Return proper GstFlowReturn values,
13797 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13799         * docs/gst/gstreamer-sections.txt:
13800         * docs/gst/gstreamer.types:
13801         * docs/gst/tmpl/gst.sgml:
13802         * docs/gst/tmpl/gstbasesink.sgml:
13803         * docs/gst/tmpl/gstbasesrc.sgml:
13804         * docs/gst/tmpl/gstbasetransform.sgml:
13805         * docs/gst/tmpl/gstbin.sgml:
13806         * docs/gst/tmpl/gstbuffer.sgml:
13807         * docs/gst/tmpl/gstcaps.sgml:
13808         * docs/gst/tmpl/gstclock.sgml:
13809         * docs/gst/tmpl/gstcompat.sgml:
13810         * docs/gst/tmpl/gstconfig.sgml:
13811         * docs/gst/tmpl/gstelement.sgml:
13812         * docs/gst/tmpl/gstelementdetails.sgml:
13813         * docs/gst/tmpl/gstelementfactory.sgml:
13814         * docs/gst/tmpl/gstenumtypes.sgml:
13815         * docs/gst/tmpl/gsterror.sgml:
13816         * docs/gst/tmpl/gstevent.sgml:
13817         * docs/gst/tmpl/gstfakesink.sgml:
13818         * docs/gst/tmpl/gstfakesrc.sgml:
13819         * docs/gst/tmpl/gstfilesink.sgml:
13820         * docs/gst/tmpl/gstfilesrc.sgml:
13821         * docs/gst/tmpl/gstfilter.sgml:
13822         * docs/gst/tmpl/gstformat.sgml:
13823         * docs/gst/tmpl/gstghostpad.sgml:
13824         * docs/gst/tmpl/gstimplementsinterface.sgml:
13825         * docs/gst/tmpl/gstindex.sgml:
13826         * docs/gst/tmpl/gstindexfactory.sgml:
13827         * docs/gst/tmpl/gstinfo.sgml:
13828         * docs/gst/tmpl/gstiterator.sgml:
13829         * docs/gst/tmpl/gstmacros.sgml:
13830         * docs/gst/tmpl/gstmemchunk.sgml:
13831         * docs/gst/tmpl/gstminiobject.sgml:
13832         * docs/gst/tmpl/gstobject.sgml:
13833         * docs/gst/tmpl/gstpad.sgml:
13834         * docs/gst/tmpl/gstpadtemplate.sgml:
13835         * docs/gst/tmpl/gstparse.sgml:
13836         * docs/gst/tmpl/gstpipeline.sgml:
13837         * docs/gst/tmpl/gstplugin.sgml:
13838         * docs/gst/tmpl/gstpluginfeature.sgml:
13839         * docs/gst/tmpl/gstquery.sgml:
13840         * docs/gst/tmpl/gstqueue.sgml:
13841         * docs/gst/tmpl/gstregistry.sgml:
13842         * docs/gst/tmpl/gstregistrypool.sgml:
13843         * docs/gst/tmpl/gstscheduler.sgml:
13844         * docs/gst/tmpl/gstschedulerfactory.sgml:
13845         * docs/gst/tmpl/gststructure.sgml:
13846         * docs/gst/tmpl/gstsystemclock.sgml:
13847         * docs/gst/tmpl/gsttaglist.sgml:
13848         * docs/gst/tmpl/gsttagsetter.sgml:
13849         * docs/gst/tmpl/gsttrace.sgml:
13850         * docs/gst/tmpl/gsttrashstack.sgml:
13851         * docs/gst/tmpl/gsttypefind.sgml:
13852         * docs/gst/tmpl/gsttypefindfactory.sgml:
13853         * docs/gst/tmpl/gsttypes.sgml:
13854         * docs/gst/tmpl/gsturihandler.sgml:
13855         * docs/gst/tmpl/gsturitype.sgml:
13856         * docs/gst/tmpl/gstutils.sgml:
13857         * docs/gst/tmpl/gstvalue.sgml:
13858         * docs/gst/tmpl/gstversion.sgml:
13859         * docs/gst/tmpl/gstxml.sgml:
13860         * docs/libs/tmpl/gstcontrol.sgml:
13861         * docs/libs/tmpl/gstdataprotocol.sgml:
13862         * docs/libs/tmpl/gstdparam.sgml:
13863         * docs/libs/tmpl/gstdplinint.sgml:
13864         * docs/libs/tmpl/gstdpman.sgml:
13865         * docs/libs/tmpl/gstdpsmooth.sgml:
13866         * docs/libs/tmpl/gstgetbits.sgml:
13867         * docs/libs/tmpl/gstunitconvert.sgml:
13868         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13869         (gst_push_src_base_init), (gst_push_src_class_init),
13870         (gst_push_src_init), (gst_push_src_create):
13871         * gst/base/gstpushsrc.h:
13872         * gst/elements/gstelements.c:
13873         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13874         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13875         (gst_fake_sink_init), (gst_fake_sink_set_property),
13876         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13877         (gst_fake_sink_event), (gst_fake_sink_preroll),
13878         (gst_fake_sink_render), (gst_fake_sink_change_state):
13879         * gst/elements/gstfakesink.h:
13880         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13881         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13882         (gst_fake_src_base_init), (gst_fake_src_class_init),
13883         (gst_fake_src_init), (gst_fake_src_event_handler),
13884         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13885         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13886         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13887         (gst_fake_src_create_buffer), (gst_fake_src_create),
13888         (gst_fake_src_start), (gst_fake_src_stop):
13889         * gst/elements/gstfakesrc.h:
13890         * gst/elements/gstfilesink.c: (_do_init),
13891         (gst_file_sink_base_init), (gst_file_sink_class_init),
13892         (gst_file_sink_init), (gst_file_sink_dispose),
13893         (gst_file_sink_set_location), (gst_file_sink_set_property),
13894         (gst_file_sink_get_property), (gst_file_sink_open_file),
13895         (gst_file_sink_close_file), (gst_file_sink_query),
13896         (gst_file_sink_event), (gst_file_sink_render),
13897         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13898         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13899         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13900         * gst/elements/gstfilesink.h:
13901         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13902         (gst_file_src_class_init), (gst_file_src_init),
13903         (gst_file_src_finalize), (gst_file_src_set_location),
13904         (gst_file_src_set_property), (gst_file_src_get_property),
13905         (gst_file_src_map_region), (gst_file_src_map_small_region),
13906         (gst_file_src_create_mmap), (gst_file_src_create_read),
13907         (gst_file_src_create), (gst_file_src_is_seekable),
13908         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13909         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13910         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13911         (gst_file_src_uri_handler_init):
13912         * gst/elements/gstfilesrc.h:
13913           more autistic cleanliness in functions/names/defines
13915 2005-07-13  Andy Wingo  <wingo@pobox.com>
13917         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13918         source couldn't negotiate.
13920         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13921         connections again.
13923         * gst/gstutils.h:
13924         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13925         function. I am channeling Hades. Put your boots on suckers!!!
13927 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13929         * testsuite/caps/Makefile.am:
13930         * testsuite/caps/value_compare.c:
13931         * testsuite/caps/value_intersect.c:
13932         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13933           move two testsuite apps over to the check dir
13935 2005-07-12  Wim Taymans  <wim@fluendo.com>
13937         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13938         Added more debug info in the negotiate process.
13940         * gst/gstmessage.h:
13941         Prepare for segment playback.
13943         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13944         Better debugging.
13946         * gst/gstutils.c:
13947         Some more docs.
13949         * tools/gst-launch.c: (main):
13950         NULL pipeline on errors.
13952 2005-07-12  Andy Wingo  <wingo@pobox.com>
13954         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13955         not it comes from a malloc region. Make sure our copy gets freed.
13957 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13959         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13960         * check/gst/gstmessage.c: (GST_START_TEST):
13961         * check/gst/gststructure.c: (GST_START_TEST),
13962         (gst_structure_suite), (main):
13963           more testing
13964         * gst/gstelement.c: (gst_element_message_full):
13965           clean up GError and debug string now that they get copied
13966         * gst/gstmessage.c: (gst_message_new_error),
13967         (gst_message_new_warning), (gst_message_parse_error),
13968         (gst_message_parse_warning):
13969           use GST_TYPE_G_ERROR for structure_new, and take copies of
13970           arguments, so that we don't mess up refcounting
13972 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13974         * check/Makefile.am:
13975           add per-test valgrind targets
13976         * check/gst-libs/gdp.c: (GST_START_TEST),
13977         (gst_data_protocol_suite), (main):
13978           clean up
13980 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13982         * check/Makefile.am:
13983           instate more valgrindable tests
13984         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13985         (GST_START_TEST), (fakesrc_suite):
13986         * check/gst/gstpad.c: (GST_START_TEST):
13987         * check/gst/gststructure.c: (GST_START_TEST):
13988           fix test leaks
13989         * docs/gst/tmpl/gstminiobject.sgml:
13990         * gst/gstpad.c: (gst_pad_finalize):
13991           fix the static mutex leak
13993 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13995         * check/Makefile.am:
13996           add two more tests for valgrinding
13997         * check/gst/gstvalue.c: (GST_START_TEST):
13998           test refcount of deserialized buffer, found a leak
13999         * docs/gst/gstreamer-docs.sgml:
14000         * docs/gst/gstreamer-sections.txt:
14001         * docs/gst/gstreamer.types:
14002         * docs/gst/tmpl/gstminiobject.sgml:
14003           add miniobject to docs
14004         * gst/gstminiobject.c:
14005           add some docs
14006         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14007         (gst_string_unwrap):
14008           fix a hard-to-find invalid write for one of the tests
14009           fix a leak for deserialized buffers
14011 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14013         * docs/pwg/advanced-events.xml:
14014         * docs/pwg/advanced-request.xml:
14015         * docs/pwg/advanced-scheduling.xml:
14016         * docs/pwg/appendix-porting.xml:
14017         * docs/pwg/building-boiler.xml:
14018         * docs/pwg/intro-preface.xml:
14019         * docs/pwg/other-ntoone.xml:
14020           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14021           of example code and explanation for pad activation, loop() and
14022           getrange() functions and a bit more. Remove old comments pointing
14023           to loop-functions.
14024         * examples/pwg/Makefile.am:
14025           Add loop/getrange examples.
14027 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14029         * configure.ac:
14030           check for valgrind binary + some fixes
14031         * check/gst.supp:
14032           valgrind suppressions for the tests
14033         * check/Makefile.am:
14034           add a valgrind: target that valgrinds the unit tests
14035         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14036         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14037         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14038         * check/gst/gstghostpad.c:
14039           added some cleanup
14040         * check/gst/gstdata.c:
14041           removed
14042         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14043         (thread_unref), (gst_mini_object_suite), (main):
14044           added
14045         * gst/gst.c: (gst_deinit):
14046         * gst/gst.h:
14047           add a method to clean up.
14048         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14049         (gst_system_clock_obtain):
14050           allow for disposing the system clock.
14051         * tools/gst-launch.c: (main):
14052           deinit
14054 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14056         * docs/gst/tmpl/gstbasesrc.sgml:
14057         * docs/gst/tmpl/gstfakesrc.sgml:
14058         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14059         (gst_base_src_init), (gst_base_src_set_property),
14060         (gst_base_src_get_property), (gst_base_src_get_range),
14061         (gst_base_src_start):
14062         * gst/base/gstbasesrc.h:
14063           add num-buffers property
14064         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14065         (gst_fakesrc_init), (gst_fakesrc_set_property),
14066         (gst_fakesrc_get_property), (gst_fakesrc_create),
14067         (gst_fakesrc_start):
14068           remove num-buffers property
14070 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14072         * docs/gst/gstreamer-sections.txt:
14073         * docs/gst/tmpl/gstbasesink.sgml:
14074         * docs/gst/tmpl/gstbasesrc.sgml:
14075         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14076         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14077         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14078         (gst_base_sink_set_property), (gst_base_sink_get_property),
14079         (gst_base_sink_handle_object), (gst_base_sink_event),
14080         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14081         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14082         (gst_base_sink_loop), (gst_base_sink_deactivate),
14083         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14084         (gst_base_sink_change_state):
14085         * gst/base/gstbasesink.h:
14086         * gst/base/gstbasesrc.h:
14087         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14088         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14089         (gst_filesink_init):
14090           more macro splitting
14092 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14094         * gst/gstelement.c: (gst_element_get_bus):
14095           add debug
14096         * tools/gst-launch.c: (check_intr), (event_loop):
14097           fix bus leaks
14099 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14101         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14102           fix a caps leak
14104 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14106         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14107         (gst_base_src_finalize):
14108           add finalize method and clean up properly
14109         * gst/gstpipeline.c: (gst_pipeline_dispose):
14110           add debug
14112 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14114         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14115         (gst_bin_suite):
14116           add more things to check
14117         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14118         * gst/gstelement.c:
14119           more debug
14121 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14123         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14124         (GST_START_TEST), (fakesrc_suite):
14125         * check/gst-libs/gdp.c: (GST_START_TEST):
14126         * check/gst/gst.c: (GST_START_TEST):
14127         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14128         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14129         * check/gst/gstbus.c: (GST_START_TEST):
14130         * check/gst/gstcaps.c: (GST_START_TEST):
14131         * check/gst/gstdata.c: (GST_START_TEST):
14132         * check/gst/gstelement.c: (GST_START_TEST):
14133         * check/gst/gstghostpad.c: (GST_START_TEST):
14134         * check/gst/gstiterator.c: (GST_START_TEST):
14135         * check/gst/gstmessage.c: (GST_START_TEST):
14136         * check/gst/gstobject.c: (GST_START_TEST):
14137         * check/gst/gstpad.c: (GST_START_TEST):
14138         * check/gst/gststructure.c: (GST_START_TEST):
14139         * check/gst/gstsystemclock.c: (GST_START_TEST),
14140         (gst_systemclock_suite):
14141         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14142         * check/gst/gstvalue.c: (GST_START_TEST):
14143         * check/pipelines/cleanup.c: (GST_START_TEST):
14144         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14145         * check/states/sinks.c: (GST_START_TEST):
14146         * check/gstcheck.c: (gst_check_init):
14147         * check/gstcheck.h:
14148           add debugging category
14149           use GST_START_TEST now, so we add a debug line
14151 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14153         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14154           add test for state change message on a bin
14155         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14156           add another test
14157         * gst/gstbin.c: (gst_bin_init):
14158         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14159         * gst/gstelement.c: (gst_element_post_message),
14160         (gst_element_set_state):
14161         * gst/gstelementfactory.c: (gst_element_factory_create):
14162         * gst/gstmessage.c: (gst_message_new):
14163         * gst/gstscheduler.c:
14164           various debugging additions and cleanups
14166 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14168         * check/Makefile.am:
14169         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14170         (main):
14171           adding tests for elements
14172         * gst/gstelement.c: (gst_element_dispose):
14174 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14176         * gst/registries/gstlibxmlregistry.c: (load_feature):
14177           plug more leaks.  A simple gst_init() now is leakfree, yay.
14179 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14181         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14182         (gst_xml_registry_load):
14183           plug another memleak
14185 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14187         * configure.ac:
14188           use GST_SET_ERROR_CFLAGS
14189         * docs/faq/cvs.xml:
14190           change to ERROR_CFLAGS
14192 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14194         * configure.ac:
14195           make GST_ERROR_CFLAGS overridable and re-enable Werror
14196         * docs/faq/cvs.xml:
14197           add a note about error CFLAGS
14198         * docs/gst/tmpl/gstfakesrc.sgml:
14199         * gst/elements/gstfakesrc.c:
14200           comment out some unused code
14201         * gst/gst.c: (split_and_iterate):
14202         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14203         (load_feature):
14204           plug some memleaks
14206 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14208         * common/Makefile.am:
14209         * common/gtk-doc.mak:
14210         * docs/gst/Makefile.am:
14211           factor out gtk-doc.mak
14213 2005-07-07  Wim Taymans  <wim@fluendo.com>
14215         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14216         (gst_thread_scheduler_dispose):
14217         Unlock the STREAM_LOCK completely.
14219 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14221         * check/Makefile.am:
14222         * check/elements/.cvsignore:
14223         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14224         (START_TEST), (fakesrc_suite), (main):
14225         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14226         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14227         (gst_fakesrc_create), (gst_fakesrc_start):
14228         * gst/elements/gstfakesrc.h:
14229           adding a first element test
14231 2005-07-07  Andy Wingo  <wingo@pobox.com>
14233         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14234         debug message.
14236 2005-07-07  Wim Taymans  <wim@fluendo.com>
14238         * gst/gstquery.c:
14239         * gst/gstquery.h:
14240         Remove old types
14242 2005-07-07  Wim Taymans  <wim@fluendo.com>
14244         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14245         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14246         Allow subclasses to implement their own negotiation.
14248 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14250         * docs/design/part-gstbin.txt:
14251         * docs/design/part-gstpipeline.txt:
14252           Update design notes to reflect the movement of
14253           responsibility for bus handling from GstPipeline to
14254           GstBin
14256 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14258         * configure.ac:
14259           Remove unnecessary queue2/3/4 examples.
14261 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14263         * examples/Makefile.am:
14264         * examples/helloworld/helloworld.c: (event_loop), (main):
14265         * examples/queue/queue.c: (event_loop), (main):
14266         * examples/queue2/queue2.c: (main):
14267           Update a couple of the examples to work again.
14269         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14270         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14271          Spelling corrections and extra debug.
14272         
14273         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14274         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14275         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14276         * gst/gstbin.h:
14277         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14278         (gst_pipeline_change_state):
14279         * gst/gstpipeline.h:
14280           Move the bus handler for children to the GstBin, and create a
14281           separate bus for receiving messages from children to the one the
14282           bus sends 'upwards' on.
14284 2005-07-06  Wim Taymans  <wim@fluendo.com>
14286         * gst/base/README:
14287         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14288         (gst_base_sink_handle_object), (gst_base_sink_loop),
14289         (gst_base_sink_change_state):
14290         * gst/base/gstbasesink.h:
14291         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14292         (gst_base_src_init), (gst_base_src_setcaps),
14293         (gst_base_src_getcaps), (gst_base_src_loop),
14294         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14295         (gst_base_src_start), (gst_base_src_change_state):
14296         * gst/base/gstbasesrc.h:
14297         Make basesrc negotiate.
14298         Handle the case where preroll fails in basesink.
14299         Update README.
14301 2005-07-06  Wim Taymans  <wim@fluendo.com>
14303         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14304         Implement the fixate function.
14305         Clean up acceptcaps.
14307 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14309         * docs/pwg/building-filterfactory.xml:
14310         * docs/pwg/pwg.xml:
14311           Remove never-written filter-factory chapter; I'll add the various
14312           base classes to part 4 ("other element types") later on.
14314 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14316         * docs/pwg/advanced-negotiation.xml:
14317         * docs/pwg/building-boiler.xml:
14318         * docs/pwg/building-pads.xml:
14319         * docs/pwg/pwg.xml:
14320         * examples/pwg/Makefile.am:
14321           Add a chapter on caps negotiation, simplify the original code
14322           samples a bit w.r.t. caps negotiation, add link to the advanced
14323           section. Add a bunch of examples showing different use cases of
14324           different types of caps negotiation. Upstream renegotiation isn't
14325           fully documented yet since nobody knows how that works.
14327 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14329         * check/gst/gstpad.c:
14330         * check/gstcheck.c:
14331         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14332           if pad has no parent, return NULL as list of internal links
14334 2005-07-05  Andy Wingo  <wingo@pobox.com>
14336         * gst/elements/gstfilesrc.c:
14337         * gst/elements/gstfakesrc.c: 
14338         * gst/base/gstpushsrc.c:
14339         * gst/base/gstbasesrc.h: 
14340         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14341         
14342 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14344         * Makefile.am:
14345           better report generation target (lcov needs a patch)
14347 2005-07-05  Andy Wingo  <wingo@pobox.com>
14349         * gst/elements, testsuite: Null if we got it...
14351 2005-07-05  Wim Taymans  <wim@fluendo.com>
14353         * configure.ac:
14354         * libs/gst/dataprotocol/Makefile.am:
14355         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14356         * libs/gst/dataprotocol/dataprotocol.h:
14357         * pkgconfig/Makefile.am:
14358         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14359         * pkgconfig/gstreamer-dataprotocol.pc.in:
14360         Ported dataprotol to 0.9. 
14361         Added pkgconfig files.
14363 2005-07-05  Andy Wingo  <wingo@pobox.com>
14365         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14366         Default to returning TRUE for the case when tranform_caps returns
14367         a fixed caps, like for identity or volume.
14369         * check/gst/gstbus.c (pound_bus_with_messages): 
14370         * check/gst/gstmessage.c (START_TEST): 
14371         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14372         message API change.
14374         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14375         logic weaks here: always run transform_caps, trying passthrough
14376         operation only if the original caps intersects with the transform.
14378         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14379         source and sink caps.
14381         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14382         Intersect the peer caps with the pad template before going into
14383         transform_caps.
14384         (gst_base_transform_transform_caps): More debugging.
14386         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14387         src argument.
14389 2005-07-04  Edward Hervey  <edward@fluendo.com>
14391         * gst/gstutils.c:
14392         * gst/gstutils.h:
14393         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14394         in bindings.
14396 2005-07-04  Andy Wingo  <wingo@pobox.com>
14398         * check/gst/gstpad.c: Only set explicit caps on pads.
14400 2005-07-01  Andy Wingo  <wingo@pobox.com>
14402         * tests/network-clock.scm: Commentary update.
14404         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14405         Didn't really make sense, not implementable with basetransform,
14406         etc.
14407         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14408         attempt at implementing the sync property, needs an unlock method.
14410         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14411         New func, by default returns the same caps (the identity
14412         transformation).
14413         (gst_base_transform_getcaps): Uses transform_caps to return
14414         something sensible.
14415         (gst_base_transform_setcaps): Complicated logic to get caps on
14416         both pads, even if they are different, and to call set_caps once
14417         for every time both pads get their caps set.
14418         (gst_base_transform_handle_buffer): Give the ref to the transform
14419         function. Allows in-place modification of the buffer.
14421         * gst/base/gstbasetransform.h (transform_caps): New class method.
14422         Given caps on one side, what can I do on the other.
14423         (set_caps): Take two caps, one for each side of the element.
14425         * gst/gstpad.h:
14426         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14427         caps in place. This is safe because we can check the mutability of
14428         the caps, and a good idea because fixate functions are just called
14429         as a matter of last resort. (Not actually implemented.)
14430         (gst_pad_set_caps): If the caps we're setting is actually the same
14431         as the existing pad caps, just update the pointer without calling
14432         setcaps. Assert that caps is either NULL or fixed, as per the
14433         docs.
14435         * gst/gstghostpad.c: Update for fixate changes.
14437 2005-07-02  Andy Wingo  <wingo@pobox.com>
14439         * gst/gstcaps.c:
14440         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14441         two refcounts makes it immutable, which is enough. Doc more.
14443 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14445         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14446           Put the mini_object into GValue as a mini_object,
14447           not a gpointer, since that's how we declared
14448           the signal.
14450 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14452         * examples/pwg/Makefile.am:
14453           Fix buildbot again.
14455 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14457         * docs/pwg/building-testapp.xml:
14458           Add extra check.
14459         * examples/pwg/Makefile.am:
14460           Fix buildbot.
14462 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14464         * configure.ac:
14465         * examples/Makefile.am:
14466         * examples/pwg/Makefile.am:
14467         * examples/pwg/extract.pl:
14468           Enable building the PWG examples.
14469         * docs/pwg/advanced-interfaces.xml:
14470           Add URI interface stub.
14471         * docs/pwg/advanced-types.xml:
14472         * docs/pwg/other-autoplugger.xml:
14473         * docs/pwg/appendix-porting.xml:
14474         * docs/pwg/pwg.xml:
14475           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14476         * docs/pwg/building-boiler.xml:
14477         * docs/pwg/building-chainfn.xml:
14478         * docs/pwg/building-pads.xml:
14479         * docs/pwg/building-props.xml:
14480         * docs/pwg/building-state.xml:
14481         * docs/pwg/building-testapp.xml:
14482           Update the building-*.xml parts for 0.9 changes. All examples
14483           code blocks compile in examples/pwg/*.
14485 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14487         * docs/manual/advanced-autoplugging.xml:
14488         * docs/manual/appendix-checklist.xml:
14489         * docs/manual/appendix-integration.xml:
14490         * docs/manual/highlevel-components.xml:
14491           Fix playbin/decodebin examples, update docs a bit, mention bus
14492           instead of signals in various places, mention kmplayer and
14493           kaffeine since they have a working GStreamer backend in the KDE
14494           section.
14496 2005-06-30  Wim Taymans  <wim@fluendo.com>
14498         * CHANGES-0.9:
14499         * docs/design/draft-ghostpads.txt:
14500         * docs/design/draft-push-pull.txt:
14501         * docs/design/draft-query.txt:
14502         * docs/design/part-TODO.txt:
14503         * docs/design/part-query.txt:
14504         Added CHANGES-0.9 doc, updated status of other docs.
14505         
14506         * gst/gstquery.h:
14507         Remove "hmm" macro
14509 2005-06-30  Wim Taymans  <wim@fluendo.com>
14511         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14512         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14513         (gst_base_sink_change_state):
14514         * gst/base/gstbasesink.h:
14515         Some tweaks, only EOS and a buffer complete a preroll.
14517 2005-06-30  Andy Wingo  <wingo@pobox.com>
14519         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14520         activate_push down to the internal pad as well.
14522 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14524         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14526         * gst/gsttaginterface.c:
14527           Some documentation fixes (#307394 and #307397).
14529 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14531         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14533         * gst/gstvalue.c: (gst_value_intersect_list):
14534           Fix memleak (#309125).
14536 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14538         * docs/manual/advanced-dataaccess.xml:
14539           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14540         * docs/manual/basics-pads.xml:
14541           Add reference for filtered caps to above chapter.
14543 2005-06-30  Wim Taymans  <wim@fluendo.com>
14545         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14546         (gst_bin_change_state):
14547         Probes are gone.
14548         Lame attempt at making the state change function a bit
14549         more readable.
14551 2005-06-30  Wim Taymans  <wim@fluendo.com>
14553         * docs/design/part-clocks.txt:
14554         * docs/design/part-element-sink.txt:
14555         * docs/design/part-events.txt:
14556         * docs/design/part-preroll.txt:
14557         * docs/design/part-states.txt:
14558         Some more tweeks and additions to the docs.
14560 2005-06-30  Wim Taymans  <wim@fluendo.com>
14562         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14563         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14564         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14565         (gst_pad_check_pull_range), (gst_pad_get_range),
14566         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14567         * gst/gstpad.h:
14568         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14569         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14570         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14571         (gst_pad_remove_buffer_probe):
14572         Removed atomic operations, use existing LOCK.
14573         Move exception handling out of main code path.
14575 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14577         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14578         (silly_return_true_function), (gst_pad_class_init),
14579         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14580         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14581         (gst_pad_send_event):
14582           Fix accumulator, add default value by using _emitv() instead
14583           of _emit() for signal emission.
14585 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14587         * docs/manual/advanced-dataaccess.xml:
14588         * examples/manual/Makefile.am:
14589           Add probe example.
14590         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14591           Make work (??).
14593 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14595         * gst/elements/gstfilesink.c: (gst_filesink_render):
14596           Simplify code so that we don't have to handle short
14597           writes and return GST_FLOW_ERROR if an error occured.
14599 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14601         * docs/gst/gstreamer-docs.sgml:
14602           Remove probes more.
14604 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14606         * docs/gst/gstreamer-sections.txt:
14607         * docs/gst/tmpl/gstpad.sgml:
14608         * docs/gst/tmpl/gstprobe.sgml:
14609         * gst/Makefile.am:
14610         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14611         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14612         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14613         (gst_pad_push_event), (gst_pad_send_event):
14614         * gst/gstpad.h:
14615         * gst/gstutils.c: (gst_pad_add_data_probe),
14616         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14617         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14618         (gst_pad_remove_buffer_probe):
14619         * gst/gstutils.h:
14620           Remove old probes, add new g-signal-based probes and some utility
14621           functions.
14623 2005-06-29  Edward Hervey  <edward@fluendo.com>
14625         * gst/gstelementfactory.c:
14626         * gst/gstutils.h:
14627         * gst/gstutils.c:
14628         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14629         the definition to the header file.
14631 2005-06-29  Andy Wingo  <wingo@pobox.com>
14633         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14634         plugins from the source directory.
14636 2005-06-29  Wim Taymans  <wim@fluendo.com>
14638         * docs/gst/tmpl/gstbuffer.sgml:
14639         * docs/gst/tmpl/gstclock.sgml:
14640         Some fixings for blantently wrong text.
14642 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14644         * check/Makefile.am:
14645         * gst/gst.c: (add_path_func), (init_pre):
14646         * gst/gstregistry.c: (gst_registry_add_path):
14647           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14648           only scan the GST_PLUGIN_PATH locations, and not add
14649           system locations
14651 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14653         * docs/gst/gstreamer-sections.txt:
14654         * docs/gst/tmpl/gstbasesrc.sgml:
14655         * gst/gstelement.c:
14656         * gst/gstelement.h:
14657         * gst/gstevent.c:
14658         * gst/gstutils.c:
14659           doc fixes
14661 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14663         * docs/manual/advanced-autoplugging.xml:
14664           Fix autoplugging example.
14666 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14668         * docs/manual/advanced-autoplugging.xml:
14669         * docs/manual/mime-world.fig:
14670           Try to get autoplugging working, fix type detection. Fix text
14671           in hello-world image.
14673 2005-06-29  Wim Taymans  <wim@fluendo.com>
14675         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14676         (gst_base_sink_change_state):
14677         Small debug line.
14679         * gst/gstclock.h:
14680         map SIGNAL and BROADCAST to the right function.
14682         * gst/gstobject.h:
14683         Remove redundant braces.
14685         * gst/gstpad.c: (gst_pad_set_caps):
14686         Don't call setcaps function when reseting caps to NULL.
14688         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14689         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14690         (gst_system_clock_id_unschedule):
14691         Use BROADCAST as this is what we do.
14693 2005-06-29  Wim Taymans  <wim@fluendo.com>
14695         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14696         We are actually prerolling before commiting the state
14697         change. 
14699 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14701         * docs/manual/advanced-clocks.xml:
14702         * docs/manual/advanced-interfaces.xml:
14703         * docs/manual/advanced-metadata.xml:
14704         * docs/manual/advanced-position.xml:
14705         * docs/manual/advanced-schedulers.xml:
14706         * docs/manual/advanced-threads.xml:
14707         * docs/manual/appendix-porting.xml:
14708         * docs/manual/basics-bins.xml:
14709         * docs/manual/basics-bus.xml:
14710         * docs/manual/basics-elements.xml:
14711         * docs/manual/basics-helloworld.xml:
14712         * docs/manual/basics-pads.xml:
14713         * docs/manual/highlevel-components.xml:
14714         * docs/manual/manual.xml:
14715         * docs/manual/thread.fig:
14716           Update (until threads/scheduling) Application Development Manual;
14717           remove GstThread, add GstBus, add simple porting checklist, add
14718           documentation for tag writing, clocks, make all examples until this
14719           part compile and run.
14720         * examples/manual/Makefile.am:
14721           Update from changes to Application Development Manual; add bus
14722           example, remove thread example.
14724 2005-06-28  Wim Taymans  <wim@fluendo.com>
14726         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14727         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14728         (gst_bus_source_dispatch):
14729         Add debugging messages.
14730         Make internal methods static.
14731         Handle the case where the bus is flushed in the handler.
14732         
14733         * gst/gstelement.c: (gst_element_get_bus):
14734         Fix refcount in _get_bus();
14736         * gst/gstpipeline.c: (gst_pipeline_change_state),
14737         (gst_pipeline_get_clock_func):
14738         Clock refcounting fixes.
14739         Handle the case where preroll timed out more gracefully.
14740         
14741         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14742         Clean up the internal thread in dispose. This is needed
14743         for subclasses that actually get disposed.
14744         
14745         * gst/schedulers/threadscheduler.c:
14746         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14747         (gst_thread_scheduler_dispose):
14748         Free thread pool in dispose.
14750 2005-06-28  Andy Wingo  <wingo@pobox.com>
14752         * tests/network-clock-utils.scm (debug, print-event): New utils.
14754         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14755         (*packet-loss*): Unified loss probability.
14756         (network-time): Report out-of-band events.
14758         * tests/plot-data: Add support for out-of-band events. Hack it
14759         into this script instead of passing it down the pipe; should fix
14760         this later.
14762 2005-06-28  Wim Taymans  <wim@fluendo.com>
14764         * docs/gst/gstreamer.types:
14765         * docs/gst/tmpl/gstbasesrc.sgml:
14766         * docs/gst/tmpl/gstpad.sgml:
14767         Docs fixes.
14769 2005-06-28  Wim Taymans  <wim@fluendo.com>
14771         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14772         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14773         (gst_proxy_pad_do_fixatecaps):
14774         Correctly proxy the check_pull_range function.
14776 2005-06-28  Andy Wingo  <wingo@pobox.com>
14778         * tests/network-clock.scm: Removed need for slib.
14779         
14780 2005-06-28  Wim Taymans  <wim@fluendo.com>
14782         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14783         (gst_basesink_preroll_queue_flush):
14784         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14785         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14786         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14787         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14788         (gst_proxy_pad_set_property):
14789         * gst/gstpad.c:
14790         * gst/gstpad.h:
14791         * gst/gstqueue.c: (gst_queue_init):
14792         The deprecated pad loop function is removed now.
14794 2005-06-28  Andy Wingo  <wingo@pobox.com>
14796         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14797         New parameters, simulate network packet loss.
14799         * tests/network-clock-utils.scm: Initialize the RNG.
14801 2005-06-28  Wim Taymans  <wim@fluendo.com>
14803         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14804         (gst_basesink_event), (gst_basesink_deactivate):
14805         Flushing the preroll queue always needs to unlock the waiters.
14807 2005-06-28  Edward Hervey  <edward@fluendo.com>
14809         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14810         Wheen a seek was successful on a pipeline, set the stream_time to the
14811         seek offset in order to have a synchronized stream_time.
14813 2005-06-28  Wim Taymans  <wim@fluendo.com>
14815         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14816         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14817         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14818         (gst_proxy_pad_do_fixatecaps):
14819         Call wrapper function instead of just calling the function
14820         pointers. This takes care of any locking and whatmore.
14822 2005-06-28  Wim Taymans  <wim@fluendo.com>
14824         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14825         (gst_pad_pull_range):
14826         * gst/gstpad.h:
14827         CONNECTED -> LINKED.
14829 2005-06-28  Andy Wingo  <wingo@pobox.com>
14831         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14832         source-munging commit!!!
14834         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14835         (gst_object_sink): Take gpointer arguments, not GstObject --
14836         avoids casts. Like GLib.
14838         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14839         activate.
14841 2005-06-27  Andy Wingo  <wingo@pobox.com>
14843         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14844         remaining buffer.
14846         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14847         returns a sorted copy of the trace list.
14848         (gst_alloc_trace_print_live): New API, only prints traces with
14849         live objects. Sort the list.
14850         (gst_alloc_trace_print_all): Sort the list.
14851         (gst_alloc_trace_print): Align columns.
14853         * gst/elements/gstttypefindelement.c:
14854         * gst/elements/gsttee.c:
14855         * gst/base/gstbasesrc.c:
14856         * gst/base/gstbasesink.c:
14857         * gst/base/gstbasetransform.c:
14858         * gst/gstqueue.c: Adapt for pad activation changes.
14860         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14861         sched.
14862         (gst_pipeline_dispose): Drop ref on sched.
14864         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14865         (gst_pad_activate_default): Push mode by default.
14866         (pre_activate_switch, post_activate_switch): New stubs, things to
14867         do before and after switching activation modes on pads.
14868         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14869         the pad's activate function to choose which mode to activate.
14870         Shortcut on deactivation and call the right function directly.
14871         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14872         mode.
14873         (gst_pad_activate_push): New API, same for push mode.
14874         (gst_pad_set_activate_function) 
14875         (gst_pad_set_activatepull_function) 
14876         (gst_pad_set_activatepush_function): Setters for new API.
14878         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14879         Trace all miniobjects.
14880         (gst_mini_object_make_writable): Unref the arg if we copy, like
14881         gst_caps_make_writable.
14883         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14885         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14886         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14887         Adapt for new pad API.
14889         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14891         * gst/gstelement.h:
14892         * gst/gstelement.c (gst_element_iterate_src_pads) 
14893         (gst_element_iterate_sink_pads): New API functions.
14894         
14895         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14896         should fold into gstiterator.c in some form.
14897         (gst_element_pads_activate): Simplified via use of fold and
14898         delegation of decisions to gstpad->activate.
14900         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14901         help in debugging.
14903         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14904         class once in init, like gstmessage. Didn't run into this issue
14905         but it seems correct. Don't initialize a trace, gstminiobject does
14906         that.
14908         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14909         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14910         to the bus.
14911         (assert_live_count): New util function, uses alloc traces to check
14912         cleanup.
14914         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14915         To be modified when unlink drops the internal pad.
14917 2005-06-27  Wim Taymans  <wim@fluendo.com>
14919         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14920         (gst_bin_change_state):
14921         Cleanup the get_state() function a little, make sure it
14922         iterates the same set of elements.
14923         Added stub iterate_state_order().
14925 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14927         * docs/gst/gstreamer-docs.sgml:
14928         * docs/gst/gstreamer-sections.txt:
14929         * docs/gst/gstreamer.types:
14930         * docs/gst/tmpl/gstbasesink.sgml:
14931         * docs/gst/tmpl/gstbasesrc.sgml:
14932         * docs/gst/tmpl/gstbasetransform.sgml:
14933         * docs/gst/tmpl/gstelement.sgml:
14934         * docs/gst/tmpl/gstiterator.sgml:
14935         * gst/base/gstbasesrc.c:
14936         * gst/base/gstbasesrc.h:
14937         * gst/base/gstbasetransform.h:
14938         * gst/gstelement.c:
14939         * gst/gstiterator.h:
14940           adding basetransform and iterator docs
14942 2005-06-27  Andy Wingo  <wingo@pobox.com>
14944         * docs/design/part-activation.txt: Notes on how activation should
14945         work -- not quite implemented yet.
14947 2005-06-25  Wim Taymans  <wim@fluendo.com>
14949         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14950         At least get the chain function correct, needs more
14951         fixing.
14953 2005-06-25  Wim Taymans  <wim@fluendo.com>
14955         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14956         (gst_basesink_handle_object), (gst_basesink_event),
14957         (gst_basesink_do_sync), (gst_basesink_handle_event),
14958         (gst_basesink_change_state):
14959         * gst/gsttask.h:
14960         Right, two problems here: ghostpads don't take locks and
14961         glib _rec_mutex_lock_full() with depth==0 still locks.
14962         Catch illegal locking and g_warn them.
14964 2005-06-25  Wim Taymans  <wim@fluendo.com>
14966         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14967         Have to check for completion now...
14969 2005-06-25  Wim Taymans  <wim@fluendo.com>
14971         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14972         (gst_basesink_handle_object), (gst_basesink_event),
14973         (gst_basesink_do_sync), (gst_basesink_handle_event),
14974         (gst_basesink_change_state):
14975         * gst/gstpad.h:
14976         Unlock STREAM_LOCK whatever the recursion was.
14978 2005-06-25  Wim Taymans  <wim@fluendo.com>
14980         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14981         (gst_basesink_preroll_queue_empty),
14982         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14983         (gst_basesink_event), (gst_basesink_do_sync),
14984         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14985         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14986         (gst_basesink_change_state):
14987         Reworked the base sink, handle event and buffer serialisation
14988         correctly and removed possible deadlock.
14989         Handle EOS correctly.
14991 2005-06-25  Wim Taymans  <wim@fluendo.com>
14993         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14994         (gst_pipeline_change_state):
14995         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14996         Allow elements to post EOS in the state change function.
14997         Fix up -launch, make it exit the poll loop when the
14998         pipeline actually changed state.
14999         Fix up warning parsing in -launch.
15001 2005-06-25  Wim Taymans  <wim@fluendo.com>
15003         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15004         (gst_tee_sink_activate):
15005         Core takes STREAM_LOCK for us now.
15007 2005-06-25  Wim Taymans  <wim@fluendo.com>
15009         * gst/gstelement.c: (gst_element_get_state_func),
15010         (gst_element_set_state):
15011         * gst/gstelement.h:
15012         * gst/gstmessage.c: (gst_message_parse_error),
15013         (gst_message_parse_warning):
15014         Keep track of current target state while performing a state
15015         change so that subclasses can do something interesting.
15016         Fix parsing of warning/error messages when GError is NULL.
15018 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15020         * docs/gst/Makefile.am:
15021         * docs/gst/gstreamer-docs.sgml:
15022         * docs/gst/gstreamer-sections.txt:
15023         * docs/gst/gstreamer.types:
15024         * docs/gst/tmpl/gstbasesink.sgml:
15025         * docs/gst/tmpl/gstbasesrc.sgml:
15026         * docs/gst/tmpl/gstbin.sgml:
15027         * docs/gst/tmpl/gstcompat.sgml:
15028         * docs/gst/tmpl/gstfakesink.sgml:
15029         * docs/gst/tmpl/gstfakesrc.sgml:
15030         * docs/gst/tmpl/gstfilesink.sgml:
15031         * docs/gst/tmpl/gstfilesrc.sgml:
15032         * docs/gst/tmpl/gstindex.sgml:
15033         * docs/manual/appendix-quotes.xml:
15034         * gst/base/gstbasesrc.h:
15035         * gst/elements/gstfakesrc.h:
15036         * gst/gstmessage.h:
15037           start pulling in base classes and elements in our docs
15039 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15041         * docs/gst/Makefile.am:
15042         * docs/libs/Makefile.am:
15043           fixed make distcheck with gtk-doc 1.3
15045 2005-06-23  Wim Taymans  <wim@fluendo.com>
15047         * gst/gstelement.c: (gst_element_get_state_func),
15048         (gst_element_set_state), (gst_element_change_state):
15049         When the state did not change, also report NO_PREROLL
15050         when it matters.
15052 2005-06-23  Wim Taymans  <wim@fluendo.com>
15054         * gst/gstpad.c: (gst_pad_event_default):
15055         * gst/gstqueue.c: (gst_queue_loop):
15056         No unsafe task pausing please.
15058 2005-06-23  Wim Taymans  <wim@fluendo.com>
15060         * gst/schedulers/threadscheduler.c:
15061         (gst_thread_scheduler_task_start),
15062         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15063         Ref the task before pushing it on the threadpool. This
15064         makes sure that we have a ref when the threadfunction is
15065         actually called.
15067 2005-06-23  Andy Wingo  <wingo@pobox.com>
15069         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15070         offset is greater than the file's size.
15072         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15073         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15074         * gst/gstobject.c (gst_object_class_init): Make the class lock
15075         recursive. Wim won't let me drop deep_notify. Decodebin works
15076         again, whoopdy doo.
15078         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15079         internal pad, and hacks accordingly. Doesn't do it on the target
15080         pad because we change its caps. Probably catches all cases of
15081         interest tho.
15082         (gst_ghost_pad_set_property): Connect to notify::caps as
15083         appropritate.
15085         * tests/network-clock.scm (plot-simulation): Pipe data to the
15086         elite python skript.
15088         * tests/network-clock-utils.scm (define-parameter): New macro,
15089         defines a parameter that can be set via the command line.
15090         (set-parameter!, parse-parameter-arguments): Command line args
15091         parser.
15093         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15094         stdin.
15096 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15098         * gst/elements/gsttypefindelement.c:
15099         (gst_type_find_element_handle_event):
15100           Don't restart typefinding on a discont.
15101         * gst/gstelement.c: (gst_element_set_state):
15102           Debug spelling fix.
15103         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15104           Allow changing mode of an active pad.
15105           Debug output fixes.
15106         * gst/registries/gstlibxmlregistry.c: (load_feature):
15107           Don't cast a static pad template to a normal pad template.
15109 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15111         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15112         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15113           remove gst_strtoll completely, since it didn't actually do
15114           anything more than what g_ascii_strtoull already does.
15115           check for range errors when deserializing
15116           do a cast for the unsigned cases; but further fixing needs
15117           a decision on what the interpretation of "(int)" and
15118           deserialization should be for values that fall outside the
15119           type's boundaries (ie, refuse, or interpret as casting)
15121 2005-06-23  Wim Taymans  <wim@fluendo.com>
15123         * check/Makefile.am:
15124         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15125         * docs/design/part-live-source.txt:
15126         * docs/design/part-states.txt:
15127         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15128         (gst_basesrc_set_live), (gst_basesrc_is_live),
15129         (gst_basesrc_get_range), (gst_basesrc_activate),
15130         (gst_basesrc_change_state):
15131         * gst/base/gstbasesrc.h:
15132         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15133         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15134         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15135         * gst/gstelement.c: (gst_element_get_state_func),
15136         (gst_element_set_state):
15137         * gst/gstelement.h:
15138         * gst/gsttypes.h:
15139         * tools/gst-launch.c: (event_loop), (main):
15140         Added support for live sources and other elements that
15141         cannot do preroll.
15142         Updated design docs, added live-source design doc.
15143         Implemented live source functionality in basesrc
15144         Fix error condition in _bin_get_state()
15145         Implement live source handling in -launch.
15146         Added check for live sources.
15147         Fixed case in GstBin where elements were changed state
15148         multiple times.
15151 2005-06-23  Andy Wingo  <wingo@pobox.com>
15153         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15154         borken refcounting.
15156         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15157         gst_caps_replace takes care of this for us.
15159         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15160         gst_pad_set_caps on the target, not just its setcaps() function.
15162         * tests/network-clock.scm: 
15163         * tests/network-clock-utils.scm: A network clock simulator.
15164         Something of an algorithmic testbed before doing something in C.
15166 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15168         * check/Makefile.am:
15169         * check/gst/capslist.h:
15170           copy over from 0.8, and add two with bitmasks specified with
15171           (int) 0xFF...
15172         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15173           add test to parse everything from capslist.h
15174         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15175         (main):
15176           add test for structure deserialization
15177         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15178           add tests for deserialization of strings to int types
15179         * gst/gststructure.c: (gst_structure_nth_field_name):
15180         * gst/gststructure.h:
15181           add a way to get the name of a field referenced by index
15182         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15183           instead of checking if the resulting long long lies between
15184           min and max, we check if the long long would fit into
15185           a number of bytes for the final type.
15186           This fixes cases where a string represents 2^32 - 1, which
15187           when cast to int would be the (valid) -1, but is bigger than
15188           G_MAXINT
15190 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15192         * gst/parse/grammar.y:
15193           add a log line for type deserialization
15195 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15197         * check/gst/gstvalue.c: (START_TEST):
15198         * gst/gstvalue.c: (gst_value_deserialize):
15199           return long long, not int, so gint64 deserialization actually
15200           works.  Is there any flag that makes the compiler check this ?
15201           Fixes #308559
15203 2005-06-22  Wim Taymans  <wim@fluendo.com>
15205         * gst/gstbuffer.h:
15206         Added convenience macros for setting buffers in GValue.
15208 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15210         * check/gst/.cvsignore:
15211         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15212           add a test deserializing int64, and comment part out because
15213           it fails, yay !
15215 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15217         * check/Makefile.am:
15218         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15219         * testsuite/Makefile.am:
15220         * testsuite/caps/Makefile.am:
15221         * testsuite/caps/value_serialize.c:
15222         * testsuite/test_gst_init.c:
15223           move a value_serialize test over
15225 2005-06-20  Wim Taymans  <wim@fluendo.com>
15227         * gst/gstpad.c:
15228         Small doc updates.
15229         
15230         * gst/gstvalue.c: (gst_value_compare_buffer),
15231         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15232         (gst_value_compare_flags), (gst_value_serialize_flags),
15233         (gst_value_deserialize_flags), (_gst_value_initialize):
15234         Fix serialisation of buffers, they are not boxed types anymore
15236 2005-06-20  Wim Taymans  <wim@fluendo.com>
15238         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15239         Testcase to show error in buffer-on-caps serialisation.
15241 2005-06-20  Andy Wingo  <wingo@pobox.com>
15243         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15244         will be adding to later.
15246         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15247         if its socks fill with rocks.
15248         (gst_system_clock_obtain): Set the name on object construction.
15249         Avoid double-checked locking.
15251 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15253         * gst/gsturi.c: (gst_element_make_from_uri):
15254           Fix potential endless loop.
15256 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15258         * check/Makefile.am:
15259           add gsttag
15260         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15261         (main):
15262           move over from testsuite dir and clean up
15263         * configure.ac:
15264         * gst/gsttag.c:
15265         * testsuite/Makefile.am:
15266         * testsuite/tags/.cvsignore:
15267         * testsuite/tags/Makefile.am:
15268         * testsuite/tags/merge.c:
15269           remove testsuite/tags
15271 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15273         * docs/gst/gstreamer-sections.txt:
15274         * docs/gst/tmpl/gstenumtypes.sgml:
15275         * win32/gstenumtypes.c:
15276           clean up documentation build a little
15278 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15280         * check/gstcheck.h:
15281           add macros for checking refcounts on objects and caps
15282         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15283           add some more unit tests
15284         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15285         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15286           fix leaked refcounts (I hope :)) so unittest works
15287         * gst/gstpad.h:
15288           whitespace removal
15290 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15292         * configure.ac: back to HEAD
15294 === release 0.9.1 ===
15296 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15298         * NEWS:
15299         * RELEASE:
15300           updated
15302 2005-06-17  Andy Wingo  <wingo@pobox.com>
15304         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15305         assert; it's always possible that the pad gets deactivated in
15306         between the checks in gstpad.c and the implementation. Rely on
15307         finish_preroll() to return a FLUSHING or similar instead of on the
15308         assert.
15309         
15310         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15311         clock and post an EOS message if we come out of finish_preroll in
15312         the playing state.
15314 2005-06-16  David Schleef  <ds@schleef.org>
15316         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15317         (gst_capsfilter_set_property): Allow NULL as possible value
15318         for filter_caps property, indicating GST_CAPS_ANY.
15320 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15322         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15323           fix debug output
15324         * gst/schedulers/Makefile.am:
15325           use libgst prefix
15326         * gstreamer.spec.in:
15327           fix spec for it
15329 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15331         * gstreamer.spec.in:
15332           clean up
15334 2005-06-08  Andy Wingo  <wingo@pobox.com>
15336         * gst/gstutils.c: RPAD fixes all around.
15337         (gst_element_link_pads): Refcounting fixes.
15339         * tools/gst-inspect.c:
15340         * tools/gst-xmlinspect.c:
15341         * parse/grammar.y:
15342         * gst/base/gsttypefindhelper.c:
15343         * gst/base/gstbasesink.c:
15344         * gst/gstqueue.c: RPAD fixes.
15346         * gst/gstghostpad.h:
15347         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15348         pads. The tricky thing is they provide both source and sink
15349         interfaces, since they proxy the internal pad for the external
15350         pad, and vice versa. Implement with lower-level ProxyPad objects,
15351         with the interior proxy pad as a child of the exterior ghost pad.
15352         Should write a doc on this.
15353         
15354         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15355         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15356         gst_object API.
15357         
15358         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15359         pads are real pads. No ghost pads in this file. Not documenting
15360         the myriad s/RPAD/PAD/ and REALIZE fixes.
15361         (gst_pad_class_init): Add properties for "direction" and
15362         "template". Both are construct-only, so they can't change during
15363         the life of the pad. Fixes properly deriving from GstPad.
15364         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15365         derived objects, just set properties when creating the objects via
15366         g_object_new.
15367         (gst_pad_get_parent): Implement as a function, return NULL if the
15368         parent is not an element.
15369         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15370         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15371         
15372         * gst/gstobject.c (gst_object_class_init): Make name a construct
15373         property. Don't set it in the object init.
15375         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15376         with UNKNOWN direction.
15377         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15378         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15379         (gst_element_remove_pad): Remove ghost-pad special cases.
15380         (gst_element_pads_activate): Remove rpad cruft.
15382         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15383         catch the pad's-parent-not-an-element case.
15385         * gst/gst.h: Include gstghostpad.h.
15387         * gst/gst.c (init_post): No more real, ghost pads.
15389         * gst/Makefile.am: Add gstghostpad.[ch].
15391         * check/Makefile.am:
15392         * check/gst/gstbin.c:
15393         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15394         into a bin creates ghost pads, and that the refcounts are right.
15395         Partly moved from gstbin.c.
15397 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15399         * check/gst-libs/.cvsignore:
15400         * check/gst/.cvsignore:
15401         * check/pipelines/.cvsignore:
15402           ignore more
15403         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15404         (START_TEST), (cleanup_suite), (main):
15405           add some tests related to cleanup after running pipelines
15407 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15409         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15410           add a testsuite for GstBuffer
15412 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15414         * gst/gstminiobject.h:
15415           add defines for accessing the refcount
15417 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15419         * Makefile.am: added support for html unit test coverage reports
15421 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15423         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15424           Free existing caps if the capsfilter changes. Add a FIXME about
15425           setting those caps on the pads.
15427         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15428           Before adding a ghost pad to a parent bin, check that there isn't
15429           already one for the element on the bin. Prevents infinite recursion
15430           when using decodebin in parse pipelines. Andy says he'll rewrite the
15431           way this works anyway, so ignore the hack.
15433 2005-06-02  Andy Wingo  <wingo@pobox.com>
15435         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15436         file size, pass it on to the type find helper.
15438         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15439         segment_start and segment_end properly according to the seek
15440         method. Segment_end is still a bit flaky because offset can be
15441         negative for CUR and END cases, but it takes -1 as an "unset"
15442         value.
15444 2005-06-02  Wim Taymans  <wim@fluendo.com>
15446         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15447         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15448         (gst_basesink_activate):
15449         * gst/base/gstbasesink.h:
15450         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15451         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15452         (gst_pad_query), (gst_pad_start_task):
15453         * gst/gstpad.h:
15454         * gst/gstqueue.c: (gst_queue_bufferalloc),
15455         (gst_queue_handle_sink_event), (gst_queue_chain):
15456         Bufferalloc: return GstFlowReturn to more accuratly report
15457         why allocation failed.
15459 2005-06-02  Wim Taymans  <wim@fluendo.com>
15461         * gst/gstpipeline.c: (gst_pipeline_send_event):
15462         Take snapshot of state without blocking.
15464 2005-06-02  Wim Taymans  <wim@fluendo.com>
15466         * docs/design/part-TODO.txt:
15467         * docs/design/part-caps.txt:
15468         * docs/design/part-clocks.txt:
15469         * docs/design/part-negotiation.txt:
15470         * docs/design/part-preroll.txt:
15471         Small doc updates 
15473 2005-05-30  Wim Taymans  <wim@fluendo.com>
15475         * gst/elements/gstidentity.c: (gst_identity_event),
15476         (gst_identity_transform), (gst_identity_get_property):
15477         Protect last_message property as it is accessed from
15478         multiple threads.
15480 2005-05-30  Wim Taymans  <wim@fluendo.com>
15482         * gst/gstelement.c: (gst_element_init),
15483         (gst_element_pads_activate), (gst_element_change_state):
15484         Slicker pad activation code.
15486 2005-05-30  Wim Taymans  <wim@fluendo.com>
15488         * gst/Makefile.am:
15489         * gst/gstelement.h:
15490         * gst/gstelementfactory.h:
15491         * gst/gsttypes.h:
15492         Move elementfactory methods to separate .h file.
15494 2005-05-30  Wim Taymans  <wim@fluendo.com>
15496         * docs/design/part-overview.txt:
15497         * gst/gstsystemclock.h:
15498         Small typo fixes, doc updates.
15500 2005-05-30  Wim Taymans  <wim@fluendo.com>
15502         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15503         (init_popt_callback):
15504         Remove cpu-opt flag.
15506 2005-05-30  Wim Taymans  <wim@fluendo.com>
15508         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15509         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15510         * gst/gstbuffer.h:
15511         Avoid typechecking in places where not needed.
15512         Added accessor for malloc_data.
15514 2005-05-30  Wim Taymans  <wim@fluendo.com>
15516         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15517         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15518         (gst_pad_configure_sink), (gst_pad_configure_src),
15519         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15520         (gst_pad_start_task):
15521         Propagate errors from _set_caps() in configure_src/sink
15522         functions instead of returning TRUE.
15523         FLUSH events can travel up and downstream
15526 2005-05-30  Wim Taymans  <wim@fluendo.com>
15528         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15529         (gst_basesink_activate):
15530         Handle EOS in preroll.
15532 2005-05-30  Wim Taymans  <wim@fluendo.com>
15534         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15535         (gst_queue_loop), (gst_queue_handle_src_event):
15536         Remove old pieces of code
15537         Flushing the queue in an upstream event is a very bad idea.
15539 2005-05-26  Andy Wingo  <wingo@pobox.com>
15541         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15542         gst_value_set_mini_object so as to add a ref on the object (which
15543         will be removed when the value is unset).
15545         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15546         arg type in ::handoff.
15548         * gst/gstelement.c (gst_element_change_state): Also deactivate
15549         pads in READY->NULL, just in case the element didn't make it to
15550         PAUSED. Wingo tested, Wim approved.
15552 2005-05-26  Wim Taymans  <wim@fluendo.com>
15554         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15555         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15556         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15557         A flushing pad cannot be used to alloc_buffer from.
15559 2005-05-26  Wim Taymans  <wim@fluendo.com>
15561         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15562         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15563         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15564         (gst_bus_create_watch), (gst_bus_add_watch_full):
15565         * gst/gstbus.h:
15566         Implement a real GSource and use g_main_context_wakeup() to
15567         signal new messages instead of the socketpair.
15569 2005-05-25  Wim Taymans  <wim@fluendo.com>
15571         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15572         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15573         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15574         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15575         (gst_pad_send_event), (gst_pad_start_task):
15576         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15577         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15578         (gst_queue_sink_activate), (gst_queue_src_activate),
15579         (gst_queue_change_state):
15580         * gst/gstqueue.h:
15581         Fix state changes for non sinks. We now change sinks, then elements
15582         with unconnected srcpads, then the rest.
15583         More efficient queue unlocking in flush and state changes.
15584         Set the pad activate mode even if it does not have an activate
15585         function.
15587 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15589         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15590           Don't go in pull mode for non-seekable sources.
15591         * gst/elements/gsttypefindelement.h:
15592         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15593         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15594         (free_entry), (stop_typefinding),
15595         (gst_type_find_element_handle_event), (find_peek),
15596         (gst_type_find_element_chain), (do_pull_typefind),
15597         (gst_type_find_element_change_state):
15598           Allow typefinding (w/o seeking) in push-mode, simplified version
15599           of what was in 0.8.
15600         * gst/gstutils.c: (gst_buffer_join):
15601         * gst/gstutils.h:
15602           gst_buffer_join() from 0.8.
15604 2005-05-25  Wim Taymans  <wim@fluendo.com>
15606         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15607         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15608         (gst_pad_send_event), (gst_pad_start_task):
15609         Disable attempt at mode switching until it is figured out.
15611 2005-05-25  Wim Taymans  <wim@fluendo.com>
15613         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15614         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15615         (gst_basesink_finish_preroll), (gst_basesink_chain),
15616         (gst_basesink_loop), (gst_basesink_activate),
15617         (gst_basesink_change_state):
15618         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15619         (gst_basesrc_get_range), (gst_basesrc_loop),
15620         (gst_basesrc_activate):
15621         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15622         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15623         (gst_real_pad_init), (gst_real_pad_set_property),
15624         (gst_real_pad_get_property), (gst_pad_set_active),
15625         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15626         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15627         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15628         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15629         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15630         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15631         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15632         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15633         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15634         (gst_pad_stop_task):
15635         * gst/gstpad.h:
15636         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15637         (gst_queue_loop), (gst_queue_src_activate):
15638         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15639         (gst_task_get_state):
15640         * gst/gsttask.h:
15641         * gst/schedulers/threadscheduler.c:
15642         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15643         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15644         in task function.
15645         Remove ACTIVE pad flag, use FLUSHING everywhere
15646         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15647         functions.
15648         Add locks around IS_FLUSHING when reading.
15649         Take STREAM lock in chain(), get_range() functions so plugins
15650         don't need to take it anymore.
15651         
15654 2005-05-25  Wim Taymans  <wim@fluendo.com>
15656         * tools/gst-launch.c: (event_loop):
15657         Unref message after using its contents instead of
15658         before.
15660 2005-05-24  Wim Taymans  <wim@fluendo.com>
15662         * docs/design/draft-ghostpads.txt:
15663         * docs/design/draft-push-pull.txt:
15664         * docs/design/draft-query.txt:
15665         * docs/design/part-overview.txt:
15666         Docs updates, added general overview doc.
15668 2005-05-21  David Schleef  <ds@schleef.org>
15670         * docs/gst/tmpl/old/GstBin.sgml:
15671         * docs/gst/tmpl/old/GstBuffer.sgml:
15672         * docs/gst/tmpl/old/GstCaps.sgml:
15673         * docs/gst/tmpl/old/GstClock.sgml:
15674         * docs/gst/tmpl/old/GstCompat.sgml:
15675         * docs/gst/tmpl/old/GstData.sgml:
15676         * docs/gst/tmpl/old/GstElement.sgml:
15677         * docs/gst/tmpl/old/GstEvent.sgml:
15678         * docs/gst/tmpl/old/GstIndex.sgml:
15679         * docs/gst/tmpl/old/GstStructure.sgml:
15680         * docs/gst/tmpl/old/GstTag.sgml:
15681         * docs/gst/tmpl/old/cothreads.sgml:
15682         * docs/gst/tmpl/old/cothreads_compat.sgml:
15683         * docs/gst/tmpl/old/gettext.sgml:
15684         * docs/gst/tmpl/old/gobject2gtk.sgml:
15685         * docs/gst/tmpl/old/grammar.tab.sgml:
15686         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15687         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15688         * docs/gst/tmpl/old/gst_private.sgml:
15689         * docs/gst/tmpl/old/gstaggregator.sgml:
15690         * docs/gst/tmpl/old/gstarch.sgml:
15691         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15692         * docs/gst/tmpl/old/gstbufferstore.sgml:
15693         * docs/gst/tmpl/old/gstdata_private.sgml:
15694         * docs/gst/tmpl/old/gstdisksink.sgml:
15695         * docs/gst/tmpl/old/gstdisksrc.sgml:
15696         * docs/gst/tmpl/old/gstelementfactory.sgml:
15697         * docs/gst/tmpl/old/gstextratypes.sgml:
15698         * docs/gst/tmpl/old/gstfakesink.sgml:
15699         * docs/gst/tmpl/old/gstfakesrc.sgml:
15700         * docs/gst/tmpl/old/gstfdsink.sgml:
15701         * docs/gst/tmpl/old/gstfdsrc.sgml:
15702         * docs/gst/tmpl/old/gstfilesink.sgml:
15703         * docs/gst/tmpl/old/gstfilesrc.sgml:
15704         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15705         * docs/gst/tmpl/old/gstidentity.sgml:
15706         * docs/gst/tmpl/old/gstindexfactory.sgml:
15707         * docs/gst/tmpl/old/gstmarshal.sgml:
15708         * docs/gst/tmpl/old/gstmd5sink.sgml:
15709         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15710         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15711         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15712         * docs/gst/tmpl/old/gstpipefilter.sgml:
15713         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15714         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15715         * docs/gst/tmpl/old/gstshaper.sgml:
15716         * docs/gst/tmpl/old/gstspider.sgml:
15717         * docs/gst/tmpl/old/gstspideridentity.sgml:
15718         * docs/gst/tmpl/old/gststatistics.sgml:
15719         * docs/gst/tmpl/old/gsttee.sgml:
15720         * docs/gst/tmpl/old/gsttimecache.sgml:
15721         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15722         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15723         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15724         * docs/gst/tmpl/old/types.sgml:
15725           I didn't intend to add these or check them in.
15727 2005-05-19  David Schleef  <ds@schleef.org>
15729         * configure.ac: Use -no-common everywhere.  In a sane world, it
15730           would be the default in libtool, because without it, you can't
15731           build DLLs on Windows.
15732         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15733         * docs/gst/gstreamer-sections.txt:
15734         * docs/gst/tmpl/gstcpu.sgml:
15735         * docs/gst/tmpl/gstdata.sgml:
15736         * docs/gst/tmpl/gstthread.sgml:
15738 2005-05-19  David Schleef  <ds@schleef.org>
15740         * gst/gstminiobject.c: (gst_value_set_mini_object),
15741         (gst_value_take_mini_object), (gst_value_get_mini_object):
15742         * gst/gstminiobject.h: Add GValue set/get functions.
15744 2005-05-19  Wim Taymans  <wim@fluendo.com>
15746         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15747         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15748         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15749         * gst/gstbuffer.h:
15750         * gst/gstbus.c: (gst_bus_post):
15751         * gst/gstelement.c: (gst_element_get_random_pad):
15752         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15753         Make subbufer unref the parent in finalize.
15754         some more debugging info.
15757 2005-05-19  Wim Taymans  <wim@fluendo.com>
15759         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15760         (gst_basesink_init), (gst_basesink_finalize),
15761         (gst_basesink_activate), (gst_basesink_change_state):
15762         Don't free preroll queue too early.
15764 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15766         * gst/Makefile.am:
15767         * gst/ROADMAP:
15768           Hi, I'm outdated. Please shoot me.
15770 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15772         * gst/gstpipeline.c: (gst_pipeline_send_event):
15773           Do not access variables after they have been deleted.
15775 2005-05-19  Wim Taymans  <wim@fluendo.com>
15777         * tools/gst-inspect.c: (print_plugin_features):
15778         A plugin feature does unfortunatly not use the
15779         object name yet...
15781 2005-05-18  Wim Taymans  <wim@fluendo.com>
15783         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15784         Port _span() functions to new subbuffers.
15786 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15788         * gst/gstbin.c: (gst_bin_add_func):
15789           Fix clock settery in bins when adding kids after the clock has
15790           been selected.
15792 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15794         * gst/elements/gstidentity.c: (gst_identity_class_init):
15795           Workaround until signals support GstMiniObject.
15797 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15799         * gst/gstbuffer.c:
15800         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15802 2005-05-18  Wim Taymans  <wim@fluendo.com>
15804         * gst/base/Makefile.am:
15805         * gst/base/gstadapter.c: (gst_adapter_base_init),
15806         (gst_adapter_class_init), (gst_adapter_init),
15807         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15808         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15809         (gst_adapter_flush), (gst_adapter_available),
15810         (gst_adapter_available_fast):
15811         * gst/base/gstadapter.h:
15812         Ported and added adapter to the base classes.
15814 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15816         * gst/gst.c:
15817         * gst/gstmessage.c:
15818           Make sure the class is reffed/unreffed once before threads can be
15819           used.  Fixes #304551.
15821 2005-05-17  Wim Taymans  <wim@fluendo.com>
15823         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15824         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15825         * gst/gstminiobject.c: (gst_mini_object_get_type),
15826         (gst_mini_object_free):
15827         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15828         (gst_pad_push), (gst_pad_push_event):
15829         * gst/gstqueue.c: (gst_queue_change_state):
15830         Don't queue buffers in basesink when we are flushing.
15831         Unref buffer when flushing in basesink.
15832         Flush queue when going to READY
15833         Unref buffer when _push() returns an error.
15834         Don't free MiniObject instance when refcount is incremented
15835         in _finalize() so that we can recover objects.
15837 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15839         * docs/manual/advanced-schedulers.xml:
15840         * docs/manual/appendix-checklist.xml:
15841         * docs/pwg/advanced-clock.xml:
15842         * docs/pwg/advanced-interfaces.xml:
15843         * docs/pwg/advanced-request.xml:
15844         * docs/pwg/advanced-types.xml:
15845         * docs/pwg/intro-preface.xml:
15846         * examples/plugins/example.c: (gst_example_get_type),
15847         (gst_example_class_init), (gst_example_chain),
15848         (gst_example_set_property), (gst_example_get_property),
15849         (gst_example_change_state), (plugin_init):
15850         * examples/plugins/example.h:
15851           small doc fixes
15853 2005-05-17  Wim Taymans  <wim@fluendo.com>
15855         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15856         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15857         * gst/gstqueue.c: (gst_queue_change_state):
15858         Clear queue when going to READY.
15859         Remove IN_SETCAPS flag too.
15861 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15863         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15864           Remove implicit cast from gboolean to GstElementStateReturn;
15865           make sure we still return failure in paused => ready case if
15866           the parent class fails to change state and our own stop 
15867           vfunc succeeds.
15869 2005-05-17  Wim Taymans  <wim@fluendo.com>
15871         * tools/gst-launch.c: (event_loop):
15872         Message was unreffed too soon.
15874 2005-05-16  Andy Wingo  <wingo@pobox.com>
15876         * gst/gstbin.c (sink_iterator_filter): Err... um...
15878         * check/gst/gstbin.c (test_ghost_pads): New test for the
15879         ghosting-if-elements-not-in-same-bin behavior.
15881 2005-05-16  David Schleef  <ds@schleef.org>
15883         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15884         accessing refcount directly.
15886 2005-05-15  David Schleef  <ds@schleef.org>
15888         * check/Makefile.am: remove GstData checks
15889         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15890         * gst/Makefile.am: add miniobject, remove data
15891         * gst/gst.h: add miniobject, remove data
15892         * gst/gstdata.c: remove
15893         * gst/gstdata.h: remove
15894         * gst/gstdata_private.h: remove
15895         * gst/gsttypes.h: remove GstEvent and GstMessage
15896         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15897         * gst/gstmarshal.list: change BOXED -> OBJECT
15899         Implement GstMiniObject.
15900         * gst/gstminiobject.c:
15901         * gst/gstminiobject.h:
15903         Modify to be subclasses of GstMiniObject.
15904         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15905         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15906         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15907         (gst_subbuffer_get_type), (gst_subbuffer_init),
15908         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15909         (gst_buffer_span):
15910         * gst/gstbuffer.h:
15911         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15912         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15913         (_gst_event_copy), (gst_event_new):
15914         * gst/gstevent.h:
15915         * gst/gstmessage.c: (_gst_message_initialize),
15916         (gst_message_get_type), (gst_message_class_init),
15917         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15918         (gst_message_new), (gst_message_new_error),
15919         (gst_message_new_warning), (gst_message_new_tag),
15920         (gst_message_new_state_changed), (gst_message_new_application):
15921         * gst/gstmessage.h:
15922         * gst/gstprobe.c: (gst_probe_perform),
15923         (gst_probe_dispatcher_dispatch):
15924         * gst/gstprobe.h:
15925         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15926         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15927         (_gst_query_copy), (gst_query_new):
15929         Update elements for GstData -> GstMiniObject changes
15930         * gst/gstquery.h:
15931         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15932         (gst_queue_chain), (gst_queue_loop):
15933         * gst/elements/gstbufferstore.c:
15934         (gst_buffer_store_add_buffer_func),
15935         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15936         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15937         (gst_fakesink_render):
15938         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15939         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15940         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15941         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15942         (gst_filesrc_create_read):
15943         * gst/elements/gstidentity.c: (gst_identity_class_init):
15944         * gst/elements/gsttypefindelement.c:
15945         (gst_type_find_element_src_event), (free_entry_buffers),
15946         (gst_type_find_element_handle_event):
15947         * libs/gst/dataprotocol/dataprotocol.c:
15948         (gst_dp_header_from_buffer):
15949         * libs/gst/dataprotocol/dataprotocol.h:
15950         * libs/gst/dataprotocol/dp-private.h:
15952 2005-05-15  David Schleef  <ds@schleef.org>
15954         * gst/elements/gstelements.c: Don't include headers that were
15955         just removed.
15957 2005-05-15  David Schleef  <ds@schleef.org>
15959         * gst/elements/Makefile.am: Remove some elements that don't
15960         need to be in the core (or even exist at all).
15961         * gst/elements/gstaggregator.c:
15962         * gst/elements/gstaggregator.h:
15963         * gst/elements/gstmd5sink.c:
15964         * gst/elements/gstmd5sink.h:
15965         * gst/elements/gstmultifilesrc.c:
15966         * gst/elements/gstmultifilesrc.h:
15967         * gst/elements/gstpipefilter.c:
15968         * gst/elements/gstpipefilter.h:
15969         * gst/elements/gstshaper.c:
15970         * gst/elements/gstshaper.h:
15971         * gst/elements/gststatistics.c:
15972         * gst/elements/gststatistics.h:
15973         * po/POTFILES.in: Remove above files.
15975 2005-05-14  Andy Wingo  <wingo@pobox.com>
15977         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15978         so as to get the refs right.
15979         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15980         unreffing objects that don't pass the filter.
15982         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15983         gst_element_set_bus.
15984         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15985         normal cases, this will destroy the bus.
15987         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15988         object.
15990         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15991         has no sinks.
15993 2005-05-13  Andy Wingo  <wingo@pobox.com>
15995         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15996         gst_pad_link, call pad_link_maybe_ghosting,
15997         (pad_link_maybe_ghosting): Links pads, making sure that the
15998         elements being linked are in the same bin.
15999         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16000         Helpers for pad_link_maybe_ghosting.
16002 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16004         * configure.ac:
16005           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16007 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16009         * docs/design/part-element-source.txt:
16010           Mention GstPushSrc
16012 2005-05-12  Wim Taymans  <wim@fluendo.com>
16014         * gst/base/gstbasesink.c: (gst_basesink_init),
16015         (gst_basesink_activate):
16016         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16017         (gst_basesrc_is_seekable):
16018         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16019         (bin_element_is_sink), (gst_bin_change_state):
16020         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16021         * gst/gstelement.h:
16022         Identify sinks by their flag to avoid overly complicated
16023         checks (fow now).
16024         Do state changes even for elements not reachable from the
16025         sinks.
16026         BaseSink is a sink now :)
16027         Some more debugging info in the basesrc.
16030 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16032         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16033           Implement _query on a bin, similar to _send_event.
16035 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16037         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16038           Discont event offset format should be GST_FORMAT_BYTES,
16039           not GST_FORMAT_TIME.
16041 2005-05-12  Wim Taymans  <wim@fluendo.com>
16043         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16044         Same fix as Ronald's but without the signal. 
16046 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16048         * gst/gstutils.c: (gst_element_query_position):
16049           No, an element is not a pad.
16051 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16053         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16054         (gst_bin_get_state):
16055           If a child is removed from a bin while we remove the child from
16056           the bin and while we're retrieving its state, signal this to the
16057           get_state function so we abort the wait (instead of waiting for
16058           a timeout) and can immediately re-iterate over all other elements.
16060 2005-05-12  Wim Taymans  <wim@fluendo.com>
16062         * gst/base/Makefile.am:
16063         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16064         (gst_basesrc_start):
16065         * gst/base/gstbasesrc.h:
16066         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16067         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16068         (gst_pushsrc_init), (gst_pushsrc_create):
16069         * gst/base/gstpushsrc.h:
16070         Added is_seekable to BaseSrc
16071         Added simple PushSrc.
16073 2005-05-11  Wim Taymans  <wim@fluendo.com>
16075         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16076         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16077         (gst_element_link_pads), (gst_element_query_position),
16078         (gst_element_query_convert), (intersect_caps_func),
16079         (gst_pad_query_position), (gst_pad_query_convert):
16080         Fix refcounting in utils function.
16081         No point in trying to activate a pad when it's added, it could
16082         be added from the state change function and then we deadlock, the
16083         element has to decide what to do.
16085 2005-05-10  Andy Wingo  <wingo@pobox.com>
16087         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16088         *all* the arguments.
16090         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16091         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16092         lock (according to the docs -- if this is wrong change the docs).
16094         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16095         flush messages in the NULL state.
16097         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16098         message immediately and return.
16099         (gst_bus_set_flushing): New function. If a bus is flushing, it
16100         flushes out any queued messages and immediately unrefs new
16101         messages. This is so when an element goes to NULL, all of the
16102         unhandled messages coming from it can be freed, and their
16103         references to the element dropped. In other words: message source
16104         ref considered harmful :P
16106         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16107         we're finished with it.
16109         * gst/gstmessage.c (gst_message_new_state_changed): 
16111 2005-05-10  Wim Taymans  <wim@fluendo.com>
16113         * gst/gstvalue.c: (gst_value_compare_flags),
16114         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16115         (_gst_value_initialize):
16116         Added flags serialize/deserialize/compare code.
16118 2005-05-09  Andy Wingo  <wingo@pobox.com>
16120         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16121         Intersect the peer's caps with our caps.
16123 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16125         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16126         * gst/elements/gsttypefindelement.c: (find_peek):
16127           Handle negative offsets better. Fixes decodebin.
16129 2005-05-09  Wim Taymans  <wim@fluendo.com>
16131         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16132         (gst_base_transform_event):
16133         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16134         Implement accept_caps.
16135         Fix silly lock/unlock mismatch in base class.
16137 2005-05-09  Wim Taymans  <wim@fluendo.com>
16139         * docs/design/draft-push-pull.txt:
16140         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16141         * gst/elements/gstfilesink.c: (gst_filesink_init),
16142         (gst_filesink_query):
16143         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16144         (gst_type_find_handle_src_query), (find_element_get_length):
16145         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16146         * gst/gstelement.h:
16147         * gst/gstmessage.c:
16148         * gst/gstmessage.h:
16149         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16150         (gst_real_pad_get_caps_unlocked),
16151         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16152         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16153         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16154         (gst_real_pad_dispose), (gst_real_pad_finalize),
16155         (gst_pad_load_and_link), (gst_pad_save_thyself),
16156         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16157         (gst_pad_check_pull_range), (gst_pad_pull_range),
16158         (gst_pad_template_get_type), (gst_pad_template_class_init),
16159         (gst_pad_template_init), (gst_pad_template_dispose),
16160         (name_is_valid), (gst_static_pad_template_get),
16161         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16162         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16163         (gst_pad_get_element_private), (gst_pad_start_task),
16164         (gst_pad_pause_task), (gst_pad_stop_task),
16165         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16166         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16167         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16168         (gst_ghost_pad_new):
16169         * gst/gstpad.h:
16170         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16171         (gst_query_new_position), (gst_query_set_position),
16172         (gst_query_parse_position), (gst_query_new_convert),
16173         (gst_query_set_convert), (gst_query_parse_convert):
16174         * gst/gstquery.h:
16175         * gst/gstqueryutils.c:
16176         * gst/gstqueryutils.h:
16177         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16178         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16179         (gst_queue_handle_src_query):
16180         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16181         (gst_element_query_position), (gst_element_query_convert),
16182         (intersect_caps_func), (gst_pad_query_position),
16183         (gst_pad_query_convert):
16184         * gst/gstutils.h:
16185         * tools/gst-inspect.c: (print_pad_info):
16186         * tools/gst-xmlinspect.c: (print_element_info):
16187         Remove old query functions. Ported old code.
16188         Added position/convert helper functions to gstutils.
16189         Reordered gstpad.c code, grouping relevant things.
16190         Remove gst_message_new(), always need to speficy a specific
16191         message.
16194 2005-05-09  Andy Wingo  <wingo@pobox.com>
16196         * gst/gstiterator.h: Add some includes.
16198         * gst/gstqueryutils.h: Include more headers.
16200         * gst/gstpad.h:
16201         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16202         some uses of gst_pad_query.
16204         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16205         NULL out parameters.
16206         (gst_query_new_position): New proc, allocates a new position
16207         query.
16209         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16210         gstqueryutils.c to the build.
16212         * gst/gststructure.c (gst_structure_set_valist): Implement with
16213         the generic G_VALUE_COLLECT.
16214         
16215 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16217         * gst/Makefile.am: (gst_headers):
16218         Added gstqueryutils.h to the list of headers to install, that was
16219         a 'nachty' move wingo :)
16221 2005-05-06  Andy Wingo  <wingo@pobox.com>
16223         * gst/gstquery.h
16224         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16225         GstData, init a memchunk.
16226         (standard_definitions): Add a few query types, deprecate a few.
16227         (gst_query_get_type): New proc.
16228         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16229         implementation.
16230         (gst_query_new_application, gst_query_get_structure): New public
16231         procs.
16233         * docs/design/draft-query.txt: Removed LINKS from the query types,
16234         because all the rest can be dispatched to other pads -- seemed
16235         ugly to have a query that couldn't be dispatched. internal_links
16236         is fine as a pad method.
16238         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16239         in gstpad.c, but maintain binary compatibility for the moment.
16240         Will fix before 0.9 is out.
16242         * gst/gstqueryutils.c: 
16243         * gst/gstqueryutils.h: New files, implement 3 methods for each
16244         query type: parse_query, parse_response, and set. Probably need an
16245         allocator as well.
16247         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16249         * gst/elements/gstfilesink.c (gst_filesink_query2):
16250         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16251         query_types, and formats methods.
16253         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16254         (gst_pad_set_query2_function): New functions.
16255         (gst_real_pad_init): Set query2_default as the default query2
16256         function. Basically just dispatches to internally linked pads.
16258         Needs review!
16259         
16260         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16261         without using the atomic operations. Only one thread can possibly
16262         be accessing the data at this point. Changed so as to avoid
16263         gst_atomic operations.
16265 2005-05-06  Wim Taymans  <wim@fluendo.com>
16267         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16268         Also set caps if we use the fallback buffer alloc.
16270 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16272         * docs/gst/Makefile.am:
16273         * docs/gst/gstreamer-docs.sgml:
16274         * docs/gst/gstreamer-sections.txt:
16275         * docs/gst/tmpl/gstatomic.sgml:
16276         * docs/gst/tmpl/gstmemchunk.sgml:
16277         * testsuite/elements/struct_i386.h:
16278         * win32/GStreamer.vcproj:
16279         * win32/Makefile:
16280           Purge GstAtomic stuff from docs and win32 makefiles as well
16282 2005-05-06  Wim Taymans  <wim@fluendo.com>
16284         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16285         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16286         * gst/gstpad.c: (gst_pad_peer_get_caps):
16287         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16288         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16289         (gst_queue_src_activate), (gst_queue_change_state):
16290         * gst/gstqueue.h:
16291         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16292         (intersect_caps_func):
16293         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16294         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16295         Some fixes for the peer_get_caps() change.
16297 2005-05-06  Wim Taymans  <wim@fluendo.com>
16299         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16300         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16301         (gst_basesink_activate):
16302         Actually do something with error codes returned from the push
16303         functions.
16305 2005-05-06  Wim Taymans  <wim@fluendo.com>
16307         * docs/design/part-element-sink.txt:
16308         * docs/design/part-element-source.txt:
16309         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16310         (gst_basesink_event), (gst_basesink_activate):
16311         * gst/base/gstbasesink.h:
16312         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16313         (gst_basesrc_activate):
16314         * gst/base/gstbasesrc.h:
16315         * gst/gstelement.c: (gst_element_pads_activate):
16316         Some more documentation.
16317         Fixed scheduling decision in _pads_activate().
16319 2005-05-05  Andy Wingo  <wingo@pobox.com>
16321         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16322         the test suite.
16324 2005-05-05  Wim Taymans  <wim@fluendo.com>
16326         * gst/base/Makefile.am:
16327         * gst/base/gstbasesink.h:
16328         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16329         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16330         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16331         (gst_collectpads_class_init), (gst_collectpads_init),
16332         (gst_collectpads_finalize), (gst_collectpads_new),
16333         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16334         (find_pad), (gst_collectpads_remove_pad),
16335         (gst_collectpads_is_active), (gst_collectpads_collect),
16336         (gst_collectpads_collect_range), (gst_collectpads_start),
16337         (gst_collectpads_stop), (gst_collectpads_peek),
16338         (gst_collectpads_pop), (gst_collectpads_available),
16339         (gst_collectpads_read), (gst_collectpads_flush),
16340         (gst_collectpads_chain):
16341         * gst/base/gstcollectpads.h:
16342         * gst/elements/Makefile.am:
16343         * gst/elements/gstelements.c:
16344         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16345         (gst_fakesink_get_times), (gst_fakesink_event),
16346         (gst_fakesink_preroll), (gst_fakesink_render):
16347         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16348         (gst_filesink_init), (gst_filesink_set_location),
16349         (gst_filesink_open_file), (gst_filesink_close_file),
16350         (gst_filesink_pad_query), (gst_filesink_event),
16351         (gst_filesink_render), (gst_filesink_change_state):
16352         * gst/elements/gstfilesink.h:
16353         Added object to help in making collect pad based elements.
16354         Ported filesink.
16355         Make event function in sink baseclass return gboolean.
16357 2005-05-05  Wim Taymans  <wim@fluendo.com>
16359         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16360         (gst_bin_get_by_name):
16361         * gst/gstbuffer.h:
16362         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16363         (gst_clock_finalize):
16364         * gst/gstdata.c: (gst_data_replace):
16365         * gst/gstdata.h:
16366         * gst/gstelement.c: (gst_element_request_pad),
16367         (gst_element_pads_activate):
16368         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16369         (gst_object_unref):
16370         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16371         (gst_pad_set_checkgetrange_function),
16372         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16373         (gst_pad_check_pull_range), (gst_pad_pull_range),
16374         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16375         (gst_pad_pause_task), (gst_pad_stop_task):
16376         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16377         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16378         Fix name lookup in GstBin.
16379         Added _data_replace() function and _buffer_replace()
16380         Use finalize method to clean up clock.
16381         Fix refcounting on request pads.
16382         Fix pad schedule mode error.
16383         Some more object refcounting debug info,
16386 2005-05-04  Andy Wingo <wingo@pobox.com>
16388         * check/Makefile.am:
16389         * docs/gst/tmpl/gstatomic.sgml:
16390         * docs/gst/tmpl/gstplugin.sgml:
16391         * gst/base/gstbasesink.c: (gst_basesink_activate):
16392         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16393         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16394         (gst_basesrc_query), (gst_basesrc_set_property),
16395         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16396         (gst_basesrc_activate):
16397         * gst/base/gstbasesrc.h:
16398         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16399         (gst_base_transform_src_activate):
16400         * gst/elements/gstelements.c:
16401         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16402         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16403         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16404         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16405         (gst_type_find_element_checkgetrange),
16406         (gst_type_find_element_activate):
16407         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16408         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16409         (gst_caps_load_thyself):
16410         * gst/gstelement.c: (gst_element_pads_activate),
16411         (gst_element_save_thyself), (gst_element_restore_thyself):
16412         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16413         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16414         * gst/gstpad.h:
16415         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16416         (gst_xml_parse_file), (gst_xml_parse_memory),
16417         (gst_xml_get_element), (gst_xml_make_element):
16418         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16419         (_file_index_id_save_xml), (gst_file_index_commit):
16420         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16421         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16422         (load_paths):
16423         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16424         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16425         * tools/gst-complete.c: (main):
16426         * tools/gst-compprep.c: (main):
16427         * tools/gst-inspect.c: (print_element_properties_info):
16428         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16429         * tools/gst-xmlinspect.c: (print_element_properties):
16430         GCC 4 fixen.
16431         
16432 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16434         * gst/gstplugin.c: (gst_plugin_check_module),
16435         (gst_plugin_check_file), (gst_plugin_load_file):
16436             apply patch from #172526 to make register work on MacOSX
16438 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16440         * docs/gst/tmpl/gstconfig.sgml:
16441         * gst/gstconfig.h.in:
16442           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16443         * testsuite/debug/printf_extension.c: (main):
16444           Do not use GST_PTR_FORMAT on pointers to types with
16445           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16446         * testsuite/elements/property.h:
16447           use correct printf format
16449 2005-05-02  Wim Taymans  <wim@fluendo.com>
16451         * docs/design/draft-push-pull.txt:
16452         * docs/design/draft-query.txt:
16453         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16454         (gst_basesrc_start):
16455         Added draft for new query API.
16456         Added draft for better selecting scheduling methods.
16457         Make basesrc ignore length if the subclass does not support
16458         it.
16460 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16462         * gst/Makefile.am:
16463           possible fixes for automake-1.5 - _LIBADD is reserved
16465 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16467         * docs/faq/Makefile.am:
16468         * docs/manual/Makefile.am:
16469         * docs/manuals.mak:
16470         * docs/pwg/Makefile.am:
16471         * gst/Makefile.am:
16472           possible fixes for automake-1.5
16474 2005-04-28  Wim Taymans  <wim@fluendo.com>
16476         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16477         (gst_basesink_pad_getcaps), (gst_basesink_init),
16478         (gst_basesink_do_sync):
16479         * gst/gstclock.c: (gst_clock_entry_new):
16480         * gst/gstevent.c: (gst_event_discont_get_value):
16481         * gst/gstpipeline.c: (pipeline_bus_handler),
16482         (gst_pipeline_change_state):
16483         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16484         Better debugging of clocking info.
16485         Allow NULL values when getting discont values.
16487 2005-04-27  Wim Taymans  <wim@fluendo.com>
16489         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16490         * check/gst/gstpad.c: (gst_pad_suite):
16491         Increase timeout for checks.
16493 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16495         * check/Makefile.am:
16496           fix the broken rule for cleanup.  Apparently this rule is
16497           only needed on FC2, so maybe this warrants further autotool
16498           inspection.
16500 2005-04-26  Wim Taymans  <wim@fluendo.com>
16502         * gst/gsttrashstack.h:
16503         Ooohh. a nasty one! After having a failed pop() from the stack,
16504         it's possible that the stack is empty. In that case, don't
16505         follow the NULL pointer.
16507 2005-04-25  Wim Taymans  <wim@fluendo.com>
16509         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16510         (gst_pad_set_checkgetrange_function),
16511         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16512         (gst_pad_check_pull_range), (gst_pad_pull_range),
16513         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16514         (gst_pad_pause_task), (gst_pad_stop_task):
16515         * gst/gstplugin.c: (gst_plugin_load):
16516         * gst/gstplugin.h:
16517         Remove gst_library_load as it does more harm than good with
16518         the new g_module flags.
16519         Revert bogus caps template check in pad linking, pad caps
16520         are important when linking not the template, which is more
16521         general than the current caps.
16523 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16525         * gst/autoplug/.cvsignore:
16526         * gst/autoplug/Makefile.am:
16527         * gst/autoplug/gstsearchfuncs.c:
16528         * gst/autoplug/gstsearchfuncs.h:
16529         * gst/autoplug/gstspider.c:
16530         * gst/autoplug/gstspider.h:
16531         * gst/autoplug/gstspideridentity.c:
16532         * gst/autoplug/gstspideridentity.h:
16533         * gst/autoplug/spidertest.c:
16534           Die, spider, die.
16536 2005-04-25  Wim Taymans  <wim@fluendo.com>
16538         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16539         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16540         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16541         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16542         * gst/gstpad.h:
16543         Added stubs for unimplemented functions. 
16545 2005-04-24  David Schleef  <ds@schleef.org>
16547         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16548         please fix.
16550 2005-04-24  David Schleef  <ds@schleef.org>
16552         Convert everything from GstAtomicInt to g_atomic_int_*, and
16553         remove gstatomic.
16554         * gst/Makefile.am:
16555         * gst/gstatomic.c:
16556         * gst/gstatomic.h:
16557         * gst/gstatomic_impl.h:
16558         * gst/gstbuffer.c:
16559         * gst/gstcaps.c:
16560         * gst/gstcaps.h:
16561         * gst/gstclock.c:
16562         * gst/gstclock.h:
16563         * gst/gstdata.c:
16564         * gst/gstdata.h:
16565         * gst/gstdata_private.h:
16566         * gst/gstevent.c:
16567         * gst/gstinfo.c:
16568         * gst/gstinfo.h:
16569         * gst/gstmessage.c:
16570         * gst/gstobject.c:
16571         * gst/gstobject.h:
16572         * gst/gststructure.c:
16573         * gst/gststructure.h:
16574         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16575         * gst/gstutils.h:
16577 2005-04-24  David Schleef  <ds@schleef.org>
16579         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16580         make the regressions tests work.  Remove some code that is no
16581         longer true.
16582         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16583         Disable warning for pads without templates.
16585 2005-04-24  David Schleef  <ds@schleef.org>
16587         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16588         functions that handle filtered links.
16589         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16590         removed functions.
16591         * gst/gstutils.c: Fix/remove utility functions that handle
16592         filtered caps.
16593         * gst/gstutils.h:
16594         * gst/gstvalue.c: Add serialization/deserialization of caps
16595         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16596         requires fixing so that the filter caps notation creates
16597         a capsfilter element and sets the filter_caps property.  I
16598         think everyone probably wants to keep the shorthand notation.
16599         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16600         * docs/gst/tmpl/gstpad.sgml:
16602         * gst/elements/gstelements.c: Register capsfilter element.
16603         * gst/Makefile.am: fix spacing
16604         * docs/random/ds/0.9-suggested-changes: random
16606 2005-04-23  David Schleef  <ds@schleef.org>
16608         * gst/elements/Makefile.am:
16609         * gst/elements/gstcapsfilter.c: New element that acts like an
16610         identity, but filters caps.  Will eventually replace filtered
16611         caps in pad linking.
16612         * gst/gstutils.c: (gst_element_create_all_pads): New function
16613         to create all the ALWAYS pads that are registered with an
16614         element class.  This functionality should eventually be
16615         merged in with GstElement initialization.
16616         * gst/gstutils.h:
16617         * testsuite/trigger/README: part of trigger test code that should
16618         have been checked in a long time ago.
16620 2005-04-23  David Schleef  <ds@schleef.org>
16622         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16623         needed with new versions of libtool (nobody will confirm this),
16624         and hard to carry around.
16625         * gst/autoplug/Makefile.am:
16626         * gst/base/Makefile.am:
16627         * gst/elements/Makefile.am:
16628         * gst/indexers/Makefile.am:
16629         * gst/schedulers/Makefile.am:
16630         * libs/gst/bytestream/Makefile.am:
16631         * libs/gst/control/Makefile.am:
16632         * libs/gst/dataprotocol/Makefile.am:
16633         * libs/gst/getbits/Makefile.am:
16635 2005-04-21  Wim Taymans  <wim@fluendo.com>
16637         * docs/design/draft-push-pull.txt:
16638         * docs/design/part-MT-refcounting.txt:
16639         * docs/design/part-TODO.txt:
16640         * docs/design/part-caps.txt:
16641         * docs/design/part-events.txt:
16642         * docs/design/part-gstbus.txt:
16643         * docs/design/part-gstpipeline.txt:
16644         * docs/design/part-messages.txt:
16645         * docs/design/part-push-pull.txt:
16646         * docs/design/part-query.txt:
16647         Some more docs.
16649 2005-04-21  Wim Taymans  <wim@fluendo.com>
16651         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16652         (gst_message_new), (gst_message_new_error),
16653         (gst_message_new_warning), (gst_message_new_tag),
16654         (gst_message_new_state_changed), (gst_message_new_application),
16655         (gst_message_get_structure):
16656         * gst/gstmessage.h:
16657         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16658         (gst_structure_copy_conditional):
16659         Use parent refcount in GstMessage to ensure GstStructure
16660         consistency.
16661         Cleaned up headers a bit.
16662         
16664 2005-04-20  Wim Taymans  <wim@fluendo.com>
16666         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16667         (gst_basesink_pad_getcaps), (gst_basesink_init),
16668         (gst_basesink_chain_unlocked):
16669         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16670         (gst_type_find_helper):
16671         * gst/elements/gsttypefindelement.c:
16672         (gst_type_find_element_have_type), (gst_type_find_element_init),
16673         (stop_typefinding), (gst_type_find_element_handle_event),
16674         (find_suggest), (gst_type_find_element_chain),
16675         (gst_type_find_element_checkgetrange),
16676         (gst_type_find_element_getrange), (do_typefind),
16677         (gst_type_find_element_activate):
16678         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16679         (gst_buffer_default_free), (gst_buffer_default_copy),
16680         (gst_buffer_set_caps):
16681         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16682         (gst_caps_replace):
16683         * gst/gstmessage.c: (gst_message_new),
16684         (gst_message_new_state_changed):
16685         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16686         (gst_pad_set_checkgetrange_function),
16687         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16688         (gst_pad_set_caps), (gst_pad_check_pull_range),
16689         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16690         * gst/gstpad.h:
16691         * gst/gsttypefind.c: (gst_type_find_register):
16692         Make gst_caps_replace() work like other _replace() functions.
16693         Use _caps_replace() where possible.
16694         Make sure _message_new() initialises its field.
16695         Add gst_static_pad_template_get_caps()
16698 2005-04-18  Andy Wingo  <wingo@pobox.com>
16700         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16701         on the peer, not the pad. I think that was a typo. Pass an extra
16702         arg to see if random access is possible. Activate the pads as
16703         PULL_RANGE if possible.
16705         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16707         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16708         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16709         to PROP_....
16711 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16713         * docs/faq/using.xml:
16714           Add note on gstreamer-properties (#154996).
16716 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16718         * docs/random/bbb/optional-properties:
16719           Some analysis on optional properties.
16721 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16723         * docs/gst/tmpl/gstelementfactory.sgml:
16724         * gst/gstelement.h:
16725         * gst/gstelementfactory.c: (gst_element_factory_init),
16726         (gst_element_factory_cleanup), (gst_element_register),
16727         (__gst_element_factory_add_static_pad_template),
16728         (gst_element_factory_get_static_pad_templates),
16729         (gst_element_factory_can_src_caps),
16730         (gst_element_factory_can_sink_caps):
16731         * gst/registries/Makefile.am:
16732         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16733         (gst_xml_registry_class_init), (gst_xml_registry_init),
16734         (gst_xml_registry_new), (gst_xml_registry_set_property),
16735         (gst_xml_registry_get_property), (get_time), (make_dir),
16736         (gst_xml_registry_get_perms_func),
16737         (plugin_times_older_than_recurse), (plugin_times_older_than),
16738         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16739         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16740         (add_to_char_array), (read_string), (read_uint), (read_enum),
16741         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16742         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16743         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16744         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16745         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16746         (gst_xml_registry_rebuild):
16747         * gst/registries/gstlibxmlregistry.h:
16748         * tools/gst-compprep.c: (main):
16749         * tools/gst-inspect.c: (print_pad_templates_info):
16750         * tools/gst-xmlinspect.c: (print_element_info):
16751           Use libxml2 for registry parsing, use staticpadtemplates in
16752           elementfactories. Makes gst_init() +/- 10x faster.
16754 2005-04-12  Wim Taymans  <wim@fluendo.com>
16756         * gst/base/Makefile.am:
16757         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16758         (gst_basesink_pad_getcaps), (gst_basesink_init),
16759         (gst_basesink_event), (gst_basesink_change_state):
16760         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16761         (gst_basesrc_init), (gst_basesrc_query),
16762         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16763         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16764         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16765         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16766         (gst_basesrc_stop), (gst_basesrc_activate),
16767         (gst_basesrc_change_state):
16768         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16769         (helper_find_suggest), (gst_type_find_helper):
16770         * gst/base/gsttypefindhelper.h:
16771         * gst/elements/Makefile.am:
16772         * gst/elements/gstelements.c:
16773         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16774         (gst_fakesink_get_times), (gst_fakesink_event),
16775         (gst_fakesink_preroll), (gst_fakesink_render):
16776         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16777         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16778         (gst_fakesrc_get_property), (gst_fakesrc_create),
16779         (gst_fakesrc_start), (gst_fakesrc_stop):
16780         * gst/elements/gstfakesrc.h:
16781         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16782         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16783         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16784         (gst_filesrc_create_read), (gst_filesrc_create),
16785         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16786         (gst_filesrc_start):
16787         * gst/elements/gsttypefindelement.c:
16788         (gst_type_find_element_have_type), (gst_type_find_element_init),
16789         (start_typefinding), (stop_typefinding), (push_buffer_store),
16790         (gst_type_find_element_handle_event),
16791         (gst_type_find_element_chain),
16792         (gst_type_find_element_checkgetrange),
16793         (gst_type_find_element_getrange), (do_typefind),
16794         (gst_type_find_element_activate),
16795         (gst_type_find_element_change_state):
16796         * gst/elements/gsttypefindelement.h:
16797         * gst/gstpipeline.c: (pipeline_bus_handler):
16798         Added typefind helper.
16799         Small preroll fix in the base sink.
16800         Disable typefind code in basesrc.
16801         Crude port of typefindelement.
16802         Fakesrc cleanups.
16805 2005-04-11  Wim Taymans  <wim@fluendo.com>
16807         * check/gst/gstbus.c: (gstbus_suite):
16808         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16809         * check/gstcheck.h:
16810           Fix up the timeout so that the test does not fail.
16812 2005-04-06  Wim Taymans  <wim@fluendo.com>
16814         * gst/base/README:
16815         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16816         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16817         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16818         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16819         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16820         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16821         (gst_basesrc_stop), (gst_basesrc_activate),
16822         (gst_basesrc_change_state), (basesrc_find_peek),
16823         (basesrc_find_suggest), (gst_basesrc_type_find):
16824         * gst/base/gstbasesrc.h:
16825         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16826         (gst_filesrc_class_init), (gst_filesrc_init),
16827         (gst_filesrc_finalize), (gst_filesrc_set_location),
16828         (gst_filesrc_set_property), (gst_filesrc_get_property),
16829         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16830         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16831         (gst_filesrc_create_read), (gst_filesrc_create),
16832         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16833         * gst/elements/gstfilesrc.h:
16834         * gst/gstelement.c: (gst_element_get_state_func),
16835         (gst_element_lost_state), (gst_element_pads_activate):
16836         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16837         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16838         (gst_pad_pull_range):
16839         * gst/gstpad.h:
16840         More work on the generic source base class, implement seeking,
16841         query.
16842         Make filesrc extend the base source class.
16843         Added gst_pad_set_checkgetrange_function to GstPad.
16845 2005-04-06  Andy Wingo  <wingo@pobox.com>
16847         * pkgconfig/gstreamer-base.pc.in:
16848         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16850         * pkgconfig/Makefile.am:
16851         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16853 2005-04-04  Wim Taymans  <wim@fluendo.com>
16855         * gst/base/Makefile.am:
16856         * gst/base/README:
16857         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16858         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16859         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16860         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16861         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16862         (gst_basesrc_base_init), (gst_basesrc_class_init),
16863         (gst_basesrc_init), (gst_basesrc_get_formats),
16864         (gst_basesrc_get_query_types), (gst_basesrc_query),
16865         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16866         (gst_basesrc_set_property), (gst_basesrc_get_property),
16867         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16868         (gst_basesrc_loop), (gst_basesrc_activate),
16869         (gst_basesrc_change_state):
16870         * gst/base/gstbasesrc.h:
16871         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16872         (gst_fakesrc_class_init), (gst_fakesrc_init),
16873         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16874         (gst_fakesrc_get_property), (gst_fakesrc_create):
16875         * gst/elements/gstfakesrc.h:
16876         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16877         (gst_filesrc_open_file), (gst_filesrc_loop),
16878         (gst_filesrc_activate), (filesrc_find_peek),
16879         (gst_filesrc_type_find):
16880         Made base source class, make fakesrc extend it.
16881         Add comments to basesink class.
16882         Some filesrc cleanup.
16884 2005-03-31  David Schleef  <ds@schleef.org>
16886         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16887         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16888         expected to link against libgstreamer.
16889         * gst/base/Makefile.am: link against libgstreamer
16890         * gst/elements/Makefile.am: same
16892 2005-03-31  Andy Wingo  <wingo@pobox.com>
16894         * tests/instantiate/Makefile.am:
16895         * tests/instantiate/caps.c: Add test to test speed of caps copy
16896         and free.
16898         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16899         GMemChunk to be fair.
16901         * gst/gsttrashstack.h: Remove warning about using the fallback
16902         trash stack implementation, it's still faster than malloc.
16904 2005-03-30  Andy Wingo  <wingo@pobox.com>
16906         * tests/complexity.c: Add a copyright.
16908 2005-03-31  Wim Taymans  <wim@fluendo.com>
16910         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16911         (gst_base_transform_class_init), (gst_base_transform_init),
16912         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16913         (gst_base_transform_get_property),
16914         (gst_base_transform_sink_activate),
16915         (gst_base_transform_src_activate),
16916         (gst_base_transform_change_state):
16917         * gst/base/gstbasetransform.h:
16918         * gst/elements/gstidentity.c: (gst_identity_class_init),
16919         (gst_identity_event), (gst_identity_check_perfect),
16920         (gst_identity_transform), (gst_identity_start),
16921         (gst_identity_stop):
16922         Added start/stop methods to transform base class so subclasses 
16923         don't need to deal with state changes even.
16925 2005-03-31  Wim Taymans  <wim@fluendo.com>
16927         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16928         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16929         * gst/gstevent.h:
16930         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16931         (gst_pad_pull_range):
16932         Added rate to the discont event to prepare for variable speed
16933         and reverse playback.
16935 2005-03-29  David Schleef  <ds@schleef.org>
16937         * configure.ac:
16938         * testsuite/trigger/Makefile.am:
16939         * testsuite/trigger/trigger.c: A little example program to show
16940         how trigger-based elements can work.
16942 2005-03-29  Wim Taymans  <wim@fluendo.com>
16944         * gst/base/Makefile.am:
16945         * gst/base/README:
16946         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16947         (gst_basesink_base_init), (gst_basesink_class_init),
16948         (gst_basesink_pad_getcaps), (gst_basesink_init),
16949         (gst_basesink_activate), (gst_basesink_change_state):
16950         * gst/base/gstbasesink.h:
16951         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16952         (gst_base_transform_base_init), (gst_base_transform_finalize),
16953         (gst_base_transform_class_init), (gst_base_transform_init),
16954         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16955         (gst_base_transform_event), (gst_base_transform_getrange),
16956         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16957         (gst_base_transform_set_property),
16958         (gst_base_transform_get_property),
16959         (gst_base_transform_sink_activate),
16960         (gst_base_transform_src_activate),
16961         (gst_base_transform_change_state):
16962         * gst/base/gstbasetransform.h:
16963         * gst/elements/gstidentity.c: (gst_identity_finalize),
16964         (gst_identity_class_init), (gst_identity_init),
16965         (gst_identity_event), (gst_identity_check_perfect),
16966         (gst_identity_transform), (gst_identity_set_property),
16967         (gst_identity_get_property), (gst_identity_change_state):
16968         * gst/elements/gstidentity.h:
16969         * gst/gstelement.c: (gst_element_get_state_func),
16970         (gst_element_lost_state), (gst_element_pads_activate):
16971         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16972         (gst_pad_check_pull_range), (gst_pad_pull_range):
16973         * gst/gstpad.h:
16974         Simplify pad activation.
16975         Added function to check if pull_range can be performed.
16976         Error out when pulling inactive or flushing pads.
16977         Removed const from refcounted types as it does not make sense.
16978         Simplify pad templates in basesink
16979         Added base class for simple 1-to-1 transforms.
16980         Make identity subclass the base transform.
16982 2005-03-29  Andy Wingo  <wingo@pobox.com>
16984         * docs/libs/gstreamer-libs-overrides.txt: 
16985         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16986         really don't understand what's going on, but like whatever. I want
16987         green buildbot!
16989         * docs/gst/Makefile.am:
16990         * docs/libs/Makefile.am: Dist the overrides files.
16992         * check/Makefile.am (clean-local): Remove .libs directories.
16994         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16995         elements to EXTRA_DIST, so po/ files are happy.
16997         * po/POTFILES.in: Er, remove it here.
16999         * po/POTFILES: Remove gstspider.c.
17001         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17003         * docs/libs/gstreamer-libs-docs.sgml: 
17004         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17005         bytestream.
17007         * tests/complexity.c (main): Set the length of the preroll queue
17008         on the sinks to prevent a lockup.
17010         * libs/gst/dataprotocol/Makefile.am: 
17011         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17012         the same as the one in check/gst-libs/gdp.c.
17014         * po/, docs/gst/: Commit automatic changes to docs and po files.
17016         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17017         the versioned libgstbase.
17019         * check/Makefile.am: Depend on an unversioned gst-register, seems
17020         to make autoconf happier.
17022         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17024 2005-03-28  Wim Taymans  <wim@fluendo.com>
17026         * configure.ac:
17027         * docs/design/part-gstelement.txt:
17028         * docs/design/part-negotiation.txt:
17029         * docs/design/part-preroll.txt:
17030         * docs/design/part-scheduling.txt:
17031         * docs/design/part-states.txt:
17032         * gst/Makefile.am:
17033         * gst/base/Makefile.am:
17034         * gst/base/README:
17035         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17036         (gst_basesink_base_init), (gst_basesink_class_init),
17037         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17038         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17039         (gst_basesink_set_pad_functions),
17040         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17041         (gst_basesink_set_property), (gst_basesink_get_property),
17042         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17043         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17044         (gst_basesink_preroll_queue_push),
17045         (gst_basesink_preroll_queue_empty),
17046         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17047         (gst_basesink_event), (gst_basesink_get_times),
17048         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17049         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17050         (gst_basesink_loop), (gst_basesink_activate),
17051         (gst_basesink_change_state):
17052         * gst/base/gstbasesink.h:
17053         * gst/elements/Makefile.am:
17054         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17055         (gst_fakesink_class_init), (gst_fakesink_init),
17056         (gst_fakesink_set_property), (gst_fakesink_get_property),
17057         (gst_fakesink_get_times), (gst_fakesink_event),
17058         (gst_fakesink_preroll), (gst_fakesink_render),
17059         (gst_fakesink_change_state):
17060         * gst/elements/gstfakesink.h:
17061         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17062         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17063         * gst/gstelement.c: (gst_element_add_pad),
17064         (gst_element_get_state_func), (gst_element_abort_state),
17065         (gst_element_commit_state), (gst_element_lost_state),
17066         (gst_element_set_state), (gst_element_pads_activate):
17067         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17068         * gst/gstpipeline.c: (gst_pipeline_send_event),
17069         (gst_pipeline_change_state):
17070         Added state change code.
17071         Added/updated docs.
17072         Added sink base class, make fakesink extend the base class.
17073         Small cleanups in GstPipeline.
17075 2005-03-26  David Schleef  <ds@schleef.org>
17077         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17078         is broken and should be implemented in a different library.
17079         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17080         * gst/gst.h: remove gstcpu.h
17081         * gst/gstcpu.c: remove
17082         * gst/gstcpu.h: remove
17083         * gst/Makefile.am.future: Remove this file.  It's ancient.
17085 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17087         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17088         (gst_bin_send_event):
17089           Add default event/set_manager handlers. The set_manager handler
17090           takes care that the manager is distributed over kids that were
17091           already in the bin before the manager was set. The event handler
17092           is a utility virtual function that sends the event over all sinks,
17093           so that gst_element_send_event (bin, event); has the expected
17094           behaviour.
17095         * gst/gstpad.c: (gst_pad_event_default):
17096           Re-install default event handling for discontinuities, so that
17097           seeking works without requiring hacks in applications or extra
17098           code in sinks.
17099         * gst/gstpipeline.c: (gst_pipeline_class_init),
17100         (gst_pipeline_send_event):
17101           Half hack, half utility: set a pipeline to PAUSED for seek events,
17102           since that is the only way we can guarantee a/v sync. Means that
17103           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17104           and it "just works".
17106 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17108         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17109           Lock/unlock mismatch.
17111 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17113         * docs/faq/gst-uninstalled:
17114           add gst-plugins-base
17115         * docs/gst/Makefile.am:
17116           don't error out until docs are fixed
17117         * docs/gst/gstreamer.types:
17118           remove thread
17120 2005-03-22  Wim Taymans  <wim@fluendo.com>
17122         * check/Makefile.am:
17123         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17124         * gst/gststructure.c: (gst_structure_set_valist),
17125         (gst_structure_copy_conditional):
17126         Activated more tests.
17127         Added message test.
17128         Added G_TYPE_POINTER to GstStructure.
17129         
17131 2005-03-22  Wim Taymans  <wim@fluendo.com>
17133         * docs/design/part-TODO.txt:
17134         * docs/design/part-events.txt:
17135         * docs/design/part-gstbin.txt:
17136         * docs/design/part-gstbus.txt:
17137         * docs/design/part-gstpipeline.txt:
17138         * docs/design/part-messages.txt:
17139         * gst/gstbus.c:
17140         * gst/gstmessage.c:
17141         Docs updates
17143 2005-03-21  Wim Taymans  <wim@fluendo.com>
17145         * gst/gstbus.c: (gst_bus_post):
17146         Fix copy-and-paste error.
17148 2005-03-21  Wim Taymans  <wim@fluendo.com>
17150         * check/Makefile.am:
17151         * gst/Makefile.am:
17152         * gst/elements/Makefile.am:
17153         * gst/elements/gstelements.c:
17154         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17155         (gst_fakesink_event), (gst_fakesink_chain):
17156         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17157         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17158         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17159         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17160         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17161         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17162         (gst_fakesrc_loop), (gst_fakesrc_activate),
17163         (gst_fakesrc_change_state):
17164         * gst/elements/gstfakesrc.h:
17165         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17166         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17167         (gst_filesrc_open_file), (gst_filesrc_loop),
17168         (gst_filesrc_activate), (gst_filesrc_change_state),
17169         (filesrc_find_peek), (filesrc_find_suggest),
17170         (gst_filesrc_type_find):
17171         * gst/elements/gstidentity.c: (gst_identity_finalize),
17172         (gst_identity_class_init), (gst_identity_init),
17173         (gst_identity_proxy_getcaps), (identity_queue_push),
17174         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17175         (gst_identity_getrange), (gst_identity_chain),
17176         (gst_identity_sink_loop), (gst_identity_src_loop),
17177         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17178         (gst_identity_set_property), (gst_identity_get_property),
17179         (gst_identity_change_state):
17180         * gst/elements/gstidentity.h:
17181         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17182         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17183         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17184         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17185         (gst_tee_sink_activate):
17186         * gst/elements/gsttee.h:
17187         * gst/gst.c: (gst_register_core_elements), (init_post):
17188         * gst/gst.h:
17189         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17190         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17191         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17192         (gst_bin_change_state):
17193         * gst/gstbin.h:
17194         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17195         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17196         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17197         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17198         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17199         (bus_watch_callback), (bus_watch_destroy),
17200         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17201         (poll_timeout), (gst_bus_poll):
17202         * gst/gstbus.h:
17203         * gst/gstcaps.h:
17204         * gst/gstdata.h:
17205         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17206         (gst_element_post_message), (gst_element_message_full),
17207         (gst_element_get_state_func), (gst_element_get_state),
17208         (gst_element_abort_state), (gst_element_commit_state),
17209         (gst_element_lost_state), (gst_element_set_state),
17210         (gst_element_pads_activate), (gst_element_change_state),
17211         (gst_element_dispose), (gst_element_set_manager_func),
17212         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17213         (gst_element_set_manager), (gst_element_get_manager),
17214         (gst_element_set_bus), (gst_element_get_bus),
17215         (gst_element_set_scheduler), (gst_element_get_scheduler):
17216         * gst/gstelement.h:
17217         * gst/gstevent.c: (gst_event_new_segment_seek),
17218         (gst_event_new_flush):
17219         * gst/gstevent.h:
17220         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17221         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17222         (gst_message_new_eos), (gst_message_new_error),
17223         (gst_message_new_warning), (gst_message_new_tag),
17224         (gst_message_new_state_changed), (gst_message_new_application),
17225         (gst_message_get_structure), (gst_message_parse_tag),
17226         (gst_message_parse_state_changed), (gst_message_parse_error),
17227         (gst_message_parse_warning):
17228         * gst/gstmessage.h:
17229         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17230         (gst_real_pad_set_property), (gst_pad_set_active),
17231         (gst_pad_is_active), (gst_pad_set_blocked_async),
17232         (gst_pad_set_blocked), (gst_pad_is_blocked),
17233         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17234         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17235         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17236         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17237         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17238         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17239         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17240         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17241         (gst_pad_set_caps), (gst_pad_configure_sink),
17242         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17243         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17244         (gst_real_pad_dispose), (gst_real_pad_finalize),
17245         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17246         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17247         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17248         * gst/gstpad.h:
17249         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17250         (pipeline_bus_handler), (gst_pipeline_change_state),
17251         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17252         * gst/gstpipeline.h:
17253         * gst/gstprobe.h:
17254         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17255         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17256         (gst_queue_link_src), (gst_queue_bufferalloc),
17257         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17258         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17259         (gst_queue_loop), (gst_queue_handle_src_event),
17260         (gst_queue_handle_src_query), (gst_queue_src_activate),
17261         (gst_queue_change_state):
17262         * gst/gstqueue.h:
17263         * gst/gstscheduler.c: (gst_scheduler_init),
17264         (gst_scheduler_dispose), (gst_scheduler_create_task),
17265         (gst_scheduler_factory_create):
17266         * gst/gstscheduler.h:
17267         * gst/gststructure.c: (gst_structure_get_type),
17268         (gst_structure_copy_conditional):
17269         * gst/gststructure.h:
17270         * gst/gsttaginterface.h:
17271         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17272         (gst_task_init), (gst_task_dispose), (gst_task_create),
17273         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17274         (gst_task_pause):
17275         * gst/gsttask.h:
17276         * gst/gstthread.c:
17277         * gst/gstthread.h:
17278         * gst/gsttypes.h:
17279         * gst/schedulers/Makefile.am:
17280         * gst/schedulers/cothreads_compat.h:
17281         * gst/schedulers/entryscheduler.c:
17282         * gst/schedulers/faircothreads.c:
17283         * gst/schedulers/faircothreads.h:
17284         * gst/schedulers/fairscheduler.c:
17285         * gst/schedulers/gstbasicscheduler.c:
17286         * gst/schedulers/gstoptimalscheduler.c:
17287         * gst/schedulers/gthread-cothreads.h:
17288         * gst/schedulers/threadscheduler.c:
17289         (gst_thread_scheduler_task_get_type),
17290         (gst_thread_scheduler_task_class_init),
17291         (gst_thread_scheduler_task_init),
17292         (gst_thread_scheduler_task_start),
17293         (gst_thread_scheduler_task_stop),
17294         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17295         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17296         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17297         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17298         (plugin_init):
17299         * libs/gst/Makefile.am:
17300         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17301         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17302         (gst_file_pad_parent_set):
17303         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17304         (gst_dp_event_from_packet):
17305         * tests/complexity.c: (main):
17306         * tests/mass_elements.c: (main):
17307         * testsuite/states/locked.c: (message_received), (main):
17308         * testsuite/states/parent.c: (main):
17309         * tools/gst-inspect.c: (print_element_flag_info),
17310         (print_implementation_info), (print_pad_info):
17311         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17312         (main):
17313         * tools/gst-md5sum.c: (event_loop), (main):
17314         * tools/gst-typefind.c: (main):
17315         * tools/gst-xmlinspect.c: (print_element_info):
17316         Next big merge.
17317         Added GstBus for mainloop integration.
17318         Added GstMessage for sending notifications on the bus.
17319         Added GstTask as an abstraction for pipeline entry points.
17320         Removed GstThread.
17321         Removed Schedulers.
17322         Simplified GstQueue for multithreaded core.
17323         Made _link threadsafe, removed old capsnego.
17324         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17325         Added pad blocking functions.
17326         Reworked scheduling functions in GstPad to prepare for
17327         scheduling updates soon.
17328         Moved events out of data stream.
17329         Simplified GstEvent types.
17330         Added return values to push/pull.
17331         Removed clocking from GstElement.
17332         Added prototypes for state change function for next merge.
17333         Removed iterate from bins and state change management.
17334         Fixed some elements, disabled others for now.
17335         Fixed -inspect and -launch.
17336         Added check for GstBus.
17338 2005-03-10  Wim Taymans  <wim@fluendo.com>
17340         * docs/design/part-MT-refcounting.txt:
17341         * docs/design/part-clocks.txt:
17342         * docs/design/part-gstelement.txt:
17343         * docs/design/part-gstobject.txt:
17344         * docs/design/part-standards.txt:
17345         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17346         (gst_bin_remove_func), (gst_bin_remove):
17347         * gst/gstbin.h:
17348         * gst/gstbuffer.c:
17349         * gst/gstcaps.h:
17350         * testsuite/clock/clock1.c: (main):
17351         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17352         (main):
17353         * testsuite/dlopen/loadgst.c: (do_test):
17354         * testsuite/refcounting/bin.c: (add_remove_test1),
17355         (add_remove_test2), (main):
17356         * testsuite/refcounting/element.c: (main):
17357         * testsuite/refcounting/element_pad.c: (main):
17358         * testsuite/refcounting/pad.c: (main):
17359         * tools/gst-launch.c: (sigint_handler_sighandler):
17360         * tools/gst-typefind.c: (main):
17361         Doc updates.
17362         Added doc about clock.
17363         removed gst_bin_iterate_recurse_up(), marked methods
17364         for removal.
17365         Fix more testsuites.
17367 2005-03-09  Wim Taymans  <wim@fluendo.com>
17369         * gst/gstpad.c: (gst_pad_get_direction),
17370         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17371         (gst_pad_collect_valist):
17372         * testsuite/bins/interface.c: (main):
17373         * testsuite/caps/audioscale.c: (test_caps):
17374         * testsuite/caps/caps.c: (test1), (test2), (test3):
17375         * testsuite/caps/deserialize.c: (main):
17376         * testsuite/caps/enumcaps.c: (main):
17377         * testsuite/caps/filtercaps.c: (main):
17378         * testsuite/caps/intersect2.c: (main):
17379         * testsuite/caps/random.c: (main):
17380         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17381         * testsuite/caps/sets.c: (check_caps):
17382         * testsuite/caps/simplify.c: (check_caps), (main):
17383         * testsuite/caps/subtract.c: (check_caps):
17384         Fix _pad_get_direction wrt ghostpads.
17385         Fix caps testsuite.
17387 2005-03-09  Wim Taymans  <wim@fluendo.com>
17389         * check/Makefile.am:
17390         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17391         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17392         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17393         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17394         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17395         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17396         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17397         (bin_element_is_sink), (gst_bin_iterate_sinks),
17398         (gst_bin_iterate_all_by_interface):
17399         * gst/gstbin.h:
17400         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17401         (gst_element_change_state), (gst_element_dispose),
17402         (gst_element_finalize), (gst_element_set_loop_function):
17403         * gst/gstelement.h:
17404         * gst/gstiterator.c: (find_custom_fold_func):
17405         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17406         (gst_pad_collectv), (gst_pad_collect_valist),
17407         (gst_pad_template_new):
17408         * gst/gstpipeline.c: (gst_pipeline_class_init),
17409         (gst_pipeline_dispose), (gst_pipeline_set_property),
17410         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17411         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17412         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17413         * gst/gstutils.h:
17414         * gst/schedulers/entryscheduler.c:
17415         * gst/schedulers/gstbasicscheduler.c:
17416         (gst_basic_scheduler_cothreaded_chain),
17417         (gst_basic_scheduler_chain_add_element):
17418         * testsuite/bins/interface.c: (main):
17419         Added GstBin test.
17420         Added GstSystemClock test.
17421         Implemented clock distribution code in GstBin.
17422         Implemented iterate sinks method for future use.
17423         Rearranged gstelement.h
17424         Fix GstIterator comparison bug.
17425         Moved some code to GstPipeline, mostly clocking related.
17427 2005-03-09  Wim Taymans  <wim@fluendo.com>
17429         * configure.ac:
17430         * gst/gst_private.h:
17431         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17432         (gst_bin_remove_func), (gst_bin_remove),
17433         (gst_bin_get_by_name_recurse_up):
17434         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17435         (gst_clock_id_compare_func), (gst_clock_id_wait),
17436         (gst_clock_id_wait_async), (gst_clock_init),
17437         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17438         * gst/gstelement.h:
17439         * gst/gstinfo.c: (_gst_debug_init):
17440         * gst/gstobject.h:
17441         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17442         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17443         * gst/gstpad.h:
17444         Bump version number, we're now 0.9.0
17445         Add future debugging category.
17446         Fix NULL _unref() in _get_by_name_recurse_up
17447         Rearrange gstpad.h.
17448         Update some docs.
17450 2005-03-08  Wim Taymans  <wim@fluendo.com>
17452         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17453         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17454         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17455         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17456         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17457         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17458         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17459         * gst/elements/gstidentity.c: (gst_identity_class_init):
17460         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17461         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17462         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17463         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17464         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17465         (gst_tee_link):
17466         * gst/gstelement.c: (gst_element_class_init),
17467         (gst_element_base_class_init), (gst_element_init),
17468         (gst_element_get_random_pad), (gst_element_wait_state_change),
17469         (gst_element_change_state), (gst_element_dispose),
17470         (gst_element_finalize), (gst_element_set_loop_function):
17471         * gst/gstelement.h:
17472         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17473         * gst/gstthread.c: (gst_thread_class_init),
17474         (gst_thread_release_children_locks), (gst_thread_change_state):
17475         * gst/schedulers/gstbasicscheduler.c:
17476         (gst_basic_scheduler_loopfunc_wrapper),
17477         (gst_basic_scheduler_chain_wrapper),
17478         (gst_basic_scheduler_src_wrapper),
17479         (gst_basic_scheduler_remove_element):
17480         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17481         Remove threadsafe properties. Fix elements because GObject
17482         complains when installing a property before declaring a
17483         set/get_property handler.
17484         Rearrange gstelement.h file, use STATE macros for state locks.
17485         Free mutexes in the finalize method instead of dispose.
17487 2005-03-08  Wim Taymans  <wim@fluendo.com>
17489         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17490         * gst/gstthread.c: (gst_thread_release_children_locks):
17491         Added parentage check.
17492         Fix build og GstThread again.
17494 2005-03-08  Wim Taymans  <wim@fluendo.com>
17496         * docs/design/part-MT-refcounting.txt:
17497         * docs/design/part-conventions.txt:
17498         * docs/design/part-gstobject.txt:
17499         * docs/design/part-relations.txt:
17500         * docs/design/part-standards.txt:
17501         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17502         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17503         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17504         (gst_bin_iterate_all_by_interface):
17505         * gst/gstbuffer.h:
17506         * gst/gstclock.h:
17507         * gst/gstelement.c: (gst_element_class_init),
17508         (gst_element_change_state), (gst_element_set_loop_function):
17509         * gst/gstelement.h:
17510         * gst/gstiterator.c:
17511         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17512         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17513         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17514         (gst_object_set_parent), (gst_object_unparent),
17515         (gst_object_check_uniqueness):
17516         * gst/gstobject.h:
17517         Docs updates, clean up some headers.
17519 2005-03-07  Wim Taymans  <wim@fluendo.com>
17521         * check/.cvsignore:
17522         * check/Makefile.am:
17523         * check/gst-libs/.cvsignore:
17524         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17525         * check/gst/.cvsignore:
17526         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17527         (START_TEST), (gstbus_suite), (main):
17528         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17529         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17530         (gst_data_suite), (main):
17531         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17532         (add_fold_func), (gstiterator_suite), (main):
17533         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17534         (thread_name_object), (thread_name_object_default),
17535         (gst_object_name_compare), (gst_object_suite), (main):
17536         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17537         (gst_pad_suite), (main):
17538         * check/gstcheck.c: (gst_check_log_message_func),
17539         (gst_check_log_critical_func), (gst_check_init):
17540         * check/gstcheck.h:
17541         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17542         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17543         Added checks.
17545 2005-03-07  Wim Taymans  <wim@fluendo.com>
17547         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17548         (gst_list_iterator_next), (gst_list_iterator_resync),
17549         (gst_list_iterator_free), (gst_iterator_new_list),
17550         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17551         (gst_iterator_free), (gst_iterator_push), (filter_next),
17552         (filter_resync), (filter_uninit), (filter_free),
17553         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17554         (gst_iterator_foreach), (find_custom_fold_func),
17555         (gst_iterator_find_custom):
17556         * gst/gstiterator.h:
17557         Added missing files.
17559 2005-03-07  Wim Taymans  <wim@fluendo.com>
17561         * Makefile.am:
17562         * configure.ac:
17563         * docs/design/part-MT-refcounting.txt:
17564         * docs/design/part-conventions.txt:
17565         * docs/design/part-gstobject.txt:
17566         * docs/design/part-relations.txt:
17567         * examples/mixer/mixer.c: (main):
17568         * examples/thread/thread.c: (eos), (main):
17569         * gst/Makefile.am:
17570         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17571         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17572         (gst_spider_plug_from_srcpad):
17573         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17574         (gst_spider_identity_change_state),
17575         (gst_spider_identity_sink_loop_type_finding):
17576         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17577         * gst/elements/gstidentity.c: (gst_identity_init):
17578         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17579         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17580         * gst/elements/gsttypefindelement.c: (free_entry):
17581         * gst/gst.c:
17582         * gst/gst.h:
17583         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17584         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17585         (gst_bin_set_index), (gst_bin_set_element_sched),
17586         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17587         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17588         (gst_bin_iterate_elements), (iterate_child_recurse),
17589         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17590         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17591         (compare_interface), (gst_bin_get_by_interface),
17592         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17593         * gst/gstbin.h:
17594         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17595         (gst_buffer_default_free), (gst_buffer_default_copy),
17596         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17597         (gst_buffer_create_sub):
17598         * gst/gstbuffer.h:
17599         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17600         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17601         (gst_caps_unref), (gst_static_caps_get),
17602         (gst_caps_remove_and_get_structure), (gst_caps_append),
17603         (gst_caps_append_structure), (gst_caps_remove_structure),
17604         (gst_caps_copy_nth), (gst_caps_set_simple),
17605         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17606         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17607         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17608         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17609         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17610         (gst_caps_structure_figure_out_union),
17611         (gst_caps_switch_structures), (gst_caps_do_simplify),
17612         (gst_caps_replace), (gst_caps_from_string),
17613         (gst_caps_copy_conditional):
17614         * gst/gstcaps.h:
17615         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17616         (_gst_clock_id_free), (gst_clock_id_unref),
17617         (gst_clock_id_compare_func), (gst_clock_id_wait),
17618         (gst_clock_id_wait_async), (gst_clock_class_init),
17619         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17620         (gst_clock_get_time), (gst_clock_set_time_adjust),
17621         (gst_clock_set_property), (gst_clock_get_property):
17622         * gst/gstclock.h:
17623         * gst/gstcompat.h:
17624         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17625         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17626         * gst/gstdata.h:
17627         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17628         (gst_element_requires_clock), (gst_element_provides_clock),
17629         (gst_element_set_clock), (gst_element_clock_wait),
17630         (gst_element_wait), (gst_element_set_time_delay),
17631         (gst_element_is_indexable), (gst_element_add_pad),
17632         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17633         (pad_compare_name), (gst_element_get_static_pad),
17634         (gst_element_request_pad), (gst_element_get_request_pad),
17635         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17636         (gst_element_class_get_pad_template_list),
17637         (gst_element_class_get_pad_template), (gst_element_error_func),
17638         (gst_element_get_random_pad), (gst_element_get_event_masks),
17639         (gst_element_send_event), (gst_element_seek),
17640         (gst_element_get_query_types), (gst_element_query),
17641         (gst_element_get_formats), (gst_element_convert),
17642         (gst_element_is_locked_state), (gst_element_set_locked_state),
17643         (gst_element_sync_state_with_parent), (gst_element_change_state),
17644         (gst_element_finalize), (gst_element_yield),
17645         (gst_element_interrupt), (gst_element_set_scheduler),
17646         (gst_element_get_scheduler), (gst_element_set_loop_function):
17647         * gst/gstelement.h:
17648         * gst/gstevent.h:
17649         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17650         (gst_format_get_by_nick), (gst_format_get_details),
17651         (gst_format_iterate_definitions):
17652         * gst/gstformat.h:
17653         * gst/gstindex.c: (gst_index_gtype_resolver):
17654         * gst/gstinfo.c:
17655         * gst/gstinfo.h:
17656         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17657         (gst_mem_chunk_free):
17658         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17659         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17660         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17661         (gst_object_dispatch_properties_changed),
17662         (gst_object_set_name_default), (gst_object_set_name),
17663         (gst_object_get_name), (gst_object_set_name_prefix),
17664         (gst_object_get_name_prefix), (gst_object_set_parent),
17665         (gst_object_get_parent), (gst_object_unparent),
17666         (gst_object_check_uniqueness), (gst_object_save_thyself),
17667         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17668         (gst_object_set_property), (gst_object_get_property),
17669         (gst_object_get_path_string):
17670         * gst/gstobject.h:
17671         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17672         (gst_real_pad_init), (gst_real_pad_get_property),
17673         (gst_pad_custom_new), (gst_pad_get_direction),
17674         (gst_pad_set_active), (gst_pad_is_active),
17675         (gst_pad_set_event_function), (gst_pad_is_linked),
17676         (gst_pad_link_free), (gst_pad_link_intersect),
17677         (gst_pad_link_fixate), (gst_pad_set_caps),
17678         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17679         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17680         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17681         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17682         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17683         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17684         (gst_pad_realize), (gst_pad_get_allowed_caps),
17685         (gst_real_pad_dispose), (gst_real_pad_finalize),
17686         (gst_pad_collectv), (gst_pad_collect_valist),
17687         (gst_pad_template_dispose), (gst_pad_template_new),
17688         (gst_pad_get_internal_links):
17689         * gst/gstpad.h:
17690         * gst/gstpipeline.c: (gst_pipeline_dispose),
17691         (gst_pipeline_change_state):
17692         * gst/gstpipeline.h:
17693         * gst/gstplugin.c:
17694         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17695         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17696         * gst/gstpluginfeature.h:
17697         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17698         * gst/gstquery.c: (_gst_query_type_initialize),
17699         (gst_query_type_register), (gst_query_type_get_by_nick),
17700         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17701         * gst/gstquery.h:
17702         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17703         * gst/gstscheduler.c: (gst_scheduler_add_element),
17704         (gst_scheduler_factory_create):
17705         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17706         (gst_structure_free), (gst_structure_set_name),
17707         (gst_structure_id_set_value), (gst_structure_set_value),
17708         (gst_structure_set_valist), (gst_structure_remove_field),
17709         (gst_structure_remove_fields),
17710         (gst_structure_remove_fields_valist),
17711         (gst_structure_remove_all_fields), (gst_structure_foreach),
17712         (gst_structure_map_in_place),
17713         (gst_caps_structure_fixate_field_nearest_int),
17714         (gst_caps_structure_fixate_field_nearest_double):
17715         * gst/gststructure.h:
17716         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17717         (gst_system_clock_init), (gst_system_clock_dispose),
17718         (gst_system_clock_async_thread),
17719         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17720         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17721         * gst/gstsystemclock.h:
17722         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17723         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17724         * gst/gsttaginterface.c:
17725         * gst/gstthread.c: (gst_thread_dispose),
17726         (gst_thread_release_children_locks), (gst_thread_change_state),
17727         (gst_thread_main_loop):
17728         * gst/gsttrashstack.h:
17729         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17730         * gst/gsttypes.h:
17731         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17732         (gst_element_request_pad), (gst_element_get_pad_from_template),
17733         (gst_element_request_compatible_pad),
17734         (gst_element_get_compatible_pad_filtered),
17735         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17736         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17737         (gst_element_link_many), (gst_element_link),
17738         (gst_element_link_pads), (gst_element_unlink_pads),
17739         (gst_element_unlink_many), (gst_element_unlink),
17740         (gst_pad_can_link_filtered), (gst_pad_can_link),
17741         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17742         (gst_object_default_error), (gst_bin_add_many),
17743         (gst_bin_remove_many), (gst_element_populate_std_props),
17744         (gst_element_class_install_std_props), (gst_buffer_merge),
17745         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17746         (link_fold_func), (gst_pad_proxy_setcaps):
17747         * gst/gstutils.h:
17748         * gst/gstvalue.c: (gst_value_deserialize_string):
17749         * gst/parse/grammar.y:
17750         * gst/schedulers/gstbasicscheduler.c:
17751         (gst_basic_scheduler_cothreaded_chain),
17752         (gst_basic_scheduler_chain_recursive_add),
17753         (gst_basic_scheduler_pad_link):
17754         * gst/schedulers/gstoptimalscheduler.c:
17755         (get_group_schedule_function),
17756         (gst_opt_scheduler_state_transition),
17757         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17758         * libs/gst/bytestream/bytestream.c:
17759         * libs/gst/dataprotocol/dataprotocol.c:
17760         (gst_dp_header_from_buffer):
17761         * po/nb.po:
17762         * po/ru.po:
17763         * tests/threadstate/threadstate2.c: (eos):
17764         * tools/gst-compprep.c: (main):
17765         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17766         (print_pad_info), (print_children_info):
17767         * tools/gst-launch.c: (idle_func), (main):
17768         * tools/gst-md5sum.c: (idle_func), (main):
17769         * tools/gst-xmlinspect.c: (print_element_info):
17770         First THREADED backport attempt, focusing on adding locks and
17771         making sure the API is threadsafe. Needs more work. More docs
17772         follow this week.
17774 2005-02-24  Andy Wingo  <wingo@pobox.com>
17776         * tests/bench-complexity.scm:
17777         * tests/complexity.gnuplot: New files, good for running complexity
17778         benchmarks.
17780         * tests/Makefile.am:
17781         * tests/complexity.c: New test, sets up N elements, at each level
17782         teeing into M streams per element. Eeeenteresting.
17784         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17785         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17786         running bench-mass_elements.scm.
17788         * tests/bench-mass_elements.scm: New script, runs mass_elements
17789         for various numbers of identities, outputting the results to a
17790         file. Requires guile 1.6. Just for testing.
17792 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17794         * gst/schedulers/fairscheduler.c:
17795           compile with debug disabled
17797 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17799         * configure.ac:
17800           hunting season on 0.9 is now OPEN