]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gstreamer0-10.git/blob - ChangeLog
libs/gst/base/: Don't randomly and silently reset a segment when the format changes...
[glsdk/gstreamer0-10.git] / ChangeLog
1 2006-06-14  Wim Taymans  <wim@fluendo.com>
3         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5         * libs/gst/base/gstbasetransform.c:
6         (gst_base_transform_sink_eventfunc):
7         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
8         Don't randomly and silently reset a segment when the format 
9         changes as this is a bug somewhere upstream. Fixes #330379.
11 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
13         Patch by: Wouter Paesen  <wouter at kangaroot net>
15         * libs/gst/controller/gstcontroller.c:
16         (gst_controlled_property_new):
17           Fix controlling of float properties (#344849).
19         * tests/check/libs/controller.c:
20         (gst_test_mono_source_get_property),
21         (gst_test_mono_source_set_property),
22         (gst_test_mono_source_class_init), (GST_START_TEST):
23           While we're at it, add some float stuff to unit test.
25 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
27         * docs/README:
28         * docs/images/gdp-header.svg:
29           add a gdp image
30         * docs/libs/Makefile.am:
31         * docs/libs/gdp-header.png:
32         * libs/gst/dataprotocol/dataprotocol.c:
33           add it to the API docs
34         * docs/manual/intro-motivation.xml:
35           fix typo
37 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
39         * gst/gst.c: (scan_and_update_registry), (init_post):
40           If the fork()'ed child process can't write the updated registry cache
41           file to disk for some reason, make it exit with a failure exit code,
42           so that the parent can then re-scan the plugins itself and update the
43           registry structures in memory and work with that (rather than failing
44           when creating elements because seemingly no plugins are available).
45           Refactor registry scanning code into separate function for this and
46           also separate fork() and non-fork() code paths. Fixes #344748.
48 2006-06-13  Wim Taymans  <wim@fluendo.com>
50         * docs/manual/advanced-dataaccess.xml:
51         Fix wrong PluginDesc. Fixes #344755.
53 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
55         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
56           Fix silly bug that prevented us from creating
57           ~/.gstreamer-0.10 and writing the registry in one
58           go (the first call to g_mkstemp() would overwrite the
59           placeholder in the template string, so the second call
60           to g_mkstemp() after creating the missing directory
61           would then error out with 'invalid argument').
63 2006-06-13  Edward Hervey  <edward@fluendo.com>
65         * gst/gst.c: (init_post):
66         Free string.
68 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
70         * gst/glib-compat-private.h:
71         * gst/glib-compat.c:
72         * gst/glib-compat.h:
73         * gst/gstvalue.c: (gst_value_serialize_flags):
74           remove GLib 2.6 compatibility code
76 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
78         * gst/parse/Makefile.am:
79           Fix build with 'make -j N' even more (#340016).
81 2006-06-12  Wim Taymans  <wim@fluendo.com>
83         * docs/gst/gstreamer-sections.txt:
84         Fix docs.
86 2006-06-12  Wim Taymans  <wim@fluendo.com>
88         * gst/gstsegment.c: (gst_segment_set_duration),
89         (gst_segment_set_last_stop), (gst_segment_set_seek),
90         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
91         (gst_segment_to_running_time), (gst_segment_clip):
92         Use G_UNLIKELY to help the compiler a bit.
94 2006-06-12  Wim Taymans  <wim@fluendo.com>
96         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
98         * gst/gstevent.c: (gst_event_get_type):
99         * gst/gstmessage.c:
100         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
101         (gst_pad_push):
102         constify quark registration strings. Fixes #344115
103         Avoid unneeded type checking is _pad_push() by internally
104         calling gst_pad_chain_unchecked().
106 2006-06-12  Wim Taymans  <wim@fluendo.com>
108         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
109         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
110         (gst_subbuffer_finalize), (gst_buffer_create_sub),
111         (gst_buffer_is_span_fast), (gst_buffer_span):
112         Init _type for consistency.
113         Use _FLAGS macro to avoid type check.
114         Avoid unneeded type checks in subbufer code.
116 2006-06-12  Wim Taymans  <wim@fluendo.com>
118         * gst/gst.c: (gst_debug_help):
119         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
120         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
121         (gst_plugin_feature_list_free):
122         * gst/gstregistry.c: (gst_registry_add_plugin),
123         (gst_registry_add_feature), (gst_registry_plugin_filter),
124         (gst_registry_feature_filter), (gst_registry_find_plugin),
125         (gst_registry_find_feature), (gst_registry_get_plugin_list),
126         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
127         * gst/gstregistryxml.c: (load_feature),
128         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
129         * gst/gstminiobject.c: (gst_mini_object_unref),
130         (gst_mini_object_replace), (gst_value_mini_object_free),
131         (gst_value_mini_object_copy):
132         Use _CAST macros to avoid unneeded type checking.
133         Added some more G_UNLIKELY.
135 2006-06-12  Wim Taymans  <wim@fluendo.com>
137         * gst/gstbuffer.h:
138         Avoid unneeded type checking.
139         API: GST_BUFFER_IS_DISCONT
141         * gst/gstminiobject.h:
142         Avoid type check in flag accessor.
144         * gst/gstelementfactory.h:
145         * gst/gstplugin.h:
146         * gst/gstpluginfeature.h:
147         Add _CAST macros.
148         API: GST_ELEMENT_FACTORY_CAST
149         API: GST_PLUGIN_CAST
150         API: GST_PLUGIN_FEATURE_CAST
152 2006-06-12  Wim Taymans  <wim@fluendo.com>
154         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
155         (gst_object_unref):
156         Add G_UNLIKELY in type registration.
157         Avoid type check in _ref/_unref since that is also
158         done in glib.
160 2006-06-12  Wim Taymans  <wim@fluendo.com>
162         * gst/gsterror.c: (gst_g_error_get_type):
163         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
164         (gst_static_pad_template_get_type):
165         * gst/gsttaglist.c: (gst_tag_list_get_type):
166         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
167         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
168         * gst/gsturi.c: (gst_uri_handler_get_type):
169         * gst/gstvalue.c: (gst_date_get_type):
170         * gst/gstxml.c: (gst_xml_get_type):
171         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
172         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
173         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
174         Add G_UNLIKELY in type registration.
176 2006-06-12  Wim Taymans  <wim@fluendo.com>
178         * tools/gst-inspect.c: (print_signal_info):
179         Properly print enum values.
181 2006-06-12  Wim Taymans  <wim@fluendo.com>
183         * gst/gstinfo.c: (gst_debug_set_active),
184         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
185         * gst/gstinfo.h:
186         Add some G_[UN]LIKELY.
187         Maintain __gst_debug_min to avoid formatting the arguments of
188         debug messages that will be dropped anyway to avoid a lot of 
189         overhead from the debugging system.
191 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
193         * po/POTFILES.in:
194         * po/POTFILES.skip:
195           add missing files containing translatable strings, tell intltool about
196           one exception
198 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
200         * tests/check/libs/.cvsignore:
201         add test-binary to ignore list
203 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
205         * docs/libs/gstreamer-libs-docs.sgml:
206         reorder (put dp into a chapter) and indent
208 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
210         * configure.ac:
211           back to HEAD
213 === release 0.10.8 ===
215 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
217         * configure.ac:
218           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
220 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
222         * gst/gst.c: (init_post):
223           move pid declaration to declaration block
225 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
227         * gst/gst.c: (init_post):
228           use _exit() instead of exit() in our forked child; this ensures
229           that none of the registered exit handlers from whatever is using
230           GStreamer get executed.  This fixes gnome-mixer-applet failing
231           to load, because ORBit would shut down.
232           Spotted by: Edward Hervey  <edward@fluendo.com>
233           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
234           Fixes #344474
236 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
238         * configure.ac:
239           back to TRUNK
241 === release 0.10.7 ===
243 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
245         * configure.ac:
246           releasing 0.10.7, "Soepeke, ik zie ou"
248 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
250         * configure.ac:
251         * po/af.po:
252         * po/az.po:
253         * po/bg.po:
254         * po/ca.po:
255         * po/cs.po:
256         * po/de.po:
257         * po/en_GB.po:
258         * po/fr.po:
259         * po/it.po:
260         * po/nb.po:
261         * po/nl.po:
262         * po/ru.po:
263         * po/sq.po:
264         * po/sr.po:
265         * po/sv.po:
266         * po/tr.po:
267         * po/uk.po:
268         * po/vi.po:
269         * po/zh_CN.po:
270         * po/zh_TW.po:
271         * win32/common/config.h:
272           0.10.6.2 prerelease
274 2006-06-07  Wim Taymans  <wim@fluendo.com>
276         * gst/gstindex.c: (gst_index_gtype_resolver):
277         * tools/gst-xmlinspect.c: (print_plugin_info):
278         Fix leak spotted by coverity checker. Fixes #343827
279         Fix another other leak found by paolo borelli.
281 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
283         * libs/gst/dataprotocol/dataprotocol.c:
284         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
285         (gst_dp_version_get_type), (gst_dp_init),
286         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
287         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
288         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
289         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
290         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
291         (gst_dp_packetizer_free):
292         * libs/gst/dataprotocol/dataprotocol.h:
293           API: add a GstDPPacketizer object, and create/free functions
294           API: add GstDPVersion enum
295           Add 1.0 event function that uses the string serialization
296           Serialize more useful buffer flags
297           Fixes #343988
299 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
301         * tests/check/Makefile.am:
302         * tests/check/gst/gstabi.c:
303         * tests/check/gst/struct_ppc64.h:
304         * tests/check/libs/libsabi.c:
305         * tests/check/libs/struct_ppc64.h:
306           add ppc64 structure sizes
308 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
310         * tests/check/Makefile.am:
311         * tests/check/gst/gstabi.c:
312         * tests/check/gst/struct_x86_64.h:
313         * tests/check/libs/libsabi.c:
314         * tests/check/libs/struct_x86_64.h:
315           generate and add structure size lists for x86_64
317 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
319         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
320         * libs/gst/check/gstcheck.h:
321           factor out the method from tests that checks size of structures,
322           and add code to generate the header containing these sizes
323         * tests/check/gst/gstabi.c: (GST_START_TEST):
324         * tests/check/gst/struct_i386.h:
325         * tests/check/libs/libsabi.c: (GST_START_TEST):
326         * tests/check/libs/struct_i386.h:
327           use it
329 2006-06-06  Michael Smith  <msmith@fluendo.com>
331         * gst/gstsegment.h:
332           Don't use c++-style comments, fixes #343929
334 2006-06-05  Edward Hervey  <edward@fluendo.com>
336         * gst/gst.c:
337         plugin_paths is not used if we build without registry support.
339         * gst/gstsegment.c: (gst_segment_copy): 
340         _copy() was always returning NULL...
342 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
344         * libs/gst/dataprotocol/dataprotocol.c:
345         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
346         (gst_dp_packet_from_event):
347           factor out CRC code
349 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
351         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
352           make sure we unset caps
354 2006-06-02  Michael Smith  <msmith@fluendo.com>
356         * libs/gst/check/gstcheck.c: (gst_check_init),
357         (gst_check_chain_func):
358         * libs/gst/check/gstcheck.h:
359           Add a cond/mutex to the check support lib, signal this whenever we
360           add to the buffers list. This will allow tests to not busy-wait on
361           the buffer-list.
363 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
365         * libs/gst/dataprotocol/dataprotocol.c:
366         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
367         (gst_dp_packet_from_event):
368           factor out some common header init code
370 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
372         * docs/libs/gstreamer-libs-sections.txt:
373         * docs/libs/tmpl/gstdataprotocol.sgml:
374         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
375         * libs/gst/dataprotocol/dataprotocol.h:
376           API: make gst_dp_crc() public
378 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
380         * plugins/indexers/gstindexers.c: (plugin_init):
381         conditionally register fileindexer (fixes #343598)
383 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
385         * gst/gsttagsetter.h:
386         Can't cast ifaces to a class
388         * libs/gst/net/gstnetclientclock.h:
389         * libs/gst/net/gstnettimeprovider.h:
390         * plugins/elements/gstfakesink.h:
391         * plugins/elements/gstfakesrc.h:
392         * plugins/elements/gstfdsink.h:
393         * plugins/elements/gstfdsrc.h:
394         * plugins/elements/gstfilesink.h:
395         * plugins/elements/gstfilesrc.h:
396         * plugins/elements/gstidentity.h:
397         * plugins/elements/gstqueue.h:
398         * plugins/elements/gsttee.h:
399         * plugins/indexers/gstfileindex.c:
400         * plugins/indexers/gstmemindex.c:
401         * tests/old/examples/plugins/example.h:
402         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
404 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
406         * libs/gst/dataprotocol/dataprotocol.c:
407         (gst_dp_header_from_buffer):
408           make sure we zero the whole ABI-compatible area
410 2006-06-01  Wim Taymans  <wim@fluendo.com>
412         Patch by: Alessandro Decina <alessandro at nnva dot org>
414         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
415         Make sure the EOS flag is cleared from pads after a flush
416         or stop. Fixes #343538.
418         * tests/check/libs/collectpads.c: (GST_START_TEST),
419         (gst_collect_pads_suite):
420         Added test for collectpads reusage after EOS.
422 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
424         * gst/gst.c:
425          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
426         * win32/common/libgstbase.def:
427          export gst_collect_pads_set_flushing
428         * win32/common/libgstreamer.def:
429          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
430          gst_value_fraction_multiply
431         * win32/vs6/gst_inspect.dsp:
432          add a link to intl.lib
434 2006-05-30  Wim Taymans  <wim@fluendo.com>
436         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
437         (gst_collect_pads_chain):
438         Handle the case where a pad is removed from the collection
439         that could cause the other pads to become collectable.
441 2006-05-30  Wim Taymans  <wim@fluendo.com>
443         * gst/gstelement.c:
444         Clarify the use of _release_request_pad() and
445         _get_request_pad() a bit better.
447         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
448         (gst_adapter_take_buffer):
449         Fix some doc and comment typos.
451 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
453         * docs/gst/gstreamer-sections.txt:
454         * docs/libs/gstreamer-libs-sections.txt:
455           add declared symbols
457 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
459         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
460         Add debug that can be enabled using a #define at the top of the file,
461         for dumping stats about how late/early we were when waking up from
462         waiting on the clock.
464 2006-05-30  Wim Taymans  <wim@fluendo.com>
466         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
467         When rebuilding the pad list, don't leak the previous list.
469 2006-05-30  Wim Taymans  <wim@fluendo.com>
471         Patch by: Lutz Mueller <lutz at topfrose dot de>
473         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
474         (gst_base_src_get_query_types), (gst_base_src_update_length):
475         Publish supported query types.
476         Update last_stop field in get_range mode so the position
477         query works. Fixes #342321.
479 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
481         * docs/gst/gstreamer-sections.txt:
482         * gst/gsttaglist.c: (_gst_tag_initialize):
483         * gst/gsttaglist.h:
484           API: add GST_TAG_PREVIEW_IMAGE (#343341).
486 2006-05-30  Wim Taymans  <wim@fluendo.com>
488         Patch by: Alessandro Decina <alessandro at nnva dot org>
490         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
491         Unlock mutex when removing an unknown pad.
492         Fixes #343334.
494         * tests/check/Makefile.am:
495         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
496         (push_event), (setup), (teardown), (GST_START_TEST),
497         (gst_collect_pads_suite), (main):
498         Added collecpads check, disabled for now as check crashes for
499         some reason.
501 2006-05-29  Wim Taymans  <wim@fluendo.com>
503         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
504         Don't leak pads lists.
506 2006-05-29  Wim Taymans  <wim@fluendo.com>
508         * docs/libs/gstreamer-libs-sections.txt:
509         * libs/gst/base/gstcollectpads.c:
510         (gst_collect_pads_set_flushing_unlocked),
511         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
512         (gst_collect_pads_stop):
513         * libs/gst/base/gstcollectpads.h:
514         API: gst_collect_pads_set_flushing()
515         Added api to set the pads to flushing, useful for seeking
516         code in elements using collectpads.
517         Clear segment when receiving a flush.
519 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
521         * gst/gst.c: (add_path_func), (init_post):
522           Don't scan registry paths passed via --gst-plugin-path immediately
523           (will crash, because absolutely nothing is set up and no types are
524           registered etc.); do this later in init_post(). Fixes #343057.
526 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
528         * gst/gst.c: (init_post):
529           if we have fork, fork while reading/rebuilding the registry
530           so the parent doesn't take the hit of having all plugins loaded
531           in memory.  Fixes #342777.
532         * configure.ac:
533           Check if we have fork()
534         * win32/common/config.h.in:
535           no fork() on win32
537 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
539         * plugins/elements/gstelements.c:
540         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
541         (gst_file_src_init), (gst_file_src_set_property),
542         (gst_file_src_get_property), (gst_file_src_start):
543         * plugins/elements/gstfilesrc.h:
544           API: GstFileSrc::use-mmap
546         Add a use-mmap property to enable easier testing of all code paths.
547         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
548         in the absence of gnomevfssrc. (Closes #340501)
550 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
552         * tools/gst-inspect.c:
553         Add missing include, removes warning of ngettext not being defined on
554         some arches.
556 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
558         * gst/gstvalue.c: (gst_value_deserialize_fraction):
559         Handle NULL input and output pointers silently as a failed conversion,
560         rather than g_warnings.
562 2006-05-25  Wim Taymans  <wim@fluendo.com>
564         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
565         Initialize variable before using. Fixes #342820.
567 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
569         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
570           Fix off-by-one bug that would only allow peeks of N-1 bytes
571           from the start even if the buffer to typefind on contains
572           in fact N bytes of data (makes vorbis typefinding from a
573           vorbis identification header buffer work).
575         * tests/check/Makefile.am:
576         * tests/check/libs/.cvsignore:
577         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
578         (gst_typefindhelper_suite), (main), (foobar_typefind),
579         (plugin_init):
580           Add very basic unit test for gst_type_find_helper_for_buffer()
581           that checks for the problem fixed above.
583 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
585         * tools/gst-inspect.c: (print_interfaces),
586         (print_element_properties_info), (print_element_list), (main):
587           add more translatable strings
589 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
591         Patch by: Julien Moutte  <julien at moutte net>
593         * docs/gst/gstreamer-sections.txt:
594           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
595           
596         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
597         (gst_fake_sink_preroll):
598         * plugins/elements/gstfakesink.h:
599           API: Add new GstFakeSink::preroll-handoff signal (#337100).
601 2006-05-23  Wim Taymans  <wim@fluendo.com>
603         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
604         * gst/gstpad.h:
605         Added _CUSTOM error and success GstFlowReturn that can be
606         used be elements internally. 
607         Added macro to check for SUCCESS flowreturns.
608         API: GST_FLOW_CUSTOM_SUCCESS
609         API: GST_FLOW_CUSTOM_ERROR
610         API: GST_FLOW_IS_SUCCESS
612         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
613         Added check for GstFlowReturn sanity.
615 2006-05-23  Wim Taymans  <wim@fluendo.com>
617         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
619         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
620         (gst_collect_pads_event):
621         clear/reset segment info in FLUSH_STOP.
622         Fixes #336929.
624 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
626         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
627         (gst_collect_pads_check_collected):
628         Flush queued buffer on _stop(), fixes playing again (#342454)
630 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
632         * tests/check/gst/gststructure.c: (GST_START_TEST),
633         (gst_structure_suite):
634           add a test for a complete structure
636 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
638         * docs/faq/developing.xml:
639         * docs/faq/faq.xml:
640         * docs/faq/troubleshooting.xml:
641         * docs/faq/using.xml:
642           Some minor FAQ updates that won't change the fact that
643           our FAQ is badly structured, full of information hardly
644           anyone new to GStreamer needs to know and lacking lots
645           of information people constantly ask for.
646           
647 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
649         * gst/gstpad.c: (gst_pad_set_caps):
650           Short-circuit gst_pad_set_caps if setting the existing
651           caps pointer again, and avoid printing debug and 
652           reffing/unreffing the caps.
654         * plugins/elements/gstqueue.c: (gst_queue_push_one):
655           There's actually no need to set the caps before pushing -
656           the acceptcaps method will handle it anyway.
658 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
660         * docs/gst/gstreamer-sections.txt:
661         * win32/common/libgstreamer.def:
662         * gst/gstutils.c: (gst_element_seek_simple):
663         * gst/gstutils.h:
664           API: add gst_element_seek_simple() (#342238).
666 2006-05-18  Edward Hervey  <edward@fluendo.com>
668         * gst/gsttypefind.c: (gst_type_find_get_type):
669         * gst/gsttypefind.h:
670         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
671         registered for GstTypeFind pointers. This allows wrapping the structure
672         in bindings (i.e. gst-python).
674 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
676         * gst/gsttagsetter.c:
677           Docs additions and fixes (see #339918).
679 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
681         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
682         The caps intersection algorithm can produce multiple copies of the
683         caps. Until that is fixed, we need to simplify the result to be
684         sure whether the allowed caps are fixed or not.
686         * plugins/elements/gstqueue.c: (gst_queue_init),
687         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
688         (gst_queue_push_one):
689         Proxied buffer alloc should not set the caps on the source pad.
690         When pushing buffers, we always accept the caps change that triggers.
691         This prevents negotiation errors caused by caps changing mid-stream 
692         and then being refused on our source pad (because upstream is now
693         refusing those caps).
695 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
697         * tests/examples/helloworld/helloworld.c: (main):
698           Must plug audioconvert and audioresample between decoder
699           and audio sink.
701 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
703         * gst/gstregistryxml.c: (read_string), (load_pad_template),
704         (load_feature), (load_plugin):
705         Allow empty strings for some of the plugin fields so we don't 
706         drop valid plugin entries that were written out correctly
707         (Fixes #341479)
709 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
710         
711         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
712           Use g_remove and g_rename instead of remove and rename that don't 
713           handle utf8 characters. rename was failing for users who had specific
714           characters in their name then the registry was built at each 
715           gstreamer init.
716         * win32/vs6/gst_inspect.dsp:
717         * win32/vs6/gst_launch.dsp:
718         * win32/vs6/libgstbase.dsp:
719         * win32/vs6/libgstcoreelements.dsp:
720         * win32/vs6/libgstreamer.dsp:
721           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
722           build of libgstreamer and clean unused libraries in projects link 
723           settings.
725 2006-05-17  Edward Hervey  <edward@fluendo.com>
727         * plugins/elements/gstqueue.c: (gst_queue_push_one):
728         The queue is not responsible for pushing an EOS when receiving a fatal
729         flow error. It's up to the real element driving the pipeline to do that.
731 2006-05-16  Edward Hervey  <edward@fluendo.com>
733         * plugins/elements/gstqueue.c: (gst_queue_push_one):
734         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
735         buffer returned a fatal error. It should just send an EOS and stop
736         its task.
737         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
738         when pushing buffers on the queue and will be able to handle the event.
740 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
742         * docs/manual/basics-bins.xml:
743         * docs/manual/basics-init.xml:
744           Fix typos and minor errors in sample code (#341856).
746 2006-05-16  Wim Taymans  <wim@fluendo.com>
748         * docs/design/part-qos.txt:
749         Fix indexes in formulas to make more sense.
751 2006-05-15  Wim Taymans  <wim@fluendo.com>
753         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
754         Don't report POSITION based on clock time if sync is
755         disabled in a sink.
757 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
759         * gst/gstobject.h:
760           Add cast to make compiler happy - refcount variable was a gint
761           in GstObject but is a guint in GObject and g_atomic_int_get()
762           wants a gint *.
764 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
766         * gst/parse/Makefile.am:
767           chain commands using &&, which also makes parallel make work
769 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
771         * docs/gst/gstreamer-sections.txt:
772         * gst/gstevent.c:
773         * gst/gstevent.h:
774         * gst/gstmessage.h:
775           Minor docs fixes.
777 === release 0.10.6 ===
779 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
781         * configure.ac:
782           releasing 0.10.6, "Take the cannoli"
784 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
786         * tools/gst-launch.c: (print_tag):
787           Fix use of uninitialized variable in the hypothetical
788           case that some broken plugin creates a GST_TAG_IMAGE
789           tag containing a NULL buffer (#341667).
791 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
793         * tools/gst-launch.c: (print_tag):
794           Print something more intelligible for image tags when
795           using the -t switch (#341556).
797 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
799         * Makefile.am:
800           updates for win32
801         * configure.ac:
802           define GST_MAJORMINOR so we have it available in win32/common/config.h
803           Possibly remove it from our Makefile.am files later
804         * win32/common/config.h:
805         * win32/common/config.h.in:
806           added GST_MAJORMINOR
807         * win32/common/gstenumtypes.c: (register_gst_resource_error):
808         * win32/common/gstversion.h:
809           updated
811 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
813         * win32/MANIFEST:
814           Update win32 files listing.
815         * win32/common/gstversion.h:
816           Add GST_MAJORMINOR definition.
817         * win32/common/libgstreamer.def:
818           Add new exported functions.
819           
820 2006-05-12  Michael Smith  <msmith@fluendo.com>
822         * gst/gstplugin.c: (gst_plugin_load_file):
823           If an so file has no plugin entry point, unload the module.
825 2006-05-11  Wim Taymans  <wim@fluendo.com>
827         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
828         (gst_queue_set_property):
829         Don't forget to signal the _chain or _loop function 
830         when the queue size or thresholds change since that might
831         cause them to make progres again.
833 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
835         * gst/gstclock.c: (gst_clock_class_init):
836         * gst/gstindex.c: (gst_index_class_init):
837         * gst/gstobject.c: (gst_object_class_init):
838         * gst/gstpad.c: (gst_pad_class_init):
839         * gst/gstpipeline.c: (gst_pipeline_class_init):
840         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
841         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
842         * libs/gst/base/gstbasetransform.c:
843         (gst_base_transform_class_init):
844         * libs/gst/net/gstnetclientclock.c:
845         (gst_net_client_clock_class_init):
846         * libs/gst/net/gstnettimeprovider.c:
847         (gst_net_time_provider_class_init):
848         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
849         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
850         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
851         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
852         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
853         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
854         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
855         * plugins/elements/gstidentity.c: (gst_identity_class_init):
856         * plugins/elements/gsttee.c: (gst_tee_class_init):
857         * tests/old/examples/plugins/example.c: (gst_example_class_init):
858         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
859           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
861 2006-05-11  Wim Taymans  <wim@fluendo.com>
863         * gst/gstbuffer.c: (_gst_buffer_initialize):
864         Register subbufer along with the buffer type so that
865         it does not accidentally gets registered from N
866         different streaming threads in a non threadsafe way.
868 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
870         * gst/gstbuffer.h:
871         * gst/gstevent.h:
872         * gst/gstmessage.h:
873           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
874           gst_event_ref() and gst_message_ref() functions again
875           (ugly hack, please do fix if there's a better way besides
876           overrides.txt, which doesn't seem to work).
878 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
880         * libs/gst/check/gstcheck.h:
881           add an assert for setting state to avoid lots of repetitive code
882           in the future
884 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
886         * gst/gstvalue.c: (gst_value_serialize_flags):
887           fix a leak if no flags are set
888         * tests/check/gst/gstvalue.c: (GST_START_TEST):
889           fix leak in tests
891 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
893         * docs/manual/basics-pads.xml:
894           Expand a bit on caps and filtered links and update
895           examples that were still using the no longer existing
896           gst_pad_link_filtered() (#338206).
898 2006-05-10  Wim Taymans  <wim@fluendo.com>
900         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
901         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
902         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
903         (gst_collect_pads_stop):
904         * libs/gst/base/gstcollectpads.h:
905         No need to call _stop in _finalize.
906         Iterate the main pad list in _finalize.
907         Added some more debug.
908         Free lists and data in the right order.
909         Also free data whem doing _remove_pad when stopped for
910         backward compatibility protect ::started with PAD_LOCK as
911         well.
913 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
915         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
916         (gst_structure_parse_value):
917           add some comments
918           rename a method so that it actually says what it does better
920 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
922         * gst/gstevent.c: (_gst_event_initialize):
923         * gst/gstformat.c: (_gst_format_initialize):
924           make sure some essential types used by events are registered
925           as part of gst_init()
926         * gst/gstvalue.c: (gst_value_serialize_flags):
927           if no flags are set, serialize them to a value that represents NONE
928           so that deserializing them works
929         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
930           add tests for serialization and deserialization of flags
932 2006-05-10  Wim Taymans  <wim@fluendo.com>
934         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
935         (gst_collect_pads_collect_range), (gst_collect_pads_available),
936         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
937         (gst_collect_pads_event), (gst_collect_pads_chain):
938         Update docs.
939         Better debug info.
940         Catch and return errors from the collect function
941         Refuse data on eos pads.
943 2006-05-10  Edward Hervey  <edward@fluendo.com>
945         * gst/gstinterface.h:
946         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
947         GInterface type checking.
948         They were previously using non-defined macros.
950 2006-05-09  Wim Taymans  <wim@fluendo.com>
952         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
953         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
954         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
955         (gst_collect_pads_start), (gst_collect_pads_stop),
956         (gst_collect_pads_peek), (gst_collect_pads_pop),
957         (gst_collect_pads_available), (gst_collect_pads_read),
958         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
959         (gst_collect_pads_is_collected), (gst_collect_pads_event),
960         (gst_collect_pads_chain):
961         * libs/gst/base/gstcollectpads.h:
962         Clean up the mess that is collectpads, add comments and
963         FIXMEs where needed.
964         Maintain a separate pad list so we can add pads while
965         collecting the other ones. For this we need a new separate 
966         lock (see comics).
967         Fix memory leak in finalize.
968         Refactor some weird code to set/unset pad flushing flags, mark
969         with comments.
970         Don't crash in _available, _read, _flush when we're EOS.
972         * tests/check/libs/.cvsignore:
973         Ignore adapter check binary.
975 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
977         * gst/gstindex.c: (gst_index_resolver_get_type):
978         * plugins/elements/gstfakesink.c:
979         (gst_fake_sink_state_error_get_type):
980         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
981         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
982         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
983           Const-ify GEnumValue arrays.
985 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
987         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
988           Add test case for flags + gst_buffer_make_metadata_writable().
990 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
992         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
993           gst_buffer_make_metadata_writable() should maintain the
994           buffer flags (those that make sense at least) (see #340859).
996 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
998         * tools/gst-inspect.c:
999         * tools/gst-launch.c:
1000         * tools/gst-typefind.c:
1001         * tools/gst-xmlinspect.c:
1002         * tools/tools.h:
1003           Fix up includes: need to include stdlib.h in tools.h for exit().
1005 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1007         * gst/gsttaglist.c: (_gst_tag_initialize):
1008         * gst/gsttaglist.h:
1009           API: add GST_TAG_IMAGE tag (#340721).
1011 2006-05-08  Wim Taymans  <wim@fluendo.com>
1013         * gst/gstquery.c:
1014         Added some docs for the segment query.
1016 2006-05-08  Wim Taymans  <wim@fluendo.com>
1018         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1019         (gst_base_src_loop), (gst_base_src_change_state):
1020         Always push non-flushing serialized events in the streaming 
1021         thread.
1023 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1025         * gst/gsterror.c: (_gst_stream_errors_init):
1026           Add a missing error string.
1028 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1030         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1031         Add applied_rate to the debug
1033         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1034         Copy applied_rate into the outgoing NEWSEGMENT event
1036 2006-05-08  Wim Taymans  <wim@fluendo.com>
1038         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1040         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1041         (gst_base_sink_change_state):
1042         call ::unlock before taking the PREROLL_LOCK so we can safely
1043         handle elements that lock in ::render.
1044         Fixes #340174.
1046 2006-05-08  Edward Hervey  <edward@fluendo.com>
1048         * autogen.sh: (CONFIGURE_DEF_OPT): 
1049         Darwin's libtoolize is in fact called glibtoolize.
1050         Adding glibtoolize to the list of accepted names for libtoolize.
1052 2006-05-08  Wim Taymans  <wim@fluendo.com>
1054         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1055         Unify error handling, don't post an error message
1056         when a push() returns EOS but perform our normal EOS
1057         handling code. Fixes #340772.
1059 2006-05-08  Wim Taymans  <wim@fluendo.com>
1061         * docs/design/part-overview.txt:
1062         Make upsteam/downstream concepts more clear.
1063         Give an example of serialized/non-serialized events.
1065         * docs/design/part-events.txt:
1066         * docs/design/part-streams.txt:
1067         Mention applied_rate.
1069         * docs/design/part-trickmodes.txt:
1070         Mention applied rate, flesh out some more use cases.
1072         * gst/gstevent.c: (gst_event_new_new_segment),
1073         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1074         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1075         (gst_event_parse_tag), (gst_event_new_buffer_size),
1076         (gst_event_parse_buffer_size), (gst_event_new_qos),
1077         (gst_event_parse_qos), (gst_event_parse_seek),
1078         (gst_event_new_navigation):
1079         * gst/gstevent.h:
1080         Add applied_rate field to NEWSEGMENT event.
1081         API: gst_event_new_new_segment_full()
1082         API: gst_event_parse_new_segment_full()
1084         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1085         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1086         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1087         * gst/gstsegment.h:
1088         Add applied_rate to GstSegment structure.
1089         Make calculation of stream_time and running_time more correct
1090         wrt rate/applied_rate.
1091         Add some more docs.
1092         API: GstSegment::applied_rate field
1093         API: gst_segment_set_newsegment_full();
1095         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1096         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1097         * libs/gst/base/gstbasetransform.c:
1098         (gst_base_transform_sink_eventfunc),
1099         (gst_base_transform_handle_buffer):
1100         Parse and use applied_rate in the GstSegment field.
1102         * tests/check/gst/gstevent.c: (GST_START_TEST):
1103         Add check for applied_rate field.
1105         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1106         (gstsegments_suite):
1107         Add more checks for various GstSegment operations.
1109 2006-05-08  Wim Taymans  <wim@fluendo.com>
1111         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1112         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1113         (gst_base_sink_get_position), (gst_base_sink_change_state):
1114         Store the sync time of the buffer end position separatly in a
1115         new variable eos_rtime so we can properly sync the EOS event.
1116         Fixes #340697.
1117         Fix the docs for gst_base_sink_set_qos_enabled().
1118         Don't set segment start to invalid value when we receive a 
1119         non TIME newsegment.
1120         get closer to handling position reporting for negative rates 
1121         correctly.
1123 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1125         * gst/gstcaps.c:
1126         Docs about how to print caps for debug purposes.
1128         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1129         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1131 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1133         * gst/gstelement.c:
1134           use full enum names and preprend a '%' in docs strings to make recent 
1135           gtk-doc turn that into a link
1137 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1139         * docs/manual/basics-bins.xml:
1140         * docs/manual/basics-bus.xml:
1141         * docs/manual/basics-pads.xml:
1142           Some typo fixes, some additions, some clarifications. 
1144 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1146         * tools/gst-inspect.c: (main):
1147         * tools/gst-launch.c: (main):
1148         * tools/gst-run.c: (main):
1149         * tools/gst-typefind.c: (main):
1150         * tools/gst-xmlinspect.c: (main):
1151           Use the string passed to g_option_context_new() for
1152           what it's intended for - the program name is already
1153           printed elsewhere.
1155 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1157         * tools/Makefile.am:
1158         * tools/gst-inspect.c: (main):
1159         * tools/gst-launch.c: (main):
1160         * tools/gst-xmlinspect.c: (main):
1161         * tools/tools.h:
1162           Add back --version command line option (#340460).
1164         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1165           Add --version option and use GOption for argument parsing; refactor a
1166           bit; accept directories as arguments and recurse into them; lastly,
1167           print a decent error message when things go wrong.
1169 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1171         * docs/manual/basics-bins.xml:
1172         Don't mention GstThread (#340611)
1173         * docs/manual/basics-elements.xml:
1174         Update link to GObject tutorial (#340607)
1175         
1176 2006-05-05  Wim Taymans  <wim@fluendo.com>
1178         * gst/gstbuffer.h:
1179         * gst/gstminiobject.c:
1180         Add note about refcounting and miniobject/buffer writeability
1181         to docs. Fixes #340604
1183         * gst/gstelementfactory.h:
1184         Added some explanation about @klass.
1186 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1188         * docs/manual/intro-motivation.xml:
1189         * docs/manual/manual.xml:
1190         Avoid CORBA & Bonobo references (#340598)
1192 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1194         * docs/manual/basics-bus.xml:
1195         * docs/manual/basics-pads.xml:
1196         Fix up some inaccuracies and omissions (#340609)
1197         
1198 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1200         * gst/gstghostpad.c:
1201           Small typo in docs (#340625)
1203 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1205         * gst/parse/Makefile.am:
1206           Make 'make -j' proof (see #340698).
1208 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1210         * configure.ac:
1211           Require GLib-2.8 here as well.
1213 2006-05-05  Wim Taymans  <wim@fluendo.com>
1215         * gst/glib-compat.c:
1216         * gst/gst.c: (init_pre):
1217         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1218         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1219         (gst_object_dispatch_properties_changed):
1220         * gst/gstobject.h:
1221         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1222         * gst/gststructure.c: (gst_structure_set_valist):
1223         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1224         Remove pre glib2.8 compatibility, fixes #340508
1226 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1228         * gst/gsttaglist.h:
1229           Mention type of tags in doc blurbs.
1231 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1233         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1234         (gst_pad_configure_src), (gst_pad_push):
1235         Restore acceptcaps checking behaviour now that good plugins have
1236         been released.
1238 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1240         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1242         * gst/gst.c:
1243         * gst/gstbus.c:
1244         * gst/gstclock.c:
1245         * gst/gstevent.c:
1246         * gst/gstformat.c:
1247         * gst/gstmessage.c:
1248         * gst/gstparse.c:
1249         * gst/gstquery.c:
1250         * gst/gstutils.c:
1251         * gst/parse/Makefile.am:
1252         * libs/gst/base/gstadapter.c:
1253         * libs/gst/base/gstbasesrc.c:
1254         * libs/gst/base/gstpushsrc.c:
1255         * libs/gst/base/gsttypefindhelper.c:
1256         * plugins/elements/gstfakesrc.c:
1257         * plugins/elements/gstidentity.c:
1258           Make sure gstprivate.h and/or config.h are
1259           always included first, otherwise some of our
1260           defines (like _FILE_OFFSET_BITS) might be
1261           redefined in the system headers. Fixes build
1262           on opensolaris (#340016).
1264 2006-05-04  Wim Taymans  <wim@fluendo.com>
1266         * docs/libs/gstreamer-libs-sections.txt:
1267         API: addition: gst_adapter_take_buffer()
1268         
1269         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1270         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1271         (gst_adapter_available_fast):
1272         * libs/gst/base/gstadapter.h:
1273         Prepare for optimizing the hell out of this hugely inefficient
1274         piece of code. 
1275         Added gst_adapter_take_buffer() so we can at least start thinking
1276         about subbuffering and merging.
1277         Added some comments.
1279         * tests/check/Makefile.am:
1280         * tests/check/libs/adapter.c: (GST_START_TEST),
1281         (gst_adapter_suite), (main):
1282         Added GstAdapter check.
1284 2006-05-04  Wim Taymans  <wim@fluendo.com>
1286         * docs/design/part-overview.txt:
1287         Fix some typos, add blurb about buffer flags.
1289 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1291         * docs/libs/gstreamer-libs-sections.txt:
1292           make sure GstBaseTransformClass shows up in the docs
1293         * libs/gst/base/gstbasetransform.c:
1294         * libs/gst/base/gstbasetransform.h:
1295           move docs so gtk-doc picks it up now
1297 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1299         * docs/libs/gstreamer-libs-sections.txt:
1300           add missing symbols to docs
1302 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1304         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1305           back out the newsegment handling change, see #340060 for ongoing
1306           discussion
1308 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1310         * tools/gst-run.c: (get_candidates), (main):
1311           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1312           work); fix typo in error message. Fixes #340079.
1314 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1316         * common/Makefile.am:
1317         * docs/Makefile.am:
1318         * docs/faq/Makefile.am:
1319         * docs/gst/Makefile.am:
1320         * docs/libs/Makefile.am:
1321         * docs/manual/Makefile.am:
1322         * docs/plugins/Makefile.am:
1323         * docs/pwg/Makefile.am:
1324         * docs/slides/Makefile.am:
1325         * docs/upload.mak:
1326         * common/upload.mak:
1327           move upload.mak to common
1329 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1331         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1332           add more asserts on refcounts
1333           do more cleanup at end of tests
1334           fix test leaks showing in FC5
1336 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1338         * plugins/elements/gsttypefindelement.c:
1339         (gst_type_find_element_handle_event):
1340         reverted wrong change and reflowed code to avoid others falling into
1341         this trap
1343 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1345         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1346           fix changelog entry about last collectpads change,
1347           add notes about proper fix
1349 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1351         * gst/gst.c:
1352         * gst/gstregistry.c: (gst_registry_scan_path_level),
1353         (gst_registry_scan_path):
1354         * gst/gstregistry.h:
1355           only write out registry if it has changed, fixes #338339
1357 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1359         * gst/gstbin.c:
1360         * gst/gstpipeline.c:
1361         * plugins/elements/gstcapsfilter.c:
1362         * plugins/elements/gstfakesink.c:
1363         * plugins/elements/gstfakesrc.c:
1364         * plugins/elements/gstfdsink.c:
1365         * plugins/elements/gstfdsrc.c:
1366         * plugins/elements/gstfilesink.c:
1367         * plugins/elements/gstfilesrc.c:
1368         * plugins/elements/gstidentity.c:
1369         * plugins/elements/gstqueue.c:
1370         * plugins/elements/gsttee.c:
1371         * plugins/elements/gsttypefindelement.c:
1372         (gst_type_find_element_handle_event):
1373           make GstElementDetails const
1375 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1377         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1378         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1379         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1380           more detailed debug and formatting cleanup,
1381           forward newsegments to src-pad (so that e.g. adder not eats them)
1383 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1385         * gst/gstutils.c: (gst_element_link_pads):
1386           cleanup double code
1388 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1390         * libs/gst/controller/gstcontroller.c:
1391         (gst_controller_sync_values):
1392           some little tuning
1393         * tests/check/libs/controller.c: (GST_START_TEST),
1394         (gst_controller_suite):
1395           a new test for live value handling
1397 2006-04-28  Wim Taymans  <wim@fluendo.com>
1399         * gst/gstutils.c: (push_and_ref):
1400         Added some more docs.
1401         Fix refcount issue whith gst_element_found_tags() helper 
1402         function. Fixes #338335
1404         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1405         Added testsuite for gst_element_found_tags().
1407 2006-04-28  Michael Smith  <msmith@fluendo.com>
1409         * gst/gstvalue.c: (gst_value_serialize_flags):
1410           Avoid NULL dereference when trying to serialize flags containing
1411           invalid values.
1413 2006-04-28  Michael Smith  <msmith@fluendo.com>
1415         * plugins/elements/gsttypefindelement.c:
1416         (gst_type_find_element_handle_event):
1417           If we get EOS before any data is accumulated, don't use
1418           uninitialised local variables.
1420 2006-04-28  Michael Smith  <msmith@fluendo.com>
1422         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1423         (gst_dp_event_from_packet):
1424           Fixes in reading/writing events over GDP (not currently used?) - 
1425           dereferencing NULL events for unknown/invalid event types, memory
1426           leak, and change g_warning to GST_WARNING.
1428 2006-04-28  Wim Taymans  <wim@fluendo.com>
1430         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1431         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1432         (gst_base_sink_get_position), (gst_base_sink_change_state):
1433         When frame dropping is enabled, we should not ignore frames
1434         without a duration.
1435         Update some documentation.
1437 2006-04-28  Wim Taymans  <wim@fluendo.com>
1439         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1440         (gst_base_src_send_event), (gst_base_src_change_state):
1441         Documentation updates.
1443 2006-04-28  Wim Taymans  <wim@fluendo.com>
1445         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1446         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1447         handle EAGAIN, EINTR and short writes correctly. Also clean
1448         up some error cases, avoid a deadlock on bad file descriptors and
1449         use GST_DEBUG_OBJECT.
1450         Fixes #339843
1452 2006-04-28  Wim Taymans  <wim@fluendo.com>
1454         * gst/gstvalue.c: (gst_value_serialize_buffer),
1455         (gst_value_deserialize_buffer):
1456         Don't try to serialize a GValue with a NULL buffer. 
1457         Fixes #339821.
1459         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1460         Added check for serialisation of NULL buffers.
1462 2006-04-28  Wim Taymans  <wim@fluendo.com>
1464         * gst/gstminiobject.c: (gst_value_take_mini_object):
1465         Taking a NULL miniobject is valid, fix the case where
1466         we try to unref the NULL miniobject.
1468 2006-04-28  Wim Taymans  <wim@fluendo.com>
1470         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1472         * gst/gstbin.c: (gst_bin_handle_message_func):
1473         Update docs.
1474         Don't leak bin refcount when a state recalc is
1475         in progress and we delay another one #339808.
1477 2006-04-28  Wim Taymans  <wim@fluendo.com>
1479         * docs/design/part-TODO.txt:
1480         Mention QoS as an ongoing work item.
1482         * docs/design/part-buffering.txt:
1483         New doc about buffering that needs to be fleshed out
1484         at some point.
1486         * docs/design/part-qos.txt:
1487         More QoS policy for decoders/demuxers/transforms
1489         * docs/design/part-trickmodes.txt:
1490         Small update.
1492 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1494         * configure.ac:
1495           back to HEAD
1497 === release 0.10.5 ===
1499 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1501         * configure.ac:
1502           releasing 0.10.5, "Fogo"
1504 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1506         patch by: Wim Taymans
1508         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1509         (gst_pad_configure_src), (gst_pad_push):
1510         * gst/gstpipeline.c: (gst_pipeline_init):
1511           Fix internal data flow errors.  Fixes #338711.
1513 2006-04-12  Wim Taymans  <wim@fluendo.com>
1515         * tests/check/gst/gstelement.c: (GST_START_TEST):
1516         Don't leak the factory.
1518 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1520         * configure.ac:
1521         * win32/common/config.h:
1522           prerelease
1524 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1526         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1527         (gst_controller_unset_all):
1528           Free allocated GstTimedValues when freeing list nodes.
1529           Should fix leaks 'make check-valgrind' complains about.
1531         * win32/common/libgstcontroller.def:
1532           Add gst_controller_unset_all.
1534 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1536         * docs/libs/gstreamer-libs-sections.txt:
1537         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1538         (gst_controller_unset_all):
1539         * libs/gst/controller/gstcontroller.h:
1540         API: Added new method gst_controller_unset_all()
1541         fixed gst_controller_unset()
1542         * tests/check/libs/controller.c: (GST_START_TEST),
1543         (gst_controller_suite):
1544         Added two testcases for new and fixed method
1546 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1548         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1549           MSG_DONTWAIT is not defined on Cygwin, so work
1550           around that (fixes #317048).
1551           
1552 2006-04-11  Wim Taymans  <wim@fluendo.com>
1554         * gst/gstelementfactory.c: (gst_element_register),
1555         (gst_element_factory_create), (gst_element_factory_make):
1556         Some cleanups.
1557         Fixed a FIXME.
1558         Updated docs (Fixes #131079)
1560         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1561         Small cleanups.
1563         * tests/check/gst/gstelement.c: (GST_START_TEST),
1564         (gst_element_suite):
1565         Added testcase for elementfactory class field.
1567 2006-04-10  Wim Taymans  <wim@fluendo.com>
1569         * gst/gstsegment.c:
1570         Added some more docs.
1572         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1573         (gst_base_sink_reset_qos):
1574         Calculate more accurate rate values.
1576 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1578         * gst/gst_private.h:
1579           add a new #ifdef to use __declspec(dllimport) only for
1580           other modules and not for gstreamer core
1581         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1582           use gst_guint64_to_gdouble for conversion
1583         * win32/common/libgstreamer.def:
1584           add new exported functions
1585         * win32/vs6/gst_inspect.dsp:
1586         * win32/vs6/gst_launch.dsp:
1587         * win32/vs6/libgstbase.dsp:
1588         * win32/vs6/libgstcontroller.dsp:
1589         * win32/vs6/libgstcoreelements.dsp:
1590         * win32/vs6/libgstdataprotocol.dsp:
1591         * win32/vs6/libgstnet.dsp:
1592           update project files
1594 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1596         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1597         * gst/gstclock.c: (gst_clock_class_init):
1598         * gst/gstelement.c: (gst_element_class_init):
1599         * gst/gstindex.c: (gst_index_class_init):
1600         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1601         * gst/gstobject.c: (gst_object_class_init),
1602         (gst_signal_object_class_init):
1603         * gst/gstpad.c: (gst_pad_class_init):
1604         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1605         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1606         * gst/gstregistry.c: (gst_registry_class_init):
1607         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1608         * gst/gsttask.c: (gst_task_class_init):
1609         * gst/gstxml.c: (gst_xml_class_init):
1610         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1611         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1612         (gst_base_src_loop):
1613         * libs/gst/controller/gstcontroller.c:/
1614         (_gst_controller_class_init):
1615         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1616         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1617         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1618         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1619         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1620         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1622 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1624         * gst/gstpad.c: (gst_pad_link):
1625           Must set peer pads before calling the link function, otherwise
1626           a task started from a link function might get a flow-not-linked
1627           result when trying to push because the other thread where the
1628           linking happens hasn't had a chance to set the peers yet. This
1629           might happen for example when a queue gets linked to a downstream
1630           element, as queue starts a streaming task when its source pad
1631           gets linked. Happens in real life when playing back flac/musepack
1632           files in playbin (#332390).
1633           
1634 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1636         * gst/gstindex.h:
1637         * gst/gstxml.h:
1638         * libs/gst/base/gstadapter.h:
1639         * libs/gst/base/gstbasesink.h:
1640         * libs/gst/base/gstbasesrc.h:
1641         * libs/gst/base/gstbasetransform.h:
1642         * libs/gst/base/gstcollectpads.h:
1643         * libs/gst/base/gstpushsrc.h:
1644         Fix broken GObject macros
1646 2006-04-07  Wim Taymans  <wim@fluendo.com>
1648         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1649         Initialize start and stop times, thanks valgrind.
1651 2006-04-07  Wim Taymans  <wim@fluendo.com>
1653         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1654         Be a bit nicer to badly behaving upstream elements that expect
1655         us to deal with non TIME segments and timestamps (such as fakesrc
1656         in the testsuite).
1658 2006-04-07  Wim Taymans  <wim@fluendo.com>
1660         * gst/gstbus.c:
1661         Small documentation clarification about the signal watch.
1663         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1664         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1665         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1666         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1667         (gst_base_sink_get_position_last),
1668         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1669         Convert and store timestamps in stream time and running time, the
1670         raw timestamps are not usefull, also document this better.
1671         Use different window sizes for good and bad QoS observations so
1672         we react to badness a little quicker.
1673         Keep track of the amount of rendered and dropped buffers.
1674         Send QoS timestamps in running time.
1676         * libs/gst/base/gstbasetransform.c:
1677         (gst_base_transform_sink_eventfunc),
1678         (gst_base_transform_handle_buffer):
1679         Compare QoS timestamps against running time.
1681 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1683         * gst/gstpad.c:
1684           Typo fixes in docs.
1686 2006-04-06  Michael Smith  <msmith@fluendo.com>
1688         * gst/gstpad.c: (gst_pad_set_property):
1689           Use g_value_get_object() instead of g_value_dup_gst_object(),
1690           to avoid double-reffing the pad template (which we then sink,
1691           so this worked previously if (and only if) the pad template
1692           was floating.
1694         * gst/gstpadtemplate.c: (gst_pad_template_init),
1695         (gst_pad_template_pad_created):
1696           Never return floating references to pad templates, create
1697           them as initially-sunken.
1699           Document an extra function (and make this stop sinking our
1700           pad template, since that is now guaranteed to do nothing,
1701           since we created it sunken).
1703         * gst/gstghostpad.c:
1704           Fix docs typo.
1706 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1708         * gst/gstinfo.c: (__gst_in_valgrind):
1709           Add some newlines.
1711         * plugins/elements/gsttypefindelement.c:
1712         (gst_type_find_element_chain):
1713           Don't leak buffer caps.
1715 2006-04-06  Michael Smith  <msmith@fluendo.com>
1717         * gst/parse/grammar.y:
1718           Fix a leak in parse-launch for any source-or-sink named element 
1719           references used.
1721         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1722           Unref the pipeline if it exists after we've failed parsing.
1724 2006-04-05  Michael Smith  <msmith@fluendo.com>
1726         * gst/gstpipeline.c: (gst_pipeline_init):
1727           When we create a pipeline bus, initially create it in flushing mode.
1728           Fixes leaks in at least one test, and makes a new pipeline work the
1729           same as one that has gone to READY and then back to NULL.
1731         * gst/gstelement.c:
1732           Typo fix in docs.
1734 2006-04-05  Michael Smith  <msmith@fluendo.com>
1736         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1737           Unref a pad we reffed.
1738         * tests/check/gst/gstutils.c: (GST_START_TEST):
1739           Unref bins
1741 2006-04-05  Michael Smith  <msmith@fluendo.com>
1743         * gst/gstquery.c: (gst_query_set_formats),
1744         (gst_query_set_formatsv):
1745           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1747 2006-04-05  Michael Smith  <msmith@fluendo.com>
1749         * tests/check/generic/sinks.c: (GST_START_TEST):
1750           Fix a variety of memleaks in sinks check, which are only sometimes 
1751           shown by running the tests under valgrind (weird?).
1753 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1755         * docs/version.entities.in:
1756           Fix the substituted entity name after thomas' changes on the
1757           weekend.
1759 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1761         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1762         VALGRIND_PRINTF
1763         
1764 2006-04-05  Andy Wingo  <wingo@pobox.com>
1766         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1768         * libs/gst/base/gstbasetransform.c
1769         (gst_base_transform_sink_eventfunc): When resetting our segment on
1770         FLUSH_STOP, also update the flag saying we haven't seen a
1771         newsegment.
1773 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1775         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1777         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1778         (gst_plugin_check_license):
1779           minor clean-ups: G_DEFINE_TYPE already takes care of the
1780           parent_class stuff, no need to do it twice. Mark array of
1781           license strings as constant. (#337103)
1782           
1783 2006-04-04  Michael Smith  <msmith@fluendo.com>
1785         * tools/gst-inspect.c: (print_element_list):
1786           Free the right plugin list; fixes a memory leak.
1788 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1790         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1792         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1793           Don't error out on empty buffers (#336945).
1794           
1795 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1797         * docs/libs/gstreamer-libs-sections.txt:
1798         * gst/gsttaglist.c:
1799         * libs/gst/base/gstbasesink.c:
1800         * libs/gst/base/gstbasesink.h:
1801         * libs/gst/base/gstbasesrc.c:
1802         * libs/gst/base/gstbasesrc.h:
1803           Documentation updates. Make BaseSink and BaseSrc docs contain the
1804           class structure so that people can actually see the prototypes for
1805           virtual functions they're supposed to be overriding.
1807 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1809         * plugins/elements/gsttypefindelement.c:
1810         (gst_type_find_element_chain):
1811           More debug info; when skipping typefinding, send cached
1812           events in all cases.
1814 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1816         * configure.ac:
1817           use new AS_VERSION and AS_NANO macros
1818         * gst/gst-i18n-lib.h:
1819         * gst/gst.c:
1820         * gst/gsterror.c:
1821         * gst/gstversion.h.in:
1822         * win32/common/config.h:
1823         * win32/common/config.h.in:
1824           update accordingly
1826 2006-03-31  Michael Smith  <msmith@fluendo.com>
1828         * plugins/elements/gsttypefindelement.c:
1829         (gst_type_find_element_chain):
1830           Do not typefind content if the buffers already have caps.
1831           Neccesary for icydemux (#333657), and the right thing to do anyway.
1833 2006-03-30  Wim Taymans  <wim@fluendo.com>
1835         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1836         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1837         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1838         (gst_base_sink_record_qos_observation),
1839         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1840         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1841         (gst_base_sink_change_state):
1842         More QoS measurements as described in the design doc.
1843         Get rid of ringbuffer with observations, running average is
1844         more simple and equally good.
1845         Calculates valid proportion now.
1846         Added beginning of flood measurement.
1848 2006-03-29  Wim Taymans  <wim@fluendo.com>
1850         * docs/design/part-qos.txt:
1851         * gst/gstclock.c:
1852         Small documentation updates and additions.
1854 2006-03-29  Wim Taymans  <wim@fluendo.com>
1856         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1857         (gst_base_src_send_event), (gst_base_src_loop),
1858         (gst_base_src_change_state):
1859         Perform the EOS logic when we reach the segment stop position.
1860         Fix compilation on gcc4.1
1862 2006-03-29  Wim Taymans  <wim@fluendo.com>
1864         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1866         * plugins/elements/gstqueue.c: (gst_queue_init),
1867         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1868         (gst_queue_set_property):
1869         * plugins/elements/gstqueue.h:
1870         In queue, when EOS is received, if minimum threshold > max_size -
1871         current_level, there is chance that queue blocks forever in conditional
1872         item del wait. This is because the queue is not emptied completely due
1873         to minimum threshold.  Here is another approach. Instead of setting
1874         cur_levels to max in EOS, just zero all minimum threshold levels. This
1875         should make sure that queue gives out all data. When going to READY
1876         (stop) state, just reset the original minimum threshold levels.
1877         Fixes #336336.
1879 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1881         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1882         (gst_type_find_element_handle_event),
1883         (gst_type_find_element_send_cached_events),
1884         (gst_type_find_element_change_state):
1885         * plugins/elements/gsttypefindelement.h:
1886           When typefinding is done in push mode, we should cache
1887           events we receive during typefinding instead of just
1888           dropping them (e.g. newsegment, custom events from
1889           dvdreadsrc etc.) and then send them out once we've
1890           determined the type of the stream (and decodebin
1891           has had a chance to plug in a decoder/demuxer).
1892           
1893 2006-03-27  Wim Taymans  <wim@fluendo.com>
1895         * docs/design/part-qos.txt:
1896         First QoS ideas.
1898 2006-03-27  Wim Taymans  <wim@fluendo.com>
1900         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1902         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1903         (gst_base_src_send_event), (gst_base_src_change_state):
1904         Handle element seek correctly when we are streaming.
1905         Fixes #326998.
1907 2006-03-24  Michael Smith  <msmith@fluendo.com>
1909         * docs/faq/gst-uninstalled:
1910           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1911           allow you to correctly run intalled applications built against old 
1912           core, using plugins that require updated core (e.g. running
1913           installed totem against a full uninstalled gstreamer stack)
1915 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1917         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1918         more debug details
1920 2006-03-24  Wim Taymans  <wim@fluendo.com>
1922         * docs/gst/gstreamer-sections.txt:
1923         Rearrange the order of the methods so that related methods
1924         are grouped together in sections.
1926 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1928         * gst/gstelement.c:
1929           Little clarification in the docs
1931 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1933         * docs/README:
1934         formatting fix
1935         * plugins/elements/gstidentity.c:
1936         * plugins/elements/gstqueue.c:
1937         * plugins/elements/gsttee.c:
1938         * plugins/elements/gsttypefindelement.c:
1939         GST_ELEMENT_DETAILS formatting
1941 2006-03-24  Wim Taymans  <wim@fluendo.com>
1943         * libs/gst/base/gstbasesink.h:
1944         Only add fields, not insert or we break ABI.
1946 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1948         * win32/common/libgstbase.def:
1949         * win32/common/libgstreamer.def:
1950           Update, add recently added functions.
1952 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1954         * docs/gst/gstreamer-sections.txt:
1955         * gst/gstutils.c: (gst_pad_query_peer_position),
1956         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1957         * gst/gstutils.h:
1958           API: add some new utility functions:
1959            - gst_pad_query_peer_position()
1960            - gst_pad_query_peer_duration()
1961            - gst_pad_query_peer_convert()
1962           
1963 2006-03-23  Wim Taymans  <wim@fluendo.com>
1965         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1966         (gst_base_sink_init), (gst_base_sink_finalize),
1967         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1968         (gst_base_sink_set_property), (gst_base_sink_get_property),
1969         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1970         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1971         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1972         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1973         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1974         (gst_base_sink_preroll_object), (gst_base_sink_event),
1975         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1976         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1977         (gst_base_sink_query), (gst_base_sink_change_state):
1978         Decouple max-lateness and the fact that QoS messages are generated
1979         with a new property (qos).
1980         added API: GstBaseSink::async_play()
1981         Add vmethod so subclasses can be notified of ASYNC playing
1982         state changes.
1983         Collect timestamp start and stop to report better current
1984         position in EOS/PLAYING/PAUSED/READY/NULL.
1985         Refactor QoS/frame dropping and other measurements.
1986         API: GstBaseSrc::qos
1987         Fixes #326311
1989         * libs/gst/base/gstbasesink.h:
1990         Added Private struct.
1991         API: gst_base_sink_set_qos_enabled()
1992         API: gst_base_sink_is_qos_enabled()
1994 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1996         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1997           If compiling against GLib-2.8 or newer, try to read the
1998           registry file using GMappedFile first before falling back
1999           to fopen() + fread() (#332151).
2001 2006-03-22  Wim Taymans  <wim@fluendo.com>
2003         * gst/gstinfo.c: (gst_debug_set_active),
2004         (gst_debug_category_set_threshold):
2005         Disable debugging unless explicitly activated.
2006         Fixes #335480.
2008 2006-03-22  Wim Taymans  <wim@fluendo.com>
2010         * gst/gstelement.c: (gst_element_set_locked_state),
2011         (gst_element_dispose):
2012         Cleanup the error case.
2014         * gst/gstobject.c: (gst_object_dispose):
2015         print a critical when some object was disposed with
2016         a parent, also revive the object since it might
2017         crash the parent.
2019 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2021         * tools/gst-launch.1.in:
2022           Fix another typo.
2024 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2026         * configure.ac:
2027         * tests/check/Makefile.am:
2028           disable some tests when we don't have a registry
2029         * tests/check/gst/gstutils.c: (gst_utils_suite):
2030           don't build the part that needs parsing
2032 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2034         * gst/Makefile.am
2035         * tests/examples/Makefile.am:
2036           fix --disable-parse build
2038 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2040         * tools/gst-feedback.1.in:
2041           Fix typo: s/feeback/feedback/ (#133494).
2043 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2045         * tools/Makefile.am:
2046         * tools/gst-launch.1.in:
2047           Add FILES section and correct entry about GST_REGISTRY_PATH
2048           environment variable (#133495; #133494).
2050 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2052         * tools/Makefile.am:
2053         * tools/gst-md5sum.1.in:
2054         * tools/gst-md5sum.c:
2055           Remove gst-md5sum and man page (the md5sink element
2056           required was removed ages ago)
2058 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2060         * gst/gststructure.c: (gst_structure_id_set_value):
2061           Make sure that string fields in structures/taglists
2062           contain valid UTF-8 - we don't want to pass rubbish to
2063           applications because of a buggy plugin (cp. #334167).
2065 2006-03-21  Edward Hervey  <edward@fluendo.com>
2067         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2068         (gst_bin_handle_message_func):
2069         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2070         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2071         (gst_element_set_bus_func):
2072         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2073         * gst/gstminiobject.c: (gst_value_set_mini_object),
2074         (gst_value_take_mini_object):
2075         * gst/gstpad.c: (gst_pad_set_pad_template):
2076         * gst/gstpipeline.c: (gst_pipeline_dispose),
2077         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2078         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2079         (gst_collect_pads_chain):
2080         * libs/gst/net/gstnettimeprovider.c:
2081         (gst_net_time_provider_set_property):
2082         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2083         It's in fact all issues with gst_*object_replace().
2085 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2087         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2088         
2089         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2090         * pkgconfig/gstreamer-check.pc.in:
2091           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2093 2006-03-21  Edward Hervey  <edward@fluendo.com>
2095         * gst/gstbuffer.h:
2096         * gst/gstevent.h:
2097         * gst/gstmessage.h:
2098         gst_[buffer|event|message]_ref() macros are replaced by a static
2099         inline functions because gcc-4.1 will about if the return value
2100         isn't used.
2101         * tests/check/gst/gstevent.c: (event_probe):
2102         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2104 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2106         * gst/gstutils.h:
2107         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2108         the type' case. (Closes: #335195 for now). In the future, when we
2109         depend on GLib 2.10, we could also intern the type name using
2110         g_intern_static_string()
2112 2006-03-20  Wim Taymans  <wim@fluendo.com>
2114         * gst/gstbin.c: (gst_bin_handle_message_func),
2115         (bin_query_max_init), (bin_query_position_fold),
2116         (bin_query_position_done), (gst_bin_query):
2117         Position query should also take max of all streams.
2119 2006-03-20  Wim Taymans  <wim@fluendo.com>
2121         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2122         (gst_fake_src_finalize):
2123         Fix leaks in fakesrc.
2125         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2126         Fix leaks in the testcase.
2128 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2130         * gst/gst_private.h:
2131           add win32 specific import decoration(__declspec(dllimport)) 
2132           for all extern GstDebugCategory * variables
2133         * win32/common/libgstbase.def:
2134         * win32/common/libgstcontroller.def:
2135         * win32/common/libgstreamer.def:
2136           Add some exports, remove empty lines
2137         * win32/common/libgstdataprotocol.def:
2138         * win32/common/libgstdataprotocol.dsp:
2139         * win32/common/libgstnet.def:
2140         * win32/common/libgstnet.dsp:
2141           new project files and exportation files added
2142         
2143 2006-03-19  Wim Taymans  <wim@fluendo.com>
2145         * tests/check/libs/basesrc.c: (eos_event_counter):
2146         Use proper return value for probe.
2148 2006-03-17  Wim Taymans  <wim@fluendo.com>
2150         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2151         (gst_pad_push):
2152         Don't leak buffers, caps and pads on negotiation errors.
2154 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2156         * docs/faq/cvs.xml:
2157         * docs/faq/dependencies.xml:
2158         * docs/faq/developing.xml:
2159         * docs/faq/faq.xml:
2160         * docs/faq/general.xml:
2161         * docs/faq/getting.xml:
2162         * docs/faq/legal.xml:
2163         * docs/faq/troubleshooting.xml:
2164         * docs/faq/using.xml:
2165         Faq review and update.
2167 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2169         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2170         (gst_pad_push):
2171         Don't pound the cpu to pieces by checking get_caps when accept_caps
2172         is called with the same caps as the pad already has.
2173         Use GST_DEBUG_OBJECT when outputting caps change information.
2175 2006-03-15  Wim Taymans  <wim@fluendo.com>
2177         * gst/gstclock.c: (gst_clock_class_init):
2178         Fix docs.
2180 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2182         * gst/gstbuffer.h:
2183         Documentation fix.
2185         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2186         (gst_pad_accept_caps), (gst_pad_configure_sink),
2187         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2188         Make the default acceptcaps behaviour be to check the requested 
2189         caps against the gst_pad_get_caps output. 
2191         Ensure that gst_pad_accept_caps is used to check caps when a pad
2192         doesn't have a setcaps function, so that pads automatically refuse 
2193         caps that they don't allow in their pad template. (Fixes #332986)
2195         When a buffer with attached caps is pushed, ensure that the source 
2196         pad receives those caps even if the element didn't call
2197         gst_pad_set_caps first.
2199 2006-03-15  Wim Taymans  <wim@fluendo.com>
2201         * libs/gst/base/gstadapter.c:
2202         Add some docs.
2204 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2206         * win32/common/libgstbase.def:
2207         * win32/common/libgstcontroller.def:
2208         * win32/common/libgstreamer.def:
2209           Add a whole bunch of missing functions (#334434).
2211 2006-03-14  Wim Taymans  <wim@fluendo.com>
2213         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2214         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2215         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2216         Better debug info when we receive a segment event.
2217         Reorganize a bit so we can pass the get_times() results around.
2218         Use the segment format when calculating the running time.
2219         Don't do QoS is sync is disabled or we have no clock or the
2220         element does not want us to sync to the clock.
2221         Don't drop buffers if QoS is disabled for now.
2223 2006-03-14  Wim Taymans  <wim@fluendo.com>
2225         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2226         Marked the stats property as unimplemented so people don't get
2227         wild ideas.
2228         Add debug message when regression goes wrong.
2229         Added some more docs.
2231 2006-03-14  Wim Taymans  <wim@fluendo.com>
2233         * gst/gstsegment.c: (gst_segment_to_stream_time):
2234         Return correct return type in case of errors.
2236 2006-03-14  Wim Taymans  <wim@fluendo.com>
2238         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2239           Don't segfault on invalid formats.
2241 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2243         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2244           Can't use gst_segment_to_running_time() when the segment
2245           is not in GST_TIME_FORMAT (like with filesink, for example).
2246           Stops flac encoding pipelines from spewing critical warnings
2247           at EOS (#331248).
2248           
2249 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2251         * gst/gstpipeline.c: (gst_pipeline_class_init):
2252           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2254         * plugins/elements/gsttypefindelement.c:
2255         (gst_type_find_element_handle_event):
2256           Don't try to typefind empty streams.
2258 2006-03-14  Wim Taymans  <wim@fluendo.com>
2260         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2261         (gst_base_sink_do_qos):
2262         Separate QoS calculation.
2263         Only drop buffers when lateness is bigger than the 
2264         duration of the buffer.
2266 2006-03-13  Wim Taymans  <wim@fluendo.com>
2268         * gst/gstpipeline.c: (gst_pipeline_set_property),
2269         (gst_pipeline_get_property), (do_pipeline_seek),
2270         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2271         (gst_pipeline_get_delay):
2272         Don't deadlock when reading properties.
2274 2006-03-13  Wim Taymans  <wim@fluendo.com>
2276         * libs/gst/base/gstbasetransform.c:
2277         (gst_base_transform_class_init), (gst_base_transform_init),
2278         (gst_base_transform_sink_event),
2279         (gst_base_transform_sink_eventfunc),
2280         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2281         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2282         (gst_base_transform_set_property),
2283         (gst_base_transform_get_property),
2284         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2285         (gst_base_transform_set_qos_enabled),
2286         (gst_base_transform_is_qos_enabled):
2287         * libs/gst/base/gstbasetransform.h:
2288         Make basetransform virtual method for src events too.
2289         Handle QOS in basetransform.
2290         API: gst_base_transform_update_qos()
2291         API: gst_base_transform_set_qos_enabled()
2292         API: gst_base_transform_is_qos_enabled()
2294 2006-03-13  Wim Taymans  <wim@fluendo.com>
2296         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2297         (gst_base_sink_do_sync):
2298         Small cleanups.
2299         Use QOS debug category.
2301 2006-03-13  Wim Taymans  <wim@fluendo.com>
2303         * plugins/elements/gstqueue.c:
2304         Very small doc update.
2306 2006-03-13  Wim Taymans  <wim@fluendo.com>
2308         * gst/gst_private.h:
2309         * gst/gstinfo.c: (_gst_debug_init):
2310         Added QOS debug category
2312 2006-03-13  Wim Taymans  <wim@fluendo.com>
2314         * docs/gst/gstreamer-sections.txt:
2315         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2316         * gst/gstbin.h:
2317         * gst/gstbus.c: (gst_bus_class_init):
2318         * gst/gstbus.h:
2319         * gst/gstclock.c:
2320         * gst/gstelement.c: (gst_element_set_locked_state):
2321         * gst/gstsegment.c:
2322         Documentation updates.
2324         * gst/gstpipeline.c: (gst_pipeline_get_type),
2325         (gst_pipeline_class_init), (gst_pipeline_init),
2326         (gst_pipeline_dispose), (gst_pipeline_set_property),
2327         (gst_pipeline_get_property), (do_pipeline_seek),
2328         (gst_pipeline_send_event), (gst_pipeline_change_state),
2329         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2330         (gst_pipeline_get_delay):
2331         * gst/gstpipeline.h:
2332         Added methods for setting the delay.
2333         API: gst_pipeline_set_delay()
2334         API: gst_pipeline_get_delay()
2335         Add pipeline debug category
2336         Various cleanups.
2337         Updated docs.
2338         Don't reset stream time when seek failed.
2340 2006-03-13  Wim Taymans  <wim@fluendo.com>
2342         * docs/design/draft-klass.txt:
2343         * docs/design/part-clocks.txt:
2344         * docs/design/part-events.txt:
2345         * docs/design/part-gstbin.txt:
2346         * docs/design/part-gstpipeline.txt:
2347         * docs/design/part-messages.txt:
2348         * docs/design/part-negotiation.txt:
2349         * docs/design/part-overview.txt:
2350         * docs/design/part-preroll.txt:
2351         * docs/design/part-seeking.txt:
2352         * docs/design/part-states.txt:
2353         * docs/design/part-streams.txt:
2354         Documentation updates.
2356 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2358         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2359         us to leak strings...
2361 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2363         * libs/gst/net/gstnettimeprovider.c:
2364           fix docs
2365         * win32/common/config.h:
2366           update
2368 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2370         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2372         * configure.ac:
2373           Don't check for libgnomeui (leftover from old examples
2374           that aren't built or disted any longer) (#334303).
2375           
2376 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2378         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2379         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2380           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2381           there's no space left on the device.
2383 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2385         * gst/gstclock.h:
2386           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2387           to cast the input to GstClockTime before comparing with
2388           another GstClockTime value.
2390 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2392         * configure.ac:
2393           back to trunk
2395 === release 0.10.4 ===
2397 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2399         * configure.ac:
2400           releasing 0.10.4, "Light"
2402 2006-03-10  Michael Smith  <msmith@fluendo.com>
2404         * libs/gst/dataprotocol/dataprotocol.c:
2405           Fix docs for dataprocotol to not get the return types completely
2406           wrong for a few functions.
2408 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2410         * docs/gst/gstreamer-sections.txt:
2411         * gst/gstpipeline.c: (gst_pipeline_class_init),
2412         (gst_pipeline_init), (gst_pipeline_set_property),
2413         (gst_pipeline_get_property), (gst_pipeline_change_state),
2414         (gst_pipeline_set_auto_flush_bus),
2415         (gst_pipeline_get_auto_flush_bus):
2416         * gst/gstpipeline.h:
2417           Add new API: gst_pipeline_set_auto_flush_bus() and
2418           gst_pipeline_get_auto_flush_bus() to disable automatic
2419           flushing of the pipeline's GstBus when going from READY
2420           to NULL state (#332045).
2422 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2424         * docs/gst/gstreamer-sections.txt:
2425         * gst/gsturi.c: (gst_uri_has_protocol):
2426         * gst/gsturi.h:
2427            Add new API: gst_uri_has_protocol() (#333779).
2429 2006-03-09  Wim Taymans  <wim@fluendo.com>
2431         * gst/gstclock.c: (gst_clock_entry_new),
2432         (gst_clock_id_compare_func), (gst_clock_id_wait),
2433         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2434         (gst_clock_init), (gst_clock_get_internal_time),
2435         (gst_clock_set_master), (do_linear_regression),
2436         (gst_clock_add_observation), (gst_clock_set_property):
2437         * gst/gstclock.h:
2438         Review docs.
2439         Small cleanups.
2440         Fix a possible segfault when the window-size is made smaller.
2441         Calculate jitter before performing the clock wait. Ideally
2442         the clock implementation should calculate jitter but we need
2443         API breakage for that.
2445         * gst/gstsystemclock.c: (gst_system_clock_init):
2446         Docs review.
2447         
2448         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2449         Remove leftover else
2451         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2452         (gst_systemclock_suite):
2453         Added check to test GST_CLOCK_DIFF.
2455 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2457         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2458         (gst_type_find_helper_get_range):
2459           If we are provided with the size, we should implement
2460           GstTypeFind::get_length, so that typefind functions who
2461           want to can actually peek at the middle of a file.
2463 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2465         * docs/manual/advanced-dataaccess.xml:
2466           Add some very very basic error checking.
2468         * docs/pwg/appendix-checklist.xml:
2469           Some updates to the list of things to check when writing an element.
2471 2006-03-08  Wim Taymans  <wim@fluendo.com>
2473         * docs/design/part-element-transform.txt:
2474         Added some docs about the design of tranform elements.
2476         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2477         (gst_base_src_loop), (gst_base_src_change_state):
2478         Mark buffers with the DISCONT flag.
2480 2006-03-08  Michael Smith  <msmith@fluendo.com>
2482         * gst/gstregistry.h:
2483         * gst/gstregistryxml.c: (gst_registry_save),
2484         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2485         (gst_registry_xml_save_pad_template),
2486         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2487         (gst_registry_xml_write_cache):
2488           Rewrite registry-saving to avoid race conditions and check for
2489           failed writes.
2491 2006-03-08  Wim Taymans  <wim@fluendo.com>
2493         * libs/gst/base/gstbasetransform.c:
2494         (gst_base_transform_transform_caps),
2495         (gst_base_transform_transform_size),
2496         (gst_base_transform_prepare_output_buffer),
2497         (gst_base_transform_get_unit_size),
2498         (gst_base_transform_buffer_alloc),
2499         (gst_base_transform_handle_buffer),
2500         (gst_base_transform_change_state):
2501         Cleanups, separate normal flow from errors, add sensible
2502         DEBUG lines.
2503         Don't try to renegotiate when allocating an output buffer.
2504         Also copy DISCONT buffer flag when copying a buffer.
2505         Reset the transform after we finish streaming, not during.
2507 2006-03-08  Wim Taymans  <wim@fluendo.com>
2509         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2510         Use last buffer timestamp in qos message.
2512 2006-03-07  Wim Taymans  <wim@fluendo.com>
2514         Patch by: Christophe Fergeau
2516         * docs/pwg/advanced-tagging.xml:
2517         * docs/pwg/building-pads.xml:
2518           fixes #333416
2520 2006-03-07  Wim Taymans  <wim@fluendo.com>
2522         * docs/libs/gstreamer-libs-sections.txt:
2523         Added basesink new methods.
2525         * gst/gstevent.c:
2526         * gst/gstevent.h:
2527         Docs updates. Flesh out the QoS docs.
2529         * libs/gst/base/gstadapter.c:
2530         Small doc clarification about ownership and flushing.
2532         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2533         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2534         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2535         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2536         * libs/gst/base/gstbasesink.h:
2537         API additions: 
2538         Added new methods to allow subclass to control max-lateness 
2539         and sync.
2540         Generate very basic QoS events based on last sync observation.
2541         Updated docs, fix typo, added some QoS blurb.
2543         * libs/gst/base/gstbasesrc.c:
2544         Remove obsolete _get_state() calls from docs.
2546 2006-03-07  Wim Taymans  <wim@fluendo.com>
2548         * docs/libs/gstreamer-libs-sections.txt:
2549         * libs/gst/base/gstbasetransform.h:
2550         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2551         Fix docs for GstBaseSrc.
2553 2006-03-07  Wim Taymans  <wim@fluendo.com>
2555         * docs/gst/gstreamer-sections.txt:
2556         * gst/gstbuffer.h:
2557         * gst/gstvalue.c:
2558         * libs/gst/base/gstbasetransform.h:
2559         Small documentation fixes.
2561 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2563         * gst/gstvalue.c:
2564           Document thread-unsafety of gst_value_register_foo_func()
2565           when used at the same time as gst_value_foo() (#322628).
2567 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2569         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2570         (gst_push_src_check_get_range):
2571           Push sources don't support pull mode by default.
2573 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2575         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2576         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2577         (gst_base_src_default_check_get_range):
2578         * libs/gst/base/gstbasesrc.h:
2579           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2580           provide default implementation, and rename
2581           gst_base_src_check_get_range() to
2582           gst_base_src_pad_check_get_range() for clarity.
2584 2006-03-06  Wim Taymans  <wim@fluendo.com>
2586         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2587         Make property overridable.
2589 2006-03-06  Wim Taymans  <wim@fluendo.com>
2591         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2592         (gst_base_sink_init), (gst_base_sink_set_property),
2593         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2594         * libs/gst/base/gstbasesink.h:
2595         API addition: Make max-lateness a property.
2597 2006-03-06  Wim Taymans  <wim@fluendo.com>
2599         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2600         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2601         Don't ever draw a frame that is >10ms late.
2603 2006-03-06  Michael Smith  <msmith@fluendo.com>
2605         * gst/gstmessage.c: (_gst_message_copy):
2606           When copying a message, set the parent_refcount of the enclosed
2607           structure to point at the copy, not the original message.
2609 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2611         Patch by: Christophe Fergeau
2613         * gst/gstutils.h:
2614           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2615           usable in c++ code (#333417)
2617 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2619         * gst/gstclock.h:
2620           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2622 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2624         * libs/gst/base/gstbasetransform.c:
2625         (gst_base_transform_transform_caps):
2626           Make sure caps are writable before passing them to
2627           gst_caps_append().
2629 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2631         * gst/gsterror.h:
2632           Fix some minor docs errors.
2634 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2636           Patch by: Ross Burton <ross at burtonini dot com>
2638         * gst/gsterror.c: (_gst_resource_errors_init):
2639         * gst/gsterror.h:
2640           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2642 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2644         * gst/gst.c:
2645         Add a check and output a g_warning when GStreamer is built
2646         against GLib 2.6 but running against 2.8 or higher, and vice 
2647         versa. (Closes: #323542)
2649 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2651         * gst/parse/parse.l:
2652           Commit patch for parse_launch syntax from #331255. Removes 
2653           support for quoted strings and mimetypes when writing filtered 
2654           caps. See the bug report for more details - I'm pretty sure this
2655           obscure feature is not in use by _anyone_ anywhere.
2657           With this simple change, the size of the gstreamer.so here 
2658           drops from 2193KB to 1565KB.
2660 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2662         * plugins/elements/gsttypefindelement.h:
2663         * plugins/elements/gsttypefindelement.c:
2664         (gst_type_find_element_src_event), (start_typefinding),
2665         (stop_typefinding), (gst_type_find_element_handle_event),
2666         (gst_type_find_element_chain),
2667         (gst_type_find_element_chain_do_typefinding):
2668           Use gst_type_find_helper_for_buffer() for chain-based
2669           typefinding.
2671 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2673         * plugins/elements/gsttypefindelement.c:
2674         (gst_type_find_element_class_init),
2675         (gst_type_find_element_set_property),
2676         (gst_type_find_element_get_property):
2677           Deprecate "maximum" property (not only was it only taken into
2678           account for typefinding in push-mode anyway, it also was never
2679           actually possible to set it in the first place because the
2680           property was registered with the numeric property ID for the
2681           "minimum" property). Register "maximum" property correctly,
2682           for the sake of future copy'n'pasters. Remove some cruft
2683           from property get/set functions.
2685 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2687         * plugins/elements/gsttypefindelement.c:
2688         (gst_type_find_element_activate):
2689           Use gst_type_find_helper_get_range() here, so we
2690           can honour the "minimum" property and also emit
2691           the signal with the correct probability of the found caps.
2693 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2695         * docs/libs/gstreamer-libs-sections.txt:
2696         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2697         (helper_find_suggest), (gst_type_find_helper_get_range),
2698         (gst_type_find_helper):
2699         * libs/gst/base/gsttypefindhelper.h:
2700           New API: gst_type_find_helper_get_range() (#333042).
2702 2006-03-02  Michael Smith  <msmith@fluendo.com>
2704         * gst/gstregistryxml.c: (load_feature):
2705           Asserting on a failure to read part of the registry is Not Cool.
2706           Just log a warning and return NULL (which is already handled)
2708 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2710         * win32/common/libgstbase.def:
2711           added export of gst_type_find_helper_for_buffer
2712         * win32/common/libgstbase.def:
2713           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2714           gst_ghost_pad_get_target
2716 2006-02-28  Wim Taymans  <wim@fluendo.com>
2718         * docs/design/draft-klass.txt:
2719         We use Filter now.
2720         Added Connector to mark elements that are only used to
2721         allow pipeline connections.
2722         Moved Debug to extra feature since most of them are 
2723         functionally something else.
2725 2006-02-28  Wim Taymans  <wim@fluendo.com>
2727         * docs/design/draft-klass.txt:
2728         Some updates and clarifications.
2730 2006-02-28  Wim Taymans  <wim@fluendo.com>
2732         * docs/design/draft-klass.txt:
2733         Proposal for klass field values.
2735         * docs/design/part-streams.txt:
2736         Start of a doc describing stream anatomy.
2738 2006-02-28  Wim Taymans  <wim@fluendo.com>
2740         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2741         Help the compiler a bit with type registration.
2742         Use existing forward cod path instead of duplicating it when 
2743         handling a message.
2744         
2745         * gst/gstbus.c: (gst_bus_get_type):
2746         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2747         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2748         * gst/gstclock.c: (gst_clock_get_type):
2749         * gst/gstelement.c: (gst_element_get_type),
2750         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2751         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2752         * gst/gstminiobject.c: (gst_mini_object_get_type):
2753         * gst/gstpad.c: (gst_pad_get_type):
2754         * gst/gstsegment.c: (gst_segment_get_type):
2755         * gst/gststructure.c: (gst_structure_get_type):
2756         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2757         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2758         * gst/gstvalue.c:
2759         Help compiler with type registration.
2761         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2762         Small doc update.
2764 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2766         * plugins/elements/gsttypefindelement.c:
2767         (gst_type_find_element_handle_event):
2768           When we get an EOS event and have not found a type yet
2769           (most likely because we had not yet accumulated
2770           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2771           type given the data we have so far. Fixes typefinding
2772           for very short streams again, most notably quicktime
2773           redirections as used on Apple's trailer site (#331701).
2775 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2777         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2778         (gst_type_find_helper):
2779           Try typefinding factories with the highest rank first.
2781 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2783         * docs/libs/gstreamer-libs-docs.sgml:
2784         * docs/libs/gstreamer-libs-sections.txt:
2785         * libs/gst/base/gsttypefindhelper.c:
2786           Add section for typefind helper and add documentation
2787           for the old and the new function.
2789 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2791         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2792         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2793         (gst_type_find_helper_for_buffer):
2794         * libs/gst/base/gsttypefindhelper.h:
2795           New API: gst_type_find_helper_for_buffer() (#332723).
2796           
2797 2006-02-27  Michael Smith  <msmith@fluendo.com>
2799         Patch by: Loïc Minier
2801         * configure.ac:
2802         * docs/Makefile.am:
2803         * docs/slides/Makefile.am:
2804           prevent CVS directories getting disted.
2806 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2808         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2809           Use the REFCOUNTING category for caps refcounting.
2810           
2811 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2813         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2814           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2816 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2818         * plugins/elements/gsttypefindelement.c:
2819         (gst_type_find_element_activate):
2820           Use gst_pad_check_pull_range() before _activate_pull()
2821           to avoid unnecessary open/close (see #331690).
2823 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2825         * gst/gstutils.c:
2826           Docs enhancement: make it crystal clear what the
2827           gst_pad_add_*_probe() callbacks should look like.
2829 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2831         * libs/gst/base/gstbasesrc.c:
2832           Document how applications can stop recording from
2833           live sources (see #330996).
2835 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2837         * tests/check/Makefile.am:
2838         * tests/check/libs/basesrc.c: (eos_event_counter),
2839         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2840         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2841         (gst_basesrc_suite), (main):
2842           ... and add some tests for the base source EOS stuff.
2844 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2846         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2847           Test case originally showed the problem fixed below,
2848           but was then amended. Add checks back at the place
2849           where they used to be.
2851 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2853         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2854         (gst_base_src_init), (gst_base_src_loop),
2855         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2856         (gst_base_src_change_state):
2857         * libs/gst/base/gstbasesrc.h:
2858           Don't unconditionally send EOS when going from PAUSED to
2859           READY state, esp. make sure we don't send two EOS events
2860           in some cases (e.g. one when reaching EOS and one when
2861           going from PAUSED to READY). Also, we don't want to send
2862           EOS events when operating in pull mode. However, we do
2863           want to send an EOS event when shutting down a live
2864           source explicitly, for example (fixes #330996).
2865           
2866 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2868         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2869           Update src->read_position after a seek when not using mmap.
2870           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2872 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2874         * gst/Makefile.am:
2875         * gst/gstparse.h:
2876         * gst/gstutils.c:
2877         * gst/gstutils.h:
2878         Make things work with --disable-parse as they do with 
2879         --disable-load-save - the symbols involved disappear, but the
2880         header is still installed and GST_DISABLE_PARSE is included via
2881         gstconfig.h
2883 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2885         * libs/gst/base/gstbasetransform.c:
2886         (gst_base_transform_change_state): Fix a stupid bug. I was 
2887         sure I compiled that.
2889 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2891         * gst/gstpad.c: (gst_pad_set_blocked_async):
2892         * gst/gstutils.c: (gst_pad_add_data_probe),
2893         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2894         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2895         (gst_pad_remove_buffer_probe): Make those function act on the
2896         ghostpad target when it's a ghostpad. (Closes #331727)
2898 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2900         * libs/gst/base/gstbasetransform.c:
2901         (gst_base_transform_change_state): Make basetransform reusable.
2902         (Closes #331898)
2904 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2906         * docs/random/release:
2907         Move the current documentation of how to do a release to the top
2908         of the file.
2910         * gst/gstbin.c: (gst_bin_class_init),
2911         (gst_bin_handle_message_func):
2912         Allow multiple state-recalculation threads. (Closes #328873)
2914 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2916         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2917         * gst/gstpad.c: (gst_pad_set_event_function),
2918         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2919         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2920         2 strings. You can't use the STR_NULL macro on that.
2922 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2924         * gst/gstpad.c: (gst_pad_set_event_function),
2925         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2926         (gst_pad_set_getcaps_function)
2927         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2928           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2929           So now, we can use --gst-debug-level=5 on Windows
2930         * win32/common/libgstcontroller.def:
2931           Added export of gst_controller_init
2932         * win32/vs6/libgstcontroller.dsp:
2933           Fixed Release post build configuration
2935 2006-02-17  Wim Taymans  <wim@fluendo.com>
2937         * tests/check/gst/gstquery.c: (GST_START_TEST):
2938         Added another check.
2940 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2942         * plugins/elements/gsttypefindelement.c: (find_peek):
2943           We can do peeks at non-zero offsets, as long as they
2944           fall within the buffer we have.
2946 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2948         * tests/check/Makefile.am:
2949         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2950         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2951         (parse_suite), (main):
2952           Add testsuite for parse launch syntax
2954 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2956         * plugins/elements/gsttypefindelement.c:
2957         (gst_type_find_element_chain):
2958           When typefinding is unsuccessful in the chain function, don't
2959           error out immediately. Only error out with NO_CAPS_FOUND if
2960           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2961           otherwise simply wait for more data so we can try typefinding
2962           again with more data later. Also, don't attempt to typefind
2963           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2964           this should improve typefinding from network sources where the
2965           size of the first buffer can be somewhat random.
2967 2006-02-14  Wim Taymans  <wim@fluendo.com>
2969         * docs/gst/gstreamer-sections.txt:
2970         * gst/gstpadtemplate.c:
2971         * gst/gstpadtemplate.h:
2972         Fix padtemplate docs, fixes #328805.
2974 2006-02-14  Wim Taymans  <wim@fluendo.com>
2976         * tools/gst-launch.c: (main):
2977         NO_PREROLL is not an ERROR so don't send confusing messages
2978         to the user.
2980 2006-02-14  Wim Taymans  <wim@fluendo.com>
2982         Patch by: Torsten Schoenfeld
2984         * gst/gstregistry.c: (gst_registry_get_default),
2985         (_gst_registry_cleanup):
2986         Protect default registry with lock and ref/sink it.
2987         Fixes #324818
2989 2006-02-14  Wim Taymans  <wim@fluendo.com>
2991         * gst/gstbuffer.c:
2992         * gst/gstquery.c: (gst_query_list_add_format),
2993         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2994         (gst_query_parse_formats_nth):
2995         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2996         Docs fixes.
2998 2006-02-14  Wim Taymans  <wim@fluendo.com>
3000         * docs/gst/gstreamer-sections.txt:
3001         Reworked query docs.
3003         * gst/gstquery.c: (gst_query_new_formats),
3004         (gst_query_list_add_format), (gst_query_set_formats),
3005         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3006         (gst_query_parse_formats_nth):
3007         * gst/gstquery.h:
3008         Flesh out formats query, added some new methods.
3009         Fix part of #324398.
3011         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3012         Added query creation tests.
3014 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3016         * gst/gstpad.c: (fixate_value):
3017         Add a default fixation for fraction lists.
3019 2006-02-13  Wim Taymans  <wim@fluendo.com>
3021         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3022         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3023         (gst_task_join):
3024         * gst/gsttask.h:
3025         Detect and warn for obvious deadlocks. fixes #320340
3026         Fix error case where lock was not released.
3028         * tests/check/Makefile.am:
3029         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3030         (task_func), (gst_element_suite), (main):
3031         Add task check.
3033 2006-02-13  Wim Taymans  <wim@fluendo.com>
3035         * docs/gst/gstreamer-sections.txt:
3036         * gst/gstbus.c:
3037         Add new functions to docs.
3039 2006-02-13  Wim Taymans  <wim@fluendo.com>
3041         * docs/design/part-TODO.txt:
3042         Updated TODO list, basesrc supports seeking to non-bytes
3043         formats.
3045         * docs/design/part-element-sink.txt:
3046         Update docs.
3048         * gst/gstbin.c: (bin_replace_message),
3049         (gst_bin_handle_message_func):
3050         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3051         * gst/gstevent.c: (gst_event_finalize):
3052         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3053         (gst_pad_send_event):
3054         Use shiny new _TYPE_NAME macros.
3056         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3057         Move debug statement up.
3059         * gst/gstelement.c: (gst_element_set_locked_state):
3060         Add some debugging.
3062 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3064         * docs/gst/gstreamer-sections.txt:
3065         * gst/gstmessage.h:
3066         * gst/gstquery.h:
3067           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3068           macros (#330906). Also, document the already existing
3069           GST_QUERY_TYPE macro.
3071 2006-02-13  Wim Taymans  <wim@fluendo.com>
3073         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3074         (event_probe), (GST_START_TEST):
3075         Only events up to the pipeline EOS are counted, there are
3076         some more when going to NULL currently which we don't care
3077         about for now.
3079 2006-02-13  Wim Taymans  <wim@fluendo.com>
3081         * gst/gstpad.c: (gst_pad_send_event):
3082         Correctly check flushing and emit probes. fixes #330125
3084 2006-02-10  Andy Wingo  <wingo@pobox.com>
3086         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3087         structure.
3088         (gst_bus_init): Cache the location of the private data in the
3089         instance structure.
3090         (gst_bus_enable_sync_message_emission) 
3091         (gst_bus_disable_sync_message_emission): Implement new public
3092         functions.
3093         (gst_bus_post): Emit the sync-message signal if the user asked for
3094         it. Fixes #330684.
3096         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3097         location of the bus-private structure.
3098         (gst_bus_enable_sync_message_emission)
3099         (gst_bus_disable_sync_message_emission): API addition
3101 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3103         Patch by: Vincent Torri
3105         * docs/pwg/building-boiler.xml:
3106         PWG patch from #326800
3108 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3110         * configure.ac:
3111         * docs/Makefile.am:
3112         * docs/design/Makefile.am:
3113           Dist design docs.
3115 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3117         * configure.ac:
3118           back to CVS
3120 === release 0.10.3 ===
3122 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3124         * configure.ac:
3125           releasing 0.10.3, "Like a virgin"
3127 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3129         * configure.ac:
3130           2nd prerelease of 0.10.3
3131           Bump libtool versioning.
3133 2006-02-07  Andy Wingo  <wingo@pobox.com>
3135         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3136         update last_stop if we're in TIME format and the timestamp is
3137         valid.
3139         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3140         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3141         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3142         If we get a new newsegment with a different format, adapt
3143         accordingly.
3145         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3146         of 0. Not a problem, really.
3148         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3149         warn if sync=true.
3151 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3153         * configure.ac:
3154           Prelease of 0.10.3
3156 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3158         * win32/vs7:
3159           project files updated to the default vs7 configuration
3160         * win32/common/libgstbase.def:
3161         * win32/common/libgstreamer.def:
3162           added new symbols,
3163           removed empty lines,
3164           sorted all exported symbols alphabetically
3165         * win32/common/dirent.c:
3166         * win32/common/dirent.h:
3167         * win32/common/gchar.h:
3168           use windows line end.
3169           
3170 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3172         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3173           Send EOS event when stopping.
3175 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3177         * docs/README:
3178           Tell folks what to do if the plugin-foobar.xml file
3179           hasn't been generated for a newly-added plugin.
3181 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3183         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3184         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3185         (gst_collect_pads_start), (gst_collect_pads_stop),
3186         (gst_collect_pads_event): Collectpads now holds a reference
3187         to the GstPad that was added. Indeed we don't want to look
3188         at pads that might just go away with no warning...
3190 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3192         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3193         (gst_collect_pads_start), (gst_collect_pads_stop),
3194         (gst_collect_pads_event), (gst_collect_pads_chain):
3195         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3196         Mark Nauwelaerts's patch on bug #328491.
3198 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3200         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3201         (gst_utils_suite):
3202           Add some simple tests for gst_parse_bin_from_description() and
3203           gst_bin_find_unconnected_pad() (#329069).
3205 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3207         * tools/gst-launch.c: (event_loop), (main):
3208           Catch errors during preroll (#320084).
3210 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3212         * plugins/elements/gsttypefindelement.c:
3213         (gst_type_find_element_activate):
3214           Post TYPE_NOT_FOUND error message when typefinding
3215           is unsuccessful in the activate function as well.
3217 2006-02-02  Wim Taymans  <wim@fluendo.com>
3219         * docs/design/part-element-sink.txt:
3220         Updated doc.
3222 2006-02-02  Wim Taymans  <wim@fluendo.com>
3224         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3225         (gst_base_sink_render_object),
3226         (gst_base_sink_queue_object_unlocked):
3227         Only keep track of prerollable items when we are 
3228         prerolling.
3229         Before rendering after preroll, always check if we
3230         have queued items.
3231         Added some more debugging.
3233 2006-02-02  Wim Taymans  <wim@fluendo.com>
3235         * gst/gstelement.c: (gst_element_continue_state),
3236         (gst_element_set_state_func), (gst_element_change_state):
3237         Fixed #326576, been running this for quite some time with
3238         no regressions at all.
3240 2006-02-02  Wim Taymans  <wim@fluendo.com>
3242         * common/gst.supp:
3243         Added more suppressions
3245 2006-02-02  Wim Taymans  <wim@fluendo.com>
3247         * docs/design/part-element-sink.txt:
3248         Updated document.
3250         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3251         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3252         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3253         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3254         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3255         (gst_base_sink_preroll_object),
3256         (gst_base_sink_queue_object_unlocked),
3257         (gst_base_sink_queue_object), (gst_base_sink_event),
3258         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3259         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3260         (gst_base_sink_get_position), (gst_base_sink_change_state):
3261         * libs/gst/base/gstbasesink.h:
3262         Totally refactored matching the design doc.
3263         Use two segments, one to clip incomming buffers and another to
3264         perform sync.
3265         Handle queueing correctly, bypass the queue when playing.
3266         Make EOS cancelable.
3267         Handle errors correctly when operating in pull based mode.
3269         * tests/check/elements/fakesink.c: (GST_START_TEST),
3270         (fakesink_suite):
3271         Added new check for sinks.
3273 2006-02-02  Wim Taymans  <wim@fluendo.com>
3275         * gst/gstsegment.c: (gst_segment_clip):
3276         No reason to refuse to clip when start == -1
3278 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3280         * docs/README:
3281         * docs/manual/intro-basics.xml:
3282         * docs/manual/intro-preface.xml:
3283         * docs/manual/manual.xml:
3284         * docs/pwg/advanced-dparams.xml:
3285         * docs/pwg/intro-basics.xml:
3286         * docs/pwg/intro-preface.xml:
3287         * docs/pwg/pwg.xml:
3288           describe dparams (controller) for plugins
3289           unify docs a little more
3291 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3293         * docs/gst/gstreamer-sections.txt:
3294         * gst/gstutils.c: (element_find_unconnected_pad),
3295         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3296         * gst/gstutils.h:
3297           Add new API: gst_parse_bin_from_description() and
3298           gst_bin_find_unconnected_pad() (#329069).
3300 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3302         * docs/manual/README:
3303           uncover a nasty detail of the docs build
3305 2006-01-31  Wim Taymans  <wim@fluendo.com>
3307         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3308         Don't cache duration messages if we're not going to use or
3309         free them.
3311 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3313         * docs/manual/advanced-dparams.xml:
3314         * docs/pwg/advanced-dparams.xml:
3315           more dparam docs
3316         * gst/gstindex.c:
3317           fix docs
3318         * libs/gst/controller/lib.c: (gst_controller_init):
3319           init just once
3321 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3323         * gst/gstelement.c: (gst_element_message_full):
3324           also show file/line/func if no additional debug was given
3326 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3327         
3328         * win32/vs7/grammar.vcproj:
3329           activate copy of autogenerated files for Release mode
3331 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3332         
3333         * win32/common/libgstreamer.def:
3334           export gst_value_compare
3336 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3338         * plugins/elements/Makefile.am:
3339         * plugins/elements/gstelements.c:
3340         * plugins/elements/gstfdsink.c: (_do_init),
3341         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3342         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3343         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3344         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3345         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3346         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3347         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3348         * plugins/elements/gstfdsink.h:
3349         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3351 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3353         * docs/manual/advanced-dparams.xml:
3354           describe controller
3355         * docs/manual/advanced-position.xml:
3356         * docs/manual/basics-init.xml:
3357         * docs/manual/manual.xml:
3358         * docs/manual/titlepage.xml:
3359         * docs/pwg/pwg.xml:
3360         * docs/pwg/titlepage.xml:
3361           cleanup xml (more to come)
3362         * libs/gst/controller/gstcontroller.c:
3363           fix typo
3365 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3366         
3367         * win32/vs6/grammar.dsp:
3368           add autogen of gstmarshal.c,h for Release mode
3369                 
3370 2006-01-30  Wim Taymans  <wim@fluendo.com>
3372         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3373         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3374         (gst_base_sink_handle_object), (gst_base_sink_event),
3375         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3376         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3377         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3378         (gst_base_sink_deactivate), (gst_base_sink_activate),
3379         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3380         (gst_base_sink_query), (gst_base_sink_change_state):
3381         Basesink cleanups, remove some old code.
3382         Handle the case where a subclass can preroll in the render
3383         method (mostly audiosinks).
3384         Handle more events.
3385         Remove some locks around variables that are now protected
3386         with the PREROLL_LOCK (clock_id, flushing, ..).
3387         Optimize position query some more, do correct locking.
3388         Remove old code to push queue in state change, this is not
3389         needed anymore since preroll blocks on all prerollable items 
3390         now.
3391         Almost implemented as described in design doc.
3393 2006-01-30  Wim Taymans  <wim@fluendo.com>
3395         * tests/check/gst/gstbin.c: (GST_START_TEST):
3396         Wait for refcount to settle down before checking.
3398 2006-01-30  Wim Taymans  <wim@fluendo.com>
3400         * docs/design/part-element-sink.txt:
3401         Pseudo code overview of desired sink behaviour regarding
3402         preroll.
3404 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3405         * win32/vs6/grammar.dsp:
3406           fix some bugs in Release mode for autogenerated files
3407                 
3408 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3409         * win32/common/libgstbase.def:
3410         * win32/common/libgstreamer.def:
3411           export some new symbols: gst_base_src_set_format,
3412           gst_iterator_next, gst_structure_set_valist
3414 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3416         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3417         Set pad functions unconditionally. Fixes #329105.
3419 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3420         * win32/vs8:
3421           add vs8 project files created by Sergey Scobich
3423 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3425         * gst/gstutils.c: (gst_element_unlink_pads):
3426         Don't leak pad references.
3428         * tests/check/elements/fakesink.c: (GST_START_TEST):
3429         * tests/check/generic/sinks.c: (GST_START_TEST):
3430         * tests/check/generic/states.c: (GST_START_TEST):
3431         * tests/check/gst/gstbin.c: (GST_START_TEST):
3432         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3433         * tests/check/gst/gstelement.c: (GST_START_TEST):
3434         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3435         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3436         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3437         Fix a bunch of leaks. Make generic/sinks.c
3438         use a bit less cpu by slowing the buffer rate
3439         between fakesrc and fakesink.
3440         
3441 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3442         * gst/gstcaps.c:
3443         * gst/gstelement.c: (gst_element_send_event):
3444         * gst/gstevent.c:
3445         * gst/gstinfo.c:
3446         * gst/gstiterator.c:
3447         * gst/gstiterator.h:
3448         * gst/gstpad.c: (gst_pad_send_event):
3449         * gst/gststructure.c:
3450         * gst/gsturi.c:
3451         * gst/gstutils.c:
3452         * gst/gstvalue.c:
3453         * libs/gst/base/gstadapter.c:
3454           doc fixes, to link to function, just write gst_cool_function(), don't
3455           prefix with '#'
3457 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3459         * plugins/elements/gsttee.c: (gst_tee_do_push),
3460         (gst_tee_handle_buffer):
3461         Always prefer an actual return value from a src
3462         pad in place of NOT_LINKED. This means we return
3463         WRONG_STATE when all src pads are WRONG_STATE
3464         instead of NOT_LINKED.
3466         Lock when replacing the last message to prevent
3467         racing with the get_property method.
3469         Add debug output
3471 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3473         * tests/check/Makefile.am:
3474         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3475         (main):
3476         Add a very simple check that should have caught the memleak I fixed
3477         last night (if not for the slice allocator hiding it)
3479 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3481         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3482         (gst_bin_remove_func), (gst_bin_handle_message_func),
3483         (bin_query_duration_fold), (bin_query_generic_fold):
3484         Clean up references to the clock provider when disposed or when
3485         handling a clock-lost message from it.
3487         Unref sinks when performing a query via gst_iterator_fold, as the
3488         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3490         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3491         (gst_clock_set_master):
3492         Drop our reference to the master clock, if any, when we are disposed.
3494         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3495         Chain up in dispose. 
3497 2006-01-26  Wim Taymans  <wim@fluendo.com>
3499         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3500         Add some debugging.
3502 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3504         * plugins/elements/gsttee.c: (gst_tee_do_push),
3505         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3506         handles pad being NOT_LINKED or in WRONG_STATE.
3508 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3510         * win32/MANIFEST:
3511           more updating
3513 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3515         * win32/MANIFEST:
3516           remove obsolete entry
3518 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3520         * docs/gst/gstreamer-sections.txt:
3521         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3522         (gst_bin_iterate_sources), (gst_bin_send_event):
3523         * gst/gstbin.h:
3524         * gst/gstelement.c: (gst_element_send_event):
3525         * gst/gstevent.c:
3526         * gst/gstpad.c: (gst_pad_send_event):
3527           added code for downstream events, reviewed docs in gstevent.c
3529 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3531         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3532         We only query position using the clock in the playing state.
3533         Query peer in the other cases.
3534         * win32/common/config.h: Updates.
3536 2006-01-24  Wim Taymans  <wim@fluendo.com>
3538         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3539         A clock entry that is scheduled for the exact time of the
3540         clock is still in time.
3542         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3543         (gst_base_sink_do_sync):
3544         Add some more debug info.
3546 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3548         * win32/vs7:
3549           Add new vs7 project files and solution.
3551 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3553         * win32/vs7:
3554           all files removed as they were out-dated.
3556 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3558         * docs/random/release:
3559           update notes
3560         * gst/gstbin.c: (gst_bin_init):
3561         * gst/gstbus.c: (gst_bus_new):
3562         * gst/gstbus.h:
3563         * gst/gstpipeline.c: (gst_pipeline_init):
3564           use gst_bus_new(), improve logging, fix docs
3565         * win32/common/config.h:
3566           update for cvs build
3568 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3570         * autogen.sh:
3571           up required version of automake to 1.7
3573 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3575         * win32/common/libgstreamer.def:
3576           export gst_buffer_is_metadata_writable
3578 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3580         * docs/gst/gstreamer-sections.txt:
3581         * gst/gstevent.h:
3582           Add gst_event_replace() (#327001)
3584 2006-01-20  Wim Taymans  <wim@fluendo.com>
3586         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3587         Make it actually compile too..
3589 2006-01-20  Wim Taymans  <wim@fluendo.com>
3591         * gst/gstcaps.c:
3592         Clarify behaviour of _is_equal() when passing NULL parameters.
3594         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3595         (gst_pad_set_caps):
3596         Cleanups. Don't unref NULL caps.
3597         When setting the same caps, protect caps of the pad with
3598         proper lock.
3599         Use full functionality of _is_equal() when comparing caps.
3601 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3603         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3604         Don't loop infinitely if there are no buffers to present. Partially
3605         fixes #327197, but collectpads is just broken for reusing elements
3606         to do multiple encodes atm.
3608 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3610         * tools/gst-inspect.c: (print_element_features):
3611         * tools/gst-xmlinspect.c: (main):
3612         URL_HANDLER is not a plugin feature we can search for in
3613         the registry.
3615 2006-01-19  Edward Hervey  <edward@fluendo.com>
3617         * gst/gstelement.c: (gst_element_pads_activate): 
3618         When activating, do src pads first, then sink pads.
3619         When de-activating, do sink pads first, then src pads.
3621 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3623         * docs/gst/gstreamer-sections.txt:
3624         Add gst_index_add_associationv to the docs
3626 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3628         * gst/gstevent.c:
3629           Fix docs typo
3631         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3632         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3633           Do some refactoring. Doesn't actually change functionality,
3634           but makes landing the DRAIN event easier later.
3636 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3638         * docs/pwg/advanced-scheduling.xml:
3639           Update from 0.9.x to 0.10 API and make example a bit
3640           clearer.
3642 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3644         * docs/gst/gstreamer-sections.txt:
3645         Add gst_buffer_(is|make)_metadata_writable methods.
3647 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3649         * docs/design/part-sparsestreams.txt:
3650         Update sparse streams doc, hopefully for greater clarity
3652 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3654         * docs/design/part-events.txt:
3655         Remove mention of FILLER events.
3656         Add DRAIN event.
3658         * docs/design/part-sparsestreams.txt:
3659         Write some things about using NEWSEGMENT to keep sparse streams
3660         flowing.
3662 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3664         * gst/gstbin.c: (gst_bin_dispose):
3665           Guard gst_object_unref call against a NULL object (dispose
3666           can theoretically be called multiple times).
3667           
3668 2006-01-18  Wim Taymans  <wim@fluendo.com>
3670         * gst/gstbin.c: (gst_bin_element_set_state):
3671         * gst/gstclock.c: (gst_clock_id_wait):
3672         Added some more debug info.
3674         * libs/gst/base/gstadapter.c:
3675         Added more docs.
3677         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3678         (gst_base_sink_do_sync), (gst_base_sink_chain):
3679         Added some comments.
3681 2006-01-18  Wim Taymans  <wim@fluendo.com>
3683         * tests/check/Makefile.am:
3684         * tests/check/elements/fakesink.c: (chain_async_buffer),
3685         (chain_async), (chain_async_return), (GST_START_TEST),
3686         (fakesink_suite), (main):
3687         Added fakesink test that checks prerolling and clipping
3688         behaviour.
3690         * tests/check/gst/gstutils.c: (GST_START_TEST):
3691         Make check run faster so that buildbots don't timeout.
3693 2006-01-18  Wim Taymans  <wim@fluendo.com>
3695         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3696         (gst_base_sink_do_sync):
3697         Some cleanups.
3698         When the sink finishes blocking on the preroll buffer, it can
3699         immediatly render it instead of rendering when the next buffer
3700         arrives.
3702 2006-01-18  Wim Taymans  <wim@fluendo.com>
3704         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3705         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3706         (gst_base_sink_chain):
3707         Small cleanups.
3708         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3709         Don't store _last_stop if the buffer is dropped.
3711 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3713         * plugins/elements/gsttypefindelement.c:
3714         (gst_type_find_element_class_init):
3715           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3716           object method handler that sets the caps on the pad and we want
3717           that to happen before we emit the signal (fixes e.g. feeding a
3718           plain text file to decodebin).
3720 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3722         * gst/gstplugin.c: Add MPL and Proprietary as license options
3724 2006-01-18  Andy Wingo  <wingo@pobox.com>
3726         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3727         symbol was exported before, it appears this was just an oversight.
3728         Fixes #168703.
3729         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3731         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3732         prototype to gint. OK since this prototype was not in the header.
3734 2006-01-17  Andy Wingo  <wingo@pobox.com>
3736         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3737         registry while we remove plugins.
3739         * tools/gst-inspect.c (print_element_info): Don't unref the
3740         factory arg, that should be the responsibility of whatever code
3741         received the ref. Fixes a double-free when called from
3742         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3743         (main): Unref the factory if we have one.
3744         (print_element_list): No change -- relies on the
3745         plugin_feature_list_free to free the list of features.
3747 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3749         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3750         (gst_buffer_make_metadata_writable):
3751         * gst/gstbuffer.h:
3752         * libs/gst/base/gstbasetransform.c:
3753         (gst_base_transform_prepare_output_buf):
3754         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3755         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3756           Replace gst_buffer_(make|is)_metadata_writable patch now
3757           that the release is out.
3759 2006-01-17  Andy Wingo  <wingo@pobox.com>
3761         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3762         in the present tense without reference to versions.
3764         * gst/gstregistry.c (gst_registry_add_plugin)
3765         (gst_registry_remove_plugin, gst_registry_remove_feature)
3766         (gst_registry_find_feature, gst_registry_get_feature_list)
3767         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3768         (gst_registry_lookup, gst_registry_scan_path)
3769         (_gst_registry_remove_cache_plugins)
3770         (gst_registry_get_feature_list_by_plugin): Add argument
3771         validation.
3773 === release 0.10.2 ===
3775 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3777         * configure.ac:
3778           releasing 0.10.2, "If man is five"
3780 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3782         * gst/gstbuffer.c:
3783         * gst/gstbuffer.h:
3784         * libs/gst/base/gstbasetransform.c:
3785         (gst_base_transform_prepare_output_buf):
3786         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3787         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3788           Back out patch until after the release.
3790 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3792         * gst/gstminiobject.c:
3793           Spelling fix in docs.
3794         * ChangeLog - remove conflict indicator
3796 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3798         Reviewed By: Andy Wingo
3800         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3801         (gst_buffer_make_metadata_writable):
3802         * gst/gstbuffer.h:
3803           Add gst_buffer_(is|make)_metadata_writable as analogues of
3804           gst_buffer_(is|make)_writable.
3806         * libs/gst/base/gstbasetransform.c:
3807         (gst_base_transform_prepare_output_buf):
3808         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3809           Use name gst_buffer_(is|make)_metadata_writable functions.
3811         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3812           Test gst_buffer_(is|make)_metadata_writable
3813         
3814           (Closes: #324162)
3816 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3818         * docs/manual/Makefile.am:
3819           don't do parallel make
3820         * configure.ac:
3821           AC_SUBST HOST_CPU
3822         * win32/common/config.h.in:
3823           add generations for HOST_CPU and GST_MAJORMINOR
3824         * win32/common/config.h:
3825           commit generated result
3827 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3829         * docs/manual/appendix-integration.xml:
3830           Update GNOME integration section to use gst_init_get_option_group()
3831           instead of the old popt stuff (#322911). Also, GNOME applications
3832           should  now use gconf*sink and gconf*src instead of the old gconf
3833           helper lib we had.
3835 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3838         * docs/gst/gstreamer-docs.sgml:
3839         * docs/gst/gstreamer-sections.txt:
3840         * docs/libs/gstreamer-libs-sections.txt:
3841           add new API entries to the docs
3842         * libs/gst/controller/Makefile.am:
3843         * libs/gst/controller/gstcontroller.c:
3844         * libs/gst/controller/gstcontroller.h:
3845         * libs/gst/controller/gstcontrollerprivate.h:
3846         * libs/gst/controller/gsthelper.c:
3847         * libs/gst/controller/gstinterpolation.c:
3848           move private structs to private header
3849         * po/README:
3850           gstreamer-0.7 -> gstreamer-0.10
3851         * tests/check/libs/struct_i386.h:
3852           remove private structs
3854 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3856         * plugins/indexers/Makefile.am:
3857           Fixes as part of #317048
3859 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3861         * plugins/indexers/Makefile.am:
3862           fix #316086 - compilation when mmap is missing
3864 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3866         * libs/gst/base/gstbasesink.c:
3867           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3868           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3869         * win32/common/config.h:
3870           added some defines GST_MAJORMINOR and HOST_CPU
3871         * win32/common/libgstbase.def:
3872         * win32/common/libgstreamer.def:
3873           added some exported functions.
3875 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3877         * libs/gst/controller/gstcontroller.c:
3878         (gst_controlled_property_set_interpolation_mode),
3879         (gst_controlled_property_new):
3880         * libs/gst/controller/gstcontroller.h:
3881         * libs/gst/controller/gstinterpolation.c:
3882         (interpolate_none_get_string_value_array):
3883           make G_TYPE_STRING controlable
3885 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3887         * tools/README:
3888         * tools/gst-feedback.1.in:
3889         * tools/gst-inspect.1.in:
3890         * tools/gst-launch.1.in:
3891         * tools/gst-md5sum.1.in:
3892         * tools/gst-typefind.1.in:
3893         * tools/gst-xmlinspect.1.in:
3894         * tools/gst-xmllaunch.1.in:
3895           cleanup man-pages, remove reference to gst-register, document env-vars
3897 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3899         * gst/gstbuffer.c: (gst_buffer_span):
3900           gst_buffer_span should copy the timestamp of the first buffer
3901           if they were both originally overlapping subbuffers of the 
3902           same parent, using the same logic as the 'slow copy' case.
3904 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3906         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3907           Need to awaken ALL the pads when we pop a buffer, otherwise
3908           collectpads only works when there is 2 input streams.
3910 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3912         * docs/random/ensonic/media-device-daemon.txt:
3913           more ideas (dbus)
3914         * gst/gstbuffer.c:
3915           fix doc example, add clarification
3916         * tools/gst-launch.1.in:
3917           add initial info about GST_PLUGIN_PATH, needs more work
3919 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3921         * docs/manual/basics-bins.xml:
3922         * docs/manual/basics-elements.xml:
3923         * docs/manual/intro-basics.xml:
3924           Some more minor docs additions and updates.
3926 2006-01-11  Wim Taymans  <wim@fluendo.com>
3928         * docs/manual/basics-bins.xml:
3929         * docs/manual/basics-elements.xml:
3930         Some small fixes as pointed out by Ser-ver on IRC.
3932 2006-01-10  Edward Hervey  <edward@fluendo.com>
3934         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3935         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3936         the single-segment mode.
3938 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3940         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3942         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3943         (gst_base_src_perform_seek), (gst_base_src_send_event),
3944         (gst_base_src_set_property), (gst_base_src_get_property),
3945         (gst_base_src_loop), (gst_base_src_start),
3946         (gst_base_src_activate_push):
3947         * libs/gst/base/gstbasesrc.h:
3948           Name (private) union; makes Sun's Forte compiler happy (#324900).
3950 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3952         * README:
3953           gst-register is gone.
3955 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3957         * gst/gstvalue.c: (_gst_value_initialize):
3958           make the G_TYPE_DATE instantiation work if debug is disabled
3960 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3962         * gst/gstmessage.c: (gst_message_parse_tag),
3963         (gst_message_parse_error), (gst_message_parse_warning):
3964           Don't crash when return location for error/warning debug
3965           string is NULL; add fact that return locations can be
3966           NULL to docs where appropriate.
3968 2006-01-05  Wim Taymans  <wim@fluendo.com>
3970         * gst/gstplugin.c: (gst_plugin_load_file):
3971         Replace strdup by g_strdup.
3973 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3975         * docs/pwg/advanced-types.xml:
3976           fix doc borkage
3978 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3980         submitted by: Abel Cheung
3982         * po/LINGUAS:
3983         * po/zh_TW.po:
3984           Added Chinese (traditional) translation
3986 2006-01-04  Wim Taymans  <wim@fluendo.com>
3988         * docs/manual/basics-pads.xml:
3989         * docs/plugins/Makefile.am:
3990         * docs/plugins/gstreamer-plugins-docs.sgml:
3991         * docs/plugins/gstreamer-plugins-sections.txt:
3992         * docs/pwg/advanced-clock.xml:
3993         * docs/pwg/advanced-scheduling.xml:
3994         * docs/pwg/advanced-types.xml:
3995         * plugins/elements/gstfdsink.c:
3996         * plugins/elements/gstfdsrc.c:
3997         * plugins/elements/gstfdsrc.h:
3998         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3999         * plugins/elements/gstidentity.h:
4000         * plugins/elements/gstqueue.h:
4001         * plugins/elements/gsttee.c:
4002         * plugins/elements/gsttee.h:
4003         * plugins/elements/gsttypefindelement.c:
4004         (gst_type_find_element_class_init):
4005         * plugins/elements/gsttypefindelement.h:
4006         Small updates to various docs.
4007         Added core plugins to docs.
4009 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4011         * common/gst.supp:
4012           add a suppression for liboil's uninitialized variable
4014 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4016         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4018         * gst/gstutils.h:
4019           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4020           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4021           compiler switch is being used (#325429).
4023 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4025         * gst/gstbin.c: (gst_bin_query):
4026           Disable duration query caching in bins until it gets
4027           fixed (see #324807).
4029 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4031         * tools/gst-inspect.c: (print_element_properties_info):
4032           Handle properties of POINTER and BOXED type.
4034 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4036         * gst/gst.c: (init_post):
4037           Init tags stuff and some other things before loading
4038           any static plugins (there may be other static plugins
4039           than just the GStreamer ones, and they may want to
4040           register their own tags or formats or whatever, and
4041           preferably without segfaulting).
4043         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4044           Print at least a warning in the debug logs if we drop a
4045           query just because we don't know how to adjust the value
4046           in the particular format.
4048 2005-12-24  David Schleef  <ds@schleef.org>
4050         * tools/gstreamer-completion:
4051           Replacement for gst-complete written in sh and sed.  Only
4052           completes names of features, but that's 90% of what I want
4053           it for.  Properties are not available in registry.xml.  (Maybe
4054           they should be...)
4056 === release 0.10.1 ===
4058 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4060         * configure.ac:
4061           releasing 0.10.1, "Nollaig chridheil"
4063 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4065         * docs/faq/cvs.xml:
4066           Add missing quote, should be make ERROR_CFLAGS="".
4068 2005-12-20  Wim Taymans  <wim@fluendo.com>
4070         * docs/design/part-trickmodes.txt:
4071         More documentation on trickmodes.
4073 2005-12-20  Edward Hervey  <edward@fluendo.com>
4075         * gst/gstcaps.c: (gst_static_caps_get_type):
4076         * gst/gstcaps.h:
4077           API addition: GST_TYPE_STATIC_CAPS
4078         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4079         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4080         * gst/gstpadtemplate.h:
4081           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4082         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4083         bindings.
4085 2005-12-18  Wim Taymans  <wim@fluendo.com>
4087         * libs/gst/base/gstadapter.c:
4088         * libs/gst/base/gstadapter.h:
4089         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4090         (gst_base_sink_get_position):
4091         * libs/gst/base/gstbasesink.h:
4092         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4093         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4094         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4095         (gst_base_src_send_event), (gst_base_src_update_length),
4096         (gst_base_src_get_range), (gst_base_src_loop),
4097         (gst_base_src_start):
4098         * libs/gst/base/gstbasesrc.h:
4099         * libs/gst/base/gstbasetransform.h:
4100         * libs/gst/base/gstcollectpads.h:
4101         * libs/gst/base/gstpushsrc.c:
4102         * libs/gst/base/gstpushsrc.h:
4103         * libs/gst/dataprotocol/dataprotocol.c:
4104         * libs/gst/dataprotocol/dataprotocol.h:
4105         * libs/gst/net/gstnetclientclock.h:
4106         * libs/gst/net/gstnettimeprovider.h:
4107         Documentation updates.
4109 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4111         * docs/manual/basics-helloworld.xml:
4112           Remove superfluous closing bracket in helloworld example.
4114 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4116         * tools/gst-launch.1.in:
4117           Update gst-launch man page; add a section with useful
4118           environment variables. Fixes #323882.
4120 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4122         * gst/gst.c:
4123         * gst/gst_private.h:
4124           change some char* into char[]
4126 2005-12-16  Wim Taymans  <wim@fluendo.com>
4128         * gst/gstregistryxml.c: (load_feature):
4129         Cleanups.
4130         Don't use g_object_unref on GstObjects so that we avoid
4131         leaks on unsafe glibs.
4133 2005-12-16  Wim Taymans  <wim@fluendo.com>
4135         * gst/gstbin.c: (gst_bin_recalc_state):
4136         Small doc updates.
4138 2005-12-16  Wim Taymans  <wim@fluendo.com>
4140         * common/check.mak:
4141         Added make forever target for check.
4143 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4145         * gst/gst.c: (init_post):
4146           make the registry cache file HOST_CPU-dependent
4148 2005-12-16  Andy Wingo  <wingo@pobox.com>
4150         * plugins/elements/gstbufferstore.c
4151         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4152         return value.
4154         * tests/check/gst/gstobject.c
4155         (test_fake_object_name_threaded_unique): Pay attention to
4156         g_list_sort return value.
4158 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4160         * tools/gst-feedback-m.m:
4161           Update for 0.9/0.10 (fixes #323870).
4163 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4165         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4166           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4167           
4168         * tests/check/gst/gstminiobject.c: (my_foo_init),
4169         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4170         (test_value_collection), (gst_mini_object_suite):
4171           Add test to ensure refcounts end up as expected when passing
4172           GstMiniObjects through g_object_get() and g_object_set().
4174 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4176         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4177         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4178         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4179         of collectpads. This version removes a lot of races without
4180         touching API/ABI. Yay !
4182 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4184         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4185           Don't allow activation of a srcpad in pull_range if it has no
4186           getrange function.
4187           Change some debug statements to be a little clearer
4189         * plugins/elements/gsttypefindelement.c:
4190         (gst_type_find_handle_src_query):
4191           Check that we have a peer before executing queries thereupon.
4193         * tests/examples/metadata/read-metadata.c: (message_loop):
4194           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4195           immediately return us any available message with 0 timeout.
4197 2005-12-12  Michael Smith  <msmith@fluendo.com>
4199         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4200           Don't unref factories after calling them.
4201         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4202         * plugins/elements/gsttypefindelement.c:
4203         (gst_type_find_element_chain):
4204           Free lists of factories after using them. Fixing typefinding memory
4205           leaks.
4207 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4209         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4210         (gst_plugin_feature_load):
4211           more meaningful debug output
4212         * configure.ac:
4213         * tests/Makefile.am:
4214         * tests/old/examples/Makefile.am:
4215           make make distcheck happy again
4217 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4219         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4220           Catch the special case where we are operating chain-based,
4221           but the downstream peer pad has no chain function. Emit a
4222           custom error message in this case instead of letting the
4223           core generate one implying that this is some sort of core
4224           bug. It's not, it just means that whatever got plugged
4225           into the pipeline downstream when we announced the type
4226           can only operate pull-based, while our source can only
4227           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4228           Error string has not been marked for translation yet, as
4229           it probably needs some more work first.
4231         (gst_type_find_element_get_best_possibility):
4232           Add helper function to find the best of all available
4233           found possibilities that qualify given the min. threshold.
4235         (gst_type_find_element_handle_event):
4236           Fix the case where we get an EOS while still in TYPEFIND
4237           mode (we want to chose the best of all possible types,
4238           not just the first type that happens to be in our unsorted
4239           list of possible types).
4241         (gst_type_find_element_chain):
4242           Make sure we return GST_FLOW_ERROR when we errored out
4243           in stop_typefinding(); also, don't just find the best of
4244           all found type entries and then use the last examined
4245           type entry, but actually use the best entry.
4247 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4249         * tests/examples/typefind/typefind.c: (type_found):
4250         * tests/examples/xml/runxml.c: (xml_loaded):
4251           More gcc4 fixes and a mem leak fix.
4253 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4255         * tests/examples/xml/createxml.c: (object_saved):
4256           gcc 4 fixes
4258 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4260         * tests/Makefile.am:
4261           enable the examples even more
4263 2005-12-12  Andy Wingo  <wingo@pobox.com>
4265         * libs/gst/net/gstnettimeprovider.c
4266         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4267         (gst_net_time_provider_set_property)
4268         (gst_net_time_provider_get_property):
4269         API addition: Export "active" as a GObject property.
4270         (gst_net_time_provider_thread): Only respond to time queries if
4271         the time provider is active.
4273         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4274         NetTimeProvider, preserving binary compat.
4276 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4278         * tests/examples/controller/audio-example.c: (main):
4279         * tests/examples/launch/Makefile.am:
4280           convert comments again
4282 2005-12-12  Wim Taymans  <wim@fluendo.com>
4284         * libs/gst/base/gstpushsrc.c:
4285         Fix typo.
4287 2005-12-12  Wim Taymans  <wim@fluendo.com>
4289         * docs/libs/gstreamer-libs-sections.txt:
4290         Added new symbol to docs.
4292         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4293         (gst_base_src_init), (gst_base_src_set_format),
4294         (gst_base_src_default_query), (gst_base_src_query),
4295         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4296         (gst_base_src_perform_seek), (gst_base_src_send_event),
4297         (gst_base_src_default_event), (gst_base_src_event_handler),
4298         (gst_base_src_set_property), (gst_base_src_get_property),
4299         (gst_base_src_wait), (gst_base_src_do_sync),
4300         (gst_base_src_update_length), (gst_base_src_get_range),
4301         (gst_base_src_check_get_range), (gst_base_src_loop),
4302         (gst_base_src_default_negotiate), (gst_base_src_start),
4303         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4304         (gst_base_src_change_state):
4305         * libs/gst/base/gstbasesrc.h:
4306         Implement seeking to other formats than _BYTES.
4307         Implement more seeking methods correctly.
4308         Doc updates.
4309         Added query vmethod.
4310         Added do_seek vmethod to make life easier for subclasses
4311         when seeking.
4312         API addition: gst_base_src_set_format()
4314 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4316         * tests/examples/Makefile.am:
4317           added that too
4319 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4321         * configure.ac:
4322         * docs/random/ensonic/media-device-daemon.txt:
4323         * tests/examples/controller/.cvsignore:
4324         * tests/examples/controller/Makefile.am:
4325         * tests/examples/controller/audio-example.c: (main):
4326         * tests/examples/helloworld/.cvsignore:
4327         * tests/examples/helloworld/Makefile.am:
4328         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4329         * tests/examples/launch/.cvsignore:
4330         * tests/examples/launch/Makefile.am:
4331         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4332         * tests/examples/metadata/.cvsignore:
4333         * tests/examples/metadata/Makefile.am:
4334         * tests/examples/metadata/read-metadata.c: (message_loop),
4335         (make_pipeline), (print_tag), (main):
4336         * tests/examples/queue/.cvsignore:
4337         * tests/examples/queue/Makefile.am:
4338         * tests/examples/queue/queue.c: (event_loop), (main):
4339         * tests/examples/typefind/.cvsignore:
4340         * tests/examples/typefind/Makefile.am:
4341         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4342         (main):
4343         * tests/examples/xml/.cvsignore:
4344         * tests/examples/xml/Makefile.am:
4345         * tests/examples/xml/createxml.c: (object_saved), (main):
4346         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4347         * tests/old/examples/Makefile.am:
4348         * tests/old/examples/TODO:
4349         * tests/old/examples/controller/.cvsignore:
4350         * tests/old/examples/controller/Makefile.am:
4351         * tests/old/examples/controller/audio-example.c:
4352         * tests/old/examples/helloworld/.cvsignore:
4353         * tests/old/examples/helloworld/Makefile.am:
4354         * tests/old/examples/helloworld/helloworld.c:
4355         * tests/old/examples/launch/.cvsignore:
4356         * tests/old/examples/launch/Makefile.am:
4357         * tests/old/examples/launch/mp3parselaunch.c:
4358         * tests/old/examples/launch/mp3play:
4359         * tests/old/examples/manual/Makefile.am:
4360         * tests/old/examples/metadata/Makefile.am:
4361         * tests/old/examples/metadata/read-metadata.c:
4362         * tests/old/examples/queue/.cvsignore:
4363         * tests/old/examples/queue/Makefile.am:
4364         * tests/old/examples/queue/queue.c:
4365         * tests/old/examples/typefind/.cvsignore:
4366         * tests/old/examples/typefind/Makefile.am:
4367         * tests/old/examples/typefind/typefind.c:
4368         * tests/old/examples/xml/.cvsignore:
4369         * tests/old/examples/xml/Makefile.am:
4370         * tests/old/examples/xml/createxml.c:
4371         * tests/old/examples/xml/runxml.c:
4372           applied some simple fixing to some examples
4373           re-enabled the working examples
4375 2005-12-12  Wim Taymans  <wim@fluendo.com>
4377         * gst/gstsegment.c: (gst_segment_init),
4378         (gst_segment_set_last_stop), (gst_segment_set_seek),
4379         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4380         (gst_segment_to_running_time):
4381         Added more documentation.
4382         Make sure the last_pos value is updated properly.
4383         Make sure to_stream_time and to_running_time don't
4384         operate on wrong values.
4386         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4387         Update check.
4389 2005-12-12  Michael Smith  <msmith@fluendo.com>
4391         * plugins/elements/gsttypefindelement.c: (free_entry),
4392         (gst_type_find_element_chain):
4393           Now that we're not leaking factories, make sure we keep references
4394           to them while we need them.
4396 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4398         * tests/check/gst/struct_i386.h:
4399           ifdef out the XML structs
4401 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4403         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4404           floor is not needed, F is always positive; this obviates the
4405           need for adding -lm when building without libxml
4407 2005-12-12  Wim Taymans  <wim@fluendo.com>
4409         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4410         Take current playback rate into account when reporting
4411         the position.
4413 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4415         * docs/manual/mime-world.fig:
4416           Let's try this again, this time with a file that is
4417           actually in XFig format.
4419 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4421         * docs/manual/mime-world.fig:
4422           Add audioconvert element to diagram so that it
4423           matches the text and the code (fixes #319526).
4425 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4427         * docs/pwg/building-chainfn.xml:
4428         * docs/pwg/building-pads.xml:
4429         * docs/pwg/building-state.xml:
4430         * docs/pwg/other-source.xml:
4431           Update state change stuff for 0.10 (fixes #322969).
4433 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4435         * docs/manual/advanced-dataaccess.xml:
4436         * docs/manual/appendix-checklist.xml:
4437         * docs/manual/appendix-programs.xml:
4438         * docs/manual/basics-pads.xml:
4439         * docs/manual/highlevel-components.xml:
4440         * docs/manual/manual.xml:
4441           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4442           add converters in front of pipelines; remove curly
4443           brackets for threads stuff, they no longer exist; use
4444           GST_TYPE_FRACTION for framerates; update some pieces of
4445           code to 0.10, but there's plenty more to do.
4447         * docs/manual/appendix-porting.xml:
4448           Expand on asynchroneous state changes; s/0.9/0.10/;
4449           mention disappearance of gst_init_get_popt_table()
4450           (fixes #322916).
4452 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4454         * docs/faq/using.xml:
4455           Spider no longer exists, and neither does gst-launch-ext.
4456           Update examples to use decodebin and playbin and put
4457           converters in front of sinks (fixes #323726).
4459 2005-12-09  Michael Smith  <msmith@fluendo.com>
4461         * plugins/elements/gsttypefindelement.c: (find_peek),
4462         (gst_type_find_element_chain):
4463           Fix leaking element factories in typefinding.
4464           Fix problem where we forgot about a probable type on non-seekable
4465           files, and thus later mis-typefound it.
4467 2005-12-09  Michael Smith  <msmith@fluendo.com>
4469         * common/m4/gst-makecontext.m4:
4470         * common/m4/gst-mcsc.m4:
4471         * configure.ac:
4472         * win32/common/config.h:
4473         * win32/common/config.h.in:
4474           Remove makecontext stuff; not used in 0.10 and causes problems on
4475           HPUX according to bug #322441
4477 2005-12-07  Wim Taymans  <wim@fluendo.com>
4479         * tests/check/Makefile.am:
4480         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4481         (main):
4482         * tests/check/libs/struct_i386.h:
4483         Added ABI check for libs
4485 2005-12-07  Wim Taymans  <wim@fluendo.com>
4487         * tests/check/Makefile.am:
4488         And add the struct_i386.h to dist.
4490 2005-12-07  Wim Taymans  <wim@fluendo.com>
4492         * tests/check/Makefile.am:
4493         * tests/check/gst/.cvsignore:
4494         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4495         (main):
4496         * tests/check/gst/struct_i386.h:
4497         Added check for ABI compatibility.
4499 2005-12-07  Wim Taymans  <wim@fluendo.com>
4501         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4502         (gst_fake_src_get_times), (gst_fake_src_create):
4503         Fix broken sync option, fixes #323259
4505 2005-12-07  Wim Taymans  <wim@fluendo.com>
4507         * gst/gstbuffer.c:
4508         Small docs update.
4510         * gst/gstcaps.c: (gst_caps_is_equal):
4511         Don't assert on NULL <--> X. Fixes #323260
4513         * gst/gstminiobject.c: (gst_mini_object_replace):
4514         If we're doing atomic operations, we might just as well use
4515         the proper way to get an atomic pointer.
4517         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4518         Clean up debugging.
4520 2005-12-07  Michael Smith  <msmith@fluendo.com>
4522         * gst/parse/grammar.y:
4523           Remove handling of { } for threads.
4525 2005-12-06  David Schleef  <ds@schleef.org>
4527         * libs/gst/base/gstbasetransform.c: speling fix.
4529 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4531         * docs/libs/tmpl/gstdataprotocol.sgml:
4532         * docs/random/omega/testing/gstobject.c:
4533         * gst/gst.c:
4534         * gst/gstclock.c:
4535         * gst/gstelement.c:
4536         * gst/gstelementfactory.c:
4537         * gst/gsterror.c:
4538         * gst/gstevent.c:
4539         * gst/gstghostpad.c:
4540         * gst/gstinfo.c:
4541         * gst/gstpadtemplate.c:
4542         * gst/gstregistryxml.c:
4543         * gst/gsttaglist.c:
4544         * gst/gsttagsetter.c:
4545         * gst/gsttypefind.c:
4546         * gst/gstvalue.c:
4547         * libs/gst/base/gstbasesrc.c:
4548         * libs/gst/net/gstnetclientclock.c:
4549         * libs/gst/net/gstnettimeprovider.c:
4550         * plugins/elements/gstfakesrc.c:
4551         * plugins/elements/gstfdsrc.c:
4552         * plugins/elements/gstfilesrc.c:
4553         * plugins/elements/gstidentity.c:
4554         * plugins/elements/gstqueue.c:
4555         * plugins/elements/gsttypefindelement.c:
4556         * plugins/indexers/gstfileindex.c:
4557         * plugins/indexers/gstmemindex.c:
4558         * tests/check/gst/gsttag.c:
4559         * tests/old/examples/cutter/cutter.c:
4560         * tests/old/examples/mixer/mixer.c:
4561         * tests/old/examples/xml/runxml.c: (main):
4562         * tests/old/testsuite/caps/normalisation.c:
4563         * tests/old/testsuite/debug/global.c:
4564         * tests/old/testsuite/parse/parse1.c:
4565         * tools/gst-xmlinspect.c:
4566         * win32/common/dirent.c:
4567           expand tabs
4569 === release 0.10.0 ===
4571 2005-12-05   <thomas (at) apestaart (dot) org>
4573         * configure.ac:
4574           releasing 0.10.0, "Maroilles"
4576 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4578         submitted by: Funda Wang <fundawang@linux.net.cn>
4580         * po/LINGUAS:
4581         * po/zh_CN.po:
4582           added Chinese (Traditional) translation
4584 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4586         * docs/gst/gstreamer-sections.txt:
4587         * docs/libs/tmpl/gstdataprotocol.sgml:
4588         * docs/random/thomasvs/TODO:
4589         * gst/gstutils.c:
4590         * gst/gstutils.h:
4591           fix docs
4593 2005-12-05  Andy Wingo  <wingo@pobox.com>
4595         patch by: Wim Taymans <wim@fluendo.com>
4597         * libs/gst/base/gstbasetransform.c
4598         (gst_base_transform_prepare_output_buf)
4599         (gst_base_transform_buffer_alloc):
4600         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4601         alloc_buffer_and_set_caps.
4603         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4604         set_caps on the source pad.
4605         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4606         alloc_buffer used to do. Fixes #322874.
4608         * docs/gst/gstreamer-sections.txt: 
4609         * docs/design/part-negotiation.txt: 
4610         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4611         changes.
4613 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4615         patch by: Sebastien Moutte
4617         * win32/MANIFEST:
4618         * win32/common/config.h.in:
4619         * win32/vs6/libgstcontroller.dsp:
4620           win32 build fixes
4622 2005-12-05  Wim Taymans  <wim@fluendo.com>
4624         * gst/gstcaps.c: (gst_caps_is_equal):
4625         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4626         (gst_fake_src_create):
4627         Back out previous code changes, leave doc updates, file bugs 
4628         instead. 
4630 2005-12-05  Wim Taymans  <wim@fluendo.com>
4632         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4633         (gst_fake_src_get_times), (gst_fake_src_create):
4634         * plugins/elements/gstfakesrc.h:
4635         Fix broken sync code.
4637 2005-12-05  Wim Taymans  <wim@fluendo.com>
4639         * gst/gstcaps.c: (gst_caps_is_equal):
4640         Comparing NULL against !NULL yields different caps, not a
4641         failure.
4643 2005-12-05  Wim Taymans  <wim@fluendo.com>
4645         * gst/gstpipeline.c:
4646         Fix small typo in docs.
4648 2005-12-05  Andy Wingo  <wingo@pobox.com>
4650         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4652         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4653         registries/plugins with a MAJORMINOR one.
4654         (plugin_desc): Rename library from gstcoreleements to
4655         staticelements. Fixes #323222.
4657 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4659         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4660           Change debug category to 'collectpads' from 'collect_pads'
4661           (fixes #323250).
4663 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4665         patch by: Sebastien Moutte
4667         * libs/gst/controller/gstinterpolation.c:
4668           use convert function for uint64/double
4669         * win32/vs6/libgstcontroller.dsp:
4670           link to GLib
4672 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4674         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4675         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4676         * gst/gstutils.h:
4677         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4678           add tests that seem to show that the guint64/gdouble conversions
4679           are correct.
4681 2005-12-02  Wim Taymans  <wim@fluendo.com>
4683         * gst/gstregistry.c: (gst_registry_add_path):
4684         * gst/gstregistry.h:
4685         * gst/gstregistryxml.c:
4686         Fix docs again.
4688 2005-12-02  Wim Taymans  <wim@fluendo.com>
4690         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4691         (gst_util_uint64_scale_int):
4692         Small cleanup.
4694         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4695         Add debug log line.
4697         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4698         Add FIXME.
4700 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4702         * win32/MANIFEST:
4703         * win32/common/config.h:
4704         * win32/vs6/gstreamer.dsw:
4705         * win32/vs6/libgstcoreelements.dsp:
4706         * win32/vs6/libgstelements.dsp:
4707           renamed core elements plugin
4709 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4711         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4712         (get_candidates):
4713           do piece-wise major/minor comparison so 0.9 < 0.10
4714           also allow .exe extensions for tools
4716 2005-12-02  Michael Smith  <msmith@fluendo.com>
4718         * gst/gst.c:
4719           Escape a % to make gtkdoc happier; bug 322958.
4721 === release 0.9.7 ===
4723 2005-12-01   <thomas (at) apestaart (dot) org>
4725         * configure.ac:
4726           releasing 0.9.7, "My Dog Has No Nose"
4728 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4730         * common/gst-xmlinspect.py:
4731         * configure.ac:
4732         * docs/libs/tmpl/gstdataprotocol.sgml:
4733         * docs/random/release:
4734         * po/af.po:
4735         * po/az.po:
4736         * po/bg.po:
4737         * po/ca.po:
4738         * po/cs.po:
4739         * po/de.po:
4740         * po/en_GB.po:
4741         * po/fr.po:
4742         * po/it.po:
4743         * po/nb.po:
4744         * po/nl.po:
4745         * po/ru.po:
4746         * po/sq.po:
4747         * po/sr.po:
4748         * po/sv.po:
4749         * po/tr.po:
4750         * po/uk.po:
4751         * po/vi.po:
4752         * win32/common/config.h:
4753         * win32/common/config.h.in:
4754         * win32/vs6/gst_inspect.dsp:
4755         * win32/vs6/gst_launch.dsp:
4756         * win32/vs6/libgstbase.dsp:
4757         * win32/vs6/libgstelements.dsp:
4758         * win32/vs6/libgstreamer.dsp:
4759         * win32/vs7/GStreamer.vcproj:
4760         * win32/vs7/gst-inspect.vcproj:
4761         * win32/vs7/gst-launch.vcproj:
4762         * win32/vs7/libgstbase.vcproj:
4763           bump GST_MAJORMINOR to 0.10
4764           reset libtool version
4766 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4768         * po/LINGUAS:
4769         * po/bg.po:
4770           Added Bulgarian translation by (Alexander Shopov)
4772 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4774         * tests/check/gst/gstplugin.c:
4775           fix test
4777 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4779         * common/gst-xmlinspect.py:
4780         * common/gtk-doc-plugins.mak:
4781         * configure.ac:
4782         * docs/Makefile.am:
4783         * docs/gst/Makefile.am:
4784         * docs/gst/gstreamer-docs.sgml:
4785         * docs/gst/gstreamer-sections.txt:
4786         * docs/gst/gstreamer.types:
4787         * docs/gst/gstreamer.types.in:
4788         * docs/plugins/Makefile.am:
4789         * docs/plugins/gstreamer-plugins-docs.sgml:
4790         * docs/plugins/gstreamer-plugins-sections.txt:
4791         * docs/plugins/gstreamer-plugins.types:
4792         * docs/plugins/inspect.stamp:
4793         * docs/plugins/inspect/plugin-coreelements.xml:
4794         * docs/plugins/inspect/plugin-coreindexers.xml:
4795         * docs/plugins/scanobj-build.stamp:
4796         * gstreamer.spec.in:
4797         * plugins/elements/Makefile.am:
4798         * plugins/elements/gstelements.c:
4799         * plugins/elements/gstfakesink.c:
4800         * plugins/elements/gstfakesrc.c:
4801         * plugins/elements/gstfilesink.c:
4802         * plugins/elements/gstfilesrc.c:
4803         * plugins/elements/gstqueue.c:
4804         * plugins/indexers/Makefile.am:
4805         * plugins/indexers/gstindexers.c:
4806           document core plugins in a separate document just like all the
4807           others
4808           rename these plugins to something starting with core
4810 2005-12-01  Andy Wingo  <wingo@pobox.com>
4812         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4813         padding here before, but it missed the commit.
4815 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4817         * libs/gst/controller/gstinterpolation.c:
4818           whitespace prices have crashed, we should feel free to use some now
4819           use gst_guint64_to_gdouble
4821 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4823         * libs/gst/controller/gstcontroller.c:
4824         * libs/gst/controller/gsthelper.c:
4825         * libs/gst/controller/gstinterpolation.c:
4826         * libs/gst/controller/lib.c:
4827           wrap config.h include
4829 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4831         * docs/gst/gstreamer-sections.txt:
4832           update docs
4834 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4836         * plugins/elements/gstelements.c:
4837         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4838         (gst_fd_sink__class_init), (gst_fd_sink__init),
4839         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4840         (gst_fd_sink__get_property):
4841         * plugins/elements/gstfdsink.h:
4842         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4843         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4844         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4845         (gst_fd_src_unlock), (gst_fd_src_set_property),
4846         (gst_fd_src_get_property), (gst_fd_src_create),
4847         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4848         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4849         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4850         (gst_fd_src_uri_handler_init):
4851         * plugins/elements/gstfdsrc.h:
4852         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4853           more anal cleanup
4855 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4857         * docs/gst/Makefile.am:
4858         * docs/gst/gstreamer.types.in:
4859         * gst/Makefile.am:
4860           fix the docs build
4862 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4864         * configure.ac:
4865         * gst/Makefile.am:
4866         * gst/gst.c:
4867         * gst/gstplugin.h:
4868         * gst/gstregistry.h:
4869         * tests/benchmarks/complexity.c:
4870         * tests/benchmarks/mass-elements.c:
4871         * tests/check/Makefile.am:
4872         * tools/Makefile.am:
4873         * tools/gst-inspect.c:
4874         * tools/gst-xmlinspect.c:
4875           various fixes to make
4876           --disable-nls --disable-registry --disable-loadsave
4877           --disable-parse --disable-gst-debug
4878           work and get the core .so down to 360444 bytes after stripping
4880 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4882         * Makefile.am:
4883         * configure.ac:
4884           descend into tests
4885         * docs/random/thomasvs/TODO:
4886         * tests/Makefile.am:
4887         * tests/README:
4888           add a README
4890 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4892         * win32/GStreamer.vcproj:
4893         * win32/MANIFEST:
4894         * win32/Makefile:
4895         * win32/Makefile.inspect:
4896         * win32/Makefile.launch:
4897         * win32/Makefile.register:
4898         * win32/README.txt:
4899         * win32/gst-inspect.vcproj:
4900         * win32/gst-launch.vcproj:
4901         * win32/gst-register.vcproj:
4902         * win32/gstelements.vcproj:
4903         * win32/gstgetbits.def:
4904         * win32/gstgetbits.vcproj:
4905         * win32/gstreamer-dbg.def:
4906         * win32/gstreamer.def:
4907         * win32/libgstbase.def:
4908         * win32/libgstbase.vcproj:
4909         * win32/link_oldruntime.c:
4910         * win32/mman.c:
4911         * win32/mman.h:
4912         * win32/mman.inl:
4913         * win32/msvc71.sln:
4914           move even more stuff, win32/ is nice and clean now
4916 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4918         * libs/gst/control/.cvsignore:
4919         * win32/MANIFEST:
4920         * win32/config.h:
4921         * win32/dirent.c:
4922         * win32/dirent.h:
4923         * win32/gstbytestream.def:
4924         * win32/gstbytestream.vcproj:
4925         * win32/gstconfig.h:
4926         * win32/gstenumtypes.c:
4927         * win32/gstenumtypes.h:
4928         * win32/gstoptimalscheduler.vcproj:
4929         * win32/gstversion.h:
4930         * win32/gtchar.h:
4931         * win32/testsuite/bins.vcproj:
4932         * win32/testsuite/bytestream.vcproj:
4933         * win32/testsuite/caps.vcproj:
4934         * win32/testsuite/cleanup.vcproj:
4935         * win32/testsuite/clock.vcproj:
4936         * win32/testsuite/debug.vcproj:
4937         * win32/testsuite/dlopen.vcproj:
4938         * win32/testsuite/dynparams.vcproj:
4939         * win32/testsuite/elements.vcproj:
4940         * win32/testsuite/ghostpads.vcproj:
4941         * win32/testsuite/indexers.vcproj:
4942         * win32/testsuite/negotiation.vcproj:
4943         * win32/testsuite/parse.vcproj:
4944         * win32/testsuite/plugin.vcproj:
4945         * win32/testsuite/refcounting.vcproj:
4946         * win32/testsuite/schedulers.vcproj:
4947         * win32/testsuite/states.vcproj:
4948         * win32/testsuite/tags.vcproj:
4949         * win32/testsuite/threads.vcproj:
4950           remove old win32 stuff that isn't maintained and should be
4951           reorganized
4953 2005-11-30  Andy Wingo  <wingo@pobox.com>
4955         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4956         loading the gst.interfaces python module bork.
4958         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4959         available since GLib 2.2. Fixes #318031.
4961 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4963         * Makefile.am:
4964         * check/.cvsignore:
4965         * check/Makefile.am:
4966         * check/elements/.cvsignore:
4967         * check/elements/fakesrc.c:
4968         * check/elements/fdsrc.c:
4969         * check/elements/identity.c:
4970         * check/generic/.cvsignore:
4971         * check/generic/states.c:
4972         * check/gst-libs/.cvsignore:
4973         * check/gst-libs/controller.c:
4974         * check/gst-libs/gdp.c:
4975         * check/gst/.cvsignore:
4976         * check/gst/capslist.h:
4977         * check/gst/gst.c:
4978         * check/gst/gstbin.c:
4979         * check/gst/gstbuffer.c:
4980         * check/gst/gstbus.c:
4981         * check/gst/gstcaps.c:
4982         * check/gst/gstelement.c:
4983         * check/gst/gstevent.c:
4984         * check/gst/gstghostpad.c:
4985         * check/gst/gstiterator.c:
4986         * check/gst/gstmessage.c:
4987         * check/gst/gstminiobject.c:
4988         * check/gst/gstobject.c:
4989         * check/gst/gstpad.c:
4990         * check/gst/gstpipeline.c:
4991         * check/gst/gstplugin.c:
4992         * check/gst/gstsegment.c:
4993         * check/gst/gststructure.c:
4994         * check/gst/gstsystemclock.c:
4995         * check/gst/gsttag.c:
4996         * check/gst/gstutils.c:
4997         * check/gst/gstvalue.c:
4998         * check/net/.cvsignore:
4999         * check/net/gstnetclientclock.c:
5000         * check/net/gstnettimeprovider.c:
5001         * check/pipelines/.cvsignore:
5002         * check/pipelines/cleanup.c:
5003         * check/pipelines/simple_launch_lines.c:
5004         * check/pipelines/stress.c:
5005         * check/states/.cvsignore:
5006         * check/states/sinks.c:
5007         * configure.ac:
5008         * examples/Makefile.am:
5009         * examples/appreader/.cvsignore:
5010         * examples/appreader/Makefile.am:
5011         * examples/appreader/appreader.c:
5012         * examples/controller/.cvsignore:
5013         * examples/controller/Makefile.am:
5014         * examples/controller/audio-example.c:
5015         * examples/cutter/.cvsignore:
5016         * examples/cutter/Makefile.am:
5017         * examples/cutter/cutter.c:
5018         * examples/cutter/cutter.h:
5019         * examples/events/Makefile.am:
5020         * examples/events/seek.c:
5021         * examples/helloworld/.cvsignore:
5022         * examples/helloworld/Makefile.am:
5023         * examples/helloworld/helloworld.c:
5024         * examples/helloworld2/.cvsignore:
5025         * examples/helloworld2/Makefile.am:
5026         * examples/helloworld2/helloworld2.c:
5027         * examples/launch/.cvsignore:
5028         * examples/launch/Makefile.am:
5029         * examples/launch/mp3parselaunch.c:
5030         * examples/launch/mp3play:
5031         * examples/manual/.cvsignore:
5032         * examples/manual/Makefile.am:
5033         * examples/manual/extract.pl:
5034         * examples/metadata/Makefile.am:
5035         * examples/metadata/read-metadata.c:
5036         * examples/mixer/.cvsignore:
5037         * examples/mixer/Makefile.am:
5038         * examples/mixer/mixer.c:
5039         * examples/mixer/mixer.h:
5040         * examples/pingpong/.cvsignore:
5041         * examples/pingpong/Makefile.am:
5042         * examples/pingpong/pingpong.c:
5043         * examples/plugins/.cvsignore:
5044         * examples/plugins/Makefile.am:
5045         * examples/plugins/example.c:
5046         * examples/plugins/example.h:
5047         * examples/pwg/.cvsignore:
5048         * examples/pwg/Makefile.am:
5049         * examples/pwg/extract.pl:
5050         * examples/queue/.cvsignore:
5051         * examples/queue/Makefile.am:
5052         * examples/queue/queue.c:
5053         * examples/queue2/.cvsignore:
5054         * examples/queue2/Makefile.am:
5055         * examples/queue2/queue2.c:
5056         * examples/queue3/.cvsignore:
5057         * examples/queue3/Makefile.am:
5058         * examples/queue3/queue3.c:
5059         * examples/queue4/.cvsignore:
5060         * examples/queue4/Makefile.am:
5061         * examples/queue4/queue4.c:
5062         * examples/retag/.cvsignore:
5063         * examples/retag/Makefile.am:
5064         * examples/retag/retag.c:
5065         * examples/retag/transcode.c:
5066         * examples/thread/.cvsignore:
5067         * examples/thread/Makefile.am:
5068         * examples/thread/thread.c:
5069         * examples/typefind/.cvsignore:
5070         * examples/typefind/Makefile.am:
5071         * examples/typefind/typefind.c:
5072         * examples/xml/.cvsignore:
5073         * examples/xml/Makefile.am:
5074         * examples/xml/createxml.c:
5075         * examples/xml/runxml.c:
5076         * tests/Makefile.am:
5077         * tests/check/Makefile.am:
5078         * testsuite/.cvsignore:
5079         * testsuite/Makefile.am:
5080         * testsuite/Rules:
5081         * testsuite/caps/.cvsignore:
5082         * testsuite/caps/Makefile.am:
5083         * testsuite/caps/app_fixate.c:
5084         * testsuite/caps/audioscale.c:
5085         * testsuite/caps/caps.c:
5086         * testsuite/caps/caps.h:
5087         * testsuite/caps/caps_strings:
5088         * testsuite/caps/compatibility.c:
5089         * testsuite/caps/deserialize.c:
5090         * testsuite/caps/enumcaps.c:
5091         * testsuite/caps/eratosthenes.c:
5092         * testsuite/caps/filtercaps.c:
5093         * testsuite/caps/fixed.c:
5094         * testsuite/caps/fraction-convert.c:
5095         * testsuite/caps/fraction-multiply-and-zero.c:
5096         * testsuite/caps/intersect2.c:
5097         * testsuite/caps/intersection.c:
5098         * testsuite/caps/normalisation.c:
5099         * testsuite/caps/random.c:
5100         * testsuite/caps/renegotiate.c:
5101         * testsuite/caps/sets.c:
5102         * testsuite/caps/simplify.c:
5103         * testsuite/caps/string-conversions.c:
5104         * testsuite/caps/structure.c:
5105         * testsuite/caps/subtract.c:
5106         * testsuite/caps/union.c:
5107         * testsuite/debug/.cvsignore:
5108         * testsuite/debug/Makefile.am:
5109         * testsuite/debug/category.c:
5110         * testsuite/debug/commandline.c:
5111         * testsuite/debug/global.c:
5112         * testsuite/debug/output.c:
5113         * testsuite/debug/printf_extension.c:
5114         * testsuite/dlopen/.cvsignore:
5115         * testsuite/dlopen/Makefile.am:
5116         * testsuite/dlopen/dlopen_gst.c:
5117         * testsuite/dlopen/loadgst.c:
5118         * testsuite/elements/.cvsignore:
5119         * testsuite/elements/Makefile.am:
5120         * testsuite/elements/gst-inspect-check.in:
5121         * testsuite/elements/struct_i386.h:
5122         * testsuite/elements/struct_size.c:
5123         * testsuite/indexers/.cvsignore:
5124         * testsuite/indexers/Makefile.am:
5125         * testsuite/indexers/cache1.c:
5126         * testsuite/indexers/indexdump.c:
5127         * testsuite/parse/.cvsignore:
5128         * testsuite/parse/Makefile.am:
5129         * testsuite/parse/parse1.c:
5130         * testsuite/parse/parse2.c:
5131         * testsuite/plugin/.cvsignore:
5132         * testsuite/plugin/Makefile.am:
5133         * testsuite/plugin/README:
5134         * testsuite/plugin/dynamic.c:
5135         * testsuite/plugin/linked.c:
5136         * testsuite/plugin/loading.c:
5137         * testsuite/plugin/registry.c:
5138         * testsuite/plugin/static.c:
5139         * testsuite/plugin/static2.c:
5140         * testsuite/plugin/testplugin.c:
5141         * testsuite/plugin/testplugin2.c:
5142         * testsuite/plugin/testplugin2_s.c:
5143         * testsuite/plugin/testplugin_s.c:
5144         * testsuite/refcounting/.cvsignore:
5145         * testsuite/refcounting/Makefile.am:
5146         * testsuite/refcounting/bin.c:
5147         * testsuite/refcounting/element.c:
5148         * testsuite/refcounting/element_pad.c:
5149         * testsuite/refcounting/mainloop.c:
5150         * testsuite/refcounting/mem.c:
5151         * testsuite/refcounting/mem.h:
5152         * testsuite/refcounting/object.c:
5153         * testsuite/refcounting/pad.c:
5154         * testsuite/refcounting/sched.c:
5155         * testsuite/refcounting/thread.c:
5156         * testsuite/states/.cvsignore:
5157         * testsuite/states/Makefile.am:
5158         * testsuite/states/bin.c:
5159         * testsuite/states/locked.c:
5160         * testsuite/states/parent.c:
5161         * testsuite/threads/.cvsignore:
5162         * testsuite/threads/159566.c:
5163         * testsuite/threads/159852.c:
5164         * testsuite/threads/Makefile.am:
5165         * testsuite/threads/queue.c:
5166         * testsuite/threads/signals.c:
5167         * testsuite/threads/staticrec.c:
5168         * testsuite/threads/thread.c:
5169         * testsuite/threads/threadb.c:
5170         * testsuite/threads/threadc.c:
5171         * testsuite/threads/threadd.c:
5172         * testsuite/threads/threade.c:
5173         * testsuite/threads/threadf.c:
5174         * testsuite/threads/threadg.c:
5175         * testsuite/threads/threadh.c:
5176         * testsuite/threads/threadi.c:
5177           move all of these under tests
5179 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5181         * configure.ac:
5182         * tests/Makefile.am:
5183           fix distcheck
5185 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5187         * docs/gst/gstreamer-sections.txt:
5188         * tests/sched/.cvsignore:
5189         * tests/sched/Makefile.am:
5190         * tests/sched/cases/(fs-fs).xml:
5191         * tests/sched/cases/(fs-i-fs).xml:
5192         * tests/sched/cases/(fs-i-i-fs).xml:
5193         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5194         * tests/sched/dynamic-pipeline.c:
5195         * tests/sched/interrupt1.c:
5196         * tests/sched/interrupt2.c:
5197         * tests/sched/interrupt3.c:
5198         * tests/sched/runtestcases:
5199         * tests/sched/runxml.c:
5200         * tests/sched/sched-stress.c:
5201         * tests/sched/sort.c:
5202         * tests/sched/testcases:
5203         * tests/sched/testcases1.tc:
5204         * tests/seeking/.cvsignore:
5205         * tests/seeking/Makefile.am:
5206         * tests/seeking/seeking1.c:
5207         * tests/threadstate/.cvsignore:
5208         * tests/threadstate/Makefile.am:
5209         * tests/threadstate/test1.c:
5210         * tests/threadstate/test2.c:
5211         * tests/threadstate/threadstate1.c:
5212         * tests/threadstate/threadstate2.c:
5213         * tests/threadstate/threadstate3.c:
5214         * tests/threadstate/threadstate4.c:
5215         * tests/threadstate/threadstate5.c:
5216           remove obsolete tests
5217         * configure.ac:
5218         * tests/bench-complexity.scm:
5219         * tests/bench-mass_elements.scm:
5220         * tests/complexity.c:
5221         * tests/complexity.gnuplot:
5222         * tests/instantiate/.cvsignore:
5223         * tests/instantiate/Makefile.am:
5224         * tests/instantiate/caps.c:
5225         * tests/mass_elements.c:
5226         * tests/network-clock-utils.scm:
5227         * tests/network-clock.scm:
5228         * tests/plot-data:
5229         First pass at cleaning up tests/ dir before moving the rest
5230         Combined with CVS surgery
5232 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5234         * po/POTFILES.in:
5235           queue has moved, update
5237 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5239         * docs/gst/gstreamer-sections.txt:
5240           remove double entries from the docs
5241         * gst/gst_private.h:
5242         * gst/gstinfo.c: (_gst_debug_init):
5243           remove the THREAD debug category
5244         * gst/Makefile.am:
5245         * gst/gstqueue.c:
5246         * gst/gstqueue.h:
5247         * docs/gst/gstreamer.types:
5248         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5249         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5250           completely move queue and fix up debugging categories
5252 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5254         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5255           make initialization portable, using LL is not
5257 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5259         * win32/common/gstconfig.h:
5260           add large padding
5262 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5264         * win32/common/libgstreamer.def:
5265           rename symbols; sort base section
5267 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5269         * gst/gstclock.c: (do_linear_regression):
5270           remove crack non-portable handrolled DEBUG macro
5272 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5274         * docs/random/release:
5275           update notes
5276         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5277         (gst_object_flags_get_type), (register_gst_bin_flags),
5278         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5279         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5280         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5281         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5282         (gst_caps_flags_get_type), (register_gst_clock_return),
5283         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5284         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5285         (gst_clock_flags_get_type), (register_gst_state),
5286         (gst_state_get_type), (register_gst_state_change_return),
5287         (gst_state_change_return_get_type), (register_gst_state_change),
5288         (gst_state_change_get_type), (register_gst_element_flags),
5289         (gst_element_flags_get_type), (register_gst_core_error),
5290         (gst_core_error_get_type), (register_gst_library_error),
5291         (gst_library_error_get_type), (register_gst_resource_error),
5292         (gst_resource_error_get_type), (register_gst_stream_error),
5293         (gst_stream_error_get_type), (register_gst_event_type_flags),
5294         (gst_event_type_flags_get_type), (register_gst_event_type),
5295         (gst_event_type_get_type), (register_gst_seek_type),
5296         (gst_seek_type_get_type), (register_gst_seek_flags),
5297         (gst_seek_flags_get_type), (register_gst_format),
5298         (gst_format_get_type), (register_gst_index_certainty),
5299         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5300         (gst_index_entry_type_get_type),
5301         (register_gst_index_lookup_method),
5302         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5303         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5304         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5305         (gst_index_flags_get_type), (register_gst_debug_level),
5306         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5307         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5308         (gst_iterator_result_get_type), (register_gst_iterator_item),
5309         (gst_iterator_item_get_type), (register_gst_message_type),
5310         (gst_message_type_get_type), (register_gst_mini_object_flags),
5311         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5312         (gst_pad_link_return_get_type), (register_gst_flow_return),
5313         (gst_flow_return_get_type), (register_gst_activate_mode),
5314         (gst_activate_mode_get_type), (register_gst_pad_direction),
5315         (gst_pad_direction_get_type), (register_gst_pad_flags),
5316         (gst_pad_flags_get_type), (register_gst_pad_presence),
5317         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5318         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5319         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5320         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5321         (gst_plugin_flags_get_type), (register_gst_rank),
5322         (gst_rank_get_type), (register_gst_query_type),
5323         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5324         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5325         (gst_tag_flag_get_type), (register_gst_task_state),
5326         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5327         (gst_alloc_trace_flags_get_type),
5328         (register_gst_type_find_probability),
5329         (gst_type_find_probability_get_type), (register_gst_uri_type),
5330         (gst_uri_type_get_type), (register_gst_parse_error),
5331         (gst_parse_error_get_type):
5332         * win32/common/gstenumtypes.h:
5333         * win32/common/gstversion.h:
5334           update visual studio generated files
5336 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5338         * win32/vs6/libgstbase.dsp:
5339         * win32/vs6/libgstelements.dsp:
5340           update project files for new locations
5342 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5344         * Makefile.am:
5345           remove some files
5346         * README:
5347           reinstate and update
5348         * DEVEL:
5349         * REQUIREMENTS:
5350           removed
5351         * LICENSE:
5352         * docs/random/LICENSE:
5353           moved to random
5355 2005-11-30  Edward Hervey  <edward@fluendo.com>
5357         * gst/gsttypefind.c: (gst_type_find_register):
5358         * gst/gsttypefind.h:
5359         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5360         (gst_type_find_factory_dispose):
5361         * gst/gsttypefindfactory.h:
5362         Fix memory leak in GstTypeFindFactory.
5364 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5366         * gst/gst.c:
5367         * plugins/elements/Makefile.am:
5368         * plugins/elements/gstelements.c:
5369         * plugins/elements/gstqueue.c:
5370           move queue from core to the elements plugin
5372 2005-11-29  Andy Wingo  <wingo@pobox.com>
5374         * libs/gst/base/gstbasetransform.h: 
5375         * libs/gst/base/gstbasesrc.h: 
5376         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5378         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5379         of pointers by which to pad very extensible base classes (like the
5380         ones in libs/gst/base).
5382 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5384         * docs/gst/gstreamer-docs.sgml:
5385         * docs/gst/gstreamer-sections.txt:
5386         * docs/libs/gstreamer-libs-docs.sgml:
5387         * docs/libs/gstreamer-libs-sections.txt:
5388           moving documentation from core to lib
5390 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5392         * check/Makefile.am:
5393         * configure.ac:
5394         * docs/gst/Makefile.am:
5395         * gst/Makefile.am:
5396         * gst/base/.cvsignore:
5397         * gst/base/Makefile.am:
5398         * gst/base/README:
5399         * gst/base/gstadapter.c:
5400         * gst/base/gstadapter.h:
5401         * gst/base/gstbasesink.c:
5402         * gst/base/gstbasesink.h:
5403         * gst/base/gstbasesrc.c:
5404         * gst/base/gstbasesrc.h:
5405         * gst/base/gstbasetransform.c:
5406         * gst/base/gstbasetransform.h:
5407         * gst/base/gstcollectpads.c:
5408         * gst/base/gstcollectpads.h:
5409         * gst/base/gstpushsrc.c:
5410         * gst/base/gstpushsrc.h:
5411         * gst/base/gsttypefindhelper.c:
5412         * gst/base/gsttypefindhelper.h:
5413         * gst/check/Makefile.am:
5414         * gst/check/gstcheck.c:
5415         * gst/check/gstcheck.h:
5416         * gst/net/Makefile.am:
5417         * gst/net/gstnet.h:
5418         * gst/net/gstnetclientclock.c:
5419         * gst/net/gstnetclientclock.h:
5420         * gst/net/gstnettimepacket.c:
5421         * gst/net/gstnettimepacket.h:
5422         * gst/net/gstnettimeprovider.c:
5423         * gst/net/gstnettimeprovider.h:
5424         * libs/gst/Makefile.am:
5425         * libs/gst/base/Makefile.am:
5426         * libs/gst/base/gstbasetransform.c:
5427         * libs/gst/check/Makefile.am:
5428         * plugins/elements/Makefile.am:
5429         * po/POTFILES.in:
5430           CVS surgery + support to move base, check, and net out of gst
5431           and into libs/gst
5433 2005-11-29  Andy Wingo  <wingo@pobox.com>
5435         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5437         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5438         padding.
5440         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5442         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5444         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5446         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5447         padding; reduces object size by about 30%. We don't expect
5448         anything else to go into gstobject.
5450         * gst/gstminiobject.h (struct _GstMiniObject)
5451         (struct _GstMiniObjectClass): Only one pointer of padding; the
5452         payload is only a pointer and two ints anyway. For the class there
5453         are only two methods as well.
5454         
5455         * gst/gstelement.h (struct _GstElementClass): Removed
5456         the state_changed signal callback, it is not used.
5458 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5460         * docs/gst/gstreamer.types:
5461           fix includes, though they are a little dinky
5463 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5465         * check/Makefile.am:
5466           look in the right place for elements, a lot more chance of
5467           success
5468         * gst/Makefile.am:
5469           remove indexers and elements subdirs
5470         * plugins/Makefile.am:
5471           make indexers conditional
5473 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5475         * Makefile.am:
5476         * configure.ac:
5477         * plugins/elements/Makefile.am:
5478         * plugins/elements/gstcapsfilter.c:
5479         * plugins/elements/gstfilesink.c:
5480         * plugins/elements/gstfilesrc.c:
5481         * plugins/elements/gstidentity.c:
5482         * plugins/indexers/Makefile.am:
5483           do CVS surgery and related build fixery to move elements
5484           and indexers in a new gstreamer/plugins directory, out of the
5485           gst/ directory
5487 2005-11-29  Andy Wingo  <wingo@pobox.com>
5489         * check/Makefile.am:
5490         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5491         * pkgconfig/gstreamer-net.pc.in:
5492         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5493         #322257.
5495 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5497         * tools/Makefile.am:
5498         * tools/gst-complete.1.in:
5499         * tools/gst-complete.c:
5500         * tools/gst-compprep.1.in:
5501         * tools/gst-compprep.c:
5502           removing -compprep and -complete
5504 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5506         * gst/gstevent.c: (gst_event_new_new_segment),
5507         (gst_event_parse_new_segment):
5508         * gst/gstevent.h:
5509           fix #320529 - clean up new_segment API and structure.
5510           Let's hope everyone was using the methods, and not the structure.
5512 2005-11-29  Edward Hervey  <edward@fluendo.com>
5514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5515         (gst_base_sink_event), (gst_base_sink_do_sync),
5516         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5517         Properly handle non GST_FORMAT_TIME segment
5518         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5519         Properly handle non GST_FORMAT_TIME segment
5520         * gst/gstsegment.c:
5521         This function is valid if the accumulator is 0 and the format
5522         is different from the requested format.
5523         
5524 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5526         * docs/gst/gstreamer-sections.txt:
5527         Add gst_query_new_seeking and gst_query_parse_seeking to the
5528         docs.
5530 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5532         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5533           Treat a pad alloc with new caps the same as if we were not
5534           negotiated, in order to allow a changing upstream output
5535           to produce a new format of data.
5537 2005-11-29  Edward Hervey  <edward@fluendo.com>
5539         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5540         (gst_base_transform_event), (gst_base_transform_eventfunc):
5541         The event virtual method is now properly implemented, with a default
5542         handler
5543         Sub classes should call the parent_class event method. They should
5544         return FALSE if they had a problem handling the given event, or don't
5545         want GstBaseTransform to send that even downstream
5546         * gst/elements/gstidentity.c: (gst_identity_class_init),
5547         (gst_identity_init), (gst_identity_event),
5548         (gst_identity_transform_ip), (gst_identity_set_property),
5549         (gst_identity_get_property):
5550         * gst/elements/gstidentity.h:
5551         Added the single-segment boolean property.
5552         If set to TRUE, it will output a single segment of data, starting from
5553         0, will eat up all incoming newsegment, and modify the timestamp of the
5554         buffers accordingly
5556 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5558         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5559           Don't ref NULL target pad (#322751). Improve docs.
5561 2005-11-29  Michael Smith  <msmith@fluendo.com>
5563         * gst/gstregistryxml.c: (load_plugin):
5564           Don't crash if we failed to load a feature from a plugin. 
5566 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5568         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5569         (GST_START_TEST):
5570           use more check API and less GLib API
5572 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5574         * Makefile.am:
5575           don't run checks if we don't have check
5576         * common/check.mak:
5577           remove the registry when running make torture
5578         * docs/gst/gstreamer-sections.txt:
5579           remove second multiply
5580         * gst/gstqueue.c: (gst_queue_loop):
5581           fix a compile warning when disabling debug
5583 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5585         * gst/gstinfo.h:
5586         Hey! Let's print the pad name if the pointer != NULL instead
5587         of when it == NULL :-)
5589 2005-11-28  Wim Taymans  <wim@fluendo.com>
5591         * check/gst/gstutils.c: (GST_START_TEST):
5592         Updated check, add some scaling accuracy checking code.
5594         * gst/gstutils.c: (gst_util_div128_64),
5595         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5596         (gst_util_uint64_scale_int):
5597         Fix 6 times faster division code. Optimize for common 
5598         1/1 and less common X/1 cases.
5600 2005-11-28  Wim Taymans  <wim@fluendo.com>
5602         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5603         More checks.
5605         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5606         (do_linear_regression), (gst_clock_add_observation):
5607         Cleanups.
5608         Release lock when the clock cannot be slaved.
5609         Catch the case where the regression returned an invalid denominator.
5611         * gst/gstutils.c: (gst_util_div128_64_iterate),
5612         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5613         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5614         Add protentially more performant non-iterative 128/64 divide function
5615         that unfortunatly does not work yet.
5616         Shortcut the trivial 0/X = 0 case.
5617         Remove the warnings on overflow.
5619 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5621         * gst/gstplugin.c: (gst_plugin_register_func):
5622           everything causing a plugin not to load should be at least a WARNING
5624 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5626         * docs/random/ensonic/dparams.txt:
5627           some TODOs for the next dev cycle
5628         * libs/gst/controller/gstcontroller.c:
5629         (gst_controlled_property_set_interpolation_mode),
5630         (gst_controlled_property_new):
5631         * libs/gst/controller/gstcontroller.h:
5632           use base type to assign acccessor functions
5634 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5636         * check/Makefile.am:
5637         Oops, that should have been top_srcdir
5639 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5641         * check/Makefile.am:
5642         * check/elements/fdsrc.c: (GST_START_TEST):
5643         Use a cmdline define to specify the location of a file to use for
5644         testing, to avoid breaking distcheck.
5646 2005-11-28  Andy Wingo  <wingo@pobox.com>
5648         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5650 2005-11-28  Edward Hervey  <edward@fluendo.com>
5652         * tools/gst-launch.c: (main):
5653         Clarify the output strings, makes it easier to translate.
5654         Fixes #322626
5656 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5658         * gst/Makefile.am:
5659           don't try and build net if we don't even have <sys/socket.h>
5661 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5663         * check/Makefile.am:
5664         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5665         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5666           Add tests for fdsrc seekability
5668         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5669         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5670         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5671         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5672         * gst/elements/gstfdsrc.h:
5673           fdsrc should not be a 'live' source.
5674           Implement seeking on seekable fd's.
5676         * gst/gstquery.c: (gst_query_new_seeking),
5677         (gst_query_parse_seeking):
5678         * gst/gstquery.h:
5679           Implement SEEKING query functions: 
5680             *_new_seeking and *_parse_seeking
5682 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5684         * gst/gstelement.c: (gst_element_dispose):
5685           don't loop forever
5687         * gst/gstiterator.c:
5688         * gst/gststructure.c:
5689           doc fixes
5691         * libs/gst/controller/gstcontroller.c:
5692         (gst_controlled_property_set_interpolation_mode):
5693         * libs/gst/controller/gstcontroller.h:
5694         * libs/gst/controller/gstinterpolation.c:
5695         (interpolate_none_get_enum_value_array):
5696           support controlling enums
5698 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5700         * gst/gstvalue.c:
5701           Improve documentation for gst_value_union().
5703         * gst/gstvalue.h:
5704           Change return value for union, intersect and subtract functions
5705           from gint to gboolean.
5707 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5709         * gst/gstvalue.c: (gst_value_serialize_any_list),
5710         (gst_value_transform_any_list_string),
5711         (gst_value_deserialize_list), (gst_value_deserialize_array),
5712         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5713         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5714         (gst_value_set_fraction_range_full),
5715         (gst_value_deserialize_fraction_range),
5716         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5717         (gst_value_deserialize_boolean),
5718         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5719         (gst_value_serialize_float), (gst_value_deserialize_float),
5720         (gst_string_wrap), (gst_value_deserialize_string),
5721         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5722         (gst_value_union_int_range_int_range),
5723         (gst_value_intersect_int_range_int_range),
5724         (gst_value_intersect_double_range_double_range),
5725         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5726         (gst_value_subtract_int_range_int_range),
5727         (gst_value_subtract_double_double_range),
5728         (gst_value_subtract_double_range_double_range),
5729         (gst_value_deserialize_fraction):
5730         * gst/gstvalue.h:
5731           Use gint, gdouble and gchar in our API instead of int, double and
5732           char (and make usage in gstvalue.c more consistent).
5734 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5736         * check/Makefile.am:
5737         * libs/gst/controller/Makefile.am:
5738         * libs/gst/dataprotocol/Makefile.am:
5739           fix up Makefile.am and remove GST_ENABLE_NEW
5741 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5743         * configure.ac:
5744         * gst/Makefile.am:
5745         * gst/base/Makefile.am:
5746         * gst/check/Makefile.am:
5747         * gst/elements/Makefile.am:
5748         * gst/net/Makefile.am:
5749           update LDFLAGS use some more
5751 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5753         * common/m4/gst-doc.m4:
5754           Fixes #312589
5756 2005-11-26  Edward Hervey  <edward@fluendo.com>
5758         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5759         This shouldn't issue a g_warning since it returns NULL if it
5760         couldn't find the plugin, and all functions using this behave
5761         properly on a NULL return. Switching to a GST_WARNING.
5763 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5765         * gst/gstbin.c: (gst_bin_handle_message_func):
5766         Don't leak clock messages.
5768 2005-11-25  Wim Taymans  <wim@fluendo.com>
5770         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5771         (gst_util_uint64_scale_int):
5772         Optimisations, remove unneeded vars.
5774 2005-11-25  Wim Taymans  <wim@fluendo.com>
5776         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5777         Added more checks for the high precision uint64 cases.
5779         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5780         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5781         Implement high precision (guint64 * guint64) / guint64.
5783 2005-11-24  Wim Taymans  <wim@fluendo.com>
5785         * gst/base/gstbasesrc.c: (gst_base_src_query):
5786         Fix wrong percentage query.
5788         * gst/gstutils.c: (gst_util_uint64_scale),
5789         (gst_util_uint64_scale_int):
5790         Add some more common cases that can be handled 
5791         efficiently to _scale.
5793 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5795         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5796         (gst_mini_object_suite):
5797           don't use check calls from threads; check probably isn't
5798           threadsafe and using a lock to make it threadsafe would
5799           defeat the purpose of this check
5800         * gst/check/gstcheck.c:
5801         * gst/check/gstcheck.h:
5802           use GST_DEBUG some more
5804 2005-11-24  Wim Taymans  <wim@fluendo.com>
5806         * gst/gstutils.c: (gst_util_uint64_scale),
5807         (gst_util_uint64_scale_int):
5808         Chain trivial case to _scale_int.
5810 2005-11-24  Wim Taymans  <wim@fluendo.com>
5812         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5813         Added test for scaling.
5815         * gst/gstclock.h:
5816         Small doc fix.
5818         * gst/gstutils.c: (gst_util_uint64_scale_int):
5819         Implemented high precision scaling code.
5821 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5823         * gst/gstinfo.h:
5824           do not crash on pad==NULL
5826 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5828         Patch by: Stefan Kost
5830         * common/gtk-doc.mak:
5831         * docs/gst/Makefile.am:
5832         * docs/libs/Makefile.am:
5833           Fix distcheck issues for the libraries docs build
5834           Closes #319599.
5836 2005-11-24  Michael Smith <msmith@fluendo.com>
5838         * docs/manual/basics-helloworld.xml:
5839           Fix bug #315027: memory leak in example code in docs.
5841 2005-11-24  Michael Smith <msmith@fluendo.com>
5843         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5844           Unlock the PREROLL_LOCK in a failure case.
5846 2005-11-24  Wim Taymans  <wim@fluendo.com>
5848         * docs/gst/gstreamer-sections.txt:
5849         * gst/base/gstadapter.h:
5850         * gst/base/gstbasesink.h:
5851         * gst/base/gstbasesrc.h:
5852         * gst/base/gstbasetransform.h:
5853         * gst/base/gstpushsrc.h:
5854         * gst/elements/gstfakesink.h:
5855         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5856         * gst/elements/gstfakesrc.h:
5857         * gst/elements/gstfilesink.h:
5858         * gst/elements/gstfilesrc.h:
5859         * gst/gst.c:
5860         * gst/gstbin.c:
5861         * gst/gstbuffer.c: (_gst_buffer_copy):
5862         * gst/gstbus.h:
5863         * gst/gstcaps.c:
5864         * gst/gstchildproxy.c:
5865         * gst/gstclock.c:
5866         * gst/gstelement.c:
5867         * gst/gstelementfactory.c:
5868         * gst/gstelementfactory.h:
5869         * gst/gstevent.c:
5870         * gst/gstghostpad.h:
5871         * gst/gstindex.h:
5872         * gst/gstinterface.h:
5873         * gst/gstminiobject.c:
5874         * gst/gstminiobject.h:
5875         * gst/gstpad.c:
5876         * gst/gstpad.h:
5877         * gst/gstpadtemplate.h:
5878         * gst/gstpipeline.h:
5879         * gst/gstpluginfeature.h:
5880         * gst/gstquery.h:
5881         * gst/gstqueue.h:
5882         * gst/gsttaglist.c:
5883         * gst/gsttaglist.h:
5884         * gst/gsttagsetter.c:
5885         * gst/gsttagsetter.h:
5886         * gst/gsttrace.c:
5887         * gst/gsttrace.h:
5888         * gst/gsttypefind.h:
5889         * gst/gsturi.h:
5890         * gst/gstvalue.c:
5891         * gst/net/gstnetclientclock.c:
5892         * gst/net/gstnetclientclock.h:
5893         * gst/net/gstnettimepacket.c:
5894         * gst/net/gstnettimeprovider.c:
5895         * gst/net/gstnettimeprovider.h:
5896         Doc fixes.
5898 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5900         * configure.ac: back to HEAD
5902 === release 0.9.6 ===
5904 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5906         * configure.ac:
5907           releasing 0.9.6, "Always On Time"
5909 2005-11-23  Wim Taymans  <wim@fluendo.com>
5911         * docs/gst/gstreamer-sections.txt:
5912         * gst/glib-compat.c:
5913         * gst/gsttagsetter.c:
5914         * gst/gstvalue.c:
5915         * gst/net/gstnetclientclock.c:
5916         * gst/net/gstnettimepacket.h:
5917         Doc updates.
5919 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5921         * docs/faq/using.xml:
5922         * docs/libs/tmpl/gstcontrol.sgml:
5923         * docs/manual/advanced-dparams.xml:
5924         * docs/manual/appendix-checklist.xml:
5925         * docs/manual/basics-elements.xml:
5926         * docs/pwg/other-source.xml:
5927         * docs/random/moving-plugins:
5928         * gst/gstpad.c:
5929         * tools/gst-launch.1.in:
5930           remove mentions of sinesrc
5932 2005-11-23  Michael Smith <msmith@fluendo.com>
5934         * docs/gst/gstreamer-sections.txt:
5935           Update for new API and API changes.
5936         * gst/gstobject.h:
5937           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5938         * gst/gstvalue.c:
5939           Documentation typo fix.
5940         * gst/net/gstnettimepacket.c:
5941           Documentation fixes for arguments.
5943 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5945         * gst/gststructure.c: (gst_structure_get_fraction),
5946         (gst_structure_parse_value),
5947         (gst_structure_fixate_field_nearest_fraction):
5948         * gst/gststructure.h:
5949         * gst/gstutils.c: (gst_util_uint64_scale_int):
5950         * gst/gstutils.h:
5951         * scripts/update-funcnames:
5952         API Changes. 
5953         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5954         Make gst_structure_fixate_field_nearest_fraction take a numerator
5955         and denominator argument instead of a GValue
5956         add gst_structure_get_fraction helper function.
5958 2005-11-23  Wim Taymans  <wim@fluendo.com>
5960         * docs/design/part-TODO.txt:
5961         Update TODO.
5963         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5964         * gst/net/gstnetclientclock.h:
5965         Use parent fields for timeout and window_size.
5967 2005-11-23  Andy Wingo  <wingo@pobox.com>
5969         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5970         rate_num/rate_denom change.
5972         * gst/net/gstnetclientclock.c
5973         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5974         OBJECT_LOCK. Don't call add_observation with the lock.
5976         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5977         fraction.
5978         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5979         rate fraction.
5980         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5981         deal with rate as a fraction whose numerator and denominator are
5982         GstClockTime values.
5983         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5984         master; the other fields are protected by the SLAVE_LOCK.
5985         (do_linear_regression): Note that this must be called with the
5986         SLAVE_LOCK.
5987         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5988         OBJECT_LOCK. Call set_calibration instead of touching the
5989         variables directly.
5990         (gst_clock_set_property, gst_clock_get_property): Protect
5991         master/slave parameters with the SLAVE_LOCK.
5993         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5994         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5995         note that all of the instance variables that add_observation and
5996         the set_master functions use are protected by that lock and not
5997         the OBJECT_LOCK.
5998         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6000         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6001         the caller to take the object lock.
6003 2005-11-23  Wim Taymans  <wim@fluendo.com>
6005         * gst/gsterror.c: (_gst_core_errors_init):
6006         * gst/gsterror.h:
6007         Add error for clock stuff.
6009         * gst/gstpipeline.c: (gst_pipeline_change_state),
6010         (gst_pipeline_set_clock):
6011         Post clock error when clock cannot be used in a pipeline.
6013 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6015         * docs/gst/gstreamer-sections.txt:
6016           make two symbols from gstinfo private for the docs
6017         * gst/base/gstcollectpads.h:
6018         * gst/gstutils.c:
6019           fix doc typos, update docs
6021 2005-11-22  Wim Taymans  <wim@fluendo.com>
6023         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6024         (gst_base_sink_wait), (gst_base_sink_do_sync),
6025         (gst_base_sink_handle_event):
6026         * gst/base/gstbasesink.h:
6027         No need to store the clock, the parent element class already
6028         has it.
6030         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6031         Updates for clock_set returning a gboolean
6033         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6034         (gst_clock_id_wait_async), (gst_clock_class_init),
6035         (gst_clock_init), (gst_clock_finalize),
6036         (gst_clock_get_internal_time), (gst_clock_get_time),
6037         (gst_clock_slave_callback), (gst_clock_set_master),
6038         (gst_clock_get_master), (do_linear_regression),
6039         (gst_clock_add_observation), (gst_clock_set_property),
6040         (gst_clock_get_property):
6041         * gst/gstclock.h:
6042         Implement master/slave. When setting a clock as a slave, a
6043         periodic timeout is scheduled to sample master and slave times.
6044         Then the slave clock is recalibrated to match offset and rate
6045         of the master clock.
6046         Update logging a bit.
6047         Add flag so that a clock can state that is cannot be slaved to
6048         another clock.
6050         * gst/gstelement.c: (gst_element_set_clock):
6051         * gst/gstelement.h:
6052         The set clock returns a gboolean for when an element cannot
6053         deal with the selected clock in the pipeline. 
6055         * gst/gstpipeline.c: (gst_pipeline_change_state),
6056         (gst_pipeline_set_clock):
6057         * gst/gstpipeline.h:
6058         Handle the case where the selected clock cannot be set on
6059         the pipeline.
6061         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6062         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6063         (gst_net_client_clock_set_property),
6064         (gst_net_client_clock_get_property),
6065         (gst_net_client_clock_observe_times):
6066         * gst/net/gstnetclientclock.h:
6067         Use regression code in GstClock parent, remove duplicated
6068         functionality.
6070 2005-11-22  Michael Smith <msmith@fluendo.com>
6072         * gst/gstutils.c: (gst_util_clock_time_scale):
6073         * gst/gstutils.h:
6074         * docs/gst/gstreamer-sections.txt:
6075           Rename method to have extra underscore.
6077 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6079         * gst/elements/Makefile.am:
6080         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6081         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6082         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6083         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6084         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6085         * gst/elements/gstfakesrc.h:
6086         * gst/gstqueue.c: (queue_leaky_get_type):
6087           correctly fix GEnumValues so that nick is the short lowercase
6088           dashed tag
6089         * tools/gst-inspect.c: (print_element_properties_info):
6090           also show the nick, since it's useful to use from parse_launch
6091           syntax
6092           Fixes #322139
6094 2005-11-22  Michael Smith <msmith@fluendo.com>
6096         * gst/gstutils.c: (gst_util_clocktime_scale):
6097         * gst/gstutils.h:
6098         * docs/gst/gstreamer-sections.txt:
6099           Add util method for scaling a clocktime by a fraction. Useful 
6100           implementation is left as an exercise for the reader.
6102 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6104         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6105         If needed, allocate storage in the destination value during
6106         collection.
6108 2005-11-22  Edward Hervey  <edward@fluendo.com>
6110         * docs/gst/gstreamer-sections.txt:
6111         * gst/Makefile.am:
6112         * gst/gst.h:
6113         * gst/gsturitype.c:
6114         * gst/gsturitype.h:
6115         * gst/gstutils.c: (gst_util_set_object_arg):
6116         * tools/gst-compprep.c: (main):
6117         * tools/gst-inspect.c: (print_element_properties_info):
6118         Removed GstURI, closes bug #321061
6120 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6122         * check/gst/gststructure.c: (GST_START_TEST):
6123         * gst/gststructure.c: (gst_structure_parse_value):
6124           Oops, broke automatic string type parsing.
6125           Add a test to catch it in future.
6127 2005-11-22  Andy Wingo  <wingo@pobox.com>
6129         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6130         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6131         Actually rename the function implementations. Grr.
6133 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6135         * check/gst/capslist.h:
6136           Comment test cases
6137         * check/gst/gststructure.c: (GST_START_TEST),
6138         (gst_structure_suite):
6139           Test automatic value type detection in gst_structure_from_string.
6140         * gst/gststructure.c: (gst_structure_parse_value):
6141           Add fraction as a type we try and guess automatically in
6142           caps/structure strings.
6144 2005-11-22  Andy Wingo  <wingo@pobox.com>
6146         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6148         * gst/gsttagsetter.h:
6149         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6150         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6151         (gst_tag_setter_add_tag_valist)
6152         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6153         _add_values, _add_valist, and _add_valist_values. Since this is an
6154         interface the function suffixes should be more explicit so
6155         language binding don't end up with element.add_valist ->
6156         gst_tag_setter_add_valist, for example. Fixes #322069.
6158 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6160         * check/gst/gstcaps.c: (GST_START_TEST):
6161           Extend caps string tests to check that a caps to string
6162           conversion is reversible and produces the same caps.
6164         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6165           Output "fraction" as the generic type fraction range, so caps
6166           serialisation and deserialisation works.
6167         * check/gst/capslist.h:
6168         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6169           Support 'MIN' and 'MAX' for deserialising fractions.
6171 2005-11-22  Andy Wingo  <wingo@pobox.com>
6173         * gst/gstevent.h (gst_event_new_new_segment)
6174         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6175         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6176         Renamed from *_newsegment, *_buffersize, *_notarget.
6178         * scripts/update-funcnames: New script, performs the changes
6179         listed above.
6181 2005-11-22  Wim Taymans  <wim@fluendo.com>
6183         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6184         Make sure the GstFlowReturn is returned.
6186         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6187         (gst_bus_add_signal_watch):
6188         * gst/gstbus.h:
6189         add gst_bus_add_signal_watch_full.
6191         * gst/gstplugin.c: (gst_plugin_load_file):
6192         Small style cleanup.
6194 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6196         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6197           Block the fakesrc srcpad when we send an event, to avoid
6198           contention on the stream_lock causing random test failures.
6200 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6202         * check/gst/gstvalue.c: (GST_START_TEST):
6203         * gst/gstvalue.c: (gst_value_fraction_subtract):
6204           Fix subtraction.
6206 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6208         * gst/gst.h:
6209           include "gstchildproxy.h"
6210         * gst/gstchildproxy.h:
6211         * libs/gst/controller/gstcontroller.h:
6212           use G_GNUC_NULL_TERMINATED
6214 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6216         * check/gst/capslist.h:
6217         * check/gst/gstcaps.c: (GST_START_TEST):
6218         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6219         * gst/gststructure.c: (gst_structure_parse_range),
6220         (gst_structure_fixate_field_nearest_fraction):
6221         * gst/gststructure.h:
6222         * gst/gstvalue.c: (gst_value_init_fraction_range),
6223         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6224         (gst_value_collect_fraction_range),
6225         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6226         (gst_value_set_fraction_range_full),
6227         (gst_value_get_fraction_range_min),
6228         (gst_value_get_fraction_range_max),
6229         (gst_value_serialize_fraction_range),
6230         (gst_value_transform_fraction_range_string),
6231         (gst_value_compare_fraction_range),
6232         (gst_value_deserialize_fraction_range),
6233         (gst_value_intersect_fraction_fraction_range),
6234         (gst_value_intersect_fraction_range_fraction_range),
6235         (gst_value_subtract_fraction_fraction_range),
6236         (gst_value_subtract_fraction_range_fraction),
6237         (gst_value_subtract_fraction_range_fraction_range),
6238         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6239         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6240         (gst_value_transform_string_fraction), (_gst_value_initialize):
6241         * gst/gstvalue.h:
6242           Implement fraction ranges and extend GstFraction to support
6243           arithmetic subtraction, as well as deserialization from integer
6244           strings such as "100"
6245           Add a testsuite as for int and double range set operations
6247 2005-11-21  Andy Wingo  <wingo@pobox.com>
6249         * gst/gsttaglist.h: 
6250         * gst/gstcaps.h: 
6251         * gst/gststructure.h: Add glib-compat.h.
6253 2005-11-21  Wim Taymans  <wim@fluendo.com>
6255         * gst/gstbin.c: (gst_bin_change_state_func):
6256         Fix for #321595
6258 2005-11-21  Wim Taymans  <wim@fluendo.com>
6260         * gst/gstsegment.h:
6261         And add a nice define too.
6263 2005-11-21  Wim Taymans  <wim@fluendo.com>
6265         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6266         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6267         (gst_segment_set_duration), (gst_segment_set_last_stop),
6268         (gst_segment_set_seek), (gst_segment_set_newsegment),
6269         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6270         (gst_segment_clip):
6271         * gst/gstsegment.h:
6272         Make binding friendly.
6274 2005-11-21  Andy Wingo  <wingo@pobox.com>
6276         * gst/gsttagsetter.h: 
6277         * gst/gsttaglist.h: 
6278         * gst/gststructure.h: 
6279         * gst/gstcaps.h: 
6280         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6281         #319940.
6283         * gst/gsterror.c (_gst_core_errors_init):
6284         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6285         category.
6287         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6288         (noinst_HEADERS): noinst the -private.
6290 2005-11-21  Michael Smith <msmith@fluendo.com>
6292         * gst/gstplugin.h:
6293         * gst/gstregistry.h:
6294           Remove unimplemented declarations for which we can see no sensible
6295           use.
6297 2005-11-21  Andy Wingo  <wingo@pobox.com>
6299         * gst/gst.h: Include glib-compat.h.
6301         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6303         * gst/glib-compat.c: Include the public and the private header.
6305         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6307         * gst/gstvalue.c: 
6308         * gst/gstpad.c: 
6309         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6311         * check/gst/gstevent.c (create_custom_events): Check that
6312         FLUSH_STOP is serialized.
6314         * check/elements/identity.c (event_func): 
6315         * check/elements/fakesrc.c (event_func): No stream lock, the core
6316         takes it.
6318         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6319         stream lock taking, yay.
6321         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6322         ensure that core takes the stream lock.
6324         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6325         lock name change.
6327         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6328         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6329         it already. For the flush start we do take it though so we get the
6330         right preroll state change messages.
6332         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6333         the stream lock here, the core does it for us.
6335         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6336         GST_STREAM_GET_LOCK.
6337         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6338         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6339         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6340         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6341         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6342         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6344         * gst/gstpad.c: Update for stream lock name change.
6346         * gst/base/gstbasesink.c: Update for preroll lock name change.
6348 2005-11-21  Wim Taymans  <wim@fluendo.com>
6350         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6351         (gst_clock_get_master):
6352         * gst/gstclock.h:
6353         * gst/gstsystemclock.c: (gst_system_clock_init):
6354         Convert Clock flags to object flags.
6355         Added methods to manage master/slave clocks.
6357 2005-11-21  Wim Taymans  <wim@fluendo.com>
6359         * check/gst/gstsegment.c: (GST_START_TEST):
6360         * docs/design/part-TODO.txt:
6361         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6362         (gst_base_sink_event), (gst_base_sink_do_sync),
6363         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6364         (gst_base_sink_query), (gst_base_sink_change_state):
6365         * gst/base/gstbasesink.h:
6366         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6367         (gst_base_src_default_newsegment),
6368         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6369         (gst_base_src_get_range), (gst_base_src_loop),
6370         (gst_base_src_change_state):
6371         * gst/base/gstbasesrc.h:
6372         * gst/base/gstbasetransform.c:
6373         (gst_base_transform_prepare_output_buf),
6374         (gst_base_transform_event), (gst_base_transform_change_state):
6375         * gst/base/gstbasetransform.h:
6376         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6377         (gst_collect_pads_event):
6378         * gst/base/gstcollectpads.h:
6379         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6380         (gst_fake_src_create):
6381         * gst/elements/gstfakesrc.h:
6382         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6383         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6384         (gst_segment_set_last_stop), (gst_segment_set_seek),
6385         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6386         (gst_segment_to_running_time), (gst_segment_clip):
6387         * gst/gstsegment.h:
6388         More segment updates, replace code in plugins with segment
6389         helper functions.
6391 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6393         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6394         Don't ignore sscanf results
6396 2005-11-21  Andy Wingo  <wingo@pobox.com>
6398         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6400         * *.h:
6401         * *.c: Ran scripts/update-macros. Oh yes.
6403         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6404         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6405         GST_GET_LOCK, etc.
6407         * scripts/update-macros: New script. Run it on your files to
6408         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6409         well.
6411 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6413         * docs/gst/Makefile.am:
6414         * docs/gst/gstreamer-docs.sgml:
6415         * docs/gst/gstreamer-sections.txt:
6416         * docs/gst/gstreamer.types:
6417         * gst/gstinfo.h:
6418           more docs fixes, add new api to the docs
6420 2005-11-21  Andy Wingo  <wingo@pobox.com>
6422         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6423         state_broadcast call.
6425         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6427 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6429         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6430         function calls for arrays.
6432 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6434         * docs/random/ensonic/media-device-daemon.txt:
6435           wild idea, can this be done?
6436         * docs/gst/gstreamer-sections.txt:
6437         * gst/gsterror.h:
6438         * gst/gstfilter.c:
6439         * gst/gstfilter.h:
6440         * gst/gstplugin.h:
6441         * gst/gstpluginfeature.c:
6442         * gst/gsttrace.c:
6443         * gst/gstvalue.c:
6444         * gst/gstvalue.h:
6445           doc fixes and additions
6447 2005-11-21  Andy Wingo  <wingo@pobox.com>
6449         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6450         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6451         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6452         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6453         private to the basesrc implementation.
6455         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6456         behalf of event function if necessary. It should no longer be
6457         necessary to take the stream lock in pad's event functions. Fixes
6458         #320299.
6460 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6461         * docs/gst/gstreamer-sections.txt:
6462         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6463         (gst_structure_fixate_field_nearest_double),
6464         (gst_structure_fixate_field_boolean):
6465         * gst/gststructure.h:
6466         * win32/common/libgstreamer.def:
6467         * win32/gstreamer.def:
6469         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6470         (#322027)
6472 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6474         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6475         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6476         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6477         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6478         (gst_fdsrc_uri_handler_init):
6479         * gst/elements/gstfdsrc.h:
6480           Port fd:// URI handler from 0.8 to fdsrc
6482 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6484         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6485         (gst_value_serialize_fourcc):
6486         * gst/gstvalue.h:
6487           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6488           consistent with our other format defines (#320324).
6490 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6492         * gst/gstvalue.c: (gst_value_is_fixed):
6493           Revert previous commit. Value lists are by definition
6494           not fixed, as they are a list of possible values.
6496 2005-11-21  Andy Wingo  <wingo@pobox.com>
6498         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6499         during the stable series if we need it. Fixes #319178.
6501         * gst/gstevent.c (gst_event_new_filler): Removed.
6503         * check/gst/gstevent.c: Update comment about filler events.
6505 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6507         * gst/gstvalue.c: (gst_value_is_fixed):
6508           Should handle both value arrays and value lists.
6510 2005-11-21  Andy Wingo  <wingo@pobox.com>
6512         patch by: Alessandro Dessina <alessandro nnva org>
6514         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6515         functions to access arrays. Fixes #321962.
6517 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6519         * docs/gst/gstreamer.types:
6520           gst_collectpads_get_type => gst_collect_pads_get_type.
6521           
6522         * gst/base/gstbasetransform.c:
6523           Remove unused SIGNAL_HANDOFF enum.
6525 2005-11-21  Andy Wingo  <wingo@pobox.com>
6527         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6528         the event type (upstream, downstream, serialized). Renamed
6529         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6530         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6531         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6533         * gst/gstevent.c: Update for new CUSTOM event names.
6535         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6537         * gst/gstevent.h:
6538         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6539         bug #319392.
6541 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6543         * docs/gst/gstreamer-sections.txt:
6544         * win32/common/libgstbase.def:
6545         * win32/libgstbase.def:
6546         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6547         (gst_collect_pads_class_init), (gst_collect_pads_init),
6548         (gst_collect_pads_finalize), (gst_collect_pads_new),
6549         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6550         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6551         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6552         (gst_collect_pads_start), (gst_collect_pads_stop),
6553         (gst_collect_pads_peek), (gst_collect_pads_pop),
6554         (gst_collect_pads_available), (gst_collect_pads_read),
6555         (gst_collect_pads_flush), (gst_collect_pads_event),
6556         (gst_collect_pads_chain):
6557         * gst/base/gstcollectpads.h:
6558           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6559           unimplemented functions as unimplemented. Add padding to
6560           GstCollectData. (#320766, #320423)
6562 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6564         * gst/gstmessage.c:
6565           Improve docs for DURATION message (usage of duration parameter)
6566           (#320113)
6568 2005-11-20  Wim Taymans  <wim@fluendo.com>
6570         * check/Makefile.am:
6571         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6572         (main):
6573         * gst/Makefile.am:
6574         * gst/gst.h:
6575         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6576         (gst_segment_set_seek), (gst_segment_set_newsegment),
6577         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6578         (gst_segment_clip):
6579         * gst/gstsegment.h:
6580         Added segment helper structure and methods. Not fully implemented
6581         yet.
6582         Added segment check.
6584 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6586         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6587           Add a deserialisation test for fractions
6588         * examples/metadata/read-metadata.c: (message_loop),
6589         (make_pipeline), (main):
6590           Fix up metadata reading sample.
6591         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6592           Debug format fix
6593         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6594           Don't try and fixate empty caps
6595         * gst/gst_private.h:
6596           Wrap in G_BEGIN_DECLS/G_END_DECLS
6597         * gst/gstvalue.c: (gst_value_collect_fraction),
6598         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6599         (gst_value_transform_string_fraction),
6600         (gst_value_compare_fraction):
6601           Add some extra guards to ensure that we don't end up 
6602           with an invalid denominator of 0 in a gstfraction and
6603           that fractions always get reduced.
6605 2005-11-20  Wim Taymans  <wim@fluendo.com>
6607         * docs/gst/gstreamer-sections.txt:
6608         * gst/gstbuffer.h:
6609         * gst/gstelement.c:
6610         * gst/gstformat.c:
6611         * gst/gstformat.h:
6612         * gst/gstindex.h:
6613         * gst/gstquery.c:
6614         * gst/gstquery.h:
6615         * gst/gstvalue.c:
6616         Doc fixes.
6618 2005-11-20  Wim Taymans  <wim@fluendo.com>
6620         * docs/design/part-TODO.txt:
6621         * gst/gstcaps.h:
6622         Make a proper enum of the flag.
6624 2005-11-19  Wim Taymans  <wim@fluendo.com>
6626         * docs/design/part-TODO.txt:
6627         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6628         (gst_format_to_quark), (gst_format_register):
6629         * gst/gstformat.h:
6630         * gst/gstquery.c: (_gst_query_initialize),
6631         (gst_query_type_get_name), (gst_query_type_to_quark),
6632         (gst_query_type_register):
6633         * gst/gstquery.h:
6634         Add type to quark and type to string conversions.
6636 2005-11-19  Andy Wingo  <wingo@pobox.com>
6638         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6639         #320097.
6641 2005-11-19  Wim Taymans  <wim@fluendo.com>
6643         * docs/design/part-TODO.txt:
6644         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6645         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6646         (gst_bin_handle_message_func):
6647         * gst/gstbin.h:
6648         Make message handling overridable.
6650 2005-11-19  Andy Wingo  <wingo@pobox.com>
6652         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6654         * gst/gstclock.h:
6655         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6656         be a GstClockTime.
6657         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6658         is a GstClockTime. Fixes #321710.
6660         * gst/gstclock.h (GstClock): Remove offset property. Add
6661         internal_calibration and external_calibration. Fix padding. Pad
6662         also by GstClockTime so we don't run into problems.
6664         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6665         (gst_clock_get_rate_offset): Remove.
6666         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6668         * gst/gstutils.h:
6669         * gst/gstutils.c (g_static_rec_cond_wait)
6670         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6672         * gst/gstbin.c: Remove terrible continue_state prototype.
6674         * gst/gstelement.h (gst_element_continue_state): Make public.
6676         * gst/gstelement.h:
6677         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6678         by continue_state. Fixes #319389.
6680         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6681         Really fixes #168438. However I don't see anywhere where the
6682         filter function is called... stupid GStreamer...
6683         
6684         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6685         don't have a dispose function, so it won't get called when the
6686         object is unreffed, but oh well!
6688         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6689         allows a destroy function to be set so user_data can be freed.
6690         Fixes #168438.
6691         (gst_index_set_filter): Call gst_index_set_filter_full.
6693         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6695         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6696         string should produce an error, given the lack of a way to
6697         represent NULL strings. Fixes #165650.
6698         
6699         * gst/gstvalue.h: 
6700         * gst/gstvalue.c (gst_value_array_append_value) 
6701         (gst_value_array_prepend_value, gst_value_array_get_size) 
6702         (gst_value_array_get_value): New API, copied from
6703         gst_value_list_*, only operates on arrays.
6704         (gst_value_list_append_value, gst_value_list_prepend_value) 
6705         (gst_value_list_concat, gst_value_list_get_size) 
6706         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6708         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6709         init_list, because it works on both.
6710         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6711         (gst_value_copy_list_or_array): Renamed from copy_list.
6712         (gst_value_free_list_or_array): Renamed from free_list.
6713         (gst_value_collect_list_or_array): Renamed from collect_list.
6714         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6715         (gst_value_list_or_array_peek_pointer): Renamed from
6716         list_peek_pointer.
6717         (_gst_value_array_value_table, _gst_value_list_value_table):
6718         Update value table functions.
6719         (gst_value_compare_list_or_array): Renamed from compare_list.
6721         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6722         some constness.
6724         * gst/gsttaglist.c:
6725         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6726         GstTagList*. Fixes #143472.
6728         * gst/gststructure.h: Clarify what the foreach/map functions can
6729         or can't do to their arguments.
6731 2005-11-18  Wim Taymans  <wim@fluendo.com>
6733         * gst/gstclock.c: (gst_clock_set_calibration),
6734         (gst_clock_get_calibration):
6735         Doc and API fixes.
6736         Calibration can be set with internal time equal to current
6737         internal time too.
6739 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6741         * gst/gsterror.c:
6742         * gst/gsterror.h:
6743           document
6745 2005-11-18  Andy Wingo  <wingo@pobox.com>
6747         * configure.ac: 
6748         * pkgconfig/gstreamer-net.pc.in:
6749         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6750         * pkgconfig/Makefile.am: Add net pkgconfig files.
6752 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6754         * gst/gstcaps.c:
6755         * gst/gstghostpad.c:
6756         * gst/gsttrace.c:
6757         * gst/gstvalue.c:
6758         * gst/gstvalue.h:
6759           docs fixes
6761 2005-11-18  Andy Wingo  <wingo@pobox.com>
6763         * gst/net/gstnetclientclock.c: Turn off debugging.
6765         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6766         times connverge somewhat. Can't make a real test.
6768         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6769         integer arithmetic. Return the minimum of the domain, which can be
6770         set as "internal" for gst_clock_set_calibration.
6771         (gst_net_client_clock_observe_times): Call _set_calibration.
6772         (gst_net_client_clock_new): Call _set_calibration instead of
6773         rate_offset.
6775         * check/net/gstnetclientclock.c (test_functioning): Use the right
6776         adjustment api.
6778         * gst/gstclock.h:
6779         * gst/gstclock.c (gst_clock_get_calibration) 
6780         (gst_clock_set_calibration): New functions, obsolete the ones I
6781         added yesterday. Doh. Precision issues mean we have to extrapolate
6782         from a point in the more recent past than 1970.
6783         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6784         obsolete.
6785         (gst_clock_adjust_unlocked): Use the right calibration data.
6787 2005-11-18  Edward Hervey  <edward@fluendo.com>
6789         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6790         Also reset the ->current_* values in READY->PAUSED
6792 2005-11-18  Andy Wingo  <wingo@pobox.com>
6794         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6795         Whoops, check the right fd. Also add some debugging.
6796         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6797         (do_linear_regression): Add a crapload of debugging. Subtract off
6798         the minimum values from the input series to discard unneeded bits.
6799         Use only int arithmetic. There is still double arithmetic when
6800         calculating the intercept that needs fixing. Return boolean to
6801         indicate success; FALSE would mean the domain or range is too
6802         great. Still needs fixes.
6804 2005-11-18  Wim Taymans  <wim@fluendo.com>
6806         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6807         For the current position in stream time, we need to subtract
6808         accumulated time.
6809         
6810         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6811         Release lock before calling the callback function of async
6812         entries.
6814 2005-11-18  Andy Wingo  <wingo@pobox.com>
6816         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6817         Port goes all the way to MAXUINT16.
6819         * gst/net/gstnettimeprovider.c: Make the port range the same as
6820         for the kernel: 0 assigns, otherwise ports are less than
6821         MAXUINT16.
6823         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6824         port change.
6826         * check/net/gstnetclientclock.c (test_functioning): Add the start
6827         of another test. 
6829 2005-11-18  Wim Taymans  <wim@fluendo.com>
6831         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6832         (gst_bin_remove_func), (bin_bus_handler):
6833         * gst/gstbin.h:
6834         Removing a clock provider from a bin, triggers a clock lost message
6835         so that a new clock will be selected.
6836         Adding a clock to a bin triggers a clock provider message.
6837         Make sure we reselect a clock when we received a clock lost message.
6838         Keep a reference to the element that provided the clock.
6840 2005-11-18  Andy Wingo  <wingo@pobox.com>
6842         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6843         the clock initially so it produces values around the base time.
6844         (gst_net_client_clock_class_init): Typo fix.
6845         (gst_net_client_clock_thread): Add note on when the socket gets
6846         closed.
6848 2005-11-17  Wim Taymans  <wim@fluendo.com>
6850         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6851         Free remote and local time arrays.
6853 2005-11-17  Wim Taymans  <wim@fluendo.com>
6855         * gst/net/gstnetclientclock.c: (do_linear_regression),
6856         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6857         Fix compilation, uninitialized vars and a forgotten continue.
6859 2005-11-17  Andy Wingo  <wingo@pobox.com>
6861         * check/Makefile.am (check_PROGRAMS): 
6862         * check/net/gstnetclientclock.c: Add a most minimal test for the
6863         net client clock. More to come later.
6865         * gst/net/gstnet.h: 
6866         * gst/net/Makefile.am: Add netclientclock.
6868         * gst/net/gstnetclientclock.h:
6869         * gst/net/gstnetclientclock.c: New files, implement an untested
6870         GstClock that takes its time from a network time provider.
6871         Implements the algorithm in network-clock.scm.
6873         * tests/network-clock.scm (*window-size*): Rename from
6874         *queue-length*.
6875         * tests/network-clock.scm (network-time): 
6876         * tests/network-clock-utils.scm (q-push): Update callers.
6878 2005-11-17  Wim Taymans  <wim@fluendo.com>
6880         * gst/gstbin.c: (gst_bin_provide_clock_func),
6881         (gst_bin_sort_iterator_new):
6882         And unref the child too..
6884 2005-11-17  Wim Taymans  <wim@fluendo.com>
6886         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6887         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6888         Refactor the sort iterator so it can be used while holding the
6889         LOCK too.
6890         Make clock selection select a clock closest to the source.
6892 2005-11-17  Michael Smith <msmith@fluendo.com>
6894         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6895         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6896         * gst/gstclock.h:
6897           Anonymous structs are a gcc (and some other compilers) extension, so
6898           don't use them. Since this is only for ABI-compatibility, and our
6899           API/ABI freeze is over in a few days, this whole thing will only
6900           last a few days, so don't bother trying to think up a meaningful
6901           name for the struct.
6903 2005-11-17  Andy Wingo  <wingo@pobox.com>
6905         * gst/gstclock.h (GstClock): Add rate and offset properties,
6906         preserving ABI stability. Add rate/offset accessors. Will file bug
6907         for the freeze break.
6909         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6910         and offset, trying to keep precision and avoiding
6911         underflow/overflow.
6912         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6913         functions. Make gst_clock_set_time_adjust obsolete.
6914         (gst_clock_set_time_adjust): Note that this function is obsolete.
6915         Will file bug soon.
6917         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6918         greppable by using GST_PADDING-1+1.
6920 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6922         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6924         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6925           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6927         * gst/gstpadtemplate.h:
6928         * gst/gstpluginfeature.h:
6929           Don't use c++ style comments in headers (#321638).
6931 2005-11-16  Andy Wingo  <wingo@pobox.com>
6933         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6934         buffer.
6936         * check/net/gstnettimeprovider.c: Check to see that the time
6937         provider actually provides times. Works, yo!
6939 2005-11-16  Wim Taymans  <wim@fluendo.com>
6941         * check/Makefile.am:
6942         Enable more tests.
6944         * check/elements/fakesrc.c: (GST_START_TEST):
6945         Set element to NULL before disposing it.
6947 2005-11-16  Andy Wingo  <wingo@pobox.com>
6949         * gst/net/Makefile.am:
6950         * gst/net/gstnet.h:
6951         * gst/net/gstnettimeprovider.c: 
6952         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6953         provider, include it from gstnet.h, and add it to the build.
6955         * gst/net/gstnettimepacket.h: 
6956         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6957         sending and receiving.
6959 2005-11-16  Wim Taymans  <wim@fluendo.com>
6961         * check/Makefile.am:
6962         Enable valgrind check.
6964         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6965         (gst_fake_src_alloc_buffer):
6966         Fix memleak.
6968 2005-11-16  Wim Taymans  <wim@fluendo.com>
6970         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6971         Call parent finalize too.
6973 2005-11-16  Wim Taymans  <wim@fluendo.com>
6975         * check/Makefile.am:
6976         Enable valgrind check that should work fine now.
6978         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6979         * gst/gstqueue.c: (gst_queue_init):
6980         Fix memleaks in pad allocation.
6982 2005-11-16  Andy Wingo  <wingo@pobox.com>
6984         * gst/net/Makefile.am:
6985         * gst/net/gstnet.h: New part of core to hold network elements and
6986         objects. Put in core because it exposes API that applications want
6987         to use. The library is named libgstnet-tempname right now because
6988         of the existing libgstnet in gst-plugins-base. Solution is
6989         probably to rename the one in plugins-base; will file a bug for
6990         the freeze break.
6992         * gst/net/gstnettimeprovider.c: 
6993         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6994         get_time call over the network.
6996         * configure.ac: 
6997         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6999         * check/Makefile.am:
7000         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7001         get additions shortly.
7003 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7005         * gst/gstpad.c: (gst_pad_new_from_static_template):
7006         * gst/gstpad.h:
7007           add gst_pad_new_from_static_template functions
7008         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7009         (gst_check_setup_sink_pad):
7010         * gst/elements/gsttee.c: (gst_tee_init):
7011           and use them
7013 2005-11-16  Wim Taymans  <wim@fluendo.com>
7015         * gst/gstpad.c: (gst_pad_pause_task):
7016         Removed warning, it's not really an error either.
7018 2005-11-16  Wim Taymans  <wim@fluendo.com>
7020         * gst/base/gstbasetransform.c:
7021         (gst_base_transform_prepare_output_buf),
7022         (gst_base_transform_event):
7023         Check if the caps are NULL, this can happen if the element
7024         is shutting down and the pad caps are set to NULL.
7026 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7028         * gst/elements/gsttee.c: (gst_tee_init):
7029           fix pad template leak in tee
7031 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7033         * gst/glib-compat.c: (g_value_dup_gst_object):
7034         * gst/glib-compat.h:
7035         * gst/gstpad.c: (gst_pad_set_property):
7036           use gst_object_ref when setting the pad template; this will
7037           trigger the pad template leaks on GLib 2.6 and the slaves
7039 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7041         * gst/glib-compat.c: (gst_flags_get_first_value):
7042         * gst/glib-compat.h:
7043         * gst/gstregistryxml.c:
7044           remove functions copied from GLib 2.6
7046 2005-11-16  Michael Smith <msmith@fluendo.com>
7048         * gst/Makefile.am:
7049           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7050           do, but only breaks with newer valgrind versions. We're not a
7051           valgrind tool, we have no link-time dependencies on libcoregrind.
7053 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7055         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7056           some debug changes
7057         * gst/gstmessage.h:
7058           typo fixes
7060 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7062         * gst/base/gstbasesrc.c: (gst_base_src_init):
7063         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7064         * gst/gstqueue.c: (gst_queue_init):
7065         * gst/gstregistryxml.c: (load_feature):
7066           Revert all these unrefs, they don't even pass make check !
7068 2005-11-15  Johan Dahlin  <johan@gnome.org>
7070         * gst/base/gstbasesrc.c: (gst_base_src_init):
7071         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7072         * gst/gstqueue.c: (gst_queue_init): 
7073         Free pad templates, fixes a couple of leaks.
7075 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7077         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7079         * gst/gstpad.c: (gst_pad_get_property):
7080           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7081           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7082           (#321452)
7084 2005-11-15  Wim Taymans  <wim@fluendo.com>
7086         * gst/gstevent.c:
7087         Small doc update.
7089 2005-11-15  Andy Wingo  <wingo@pobox.com>
7091         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7093         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7094         using GST_CLOCK_TIME_NONE to disable base time management.
7095         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7096         time if it was NONE before.
7097         (gst_pipeline_change_state): Only munge the base time if
7098         stream_time != GST_CLOCK_TIME_NONE.
7100         * check/gst/gstpipeline.c (test_base_time): Punt around the
7101         problem of the probe not being called, because that's not the
7102         issue I'm looking at. Add a check that setting stream_time to NONE
7103         disables base time management.
7104         
7105 2005-11-15  Wim Taymans  <wim@fluendo.com>
7107         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7108         segment_stop == -1 at startup.
7110         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7111         (gst_base_transform_change_state):
7112         Init segment values at start.
7114 2005-11-15  Wim Taymans  <wim@fluendo.com>
7116         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7117         0 segment values are 0 in any format.
7119         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7120         * gst/base/gstbasetransform.h:
7121         Parse newsegment correctly in basetransform
7123         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7124         Sync to clock using updated segment values.
7126 2005-11-15  Andy Wingo  <wingo@pobox.com>
7128         * check/gst/gstpipeline.c (test_base_time): Add check that the
7129         base time and stream time are reset correctly.
7131 2005-11-15  Wim Taymans  <wim@fluendo.com>
7133         * docs/design/part-TODO.txt:
7134         Some more TODO items.
7136 2005-11-15  Andy Wingo  <wingo@pobox.com>
7138         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7139         error if the user selected "no clock" as the clocking method.
7141         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7142         timestamps with live capture.
7144         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7145         is 0 but we are a live source, timestamp the buffers using the
7146         element's clock.
7148 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7150         * docs/gst/gstreamer-sections.txt:
7151         * gst/gsterror.c:
7152         * gst/gstghostpad.c:
7153         * gst/gstobject.h:
7154         * gst/gstxml.c:
7155           more section docs
7157 2005-11-14  Wim Taymans  <wim@fluendo.com>
7159         * common/gst.supp:
7160           add suppressions from Wim's Debian machine
7162 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7164         * common/gst.supp:
7165           add suppressions from Andy's AMD64 Ubuntu machine
7167 2005-11-14  Andy Wingo  <wingo@pobox.com>
7169         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7170         STATE_LOCK not necessary. Fixes #311489.
7172         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7173         #305291.
7175         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7176         this function is not implemented.
7178 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7180         * gst/base/gstbasetransform.c:
7181         (gst_base_transform_prepare_output_buf):
7182         Ref the source pad caps while we need them.
7183         Fixes (#321386)
7185 2005-11-11  Wim Taymans  <wim@fluendo.com>
7187         * docs/gst/gstreamer-sections.txt:
7188         Added some docs for GstCollectData.
7190         * gst/base/gstadapter.c:
7191         Some small code example fix.
7193         * gst/base/gstcollectpads.c:
7194         * gst/base/gstcollectpads.h:
7195         Document some more.
7197 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7199         * configure.ac: back to HEAD
7201 === release 0.9.5 ===
7203 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7205         * configure.ac:
7206           releasing 0.9.5, "Bike Lunch Day"
7208 2005-11-11  Wim Taymans  <wim@fluendo.com>
7210         * gst/gstbuffer.c: (_gst_buffer_copy):
7211         Copy more flags.
7213         * gst/gstcaps.c: (gst_caps_is_equal):
7214         Fix some docs.
7215         Make _is_equal fast in the trivial cases.
7217         * gst/gstminiobject.c:
7218         * gst/gstminiobject.h:
7219         More docs. Spifify .h file.
7221         * gst/gstutils.c:
7222         Small doc update.
7224 2005-11-11  Wim Taymans  <wim@fluendo.com>
7226         * gst/base/gstbasetransform.c:
7227         (gst_base_transform_prepare_output_buf),
7228         (gst_base_transform_handle_buffer):
7229         Small cleanups.
7230         If we're processing a buffer and need to allocate an output
7231         buffer, we cannot accept a format change. If we did get a 
7232         format change, we have to alloc a buffer ourselves of the 
7233         right size.
7235 2005-11-11  Wim Taymans  <wim@fluendo.com>
7237         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7238         While checking the flag for reentrancy in the gstcaps function
7239         is nice to detect recursive invocations, it also makes it 
7240         impossible to call getcaps from multiple threads, which must be
7241         possible. So, checking for recursive calls has to go.
7243 2005-11-11  Michael Smith <msmith@fluendo.com>
7245         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7246           Don't sync on buffers that fall partially outside our current
7247           segment. Prevents an assertion failure/abort playing some files.
7249 2005-11-10  Andy Wingo  <wingo@pobox.com>
7251         * check/gst/gstbin.c (test_message_state_changed_children): Style
7252         fix..
7254         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7255         gst_bus_poll with the signal watch. Ensures that poll and a signal
7256         watch see the same messages.
7258         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7259         a poll and a watch at the same time get the same messages.
7261 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7263         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7264         * gst/gstcaps.c: (gst_caps_intersect):
7265           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7266           and it's not needed.
7268 2005-11-10  Wim Taymans  <wim@fluendo.com>
7270         * docs/design/part-TODO.txt:
7271         Updated todo.
7273 2005-11-10  Wim Taymans  <wim@fluendo.com>
7275         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7276         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7277         (gst_base_src_do_sync), (gst_base_src_get_range):
7278         Implement clock sync in base class.
7280 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7282         patch by: Tim-Philipp Müller <tim at centricular dot net>
7284         * gst/gststructure.c: (gst_structure_parse_field),
7285         (gst_structure_from_string):
7286           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7287           so that gst_parse_launch() can deal with spaces in filtered link
7288           caps (fixes #164479)
7289         * check/gst/capslist.h:
7290         * check/gst/gststructure.c: (GST_START_TEST):
7291           add unit tests for this change
7293 2005-11-10  Wim Taymans  <wim@fluendo.com>
7295         * docs/gst/gstreamer-sections.txt:
7296         * gst/gstelement.c:
7297         * gst/gstelement.h:
7298         Fix docs, move some STATE macros to private.
7300 2005-11-10  Wim Taymans  <wim@fluendo.com>
7302         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7303         Added check for bug #317341
7305         * gst/gstbuffer.c:
7306         * gst/gstbuffer.h:
7307         Some more spiffifying.
7309         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7310         Call peer linkfunction if we are a source pad. Totally fixes
7311         #317341
7313         * gst/gstpad.c:
7314         Update docs, source pads should call the peer linkfunction
7315         so they can atomically perform the pad link.
7317 2005-11-09  Wim Taymans  <wim@fluendo.com>
7319         * gst/gstbuffer.c:
7320         * gst/gstbuffer.h:
7321         Uber-spiffy-spiffify some more.
7323 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7325         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7326         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7327         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7328         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7329         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7330         * gst/gstpad.c: (gst_pad_init):
7331           Use GST_DEBUG_FUNCPTR() more extensively.
7333 2005-11-09  Wim Taymans  <wim@fluendo.com>
7335         * gst/gstobject.c: (gst_object_class_init):
7336         * gst/gstobject.h:
7337         Documentation fixes.
7339 2005-11-09  Edward Hervey  <edward@fluendo.com>
7341         * gst/gsttypefindfactory.c:
7342         Fix docs.
7343         
7344 2005-11-09  Edward Hervey  <edward@fluendo.com>
7346         * gst/base/gsttypefindhelper.c:
7347         * gst/gsttypefind.c:
7348         * gst/gsttypefind.h:
7349         Fix docs.
7351 2005-11-09  Wim Taymans  <wim@fluendo.com>
7353         * gst/gstiterator.c:
7354         Fix revision data.
7356         * gst/gsttask.c:
7357         * gst/gsttask.h:
7358         Fix docs.
7360 2005-11-09  Wim Taymans  <wim@fluendo.com>
7362         * gst/gstevent.h:
7363         * gst/gsturi.h:
7364         Fix docs.
7366 2005-11-09  Wim Taymans  <wim@fluendo.com>
7368         * docs/gst/gstreamer-sections.txt:
7369         Moved the message async delivery private lock and cond
7370         to the private section.
7372         * gst/gstmessage.c:
7373         * gst/gstmessage.h:
7374         Fixed docs.
7376 2005-11-09  Edward Hervey  <edward@fluendo.com>
7378         * docs/gst/gstreamer-sections.txt:
7379         * gst/gsturi.c:
7380         * gst/gsturi.h:
7381         Document GstURIHandler
7383 2005-11-09  Wim Taymans  <wim@fluendo.com>
7385         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7386         (gst_iterator_find_custom):
7387         * gst/gstiterator.h:
7388         Fix iterator docs.
7390 2005-11-09  Wim Taymans  <wim@fluendo.com>
7392         * gst/gstbin.h:
7393         Document another field.
7395         * gst/gststructure.c:
7396         * gst/gststructure.h:
7397         Document.
7399 2005-11-09  Wim Taymans  <wim@fluendo.com>
7401         * gst/gstbin.h:
7402         Documented structs.
7404 2005-11-09  Wim Taymans  <wim@fluendo.com>
7406         * docs/gst/gstreamer-sections.txt:
7407         Added some new macros.
7409         * gst/gstclock.c:
7410         * gst/gstclock.h:
7411         * gst/gstobject.h:
7412         Docs updates.
7414 2005-11-09  Wim Taymans  <wim@fluendo.com>
7416         * docs/design/part-TODO.txt:
7417         Some more items for the TODO
7419         * gst/gstcaps.c:
7420         * gst/gstcaps.h:
7421         Document GstCaps.
7423 2005-11-09  Andy Wingo  <wingo@pobox.com>
7425         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7426         to work on something else now tho...
7428         * gst/base/gstadapter.c: More adapter docs.
7430         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7431         (gst_file_sink_stop): New functions, replace the state change
7432         handler.
7433         (gst_file_sink_class_init): Hook up the start and stop functions.
7434         (gst_file_sink_base_init): Don't set the state change handler any
7435         more. It was a bit ugly too, being set from here...
7436         (gst_file_sink_get_property, gst_file_sink_set_property):
7437         Cleanups...
7438         (gst_file_sink_set_location): More robust check that doesn't call
7439         GST_STATE. Ugggggg.
7441 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7443         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7444           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7446 2005-11-08  Wim Taymans  <wim@fluendo.com>
7448         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7449         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7450         (gst_base_sink_chain), (gst_base_sink_change_state):
7451         * gst/base/gstbasesink.h:
7452         * gst/base/gstbasesrc.h:
7453         * gst/gstelement.h:
7454         * gst/gstevent.h:
7455         Avoid excessive typechecking in macros.
7457         * gst/gstminiobject.c: (gst_mini_object_get_type),
7458         (gst_mini_object_init), (gst_mini_object_new),
7459         (gst_mini_object_free):
7460         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7461         (gst_object_finalize):
7462         Remove cruft code, optimize alloc_trace.
7464 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7466         * docs/faq/gst-uninstalled:
7467           fix up PS1 for systems that try to reset it
7469 2005-11-07  Wim Taymans  <wim@fluendo.com>
7471         * gst/base/gstbasesrc.c: (gst_base_src_init),
7472         (gst_base_src_get_range):
7473         Set the segment_end to -1 initially. Fixed typefind.
7475 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7477         * gst/base/gstadapter.c:
7478           Debug category should be 'adapter', not 'GstAdapter'.
7479           
7480         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7481         (gst_collectpads_class_init), (gst_collectpads_init),
7482         (gst_collectpads_peek), (gst_collectpads_pop),
7483         (gst_collectpads_event), (gst_collectpads_chain):
7484           Add debug category and some debugging output. Use boilerplate
7485           macros. Remove some extraneous words from docs.
7487 2005-11-05  Andy Wingo  <wingo@pobox.com>
7489         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7490         macro.
7492 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7494         * docs/gst/gstreamer-sections.txt:
7495         * gst/gstcaps.h:
7496         * gst/gstinfo.c:
7497         * gst/gstminiobject.h:
7498         * gst/gstobject.h:
7499         * gst/gstutils.h:
7500           more docs added
7502 2005-11-04  Wim Taymans  <wim@fluendo.com>
7504         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7505         Small update to stop at the configured segment_end
7506         position.
7508 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7510         * gst/gstregistry.c:
7511         * gst/gstregistry.h:
7512           added missing docs
7514 2005-11-04  Edward Hervey  <edward@fluendo.com>
7516         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7517         Check if we are doing a segment seek and have arrived at the
7518         end of that segment.
7520 2005-11-04  Wim Taymans  <wim@fluendo.com>
7522         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7523         Don't leak a mutex unlock in case of an error.
7525         * gst/gstbus.h:
7526         Doc fixes.
7528 2005-11-04  Wim Taymans  <wim@fluendo.com>
7530         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7531         (gst_bus_post):
7532         Get the context to wake up only once.
7534 2005-11-03  Wim Taymans  <wim@fluendo.com>
7536         * check/states/sinks.c: (GST_START_TEST):
7537         Uncomment fixed check.
7539         * docs/design/part-TODO.txt:
7540         Updated TODO.
7542         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7543         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7544         (gst_base_sink_get_position):
7545         If we are going to PLAYING, post the right pending state
7546         when we post the intermediate paused message.
7548         * gst/gstelement.c: (gst_element_continue_state),
7549         (gst_element_set_state_func), (gst_element_change_state):
7550         Don't post state changes that were between the same state
7551         and were not ASYNC.
7553 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7555         * docs/gst/gstreamer-sections.txt:
7556         * gst/gstcaps.h:
7557         * gst/gstinfo.c:
7558         * gst/gstminiobject.h:
7559         * gst/gstobject.h:
7560         * gst/gstutils.h:
7561           more docs and doc style fixes
7563 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7565         * docs/gst/gstreamer-sections.txt:
7566         * gst/gstelement.c:
7567         * gst/gstminiobject.c:
7568         doc fixes
7570 2005-11-03  Andy Wingo  <wingo@pobox.com>
7572         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7573         state-changed messages actually have the right order and the right
7574         values.
7576 2005-11-03  Wim Taymans  <wim@fluendo.com>
7578         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7579         Added some more checks. Specifically the case where NO_PREROLL
7580         elements are in the pipeline.
7582         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7583         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7584         (gst_base_sink_get_position):
7585         Post READY->PAUSED state change messages too.
7586         Fix bug where VOID was posted as pending state...
7588         * gst/gstbin.c: (gst_bin_recalc_state):
7589         use _element_continue_state() to continue the state change.
7591         * gst/gstelement.c: (gst_element_continue_state),
7592         (gst_element_commit_state), (gst_element_set_state_func),
7593         (gst_element_change_state), (gst_element_change_state_func):
7594         Lots of state change cleanups, assign the STATE_RETURN in
7595         a new continue_state() function that also propagates the
7596         last return value from a state change to the app.
7597         Update some debug statements with proper category.
7599 2005-11-03  Wim Taymans  <wim@fluendo.com>
7601         * docs/design/part-events.txt:
7602         * docs/design/part-gstpipeline.txt:
7603         * docs/design/part-messages.txt:
7604         * docs/design/part-overview.txt:
7605         * docs/design/part-seeking.txt:
7606         * docs/design/part-states.txt:
7607         * docs/design/part-trickmodes.txt:
7608         * docs/manual/advanced-position.xml:
7609         Small docs updates.
7611         * gst/gstobject.h:
7612         People think !! is ugly, this looks better.
7614         * gst/gstpad.c: (gst_pad_set_blocked_async):
7615         Remove !! since it's fixed elsewhere now.
7617 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7619         * gst/gstminiobject.h:
7620         * gst/gstobject.h:
7621           Add !! to _FLAG_IS_SET macros to make the result boolean.
7623 2005-11-03  Edward Hervey  <edward@fluendo.com>
7625         * gst/gstpad.c: (gst_pad_set_blocked_async):
7626         comparing a flag and a gboolean rarely returns coherent results...
7627         Added two characters (!!) to make that work correctly.
7628         
7629 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7631         * gst/gstbus.c: (gst_bus_class_init):
7632           Fix some typos.
7633           
7634         * gst/gstqueue.c: (gst_queue_loop):
7635           Don't assume a miniobject that isn't a buffer is an
7636           event (it could be that there is a refcounting
7637           problem somewhere and the pointer is stale and
7638           refers to an already destroyed miniobject).
7640 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7642         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7644 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7646         * docs/manual/advanced-position.xml:
7647           Update seek example and explanations to current 0.9 API.
7649         * gst/elements/gsttypefindelement.c:
7650         (gst_type_find_element_activate):
7651           Remove FIXME comment now that the found caps
7652           are unreffed.
7654 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7656         * gst/gstregistryxml.c: (load_feature):
7657           Add another GST_STR_NULL instance
7659 2005-11-02  Edward Hervey  <edward@fluendo.com>
7661         * gst/gstpad.c: (handle_pad_block):
7662         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7663         
7664 2005-11-02  Wim Taymans  <wim@fluendo.com>
7666         * gst/gstbin.c:
7667         Fix typo in docs.
7669         * gst/gstelement.c: (gst_element_commit_state):
7670         Remove unused value.
7672         * gst/gstiterator.c:
7673         Mention that the returned element is reffed in the docs.
7675 2005-11-02  Wim Taymans  <wim@fluendo.com>
7677         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7678         (gst_pad_push), (gst_pad_push_event):
7679         Unlock blocked pads when they are flushed.
7681 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7683         * docs/README:
7684         * docs/gst/gstreamer-sections.txt:
7685         * gst/gstbin.c:
7686           doc updates
7687         * gst/gstregistry.c: (gst_registry_scan_path_level):
7688           fix for a nasty little missed situation where an installed plug-in
7689           which was in the cache did not get overridden by an uninstalled one
7690           which was earlier in the plugin path because the newly created plugin
7691           for the uninstalled one (not in the registry) didn't get its
7692           ->registered set to TRUE
7694 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7696         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7697         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7698         (gst_collectpads_is_active), (gst_collectpads_collect),
7699         (gst_collectpads_collect_range), (gst_collectpads_start),
7700         (gst_collectpads_stop), (gst_collectpads_peek),
7701         (gst_collectpads_pop), (gst_collectpads_available),
7702         (gst_collectpads_read), (gst_collectpads_flush):
7703           Guard public API with assertions.
7704         
7705         * gst/gstpad.c:
7706           Fix docs for gst_pad_set_link_function().
7708 2005-11-02  Johan Dahlin  <johan@gnome.org>
7710         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7711         Unref found_caps after we used it.
7713 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7715         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7716           Don't try to ref NULL.
7718 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7720         * win32/common/config.h.in:
7721           provide a GST_FUNCTION that just gives a string for now
7723 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7725         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7726         (gst_object_flags_get_type), (register_gst_bin_flags),
7727         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7728         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7729         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7730         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7731         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7732         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7733         (gst_clock_flags_get_type), (register_gst_state),
7734         (gst_state_get_type), (register_gst_state_change_return),
7735         (gst_state_change_return_get_type), (register_gst_state_change),
7736         (gst_state_change_get_type), (register_gst_element_flags),
7737         (gst_element_flags_get_type), (register_gst_core_error),
7738         (gst_core_error_get_type), (register_gst_library_error),
7739         (gst_library_error_get_type), (register_gst_resource_error),
7740         (gst_resource_error_get_type), (register_gst_stream_error),
7741         (gst_stream_error_get_type), (register_gst_event_type),
7742         (gst_event_type_get_type), (register_gst_seek_type),
7743         (gst_seek_type_get_type), (register_gst_seek_flags),
7744         (gst_seek_flags_get_type), (register_gst_format),
7745         (gst_format_get_type), (register_gst_index_certainty),
7746         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7747         (gst_index_entry_type_get_type),
7748         (register_gst_index_lookup_method),
7749         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7750         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7751         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7752         (gst_index_flags_get_type), (register_gst_debug_level),
7753         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7754         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7755         (gst_iterator_result_get_type), (register_gst_iterator_item),
7756         (gst_iterator_item_get_type), (register_gst_message_type),
7757         (gst_message_type_get_type), (register_gst_mini_object_flags),
7758         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7759         (gst_pad_link_return_get_type), (register_gst_flow_return),
7760         (gst_flow_return_get_type), (register_gst_activate_mode),
7761         (gst_activate_mode_get_type), (register_gst_pad_direction),
7762         (gst_pad_direction_get_type), (register_gst_pad_flags),
7763         (gst_pad_flags_get_type), (register_gst_pad_presence),
7764         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7765         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7766         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7767         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7768         (gst_plugin_flags_get_type), (register_gst_rank),
7769         (gst_rank_get_type), (register_gst_query_type),
7770         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7771         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7772         (gst_tag_flag_get_type), (register_gst_task_state),
7773         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7774         (gst_alloc_trace_flags_get_type),
7775         (register_gst_type_find_probability),
7776         (gst_type_find_probability_get_type), (register_gst_uri_type),
7777         (gst_uri_type_get_type), (register_gst_parse_error),
7778         (gst_parse_error_get_type):
7779         * win32/common/gstversion.h:
7780           update win32 copies
7782 2005-11-01  Luca Ognibene  <luogni@tin.it>
7784         * gst/gst.c:
7785           fix docs. popt is dead, long live GOption.
7787 2005-10-31  Wim Taymans  <wim@fluendo.com>
7789         * gst/gstbuffer.h:
7790         Small doc fix.
7792 2005-10-31  Andy Wingo  <wingo@pobox.com>
7794         * Boo!
7796         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7798         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7799         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7800         the possibility of deadlocks here if code calling notify() or
7801         set() has a lock that can be taken in another notify handler (ABBA
7802         with class lock and e.g. python GIL state lock).
7804 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7806         * gst/gstbus.c: Doc updates.
7808 2005-10-28  Wim Taymans  <wim@fluendo.com>
7810         * docs/design/part-TODO.txt:
7811         * gst/gstiterator.c:
7812         * gst/gstsystemclock.c:
7813         * gst/gstsystemclock.h:
7814         Doc updates.
7816 2005-10-28  Edward Hervey  <edward@fluendo.com>
7818         * docs/gst/gstreamer-docs.sgml:
7819         * docs/gst/gstreamer-sections.txt:
7820         the GstURIType documentation page is private, it only defines GstURIType
7821         which should be defined in the GstURIHandler page
7822         
7823 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7825         * gst/gstbin.c: (gst_bin_class_init):
7826         * gst/gstbin.h:
7827         * gst/gstutils.c:
7828         Documentation updates.
7830 2005-10-28  Wim Taymans  <wim@fluendo.com>
7832         * docs/gst/gstreamer-sections.txt:
7833         * gst/gstclock.c:
7834         * gst/gstclock.h:
7835         Documented the clocks.
7837 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7839         * docs/gst/gstreamer-sections.txt:
7840           move some macros to private sections
7841         * gst/gstminiobject.c:
7842         * gst/gstminiobject.h:
7843           add descriptions provided by ds and some more
7844         * gst/gstpad.h:
7845           mark macro as to be removed
7847 2005-10-28  Wim Taymans  <wim@fluendo.com>
7849         * docs/design/part-TODO.txt:
7850         Add an item to TODO.
7852         * gst/gstiterator.c: (gst_iterator_fold),
7853         (gst_iterator_find_custom):
7854         * gst/gstiterator.h:
7855         Add iterator docs.
7857 2005-10-28  Wim Taymans  <wim@fluendo.com>
7859         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7860         (gst_base_transform_init):
7861         Don't leak class.
7863         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7864         An EOS event marks the queue as completely filled.
7866 2005-10-27  Wim Taymans  <wim@fluendo.com>
7868         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7869         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7870         Some more debugging.
7872         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7873         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7874         (gst_base_transform_event), (gst_base_transform_getrange),
7875         (gst_base_transform_chain):
7876         * gst/base/gstbasetransform.h:
7877         Fix debugging,
7878         Protect transform and concurrent buffer alloc with a new lock.
7879         Try not to break ABI/API.
7881 2005-10-27  Wim Taymans  <wim@fluendo.com>
7883         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7884         (gst_base_src_init), (gst_base_src_query),
7885         (gst_base_src_default_newsegment),
7886         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7887         (gst_base_src_send_event), (gst_base_src_event_handler),
7888         (gst_base_src_pad_get_range), (gst_base_src_loop),
7889         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7890         (gst_base_src_start), (gst_base_src_deactivate),
7891         (gst_base_src_activate_push), (gst_base_src_change_state):
7892         Move some stuff around and cleanup things.
7894 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7896         * gst/base/gstbasesrc.c: (gst_base_src_query):
7897           Add missing break statements.
7899 2005-10-27  Wim Taymans  <wim@fluendo.com>
7901         * check/gst/gstbin.c: (GST_START_TEST):
7902         An extra refcount is taken in basesrc.
7904         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7905         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7906         (gst_base_src_loop):
7907         Small cleanups, check for flushing after being unlocked from the 
7908         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7909         Don't send out EOS when going to READY.
7911 2005-10-27  Wim Taymans  <wim@fluendo.com>
7913         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7914         (gst_base_sink_get_position):
7915         Some more debug.
7917         * gst/gstbin.c: (message_check), (bin_replace_message),
7918         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7919         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7920         (bin_query_duration_init), (bin_query_duration_fold),
7921         (bin_query_duration_done), (bin_query_generic_fold),
7922         (gst_bin_query):
7923         * tools/gst-launch.c: (main):
7924         Remove old option.
7926 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7928         * examples/controller/audio-example.c: (main):
7929         * examples/queue/queue.c: (event_loop):
7930         * gst/base/gstbasetransform.h:
7931         * gst/gstelement.c: (gst_element_send_event):
7932         * gst/gstevent.h:
7933         * gst/gstpad.c: (gst_pad_send_event):
7934           fixing examples
7935           fixing docs typos
7936           changing log priority in error situations
7938 2005-10-25  Wim Taymans  <wim@fluendo.com>
7940         * gst/gstbin.c: (message_check), (bin_replace_message),
7941         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7942         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7943         (bin_query_duration_init), (bin_query_duration_fold),
7944         (bin_query_duration_done), (bin_query_generic_fold),
7945         (gst_bin_query):
7946         Some doc and debug updates.
7947         Cache previously requested query DURATION for speed. invalidate
7948         cached duration if element posts a DURATION message.
7950 2005-10-25  Wim Taymans  <wim@fluendo.com>
7952         * docs/design/part-TODO.txt:
7953         Update TODO.
7955         * gst/gstbin.c: (message_check), (bin_replace_message),
7956         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7957         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7958         (bin_query_duration_init), (bin_query_duration_fold),
7959         (bin_query_duration_done), (bin_query_generic_fold),
7960         (gst_bin_query):
7961         Handle SEGMENT_START/DONE messages correctly.
7962         More evolved query algorithm that handles duration queries
7963         correctly.
7965         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7966         (gst_element_get_state_func), (gst_element_abort_state),
7967         (gst_element_commit_state), (gst_element_lost_state):
7968         Some more debugging.
7970         * gst/gstmessage.h:
7971         Added doc.
7973 2005-10-25  Wim Taymans  <wim@fluendo.com>
7975         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7976         Don't use invalid stream_time.
7978         * gst/gstevent.c: (gst_event_new_newsegment):
7979         stream_time in newsegment cannot be undefined.
7981 2005-10-24  Wim Taymans  <wim@fluendo.com>
7983         * gst/gstbus.c:
7984         Doc fix.
7986         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7987         (gst_queue_loop):
7988         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7990 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7992         * docs/libs/tmpl/gstdparam.sgml:
7993         * docs/libs/tmpl/gstdplinint.sgml:
7994         * docs/libs/tmpl/gstdpman.sgml:
7995         * docs/libs/tmpl/gstdpsmooth.sgml:
7996         * docs/libs/tmpl/gstunitconvert.sgml:
7997           these are obsolete
7999 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8001         * configure.ac:
8002           back to HEAD
8004 === release 0.9.4 ===
8006 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8008         * configure.ac:
8009           releasing 0.9.4, "Tyrannosaurus Rex"
8011 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8013         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8014         (gst_file_sink_get_current_offset):
8015           Use fseeko() and ftello() if available. When falling back on
8016           lseek() to get the current offset, fflush() first to make sure
8017           everything is up-to-date and we get the right offset.
8019 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8021         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8022         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8023         * gst/gsterror.c: (_gst_stream_errors_init):
8024         * gst/gsterror.h:
8025         * gst/gstqueue.c: (gst_queue_loop):
8026         * po/POTFILES.in:
8027           remove prematurely added error category and clean up the instances
8029 2005-10-21  Wim Taymans  <wim@fluendo.com>
8031         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8032         (gst_base_sink_get_position), (gst_base_sink_query),
8033         (gst_base_sink_change_state):
8034         Simply set the right flag when going to playing, that's all
8035         we need to do instead of calling a function inside the object
8036         lock (that could take the lock as well and deadlock)
8038 2005-10-21  Wim Taymans  <wim@fluendo.com>
8040         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8041         (gst_base_src_loop):
8042         Don't warn, the peer element knows what to do best when
8043         the seek failed, it might try something else.
8045 2005-10-21  Wim Taymans  <wim@fluendo.com>
8047         * gst/base/gstbasesrc.c: (gst_base_src_init),
8048         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8049         Fix seeking.
8051 2005-10-21  Wim Taymans  <wim@fluendo.com>
8053         * docs/design/part-segments.txt:
8054         More docs.
8056         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8057         Correctly set caps, even on the subbufer.
8059 2005-10-21  Wim Taymans  <wim@fluendo.com>
8061         * docs/gst/gstreamer-docs.sgml:
8062         * docs/gst/gstreamer-sections.txt:
8063         * gst/gstelement.h:
8064         * gst/gstevent.c:
8065         * gst/gstevent.h:
8066         * gst/gstmessage.h:
8067         * gst/gstpad.h:
8068         * gst/gstparse.h:
8069         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8070         * gst/gsttask.h:
8071         * gst/gstutils.c:
8072         * gst/gstutils.h:
8073         And 2% more doc coverage.
8075 2005-10-21  Andy Wingo  <wingo@pobox.com>
8077         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8078         position reporting.
8080 2005-10-20  Wim Taymans  <wim@fluendo.com>
8082         * gst/gsterror.c: (gst_error_get_message):
8083         * gst/gstparse.h:
8084         * gst/gstquery.h:
8085         * gst/gststructure.c:
8086         * gst/gsttrace.c:
8087         * gst/gstutils.c:
8088         More docs.
8090 2005-10-20  Wim Taymans  <wim@fluendo.com>
8092         * gst/gstbuffer.h:
8093         * gst/gstpad.c:
8094         * gst/gstparse.c:
8095         Another 1% more coverage.
8097 2005-10-20  Wim Taymans  <wim@fluendo.com>
8099         * docs/gst/gstreamer-sections.txt:
8100         * gst/gstelement.c: (gst_element_get_state_func),
8101         (gst_element_abort_state), (gst_element_commit_state),
8102         (gst_element_lost_state):
8103         * gst/gstevent.h:
8104         * gst/gstquery.c: (gst_query_set_position),
8105         (gst_query_parse_position), (gst_query_set_duration),
8106         (gst_query_parse_duration), (gst_query_new_convert):
8107         * gst/gstutils.c:
8108         Yay! 1% more docs coverage.
8110 2005-10-20  Wim Taymans  <wim@fluendo.com>
8112         * gst/gstpad.h:
8113         * gst/gstquery.c: (gst_query_set_position),
8114         (gst_query_parse_position), (gst_query_set_duration),
8115         (gst_query_parse_duration), (gst_query_new_convert):
8116         * gst/gstquery.h:
8117         * gst/gstutils.c: (gst_element_query_convert):
8118         * gst/gstutils.h:
8119         Docs and consistency fixes.
8121 2005-10-20  Wim Taymans  <wim@fluendo.com>
8123         * gst/gsttask.c:
8124         * gst/gsttask.h:
8125         More docs.
8127 2005-10-20  Wim Taymans  <wim@fluendo.com>
8129         * gst/gstbin.c: (message_check), (bin_replace_message),
8130         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8131         (update_degree), (gst_bin_sort_iterator_next),
8132         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8133         Reworked the message handling a bit, cache the messages instead of
8134         only the senders. alows us to do more in the future.
8136 2005-10-20  Wim Taymans  <wim@fluendo.com>
8138         * docs/design/part-TODO.txt:
8139         Update TODO
8141         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8142         (gst_base_sink_query):
8143         Don't use clock time to report position when in EOS.
8145 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8147         * tools/gst-inspect.c: (print_interfaces),
8148         (print_element_properties_info), (print_element_info):
8149           Fix interface output with gst-inspect -a; don't print
8150           newlines after double/float properties.
8152 2005-10-20  Wim Taymans  <wim@fluendo.com>
8154         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8155         (gst_base_sink_query):
8156         Speed up current position calculation.
8158         * gst/base/gstbasesrc.c: (gst_base_src_query),
8159         (gst_base_src_default_newsegment):
8160         Correctly set stream position in newsegment.
8162         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8163         (update_degree), (gst_bin_sort_iterator_next),
8164         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8165         * gst/gstmessage.c: (gst_message_new_custom):
8166         Clean up debugging info
8168         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8169         (gst_queue_loop), (gst_queue_handle_src_query):
8170         Pause task faster.
8172 2005-10-19  Wim Taymans  <wim@fluendo.com>
8174         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8175         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8176         Fix query handling again.
8178 2005-10-19  Wim Taymans  <wim@fluendo.com>
8180         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8181         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8182         * gst/base/gstbasesrc.c: (gst_base_src_query):
8183         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8184         * gst/elements/gsttypefindelement.c:
8185         (gst_type_find_handle_src_query), (find_element_get_length),
8186         (gst_type_find_element_activate):
8187         API change fix.
8189         * gst/gstquery.c: (gst_query_new_position),
8190         (gst_query_set_position), (gst_query_parse_position),
8191         (gst_query_new_duration), (gst_query_set_duration),
8192         (gst_query_parse_duration), (gst_query_set_segment),
8193         (gst_query_parse_segment):
8194         * gst/gstquery.h:
8195         Bundling query position/duration is not a good idea since duration
8196         does not change much and we don't want to recalculate it for every
8197         position query, so they are separated again..
8198         Base value in segment query is not needed.
8200         * gst/gstqueue.c: (gst_queue_handle_src_query):
8201         * gst/gstutils.c: (gst_element_query_position),
8202         (gst_element_query_duration), (gst_pad_query_position),
8203         (gst_pad_query_duration):
8204         * gst/gstutils.h:
8205         Updates for query API change.
8206         Added some docs here and there.
8208 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8210         * check/gst/gstbin.c: (GST_START_TEST):
8211         * check/gst/gstghostpad.c: (GST_START_TEST):
8212         * check/pipelines/cleanup.c: (GST_START_TEST):
8213           wait on thread to die so we can check refcount correctly
8215 2005-10-18  Wim Taymans  <wim@fluendo.com>
8217         * check/pipelines/stress.c: (GST_START_TEST):
8218         Make check a little more time consuming.
8220 2005-10-18  Wim Taymans  <wim@fluendo.com>
8222         * check/Makefile.am:
8223         * check/pipelines/stress.c: (GST_START_TEST),
8224         (simple_launch_lines_suite), (main):
8225         Small state change torture test.
8227         * docs/design/part-states.txt:
8228         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8229         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8230         (gst_base_sink_change_state):
8231         Never take state lock from streaming thread, clean up ugly
8232         hacks. Unfortunatly core does not yet support nice ways to
8233         async commit state.
8234         
8235         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8236         (bin_bus_handler):
8237         Start state recalc if a STATE_DIRTY message is posted, but only
8238         on the toplevel bin.
8240         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8241         (gst_element_get_state_func), (gst_element_abort_state),
8242         (gst_element_commit_state), (gst_element_lost_state),
8243         (gst_element_set_state_func), (gst_element_change_state):
8244         * gst/gstelement.h:
8245         State variables are now protected with the LOCK, the state
8246         lock is only used to serialize _set_state().
8248 2005-10-18  Wim Taymans  <wim@fluendo.com>
8250         * check/gst/gstbin.c: (GST_START_TEST):
8251         * check/gst/gstmessage.c: (GST_START_TEST):
8252         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8253         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8254         (bin_bus_handler):
8255         * gst/gstelement.c: (gst_element_abort_state),
8256         (gst_element_commit_state), (gst_element_lost_state):
8257         * gst/gstmessage.c: (gst_message_new_state_changed),
8258         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8259         (gst_message_new_segment_done), (gst_message_new_duration),
8260         (gst_message_parse_state_changed),
8261         (gst_message_parse_segment_start),
8262         (gst_message_parse_segment_done), (gst_message_parse_duration):
8263         * gst/gstmessage.h:
8264         * tools/gst-launch.c: (event_loop):
8265         Seriously, this is better than a previous commit as we only need
8266         to notify the fact that an element changed state in a streaming
8267         thread, marking the state of the parents dirty, hence the 
8268         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8269         message.
8271 2005-10-18  Wim Taymans  <wim@fluendo.com>
8273         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8274         (gst_bin_recalc_func):
8275         * gst/gstelement.c: (gst_element_set_clock),
8276         (gst_element_abort_state), (gst_element_lost_state):
8277         Cleanups, prepare for state change fixes.
8279 2005-10-18  Wim Taymans  <wim@fluendo.com>
8281         * gst/gstbin.h:
8282         * gst/gstelement.c: (gst_element_class_init),
8283         (gst_element_set_state), (gst_element_set_state_func):
8284         * gst/gstelement.h:
8285         Pending ABI changes.
8286         GThreadPool in GstBinClass to monitor async state changes.
8287         state_cookie in GstElement to detect concurrent gst/set state.
8288         set_state is now virtual too in case a very complicated element
8289         has to be constructed.
8291 2005-10-18  Wim Taymans  <wim@fluendo.com>
8293         * check/gst/gstbin.c: (GST_START_TEST):
8294         * check/gst/gstmessage.c: (GST_START_TEST):
8295         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8296         * gst/gstbin.c: (bin_bus_handler):
8297         * gst/gstelement.c: (gst_element_commit_state),
8298         (gst_element_lost_state):
8299         * gst/gstmessage.c: (gst_message_new_state_changed),
8300         (gst_message_new_segment_start), (gst_message_new_segment_done),
8301         (gst_message_new_duration), (gst_message_parse_state_changed),
8302         (gst_message_parse_segment_start),
8303         (gst_message_parse_segment_done), (gst_message_parse_duration):
8304         * gst/gstmessage.h:
8305         * tools/gst-launch.c: (event_loop):
8306         Make messages future proof.
8307         state-change gets a flag if it was a message comming from the
8308         streaming thread.
8309         segment-start/stop can also be specified in other formats.
8310         A message to notify an app that a pipeline changed playback 
8311         duration.
8312         Also fix a GstMessage leak in -launch
8314 2005-10-18  Andy Wingo  <wingo@pobox.com>
8316         * gst/gstelement.c (gst_element_dispose): More helpful message.
8318 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8320         reviewed by: <delete if not using a buddy>
8322         * common/gtk-doc.mak:
8324 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8326         * gst/gstregistry.c: (gst_registry_scan_path_level):
8327           unref a plug-in we get that was already initialized
8329 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8331         * docs/gst/gstreamer-sections.txt:
8332         * docs/libs/gstreamer-libs-sections.txt:
8333         * gst/gstelement.h:
8334           add new api entries
8335           hide internal macro
8337 2005-10-17  Andy Wingo  <wingo@pobox.com>
8339         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8340         cleanup.
8342         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8344         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8346         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8347         (gst_element_get_state_func): Better debug message.
8348         (gst_element_commit_state): s/INFO/DEBUG/.
8349         (gst_element_lost_state, gst_element_change_state): 
8351         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8352         (gst_message_new_custom): s/INFO/LOG/.
8354 2005-10-17  Michael Smith <msmith@fluendo.com>
8356         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8357           Check if end time is valid using end time, not start time.
8359 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8361         * check/gst-libs/controller.c: (GST_START_TEST),
8362         (gst_controller_suite):
8363         * libs/gst/controller/gstcontroller.c:
8364         (gst_controlled_property_set_interpolation_mode):
8365         * libs/gst/controller/gstcontroller.h:
8366         * libs/gst/controller/gstinterpolation.c:
8367         * testsuite/controller/.cvsignore:
8368         * testsuite/controller/Makefile.am:
8369         * testsuite/controller/interpolator.c:
8370           merge controller testsuites
8371           fix broken tests
8372           remove mem-chunk from docs
8374 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8376         * gst/gstmemchunk.c:
8377         * gst/gstmemchunk.h:
8378         * gst/gsttrashstack.c:
8379         * gst/gsttrashstack.h:
8380           out.  get out.  you're fired.  to the Attic !
8382 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8384         * gst/gstcaps.c: (gst_caps_intersect):
8385           fix signedness issues in a (hopefully) correct way
8386         * gst/gstelement.c: (gst_element_pads_activate):
8387           some debugging
8388         * gst/gstobject.c: (gst_object_set_parent):
8389           some debugging
8391 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8393         * gst/gstvalue.h: Fix prototypes.
8395 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8397         * docs/gst/gstreamer-sections.txt:
8398         * gst/gst.c: (gst_version_string):
8399         * gst/gst.h:
8400         * gst/gstversion.h.in:
8401         * win32/common/libgstreamer.def:
8402           add gst_version_string ()
8404 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8406         * configure.ac:
8407           clean up further
8408         * gst/gst.c: (init_post):
8409         * win32/common/config.h.in:
8410           it's PLUGINDIR now
8411         * gst/gstcaps.c: (gst_caps_intersect):
8412           use gint64, the range could be bigger than a guint
8414 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8416         * gst/gstclock.h:
8417           document potential problem in 2038
8419 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8421         * gst/gstcaps.c: (gst_caps_intersect):
8422           Fix guint j diving under 0
8424 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8426         * configure.ac:
8427         * win32/common/config.h:
8428         * win32/common/config.h.in:
8429           check for process.h, declares getpid() on Windows
8430         * gst/gstinfo.c:
8431           include process.h if we have it
8432         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8433         * gst/gstmemchunk.h:
8434           fix signedness issues
8435         * win32/common/libgstreamer.def:
8436           fix get_type's
8438 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8440         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8441         fix. Because of unsigned ints, caps intersection was going nuts and
8442         trying to access structures with G_MAXUINT index. That fixes
8443         videotestsrc ! ffmpegcolorspace ! fakesink
8444         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8445         consistency.
8447 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8449         * configure.ac:
8450           use the gettext macro
8451         * gst/elements/gstelements.c:
8452         * gst/gst.c:
8453         * gst/indexers/gstindexers.c:
8454           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8455         * win32/common/config.h:
8456           updated config.h
8457         * win32/common/config.h.in:
8458           add the template to generate config.h
8459         * win32/common/gstenumtypes.c:
8460         * win32/common/gstversion.h:
8461           updated copies
8463 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8465         * gst/gst.c: (gst_version):
8466         * gst/gstversion.h.in:
8467           add the nano
8469 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8471         * gst/gstevent.h:
8472           Oops, add missing closing bracket.
8474 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8476         * configure.ac:
8477           use common m4's for argument checking
8479 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8481         * docs/gst/gstreamer-sections.txt:
8482         * gst/gstevent.h:
8483           Add GST_EVENT_TYPE_NAME() macro.
8485 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8487         * gst/gstinfo.c:
8488         * gst/gstpluginfeature.c:
8489         * gst/gsttask.c:
8490           privatize more symbols
8492 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8494         * configure.ac:
8495           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8496           everything that uses GStreamer API should have the includes
8498 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8500         * docs/gst/gstreamer-sections.txt:
8501         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8502         * gst/gstvalue.h:
8503           give each value a _get_type, removes the DATA exports
8505 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8507         * gst/gst.c:
8508         * gst/gst.h:
8509           remove _gst_registry_auto_load, not used anymore
8510         * gst/gstbin.c: (gst_bin_get_type):
8511         * gst/gstbin.h:
8512         * gst/gstelement.c: (gst_element_get_type):
8513         * gst/gstelement.h:
8514         * gst/gstobject.c: (gst_object_get_type):
8515         * gst/gstobject.h:
8516         * gst/gstpad.c: (gst_pad_get_type):
8517         * gst/gstpad.h:
8518           make _get_type functions similar, fixes data export from library
8520 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8522         * configure.ac:
8523           correctly make conditionals
8524         * gst/elements/Makefile.am:
8525         * gst/elements/gstelements.c:
8526           fix typo causing fdsrc not to build
8528 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8530         * testsuite/Makefile.am:
8531         * testsuite/bytestream/.cvsignore:
8532         * testsuite/bytestream/Makefile.am:
8533         * testsuite/bytestream/filepadsink.c:
8534         * testsuite/bytestream/gstbstest.c:
8535         * testsuite/bytestream/test1.c:
8536         * testsuite/bytestream/testfile1:
8537         * testsuite/caps/normalisation.c:
8538         * testsuite/caps/random.c: (main):
8539         * testsuite/cleanup/.cvsignore:
8540         * testsuite/cleanup/Makefile.am:
8541         * testsuite/cleanup/cleanup1.c:
8542         * testsuite/cleanup/cleanup2.c:
8543         * testsuite/cleanup/cleanup3.c:
8544         * testsuite/cleanup/cleanup4.c:
8545         * testsuite/cleanup/cleanup5.c:
8546         * testsuite/controller/interpolator.c:
8547         * testsuite/debug/printf_extension.c: (main):
8548         * testsuite/elements/tee.c:
8549         * testsuite/negotiation/.cvsignore:
8550         * testsuite/negotiation/Makefile.am:
8551         * testsuite/negotiation/pad_link.c:
8552         * testsuite/pad/Makefile.am:
8553         * testsuite/pad/chainnopull.c:
8554         * testsuite/pad/getnopush.c:
8555         * testsuite/pad/link.c:
8556         * testsuite/refcounting/sched.c: (create_pipeline):
8557         * testsuite/registry/Makefile.am:
8558         * testsuite/registry/gst-print-formats.c:
8559         * testsuite/schedulers/.cvsignore:
8560         * testsuite/schedulers/142183-2.c:
8561         * testsuite/schedulers/142183.c:
8562         * testsuite/schedulers/143777-2.c:
8563         * testsuite/schedulers/143777.c:
8564         * testsuite/schedulers/147713.c:
8565         * testsuite/schedulers/147819.c:
8566         * testsuite/schedulers/147894-2.c:
8567         * testsuite/schedulers/147894.c:
8568         * testsuite/schedulers/Makefile.am:
8569         * testsuite/schedulers/group_link.c:
8570         * testsuite/schedulers/queue_link.c:
8571         * testsuite/schedulers/relink.c:
8572         * testsuite/schedulers/unlink.c:
8573         * testsuite/schedulers/unref.c:
8574         * testsuite/schedulers/useless_iteration.c:
8575         * testsuite/states/bin.c:
8576           clean out/remove some stuff from the testsuite directories
8578 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8580         * configure.ac:
8581           check for some headers
8582         * gst/elements/Makefile.am:
8583         * gst/elements/gstelements.c:
8584           don't compile fdsrc without sys/socket.h
8585         * gst/indexers/Makefile.am:
8586         * gst/indexers/gstindexers.c: (plugin_init):
8587           don't compile fileindex without mmap
8589 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8591         * configure.ac:
8592           reorganize
8593           clean up
8594           document more
8595           remove cruft
8596         * check/Makefile.am:
8597         * docs/gst/Makefile.am:
8598         * examples/helloworld/Makefile.am:
8599         * gst/Makefile.am:
8600         * gst/base/Makefile.am:
8601         * gst/check/Makefile.am:
8602         * gst/elements/Makefile.am:
8603         * gst/indexers/Makefile.am:
8604         * gst/parse/Makefile.am:
8605         * libs/gst/controller/Makefile.am:
8606         * libs/gst/dataprotocol/Makefile.am:
8607         * examples/helloworld/helloworld.c: (event_loop):
8608           compile fixes, though it's not being compiled currently
8610 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8612         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8613           Add some simple tests for the new taglist date API.
8615 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8617         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8618         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8619           Beautify 'last-message' output: print 'none' for buffer timestamps
8620           and durations if none is set; improve alignment with next messages.
8622 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8624         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8625         * gst/gstpluginfeature.h:
8626         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8627         * gst/gstregistry.h:
8628         * docs/gst/gstreamer-sections.txt:
8629           Add new API to check plugin feature version requirements.
8631         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8632           Some basic tests for the above.         
8634 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8636         * gst/gststructure.c: (gst_structure_to_string):
8637           guard against NULL printf - happens when for example
8638           a message structure with GstClock gets serialized
8640 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8642         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8643           Fix presumable copy'n'pasto.
8645 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8647         * gst/elements/gstfakesrc.h:
8648         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8649         * gst/elements/gsttypefindelement.c:
8650           fix some signedness
8651         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8652           I wonder if this could actually write +2GB files before
8654 2005-10-13  Andy Wingo  <wingo@pobox.com>
8656         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8657         Fix Timmeke Waymans bug.
8658         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8659         string of the proper length to gst_caps_from_string. There's a
8660         potential for, before this fix, that this could cause someone
8661         connecting over the network to cause a segfault if the payload is
8662         not NUL-terminated.
8664 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8666         * docs/design/draft-push-pull.txt:
8667         * docs/design/part-overview.txt:
8668         * docs/random/TODO-pre-0.9:
8669         * docs/random/old/ChangeLog.gstreamer:
8670         * gst/base/gstpushsrc.c:
8671         * gst/gstclock.c:
8672           fixed typos
8674 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8676         * gst/glib-compat.c: (gst_flags_get_first_value):
8677         * gst/glib-compat.h:
8678         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8679         (gst_value_compare_double), (gst_value_serialize_flags):
8680           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8681           infinite loop
8683 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8685         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8686         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8687           fix up debugging
8688         * tools/gst-launch.c: (event_loop):
8689           print out clock nicely
8691 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8693         * docs/gst/gstreamer-sections.txt:
8694         * gst/gsttaglist.h:
8695         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8696         (gst_tag_list_get_date_index):
8697           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8698           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8700 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8702         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8703         (gst_collectpads_chain):
8704         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8705         in CollectData.
8707 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8709         * docs/gst/gstreamer-sections.txt:
8710         * gst/gst.c:
8711         * gst/gsterror.h:
8712         * tools/gst-inspect.c: (main):
8713         * tools/gst-launch.c: (main):
8714         * tools/gst-run.c: (main):
8715         * tools/gst-xmlinspect.c: (main):
8716           fix GOption context leaks
8717           doc fixes
8719 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8721         * gst/gstbus.c:
8722           use HAVE_UNISTD_H
8723         * win32/common/config.h:
8724           update config
8725         * win32/vs6/grammar.dsp:
8726         * win32/vs6/libgstelements.dsp:
8727         * win32/vs6/libgstreamer.dsp:
8728           update vs6 files
8730 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8732         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8733         * gst/base/gstbasesrc.c: (gst_base_src_query):
8734           fix more guint64<->gdouble conversions
8736 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8738         * Makefile.am:
8739           add win32-update target
8740         * win32/common/gstconfig.h:
8741         * win32/common/gstenumtypes.c:
8742         * win32/common/gstenumtypes.h:
8743         * win32/common/gstversion.h:
8744           add files that visual studio can't generate
8746 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8748         * Makefile.am:
8749           add a win32-update target
8750         * configure.ac:
8752 2005-10-12  Wim Taymans  <wim@fluendo.com>
8754         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8755         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8756         * gst/gstelement.c: (gst_element_commit_state),
8757         (gst_element_set_state):
8758         Protect flags with proper lock.
8759         unref provided cached clock in dispose.
8761 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8763         * gst/gst.c:
8764         * gst/gstminiobject.h:
8765         * gst/gstpad.h:
8766         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8767           removed unused flags from miniobject
8768           doc fixes
8770 2005-10-12  Wim Taymans  <wim@fluendo.com>
8772         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8773         (gst_file_sink_event), (gst_file_sink_render):
8774         Flush before seeking.
8776 2005-10-12  Andy Wingo  <wingo@pobox.com>
8778         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8779         always been the case.
8781 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8783         * check/gst/gstbin.c: (GST_START_TEST):
8784         * docs/gst/gstreamer-sections.txt:
8785         * gst/base/gstbasesink.c: (gst_base_sink_init):
8786         * gst/base/gstbasesrc.c: (gst_base_src_init),
8787         (gst_base_src_get_range), (gst_base_src_check_get_range),
8788         (gst_base_src_start), (gst_base_src_stop):
8789         * gst/base/gstbasesrc.h:
8790         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8791         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8792         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8793         (bin_bus_handler):
8794         * gst/gstbin.h:
8795         * gst/gstbuffer.h:
8796         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8797         * gst/gstbus.h:
8798         * gst/gstelement.c: (gst_element_is_locked_state),
8799         (gst_element_set_locked_state), (gst_element_commit_state),
8800         (gst_element_set_state):
8801         * gst/gstelement.h:
8802         * gst/gstindex.c: (gst_index_init):
8803         * gst/gstindex.h:
8804         * gst/gstminiobject.h:
8805         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8806         (gst_object_set_parent):
8807         * gst/gstobject.h:
8808         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8809         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8810         * gst/gstpad.h:
8811         * gst/gstpadtemplate.h:
8812         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8813         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8814         * gst/gstpipeline.h:
8815         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8816         (gst_file_index_commit):
8817         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8818         * testsuite/pad/link.c: (gst_test_src_init),
8819         (gst_test_filter_init), (gst_test_sink_init):
8820         * testsuite/states/locked.c: (main):
8821           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8822           moved bitshift from macro to enum definition
8824 2005-10-12  Wim Taymans  <wim@fluendo.com>
8826         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8827         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8828         (gst_file_sink_render):
8829         Some more debugging info.
8831 2005-10-12  Wim Taymans  <wim@fluendo.com>
8833         * docs/design/part-states.txt:
8834         * tools/gst-launch.c: (main):
8835         Some doc updates.
8836         Revert non-intentional change.
8838 2005-10-12  Wim Taymans  <wim@fluendo.com>
8840         * check/gst/gstbin.c: (GST_START_TEST):
8841         * check/gst/gstelement.c: (GST_START_TEST):
8842         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8843         * check/gst/gstghostpad.c: (GST_START_TEST):
8844         * check/gst/gstpipeline.c: (GST_START_TEST):
8845         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8846         * check/states/sinks.c: (GST_START_TEST):
8847         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8848         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8849         (gst_bin_remove_func), (gst_bin_get_state_func),
8850         (gst_bin_recalc_state), (gst_bin_change_state_func),
8851         (bin_bus_handler):
8852         * gst/gstelement.c: (gst_element_get_state_func),
8853         (gst_element_get_state), (gst_element_abort_state),
8854         (gst_element_commit_state), (gst_element_set_state),
8855         (gst_element_change_state), (gst_element_change_state_func):
8856         * gst/gstelement.h:
8857         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8858         (gst_pipeline_provide_clock_func):
8859         * gst/gstutils.c: (gst_element_link_pads_filtered):
8860         * tools/gst-launch.c: (main):
8861         * tools/gst-typefind.c: (main):
8862         Use GstClockTime in _get_state() instead of GTimeVal.
8863         Remove old code in gstutils.c
8865 2005-10-12  Andy Wingo  <wingo@pobox.com>
8867         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8868         removed.
8870         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8871         there is no task. Shouldn't affect any code, as nothing in our
8872         plugins checks this return value.
8873         (gst_pad_stop_task): Also take the stream lock if the pad has no
8874         task. Docs updated.
8876 2005-10-12  Wim Taymans  <wim@fluendo.com>
8878         * gst/gstpad.c: (pre_activate), (post_activate),
8879         (gst_pad_activate_pull), (gst_pad_activate_push):
8880         Cleanup activation code. Reset old state if
8881         activation failed.
8883 2005-10-12  Wim Taymans  <wim@fluendo.com>
8885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8886         (gst_base_sink_change_state):
8887         No need to prerol after receiving EOS.
8889         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8890         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8891         * gst/elements/gstidentity.c: (gst_identity_event):
8892         Print events more verbosely.
8894 2005-10-12  Wim Taymans  <wim@fluendo.com>
8896         * check/Makefile.am:
8897         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8898         * check/states/sinks2.c:
8899         Moved sinks2 testcode in sinks check.
8901         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8902         (gst_bin_remove_func), (gst_bin_recalc_state),
8903         (gst_bin_change_state_func), (bin_bus_handler):
8904         Fix potential race condition when _get_state() iterated over an
8905         ASYNC element right before it posted a state completion.
8907         * gst/gstclock.h:
8908         Do proper cast here.
8910         * gst/gstevent.c: (gst_event_new_newsegment),
8911         (gst_event_parse_newsegment):
8912         A playback rate of 0.0 is not allowed.
8914 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8916         * win32/common/config.h:
8917         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8918         (_trewinddir), (_ttelldir), (_tseekdir):
8919         * win32/common/dirent.h:
8920         * win32/common/gtchar.h:
8921         * win32/common/libgstbase.def:
8922         * win32/common/libgstreamer.def:
8923         * win32/vs6/grammar.dsp:
8924         * win32/vs6/gst_inspect.dsp:
8925         * win32/vs6/gst_launch.dsp:
8926         * win32/vs6/gstreamer.dsw:
8927         * win32/vs6/libgstbase.dsp:
8928         * win32/vs6/libgstelements.dsp:
8929         * win32/vs6/libgstreamer.dsp:
8930           Visual Studio 6 project files, and a new common directory.
8931           Phear.
8933 2005-10-11  Wim Taymans  <wim@fluendo.com>
8935         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8936         (gst_base_sink_do_sync), (gst_base_sink_query),
8937         (gst_base_sink_change_state):
8938         * gst/base/gstbasesink.h:
8939         Correctly parse newsegment info.
8941 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8943         * gst/gst.c: (init_post):
8944           split plugin paths correctly
8946 2005-10-11  Wim Taymans  <wim@fluendo.com>
8948         * check/gst/gstevent.c: (GST_START_TEST):
8949         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8950         (gst_base_sink_change_state):
8951         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8952         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8953         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8954         * gst/gstevent.c: (gst_event_new_newsegment),
8955         (gst_event_parse_newsegment):
8956         * gst/gstevent.h:
8957         Added extra flag to newsegment for future API freeze.
8958         Updated check and base elements.
8960 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8962         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8963         (gst_collectpads_add_pad), (gst_collectpads_pop),
8964         (gst_collectpads_event), (gst_collectpads_chain):
8965         * gst/base/gstcollectpads.h: Handle EOS correctly.
8967 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8969         * tools/gst-launch.c: (main):
8970           more null protecting
8972 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8974         * gst/gst-i18n-lib.h:
8975           check for ENABLE_NLS, not GETTEXT_PACKAGE
8976         * gst/gstregistry.c: (gst_registry_add_plugin),
8977         (gst_registry_scan_path_level),
8978         (_gst_registry_remove_cache_plugins):
8979           protect possibly NULL strings
8980         * gst/parse/types.h:
8981           config.h already included before
8982         * tools/gst-inspect.c: (main):
8983           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8984           check for ENABLE_NLS, not GETTEXT_PACKAGE
8985         * tools/gst-launch.c: (main):
8986           check for ENABLE_NLS, not GETTEXT_PACKAGE
8988 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8990         * configure.ac:
8991           if we don't have glib, fail before testing 2.8
8992         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8993           fix a leak, should fix plugins-base testsuite
8995 2005-10-11  Andy Wingo  <wingo@pobox.com>
8997         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8998         take the mode we're going to as an arg. Go head and set the mode
8999         and flushing flags now, so that if the activate function starts a
9000         thread all the flags will be in the right state.
9001         (post_activate): Renamed also. Just handle making sure streaming
9002         finishes for the deactivation case, and setting the deactivated
9003         mode.
9004         (gst_pad_set_active): Complain loudly if deactivation fails.
9005         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9006         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9007         remove the terrible hack.
9009 2005-10-11  Wim Taymans  <wim@fluendo.com>
9011         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9012         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9013         (gst_bin_recalc_state), (gst_bin_change_state_func),
9014         (gst_bin_dispose), (bin_bus_handler):
9015         * gst/gstbin.h:
9016         Prepare to make current EOS message queue more generic.
9017         Fix some typos.
9019         * gst/gstevent.c: (gst_event_new_newsegment),
9020         (gst_event_parse_newsegment):
9021         * gst/gstevent.h:
9022         Rename base to stream_time.
9024         * gst/gstmessage.h:
9025         Fix typo in docs.
9027 2005-10-11  Wim Taymans  <wim@fluendo.com>
9029         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9030         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9031         (gst_bin_change_state_func), (bin_bus_handler):
9032         * gst/gstbin.h:
9033         Work on proper clock selection.
9035 2005-10-11  Edward Hervey  <edward@fluendo.com>
9037         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9038         * libs/gst/controller/gstcontroller.h:
9039         Added GList* version of _remove_properties() in order to be able to wrap
9040         it in bindings.
9042 2005-10-11  Wim Taymans  <wim@fluendo.com>
9044         * docs/design/part-states.txt:
9045         Some more docs.
9047         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9048         (gst_bin_change_state_func), (bin_bus_handler):
9049         Doc updates. Don't distribute the same clock over and over again.
9051         * gst/gstclock.c:
9052         * gst/gstclock.h:
9053         Doc updates.
9055         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9056         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9057         (gst_pad_send_event):
9058         * gst/gstpad.h:
9059         Make probe emission threadsafe again.
9060         Register quarks and move _get_name() from utils.
9061         Doc updates.
9063         * gst/gstpipeline.c: (gst_pipeline_class_init),
9064         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9065         Only redistribute the clock of it changed.
9067         * gst/gstsystemclock.h:
9068         Doc updates. 
9070         * gst/gstutils.c:
9071         * gst/gstutils.h:
9072         Moved the _flow_get_name() to GstPad.
9074 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9076         * check/gst-libs/gdp.c: (GST_START_TEST):
9077         * check/gst/gstcaps.c: (GST_START_TEST):
9078         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9079         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9080         (gst_dp_packet_from_caps):
9081           fix more valgrind warnings before turning up the heat
9083 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9085         * gst/parse/grammar.y:
9086           some cleanup before the hacking
9088 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9090         * gst/base/gstbasesrc.c: (gst_base_src_query):
9091           use conversions
9092         * gst/gstutils.c: (gst_guint64_to_gdouble),
9093         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9094         * gst/gstutils.h:
9095           externalize, basesrc uses it
9096           obviously the implementation needs testing
9098 2005-10-10  Wim Taymans  <wim@fluendo.com>
9100         * tests/sched/Makefile.am:
9101         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9102         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9104 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9106         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9107           apparently converting from guint64 to double is not implemented
9108           on MSVC
9110 2005-10-10  Wim Taymans  <wim@fluendo.com>
9112         * check/Makefile.am:
9113         * check/generic/states.c: (GST_START_TEST):
9114         * check/gst/gstbin.c: (GST_START_TEST):
9115         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9116         * check/states/sinks.c: (GST_START_TEST):
9117         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9118         (main):
9119         Check fixes, use API as stated in design docs, remove hacks.
9121         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9122         (gst_base_sink_change_state):
9123         Catch stopping our task while we're shutting down.
9125         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9126         (gst_bin_remove_func), (gst_bin_get_state_func),
9127         (gst_bin_recalc_state), (gst_bin_change_state_func),
9128         (bin_bus_handler):
9129         * gst/gstbin.h:
9130         * gst/gstelement.c: (gst_element_init),
9131         (gst_element_get_state_func), (gst_element_abort_state),
9132         (gst_element_commit_state), (gst_element_lost_state),
9133         (gst_element_set_state), (gst_element_change_state),
9134         (gst_element_change_state_func):
9135         * gst/gstelement.h:
9136         New state change algorithm (see #318116)
9138         * gst/gstpipeline.c: (gst_pipeline_class_init),
9139         (gst_pipeline_init), (gst_pipeline_set_property),
9140         (gst_pipeline_get_property), (do_pipeline_seek),
9141         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9142         * gst/gstpipeline.h:
9143         Remove crude state change hacks.
9145         * gst/gstutils.h:
9146         Remove crude hacks.
9148         * tools/gst-launch.c: (main):
9149         Fixes for state change. Needs some more work to fully use the
9150         new stuff.
9152 2005-10-10  Andy Wingo  <wingo@pobox.com>
9154         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9156         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9157         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9158         issue.
9160 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9162         * gst/gstiterator.c: (gst_iterator_new):
9163           Fix my previous commit: GTypes passed to gst_iterator_new()
9164           can be fundamental types.
9166 2005-10-10  Wim Taymans  <wim@fluendo.com>
9168         * gst/gstelement.c: (gst_element_iterate_pad_list),
9169         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9170         (gst_element_iterate_sink_pads):
9171         Use src/sink pads lists for the respective iterators instead
9172         of filtering.
9174 2005-10-10  Andy Wingo  <wingo@pobox.com>
9176         Merged in popt removal + GOption addition patch from Ronald, bug
9177         #169772.
9179         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9180         GstElement macros around, remove popt-related symbols, add goption
9181         stuff.
9183         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9184         
9185         * docs/gst/Makefile.am:
9186         * docs/libs/Makefile.am: No POPT_CFLAGS.
9187         
9188         * examples/manual/Makefile.am:
9189         * docs/manual/basics-init.xml: Doc updates with an example.
9190         
9191         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9192         (gst_init), (parse_one_option), (parse_goption_arg):
9193         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9194         bit of hand merging and debugging to get the GOption stuff working
9195         tho.
9196         
9197         * tests/Makefile.am:
9198         * tools/Makefile.am:
9199         * tools/gst-inspect.c: (main):
9200         * tools/gst-launch.c: (main):
9201         * tools/gst-run.c: (main):
9202         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9204 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9206         * gst/gstiterator.c: (gst_iterator_new):
9207           Add assertions to make sure passed GType is likely to really
9208           be a GType (as the compiler won't catch it if the size and
9209           GType arguments get mixed up, see #318447).
9211 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9213         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9215         * gst/gstbin.c: (gst_bin_iterate_sorted):
9216           Pass GType and size arguments to gst_iterator_new() in the right
9217           order (maybe we should make _new() take the GType as first argument
9218           just like _new_list()?) (#318447).
9219           
9221 2005-10-10  Wim Taymans  <wim@fluendo.com>
9223         * gst/gstelement.c: (gst_element_finalize):
9224         And free the GStaticRecMutex too
9226 2005-10-10  Andy Wingo  <wingo@pobox.com>
9228         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9229         Allocate and free the mutex properly.
9231         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9232         New macros.
9233         (GstElement): The state_lock is now recursive. Rebuild your
9234         plugins, suckers. Old macros adapted.
9236         * docs/gst/gstreamer-sections.txt: Doc updates.
9238         * gst/gstutils.h:
9239         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9240         (g_static_rec_cond_wait): Ported from state changes patch, while
9241         we wait on bug #317802 to be solved in a well-distributed GLib.
9243         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9244         gst_element_change_state, variable name changes.
9245         (gst_element_change_state): Split out of gst_element_set_state in
9246         preparation for the state change merge. Doesn't pay attention to
9247         the 'transition' argument.
9248         (gst_element_set_state): Updates, hopefully purely cosmetic.
9249         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9250         state change patch.
9251         (gst_element_get_state_func): Renamed from get_state, cosmetic
9252         changes.
9254 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9256         * gst/elements/gstelements.c:
9257         * win32/GStreamer.vcproj:
9258         * win32/config.h:
9259         * win32/dirent.c: (_tseekdir):
9260         * win32/gst-inspect.vcproj:
9261         * win32/gst-launch.vcproj:
9262         * win32/gstconfig.h:
9263         * win32/gstelements.vcproj:
9264         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9265         * win32/gstreamer.def:
9266         * win32/msvc71.sln:
9267           updates for the win32 build (patch from Sebastien Moutte)
9269 2005-10-10  Andy Wingo  <wingo@pobox.com>
9271         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9272         gst_bin_get_state, cleaned up (but no logic changes).
9273         (bin_element_is_sink): Comment updates.
9274         (sink_iterator_filter): Remove needless cast.
9275         (gst_bin_iterate_sinks): Doc update.
9276         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9277         cleaned up (but no logic changes).
9279         * check/states/sinks.c (test_src_sink): Cleanups from the state
9280         change patch.
9281         (test_livesrc_sink): Sync on the state.
9283         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9284         the state change patch.
9286         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9287         change patch.
9289         * check/gst/gstbin.c: Merge in some style fixes and additional
9290         checks from Wim's state change patch.
9292 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9294         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9295         (gst_type_find_helper):
9296           Check whether we have the requested data already in our list of
9297           cached buffers before pulling a new buffer; also make the buffer
9298           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9300 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9302         * gst/gstcaps.c:
9303         * gst/gstevent.c:
9304           doc updates
9305         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9306           don't use long long, it's not portable.  Replacing with
9307           gint64 seems to work; let's hope no skeletons fall out of the closet.
9309 2005-10-10  Andy Wingo  <wingo@pobox.com>
9311         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9313 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9315         * docs/gst/gstreamer-sections.txt:
9316         * gst/gstevent.c:
9317         * gst/gstevent.h:
9318         * gst/gstinfo.c:
9319         * gst/gstinfo.h:
9320         * gst/gstmessage.c: (gst_message_parse_state_changed):
9321         * gst/gstpad.c:
9322         * gst/gstpad.h:
9323           more docs, fix compilation
9325 2005-10-09  Philippe Khalaf <burger@speedy.org>
9326         * gst/gstmessage.c:
9327           Fixed a few forgotten variables on previous commit
9329 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9331         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9332           Fix evil typefind crasher: getrange() might return a short
9333           buffer at the end of a file, but gst_type_find_peek() must
9334           either return the full data as requested or NULL, but
9335           never a short buffer.
9337 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9339         * gst/gstmessage.c: (gst_message_new_state_changed),
9340         (gst_message_parse_state_changed):
9341         * gst/gstmessage.h:
9342           don't use "new", it's a C++ keyword
9344 2005-10-08  Wim Taymans  <wim@fluendo.com>
9346         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9347         * gst/gstelement.c: (gst_element_post_message):
9348         * gst/gstpipeline.c: (gst_pipeline_change_state):
9349         Small docs and debug updates.
9351 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9353         * docs/gst/gstreamer-sections.txt:
9354         * gst/gstelementfactory.c:
9355         * gst/gstevent.c:
9356         * gst/gsttaglist.c:
9357           more docs
9359 2005-10-08  Wim Taymans  <wim@fluendo.com>
9361         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9362         (gst_bin_dispose), (bin_bus_handler):
9363         Fix typos, add comments.
9364         Clear EOS list when going to PAUSED from any direction and do it
9365         in a threadsafe way.
9366         Get base time in a threadsafe way too.
9367         Fix confusing debug in the change_state function.
9368         Various other small cleanups.
9369         
9370         * gst/gstelement.c: (gst_element_post_message):
9371         Fix very verbose bus posting code.
9373         * gst/gstpipeline.c: (gst_pipeline_class_init),
9374         (gst_pipeline_set_property), (gst_pipeline_get_property),
9375         (gst_pipeline_change_state):
9376         Small ARG_ -> PROP_ cleanup
9378 2005-10-08  Wim Taymans  <wim@fluendo.com>
9380         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9381         Do a less CPU demanding EOS check because we can.
9383 2005-10-08  Wim Taymans  <wim@fluendo.com>
9385         * libs/gst/dataprotocol/dataprotocol.c:
9386         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9387         (gst_dp_packet_from_event):
9388         * libs/gst/dataprotocol/dataprotocol.h:
9389         * libs/gst/dataprotocol/dp-private.h:
9390         It's about time we bump the version number.
9391         Since event types don't fit in the guint8 anymore describing
9392         the payload type, make payload type 16 bits wide.
9394 2005-10-08  Wim Taymans  <wim@fluendo.com>
9396         * docs/design/part-TODO.txt:
9397         * docs/design/part-clocks.txt:
9398         * docs/design/part-events.txt:
9399         * docs/design/part-gstbin.txt:
9400         * docs/design/part-gstelement.txt:
9401         * docs/design/part-gstpipeline.txt:
9402         * docs/design/part-live-source.txt:
9403         * docs/design/part-messages.txt:
9404         * docs/design/part-overview.txt:
9405         * docs/design/part-states.txt:
9406         Many doc updates.
9408 2005-10-08  Wim Taymans  <wim@fluendo.com>
9410         * gst/gstevent.c:
9411         * gst/gstevent.h:
9412         Fix event quark registration.
9413         Add some space between events so we can insert them in the
9414         right groups.
9416 2005-10-08  Wim Taymans  <wim@fluendo.com>
9418         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9419         (gst_base_sink_handle_buffer):
9420         Better log message.
9422         * gst/gstbus.h:
9423         * gst/gstelement.h:
9424         More docs.
9426         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9427         (gst_queue_set_property), (gst_queue_get_property):
9428         * gst/gstqueue.h:
9429         Remove old unused properties.
9431 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9432         * docs/gst/gstreamer-sections.txt:
9433         * gst/gstmessage.c:
9434         * gst/gstmessage.h:
9435         * gst/gstminiobject.c:
9436         * gst/gstminiobject.h:
9437         * gst/gstobject.h:
9438         * gst/gstpad.h:
9439         * gst/gstutils.h:
9440           lots of new docs and doc fixes
9442 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9444         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9445         * gst/gstplugin.h:
9446         * gst/gstregistry.c: (gst_registry_lookup_locked),
9447         (gst_registry_scan_path_level):
9448         * gst/gstregistryxml.c: (load_plugin):
9449           Only ever load one plugin for a given plugin basename.
9450           This ensures correct overriding of GST_PLUGIN_PATH over
9451           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9452           system installed plugins.
9454 2005-10-08  Wim Taymans  <wim@fluendo.com>
9456         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9457         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9458         Prepare for doing QOS.
9460 2005-10-08  Wim Taymans  <wim@fluendo.com>
9462         * check/gst/gstbin.c: (GST_START_TEST):
9463         * check/pipelines/cleanup.c: (GST_START_TEST):
9464         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9465         Allow new clock message too.
9467 2005-10-08  Wim Taymans  <wim@fluendo.com>
9469         * gst/gstmessage.c: (gst_message_new_error),
9470         (gst_message_new_warning), (gst_message_new_tag),
9471         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9472         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9473         (gst_message_new_segment_start), (gst_message_new_segment_done),
9474         (gst_message_parse_state_changed),
9475         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9476         (gst_message_parse_new_clock):
9477         * gst/gstmessage.h:
9478         Also carry the clock in question.
9480 2005-10-08  Wim Taymans  <wim@fluendo.com>
9482         * gst/gstmessage.c: (gst_message_new_custom),
9483         (gst_message_new_eos), (gst_message_new_error),
9484         (gst_message_new_warning), (gst_message_new_tag),
9485         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9486         (gst_message_new_new_clock), (gst_message_new_segment_start),
9487         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9488         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9489         * gst/gstmessage.h:
9490         Clean up.
9491         Added clock related messages.
9493         * gst/gstpipeline.c: (gst_pipeline_change_state):
9494         Post message when the clock changed.
9496         * tools/gst-launch.c: (event_loop):
9497         Print new clock.
9499 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9501         * tools/gst-inspect.c: (print_element_properties_info):
9502           Can't pass NULL strings to g_print() on windows.
9504 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9506         * docs/Makefile.am:
9507         * docs/gst/Makefile.am:
9508         * docs/gst/gstreamer-docs.sgml:
9509         * docs/gst/running.xml:
9510         * docs/version.entities.in:
9511           add a chapter on running GStreamer.
9512           document GST_DEBUG and GST_PLUGIN* env vars
9514 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9516         * Makefile.am:
9517           remove include dir
9518         * configure.ac:
9519           remove PLUGINS_BUILDDIR stuff
9520         * gst/gst.c: (init_post):
9521           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9522         * idiottest.mak:
9523           remove, it was condescending and not needed
9525 2005-10-08  Wim Taymans  <wim@fluendo.com>
9527         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9528         (gst_base_sink_handle_object), (gst_base_sink_event),
9529         (gst_base_sink_wait), (gst_base_sink_handle_event),
9530         (gst_base_sink_change_state):
9531         * gst/base/gstbasesink.h:
9532         Repost EOS message while going to PLAYING if still EOS.
9533         Make sure that when receiving a FLUSH_START we don't attempt
9534         to sync on the clock anymore.
9536 2005-10-08  Wim Taymans  <wim@fluendo.com>
9538         * tools/gst-launch.c: (event_loop):
9539         Better message printout.
9541 2005-10-08  Wim Taymans  <wim@fluendo.com>
9543         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9544         (gst_bin_child_proxy_get_children_count):
9545         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9546         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9547         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9548         (gst_child_proxy_set_valist):
9549         * gst/parse/grammar.y:
9550         Make ChildProxy threadsafe and fix mem leaks.
9552 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9554         * gst/gst.c: (init_post):
9555           debug the GST_PLUGIN_ env vars
9557 2005-10-08  Wim Taymans  <wim@fluendo.com>
9559         * check/gst/gstbin.c: (GST_START_TEST):
9560         * check/gst/gstmessage.c: (GST_START_TEST):
9561         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9562         * gst/gstelement.c: (gst_element_commit_state),
9563         (gst_element_lost_state):
9564         * gst/gstmessage.c: (gst_message_new_state_changed),
9565         (gst_message_parse_state_changed):
9566         * gst/gstmessage.h:
9567         * tools/gst-launch.c: (event_loop):
9568         Added extra field to STATE_CHANGE message with the pending
9569         state, which will be different from the new state soon.
9571 2005-10-08  Wim Taymans  <wim@fluendo.com>
9573         * gst/gstbus.c: (gst_bus_pop):
9574         * gst/gstclock.c:
9575         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9576         Small cleanups and doc updates.
9578 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9580         * gst/gst.c: (init_pre):
9581         * gst/gstbin.c: (gst_bin_add_func):
9582           log distributing clocks and base time
9583         * gst/gstregistry.c: (gst_registry_add_plugin),
9584         (gst_registry_scan_path_level), (gst_registry_scan_path):
9585           clean up the debugging output a little
9586         * gst/gstutils.c: (gst_element_state_get_name):
9587           warn about a memleak (I've actually seen this be used, though
9588           it was probably a bug)
9590 2005-10-07  Wim Taymans  <wim@fluendo.com>
9592         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9593         (gst_base_src_init), (gst_base_src_default_newsegment),
9594         (gst_base_src_newsegment), (gst_base_src_do_seek),
9595         (gst_base_src_loop), (gst_base_src_start):
9596         * gst/base/gstbasesrc.h:
9597         Make the newsegment event customizable by subclasses.
9599 2005-10-07  Wim Taymans  <wim@fluendo.com>
9601         * gst/gstevent.c: (gst_event_new_buffersize),
9602         (gst_event_parse_buffersize):
9603         * gst/gstevent.h:
9604         New event for future idea.
9606 2005-10-07  Andy Wingo  <wingo@pobox.com>
9608         * gst/gstelement.c (gst_element_post_message): Doc update.
9610         * docs/gst/gstreamer-sections.txt: Update.
9612         * gst/gstmessage.c (gst_message_new_application): Made into a
9613         function like honest API calls.
9614         (gst_message_new_element): New message type.
9616         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9618         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9619         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9620         times.
9622         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9623         NO_PREROLL from gst_element_change_state to fall through.
9625 2005-10-07  Wim Taymans  <wim@fluendo.com>
9627         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9628         (gst_ghost_pad_do_activate_push):
9629         Activating a ghostpad with no internal pad in push mode
9630         is ok.
9632 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9634         * gst/gstobject.h:
9635           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9636           Fixes compilation on Windows.
9638 2005-10-07  Michael Smith <msmith@fluendo.com>
9640         * tools/gst-inspect.c:
9641           Print out feature and plugin count at the end when printing out
9642           all features.
9644 2005-10-04  Michael Smith <msmith@fluendo.com>
9646         * gst/gsterror.c: (_gst_stream_errors_init):
9647           Add another error string used in a few existing plugins.
9649         * gst/gstplugin.c:
9650         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9651         * tools/gst-inspect.c: (print_element_info):
9652           When a feature disappears from a plugin (and the feature exists in
9653           the cached registry file), things went horribly wrong. This isn't a
9654           complete fix, we should actually be removing the 'missing' features
9655           from the features list when we load the actual plugin. That's not
9656           yet implemented. 
9658 2005-10-04  Johan Dahlin  <johan@gnome.org>
9660         * check/gst/gstiterator.c: (GST_START_TEST):
9661         * gst/gstbin.c: (gst_bin_iterate_elements),
9662         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9663         * gst/gstelement.c: (gst_element_iterate_pads):
9664         * gst/gstformat.c: (gst_format_iterate_definitions):
9665         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9666         (gst_iterator_new_list), (gst_iterator_filter):
9667         * gst/gstiterator.h:
9668         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9669         Add a GType to GstIterator, update callsites and tests.
9671 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9673         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9674           give events a chance to be handled by event probes when the pad
9675           is not linked
9677 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9679         * gst/gstevent.c: (gst_event_type_get_name),
9680         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9681         * gst/gstevent.h:
9682           add string representations for event types
9684 2005-10-06  Wim Taymans  <wim@fluendo.com>
9686         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9687         Don't use NULL pointers.
9689 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9691         * gst/gst_private.h:
9692         * gst/gstbus.c:
9693         * gst/gstelement.c:
9694         * gst/gstinfo.c:
9695         * gst/gstpluginfeature.c:
9696           widen the debug category in output to fit the biggest one we have
9697           add a bus category and use it
9698           play with the colors
9699           fix up some categories
9701 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9703         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9704           add push activation of sink ghost pads.
9705           Andye, please verify
9707 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9709         * gst/gstutils.c: (gst_element_link_pads):
9710           fix a bug in the case where neither element has a pad
9711         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9712           add a test for that case
9714 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9716         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9717           emit have-data before checking for peers.  This allows
9718           for probe handlers to connect elements.  This helps autopluggers.
9719         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9720         (gst_pad_suite):
9721           add six checks, linked/unlinked with no/true/false probe
9723 2005-10-04  Wim Taymans  <wim@fluendo.com>
9725         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9726         (gst_fake_sink_event), (gst_fake_sink_preroll),
9727         (gst_fake_sink_render), (gst_fake_sink_change_state):
9728         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9729         (gst_fake_src_get_property), (gst_fake_src_create),
9730         (gst_fake_src_stop):
9731         * gst/elements/gstidentity.c: (gst_identity_stop):
9732         Protect last_message with lock.
9734 2005-10-04  Edward Hervey  <edward@fluendo.com>
9736         * gst/gstformat.h: 
9737         Added precision in the comments for GST_FORMAT_DEFAULT
9739 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9741         * tools/gst-launch.c: (main):
9742           Don't try to run erroneous pipelines.
9744 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9746         * gst/gstbus.c: We don't need this header.
9748 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9750         * configure.ac:
9751           back to development
9753 === release 0.9.3 ===
9755 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9757         * README:
9758         * configure.ac:
9759           Releasing 0.9.3, "Unregistered"
9761 2005-10-03  Andy Wingo  <wingo@pobox.com>
9763         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9764         whereby calling a pad's activatepush() function can start a thread
9765         that starts to push or pull before the pad gets the FLUSHING flag
9766         unset. Hack around it by holding the stream lock until the flag is
9767         set. Need to replace this with a proper solution. Together with
9768         the ghost pad fixes, this fixes mp3 playing/tagreading.
9770         * docs/design/part-gstghostpad.txt: Add a note about activation of
9771         proxy pads outside of ghost pads.
9773         * gst/gstghostpad.c: Implement the ghost pad activation design.
9775 2005-10-02  Andy Wingo  <wingo@pobox.com>
9777         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9778         It is volatile, after all.
9780         * docs/design/part-gstghostpad.txt: Flesh out activation with
9781         ghost pads.
9783         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9784         GST_DEBUG_FUNCPTR.
9786 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9788         * configure.ac:
9789           Fix (unused) AM_CONDITIONAL tests.
9791 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9793         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9795         * gst/gstutils.c: (gst_pad_query_convert):
9796           Add assertion that makes sure src_val is >=0, just like
9797           gst_query_new_convert() has. (#315895)
9799 2005-09-30  Edward Hervey  <edward@fluendo.com>
9801         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9802         Let's not iterate pads we're not interested in, it avoids getting 
9803         sky-high refcounts on sinkpad.
9805 2005-09-30  Wim Taymans  <wim@fluendo.com>
9807         * gst/gstelement.c: (gst_element_set_state),
9808         (gst_element_change_state):
9809         Small tweak, element in ASYNC remains ASYNC.
9811 2005-09-30  Wim Taymans  <wim@fluendo.com>
9813         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9814         Only error is an error.
9816         * gst/gstbin.c: (gst_bin_change_state):
9817         Better debugging.
9819         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9820         Also call pad_block in pad alloc.
9822         * gst/gstutils.c: (gst_flow_get_name):
9823         Better debugging.
9825 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9827         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9828         (gst_base_src_get_range):
9829           Fix documentation typos. Add some more debug info.
9831 2005-09-29  David Schleef  <ds@schleef.org>
9833         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9834           more end-user friendly.
9835         * tools/gst-inspect.c: (main): Check if command-line argument is
9836           a file and attempt to load that file as a plugin.
9838 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9840         * check/gst/gstbin.c:
9841         * check/states/sinks.c:
9842           fix tests for the new warning
9843         * check/gst/gstpipeline.c:
9844           add a test for pipeline and bus interaction
9845         * gst/gstelement.c:
9846           elements should be NULL if they get disposed; add a warning if not
9848 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9850         * gst/gstobject.c:
9851           for 2.6 refcounting, make debug log more correct by printing
9852           the actual refcounts at the time of swap (Wim)
9854 2005-09-29  Andy Wingo  <wingo@pobox.com>
9856         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9857         removes signal watches previously added via
9858         gst_bus_add_signal_watch.
9859         (gst_bus_add_signal_watch): Don't return the source id, just store
9860         it on the bus if there wasn't an id already.
9862         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9863         add_signal_watch and remove_signal_watch.
9865 2005-09-29  Edward Hervey  <edward@fluendo.com>
9867         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9868         Better if we actually iterate the list :)
9870 2005-09-29  Wim Taymans  <wim@fluendo.com>
9872         * check/gst/gstbin.c: (GST_START_TEST):
9873         Change for new bus API.
9875         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9876         (send_messages), (GST_START_TEST), (gstbus_suite):
9877         Change for new bus signal API.
9879         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9880         (gst_bus_source_prepare), (gst_bus_source_check),
9881         (gst_bus_create_watch), (gst_bus_add_watch_full),
9882         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9883         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9884         * gst/gstbus.h:
9885         Remove support for multiple GSources operating on different
9886         message types as it is too complex and unneeded when using
9887         signals.
9888         Added support for receiving signals from the bus.
9890 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9892         * docs/libs/tmpl/gstdataprotocol.sgml:
9893         * docs/manual/advanced-dataaccess.xml:
9894         * gst/elements/gstcapsfilter.c:
9895         * gst/gstutils.c:
9896           rename filter-caps to caps property
9898 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9900         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9901           More robust fraction string parsing.
9903         * docs/pwg/appendix-porting.xml:
9904           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9906 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9908         * gst/gstcaps.c: (gst_caps_do_simplify):
9909           Thou shalt not free a structure and then continue using it
9910           in the next loop iteration.
9912         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9913         (gst_caps_suite):
9914           Add test case for caps simplification.
9916 2005-09-29  Wim Taymans  <wim@fluendo.com>
9918         * check/gst/gstbin.c: (GST_START_TEST):
9919         Oops.
9921 2005-09-29  Wim Taymans  <wim@fluendo.com>
9923         * check/gst/gstbin.c: (GST_START_TEST):
9924         Add bus to bin.
9926         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9927         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9928         (find_element), (gst_bin_sort_iterator_next),
9929         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9930         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9931         (gst_bin_change_state), (gst_bin_dispose):
9932         A bin does not have a bus, it gets the bus from the parent.
9934         * gst/gstelement.c: (gst_element_requires_clock),
9935         (gst_element_provides_clock), (gst_element_is_indexable),
9936         (gst_element_is_locked_state), (gst_element_change_state),
9937         (gst_element_set_bus_func):
9938         Small cleanups.
9940         * gst/gstpipeline.c: (gst_pipeline_class_init),
9941         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9942         The pipeline provides a bus.
9944 2005-09-28  Johan Dahlin  <johan@gnome.org>
9946         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9947         gst_structure_get_enum instead of gst_structure_get_int
9949         * gst/gststructure.c (gst_structure_get_enum): Impl.
9951         * gst/gststructure.h (gst_structure_get_enum): Add
9953         * docs/gst/gstreamer-sections.txt: Ditto
9955         * gst/gstmessage.c (gst_message_new_state_changed): Use
9956         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9957         which does introspection.
9958         Reviewed by Christian Schaller
9960 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9962         * gst/gstinfo.c: (gst_debug_log_default):
9963           don't do dummy g_strdup()s
9964         * libs/gst/controller/gstcontroller.c:
9965         (on_object_controlled_property_changed),
9966         (gst_controlled_property_new), (gst_controller_new_valist),
9967         (gst_controller_new_list),
9968         (gst_controller_remove_properties_valist), (gst_controller_set),
9969         (gst_controller_get), (gst_controller_sync_values),
9970         (gst_controller_get_value_array), (_gst_controller_class_init),
9971         (gst_controller_get_type):
9972         * libs/gst/controller/gstcontroller.h:
9973         * libs/gst/controller/gstinterpolation.c:
9974         (gst_controlled_property_find_timed_value_node):
9975           convert // to /**/ comments
9977 2005-09-28  Wim Taymans  <wim@fluendo.com>
9979         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9980         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9981         (gst_bus_sync_signal_handler):
9982         * gst/gstbus.h:
9983         Added async-message and sync-message signals to the bus.
9984         Added helper BusFunc to emit signals for all posted messages.
9986         * gst/gstmessage.c: (gst_message_type_get_name),
9987         (gst_message_type_to_quark), (gst_message_get_type):
9988         * gst/gstmessage.h:
9989         Register quarks for message names.
9991 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9993         * docs/libs/gstreamer-libs-sections.txt:
9994         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9995         (gst_controller_new_list):
9996         * libs/gst/controller/gstcontroller.h:
9997           added another constructor for language bindings
9999 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10001         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10002           add another check
10003         * gst/gstbus.c:
10004           add some doc
10005         * gst/gstinfo.c: (_gst_debug_init):
10006           slightly more readable color for refcount debugging
10008 2005-09-28  Wim Taymans  <wim@fluendo.com>
10010         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10011         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10012         (find_element), (gst_bin_sort_iterator_next),
10013         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10014         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10015         (gst_bin_change_state), (gst_bin_dispose):
10016         Small doc fixes. get_clock -> provide_clock.
10018         * gst/gstelement.c: (gst_element_class_init),
10019         (gst_element_provides_clock), (gst_element_provide_clock),
10020         (gst_element_get_clock), (gst_element_commit_state),
10021         (gst_element_lost_state):
10022         * gst/gstelement.h:
10023         Make get/set_clock() symetric. Add provide_clock vmethod since
10024         that is actually what this function does.
10026         * gst/gstpipeline.c: (gst_pipeline_class_init),
10027         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10028         (gst_pipeline_get_clock):
10029         get_clock -> provide_clock.
10031 2005-09-28  Andy Wingo  <wingo@pobox.com>
10033         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10034         lieu of real docs...
10036         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10038 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10040         * gst/elements/gstcapsfilter.c:
10041         * gst/elements/gstfakesink.c:
10042         * gst/elements/gstfakesrc.c:
10043         * gst/elements/gstfdsink.c:
10044         * gst/elements/gstfdsrc.c:
10045         * gst/elements/gstfilesink.c:
10046         * gst/elements/gstfilesrc.c:
10047         * gst/elements/gstidentity.c:
10048         * gst/elements/gsttee.c:
10049         * gst/elements/gsttypefindelement.c:
10050           Make element details static.
10052 2005-09-28  Wim Taymans  <wim@fluendo.com>
10054         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10055         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10056         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10057         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10058         (gst_bin_change_state), (gst_bin_dispose):
10059         Some documentation updates.
10060         Clean up dispose handlers.
10062         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10063         * gst/gstpad.c: (gst_pad_dispose):
10064         Clean up dispose handler.
10066         * gst/gstpipeline.c: (gst_pipeline_change_state):
10067         Removed spurious UNLOCK.
10069 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10071         * docs/gst/gstreamer-sections.txt:
10072         * gst/base/gstbasesrc.h:
10073         * gst/gstelement.h:
10074         * gst/gstevent.h:
10075         * gst/gstobject.h:
10076         * gst/gstpad.h:
10077         * gst/gstpipeline.c:
10078         * gst/gstpipeline.h:
10079         * gst/gstutils.h:
10080         * gst/gstxml.h:
10081           added two new functions to the docs
10082                 documents all undocumented GstXXXFlags
10083                 completed some incomplete docs 
10085 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10087         * gst/gstbin.c: (gst_bin_dispose):
10088         * gst/gstelement.c: (gst_element_dispose):
10089           remove now useless and leaky resurrection code in dispose
10090         * gst/base/gstbasesrc.c: (gst_base_src_init):
10091         * gst/gstelementfactory.c: (gst_element_factory_create):
10092         * gst/gstobject.c: (gst_object_set_parent):
10093           add some debugging
10095 2005-09-27  Wim Taymans  <wim@fluendo.com>
10097         * docs/design/part-TODO.txt:
10098         Update TODO.
10100         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10101         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10102         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10103         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10104         (gst_bin_change_state):
10105         * gst/gstelement.h:
10106         Remove element variable, we keep element info in the iterator now.
10108 2005-09-27  Andy Wingo  <wingo@pobox.com>
10110         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10111         values.
10113 2005-09-27  Wim Taymans  <wim@fluendo.com>
10115         * check/gst/gstbin.c: (GST_START_TEST):
10116         Enable check that works now.
10118         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10119         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10120         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10121         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10122         (gst_bin_change_state):
10123         * gst/gstbin.h:
10124         Redid the state change algorithm using a topological sort algo.
10125         Handles all cases correctly.
10126         Exposed iterator for state change order.
10128         * gst/gstelement.h:
10129         Temp storage for state changes. Need to get rid of this soon.
10131 2005-09-27  Wim Taymans  <wim@fluendo.com>
10133         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10134         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10135         (link_fold_func), (gst_pad_proxy_setcaps):
10136         Leak fixes, the fold functions need to unref the passed object and
10137         _get_parent_*() returns ref to parent.
10139 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10141         * check/gst/gstbuffer.c: (test_make_writable):
10142           Plug leak in test case and fix 'make check-valgrind'
10144 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10146         * gst/gstbuffer.c: (gst_subbuffer_init):
10147           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10148           works correctly in all circumstances (we could have just copied
10149           the parent buffer's readonly flag, but conceptually it seems
10150           cleaner to mark all subbuffers as read-only). (based on patch
10151           by Alessandro Decina, #314710).
10152         
10153         * check/gst/gstbuffer.c: (create_read_only_buffer),
10154         (test_make_writable), (test_subbuffer_make_writable),
10155         (gst_test_suite):
10156           Add some tests for gst_buffer_make_writable().
10158 2005-09-27  Wim Taymans  <wim@fluendo.com>
10160         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10161         use gst_object_has_ancestor().
10163         * gst/gstobject.c: (gst_object_has_ancestor):
10164         * gst/gstobject.h:
10165         gst_object_has_ancestor() copied from gstbin.c as it is a
10166         usefull function.
10168         * tests/instantiate/create.c: (create_all_elements):
10169         * tests/lat.c: (handoff_src), (handoff_sink):
10170         * tests/sched/runxml.c: (main):
10171         * tests/seeking/seeking1.c: (main):
10172         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10173         (main):
10174         Fix compilation of some tests.
10176 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10178         * gst/gsterror.h:
10179           Remove comment. GST_TYPE_G_ERROR is here to stay,
10180           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10181           (#316961, #300610).
10183 2005-09-26  Wim Taymans  <wim@fluendo.com>
10185         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10186         Added check that shows error in state change order.
10188 2005-09-26  Wim Taymans  <wim@fluendo.com>
10190         * gst/gstbin.c: (gst_bin_change_state):
10191         Make state change function use 3 queues again, we were
10192         adding elements in the wrong order.
10194         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10195         Some debug info,
10197         * gst/gstpad.c: (gst_pad_dispose):
10198         Added some debug info first.
10200 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10202         * docs/design/draft-push-pull.txt:
10203         * docs/design/part-events.txt:
10204         * docs/design/part-overview.txt:
10205         * docs/design/part-scheduling.txt:
10206           Replace all _pull_region() with _pull_range()
10207           
10208 2005-09-26  Andy Wingo  <wingo@pobox.com>
10210         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10212         * check/gst-libs/controller.c: Update for controller api change.
10214         * configure.ac: 
10215         * tests/Makefile.am:
10216         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10217         over by GLib bug 118439.
10218         
10219         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10220         routines to a function.
10222         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10224         * libs/gst/controller/gsthelper.c:
10225         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10226         (gst_object_sync_values): Renamed from sink_values. Ugh.
10228         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10230         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10231         Renamed from controller_key, as it is exported.
10233         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10235 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10237         * gst/Makefile.am:
10238         * gst/gst.h:
10239         * gst/gstpad.h:
10240         * gst/gstpadtemplate.h:
10241         * gst/gstquery.c:
10242         * gst/gstquery.h:
10243         * gst/gstqueryutils.c:
10244         * gst/gstqueryutils.h:
10245           remove queryutils headers after moving the two used functions
10246           to gstquery.  also fixes build problem for gstsiddec
10248 2005-09-26  Michael Smith <msmith@fluendo.com>
10250         * tools/gst-launch.1.in:
10251         Correct documentation in manpage of debug syntax
10253 2005-09-26  Wim Taymans  <wim@fluendo.com>
10255         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10256         (gst_base_src_is_seekable), (gst_base_src_change_state):
10257         Some more debugging info.
10259 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10261         * docs/gst/gstreamer-sections.txt:
10262         * gst/base/gstbasetransform.h:
10263         * gst/gstindex.h:
10264           added more docs
10266 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10268         * docs/gst/.cvsignore:
10269         * docs/gst/tmpl/.cvsignore:
10270         * docs/gst/tmpl/gstpipeline.sgml:
10271         * docs/gst/tmpl/gstplugin.sgml:
10272         * gst/gstpipeline.c:
10273         * gst/gstplugin.c:
10274         * gst/gstplugin.h:
10275           inlined the last two docs files
10276           removed the tmpl directory from cvs (no more conflicts here!)
10278 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10280         * docs/gst/gstreamer-sections.txt:
10281         * docs/gst/tmpl/.cvsignore:
10282         * docs/gst/tmpl/gstpad.sgml:
10283         * docs/gst/tmpl/gstpadtemplate.sgml:
10284         * gst/Makefile.am:
10285         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10286         (gst_pad_finalize), (gst_pad_set_pad_template):
10287         * gst/gstpad.h:
10288         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10289         (gst_pad_template_class_init), (gst_pad_template_init),
10290         (gst_pad_template_dispose), (name_is_valid),
10291         (gst_static_pad_template_get), (gst_pad_template_new),
10292         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10293         (gst_pad_template_pad_created):
10294         * gst/gstpadtemplate.h:
10295           inlined two more docs
10296           factored gstpadtemplate out of gstpad
10298 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10300         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10301         (test_children_state_change_order_semi_sink):
10302           Fix test case: we can't rely on a fixed state change order when
10303           going from READY => PAUSED because the sink might commit its 
10304           new state first when the first buffer created by the source 
10305           reaches the sink before the source has finished its change state.
10306           (Test case still fails at times, see #316856, comment 5 onwards)
10308 2005-09-24  Wim Taymans  <wim@fluendo.com>
10310         * docs/design/part-events.txt:
10311         * docs/design/part-gstbus.txt:
10312         * docs/design/part-gstpipeline.txt:
10313         * docs/design/part-messages.txt:
10314         * docs/design/part-overview.txt:
10315         * docs/design/part-segments.txt:
10316         * gst/gstbin.c:
10317         * gst/gstbuffer.c:
10318         * gst/gstclock.c:
10319         * gst/gstelement.c:
10320         * gst/gstevent.c:
10321         * gst/gstfilter.c:
10322         * gst/gstiterator.c:
10323         Various documentation updates.
10325 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10327         * gst/gstclock.h:
10328           Well, that's embarassing.  Luckily we weren't using
10329           GST_CLOCK_DIFF anywhere.
10331 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10333         * common/gtk-doc.mak:
10334           don't fail on building XML, FC4 slave shows a bunch of doc
10335           missing bits that I don't get
10336         * gst/gstpad.c:
10337         * gst/gstpipeline.c:
10338         * gst/gststructure.c:
10339           some doc updates
10341 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10343         * docs/design/part-gstbin.txt:
10344         * docs/design/part-gstbus.txt:
10345         * gst/gstbus.c:
10346           Add blurb about how the bus goes into flushing mode and
10347           drops all messages when its bin goes from READY into NULL 
10348           state.
10350 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10352         * docs/gst/gstreamer-sections.txt:
10353         * gst/gststructure.c: (gst_structure_get_clock_time):
10354         * gst/gststructure.h:
10355           add a method to get a GstClockTime out of a structure
10357 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10359         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10360         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10361           Added test to check state change order in bins (can still be made
10362           to fail here under heavy disk load; bails out with 'Push on pad
10363           fakesink:sink0, but it was not activated in push mode').
10365         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10366           Fix state change order when there is only a semi sink (#316856)
10368         * gst/gstbus.c: (gst_bus_class_init):
10369           Use _class_peek_parent(), not _class_ref(); fix docs to say
10370           'default main context' instead of 'mainloop' where that is
10371           what's meant.
10373         * gst/gstelement.c: (gst_element_commit_state),
10374         (gst_element_set_state):
10375           Fix typos in debug messages
10377 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10379         * docs/README:
10380         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10381         * gst/gstpluginfeature.c:
10382         * gst/gstutils.c:
10383           various doc updates
10384         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10385           change an assert into an error until it gets fixed properly
10387 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10389         * docs/gst/gstreamer-sections.txt:
10390         * docs/gst/tmpl/.cvsignore:
10391         * docs/gst/tmpl/gstelement.sgml:
10392         * docs/gst/tmpl/gstinfo.sgml:
10393         * docs/gst/tmpl/gstobject.sgml:
10394         * gst/gstelement.c:
10395         * gst/gstelement.h:
10396         * gst/gstinfo.c:
10397         * gst/gstinfo.h:
10398         * gst/gstobject.c: (gst_object_class_init):
10399         * gst/gstobject.h:
10400           inlined 3 more biiiig doc files and added some missing docs on the fly
10402 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10404         * check/gst/.cvsignore:
10405         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10406         * gst/gstregistryxml.c: (load_plugin),
10407         (gst_registry_xml_save_plugin):
10408           put back source in registry.  add checks for find_plugin.
10409         * testsuite/states/bin.c: (assert_state), (empty_bin),
10410         (test_adding_one_element), (main):
10411         * testsuite/states/locked.c: (main):
10412           some compile/run fixes
10414 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10416         * check/gst/gstvalue.c: (GST_START_TEST):
10417           fix leaks in the test itself
10419 2005-09-22  Wim Taymans  <wim@fluendo.com>
10421         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10422         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10423         (gst_base_sink_query):
10424         Prepare for more accurate position reporting and query
10425         handling.
10427         * gst/gstelement.c: (gst_element_send_event),
10428         (gst_element_set_state):
10429         Add some comment.
10431 2005-09-22  Wim Taymans  <wim@fluendo.com>
10433         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10434         (gst_query_parse_segment):
10435         * gst/gstquery.h:
10436         More documentation.
10437         Add segment query for future use.
10439 2005-09-22  Wim Taymans  <wim@fluendo.com>
10441         * gst/gstbin.c: (gst_bin_add_func):
10442         Some more debug info.
10444         * gst/gstelement.c: (gst_element_send_event):
10445         Simplify send_event
10447         * gst/gstelement.h:
10448         Don't know how flags got broken.
10450         * gst/gstquery.h:
10451         Added new query.
10453 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10455         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10456           Add simplistic test suite for GST_TYPE_DATE serialisation and
10457           deserialisation.
10459 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10461         * docs/gst/gstreamer-sections.txt:
10462         * gst/gststructure.c: (gst_structure_set_valist),
10463         (gst_structure_get_date):
10464         * gst/gststructure.h:
10465         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10466         (gst_date_copy), (gst_value_compare_date),
10467         (gst_value_serialize_date), (gst_value_deserialize_date),
10468         (gst_value_transform_date_string),
10469         (gst_value_transform_string_date), (_gst_value_initialize):
10470         * gst/gstvalue.h:
10471           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10472           bunch of utility functions along with a hack that checks that
10473           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10474           is required. Part of the grand scheme in #170777.
10476 2005-09-22  Andy Wingo  <wingo@pobox.com>
10478         * gst/gstconfig.h.in: Psych out gtk-doc.
10480         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10482         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10484         * tools/gst-inspect.c (print_element_list): Plug some
10485         inconsequential leaks.
10487         * gst/gstregistry.c (gst_registry_get_default): Doc.
10489         * check/gst/gstplugin.c: 
10490         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10491         * gst/gstelementfactory.c (gst_element_factory_create): 
10492         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10493         refcount changes.
10495         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10496         (gst_plugin_feature_load): Doc, don't eat refs.
10498         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10499         (gst_plugin_list_free): Doc.
10500         (gst_plugin_load_file): Doc updates.
10502         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10503         accessors returning refcounted objects, return a ref.
10505         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10506         accessor for caps. IDEMPOTENCE. Oh yes.
10508 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10510         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10512         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10513         (_gst_debug_register_funcptr):
10514           Add mutex to serialise access to the hash table with
10515           the function pointer => function name string mapping;
10516           make that hash table static scope (#316809).
10518         * gst/registries/.cvsignore:
10519           Remove left-over file.
10521 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10523         * docs/pwg/appendix-porting.xml:
10524           And something about newsegment events and caps-on-buffers to
10525           the porting guide (feel free to improve).
10527 2005-09-21  Andy Wingo  <wingo@pobox.com>
10529         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10530         data and event probes on the same pad.
10531         (test_buffer_probe_once): Test that removing probes from within
10532         the probe functions works.
10534 2005-09-21  Andy Wingo  <wingo@pobox.com>
10536         * check/gst/gstutils.c: New file.
10537         (test_buffer_probe_n_times): A simple buffer probe test. More to
10538         come, foolios.
10540         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10541         have-data::buffer, not have-data.
10542         (gst_pad_add_event_probe): Likewise for have-data::event.
10543         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10544         peer' isn't quite right yet though.
10545         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10546         (gst_pad_remove_data_probe): Change to take the guint handler_id
10547         as their arg, not the function+data, which is more glib-like.
10549         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10550         the signal emission to indicate if the data is a buffer or an
10551         event.
10552         (gst_pad_get_type): Initialize buffer and event quarks.
10553         (gst_pad_class_init): have-data is now a detailed signal, yes it
10554         is.
10556 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10558         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10559         * gst/gstutils.c: (gst_util_set_value_from_string),
10560         (gst_util_set_object_arg):
10561           Don't put functional code in g_return_if_fail() or
10562           g_return_val_if_fail() statements, otherwise things will 
10563           break when G_DISABLE_CHECKS is defined during compilation.
10565 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10567         * docs/gst/tmpl/.cvsignore:
10568         * docs/gst/tmpl/gstvalue.sgml:
10569         * gst/gstvalue.c:
10570         * gst/gstvalue.h:
10571           inlied another one and added  some obvious docs
10573 2005-09-21  Wim Taymans  <wim@fluendo.com>
10575         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10576         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10577         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10578         (gst_fdsrc_get_property), (gst_fdsrc_create):
10579         * gst/elements/gstfdsrc.h:
10580         Properly implement fdsrc. Removed signal and timeout,
10581         better implemented somewhere else.
10583 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10585         * docs/gst/tmpl/.cvsignore:
10586         * docs/gst/tmpl/gstimplementsinterface.sgml:
10587         * gst/gstinterface.c:
10588           inlined more docs
10590 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10592         * docs/gst/gstreamer-sections.txt:
10593         * docs/gst/tmpl/.cvsignore:
10594         * docs/gst/tmpl/gstenumtypes.sgml:
10595           remove obsolete doc file
10597 2005-09-21  David Schleef  <ds@schleef.org>
10599         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10600         little beer, fix a little leak.
10602 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10604         * docs/gst/gstreamer-docs.sgml:
10605         * docs/gst/gstreamer-sections.txt:
10606         * docs/gst/tmpl/.cvsignore:
10607         * gst/Makefile.am:
10608         * gst/gst.h:
10609         * gst/gstbin.c:
10610         * gst/gstelement.h:
10611         * gst/gstindex.c: (gst_index_class_init):
10612         * gst/gstindex.h:
10613         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10614         (gst_index_factory_class_init), (gst_index_factory_init),
10615         (gst_index_factory_finalize), (gst_index_factory_new),
10616         (gst_index_factory_destroy), (gst_index_factory_find),
10617         (gst_index_factory_create), (gst_index_factory_make):
10618         * gst/gstindexfactory.h:
10619         * gst/gstpluginfeature.c:
10620         * gst/gstpluginfeature.h:
10621         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10622           more docs inlined, splitted gstindex.{c,h}
10624 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10626         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10627           fix a leak
10629 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10631         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10632           Set sync to FALSE by default.
10634 2005-09-20  Wim Taymans  <wim@fluendo.com>
10636         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10637         (gst_base_sink_init):
10638         Make sync property settable from subclass.
10640         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10641         (gst_fake_sink_change_state):
10642         Set sync to FALSE by default.
10644 2005-09-20  Wim Taymans  <wim@fluendo.com>
10646         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10647         * tools/gst-launch.c: (main):
10648         The timeout handler should have lower priority than the source
10649         so we don't timeout before popping a message with 0 timeout.
10650         Dump error messages after failed state change.
10652 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10654         * tools/gst-inspect.c: (print_element_properties_info):
10655           Fix two typos.
10657 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10659         * check/gst/gstevent.c:
10660         * gst/elements/gstfakesink.c:
10661         * gst/elements/gstfakesink.h:
10662           remove the sync property from fakesink.
10663           has the side effect of setting sync TRUE
10664           for fakesink, which is a change.  Anyone who knows how
10665           to fix this nicely in a GObject-y way, feel free.
10667 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10669         * docs/gst/gstreamer-docs.sgml:
10670           remove probe refsection
10672 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10674         * check/Makefile.am:
10675           disable valgrinding the controller test again
10676         * docs/gst/gstreamer-sections.txt:
10677           update for api-changes
10679 2005-09-20  Wim Taymans  <wim@fluendo.com>
10681         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10682         (gst_base_sink_set_property), (gst_base_sink_get_property),
10683         (gst_base_sink_do_sync):
10684         * gst/base/gstbasesink.h:
10685         Added sync property to basesink to disable clock sync.
10687 2005-09-20  Andy Wingo  <wingo@pobox.com>
10689         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10690         eating the caller's refcount.
10692         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10693         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10694         refcount.
10696         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10697         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10698         of GLib 2.8 public, so we can know which refcount to check in
10699         tests.
10701         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10702         (gst_object_init): Only set the gst refcount if we're going ahead
10703         with the refcount hack.
10705 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10707         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10708         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10709           more leaks plumbed, added more debug-logging
10710         * gst/gstmacros.h:
10711           whitespace fix
10713 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10715         * gst/gstmessage.c:
10716           remove include of gstmemchunk.h
10718 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10720         * gst/gstclock.c: (_gst_clock_id_free):
10721           Commit from the Political Party For More Atomic CVS Commits,
10722           so that people don't waste too much of their day fishing
10723           out obvious leaks out of massive commits.
10724           Oh, and fix a pretty damn obvious leak in the memchunk
10725           removal code.
10727 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10729         * check/Makefile.am:
10730         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10731           plug mem-leak, re-add to valgrindable tests
10733 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10735         * gst/gstplugin.h:
10736           unbreak the build for those who have chronic arthritis
10737           and typing "make check" is just too taxing on the hands
10739 2005-09-20  Andy Wingo  <wingo@pobox.com>
10741         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10742         really want it out, you should fix plugins at the same time.
10744 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10746         * configure.ac:
10747         * docs/gst/gstreamer-sections.txt:
10748         * gst/gstobject.c:
10749           added missing symbols to api docs
10750           disable ref-count hack if we have glib >= 2.8
10752 2005-09-19  David Schleef  <ds@schleef.org>
10754         * docs/gst/Makefile.am: Ignore a few more internal headers
10755         * docs/gst/gstreamer-docs.sgml: Remove old sections
10756         * docs/gst/gstreamer-sections.txt: Remove old sections
10757         * docs/gst/tmpl/gstobject.sgml: update
10758         * docs/gst/tmpl/gstplugin.sgml: update
10759         * docs/gst/tmpl/gstpluginfeature.sgml: update
10760         * docs/random/ds/0.9-suggested-changes: update.
10761         * gst/Makefile.am: remove memchunk and trashstack, since they're
10762           not used.
10763         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10764         * gst/gst.h: don't include some headers
10765         * gst/gstchildproxy.c: add gstmarshal.h
10766         * gst/gstclock.c: Don't use memchunks
10767         * gst/gstminiobject.c: Add some docs
10768         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10769         * gst/gstobject.h: same
10770         * gst/gstplugin.c: include gstmacros.h
10771         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10772         * gst/gstquery.c: don't use memchunks
10773         * gst/gstregistry.c: rename gst_registry_deinit()
10774         * gst/gstregistry.h: same
10776 2005-09-19  David Schleef  <ds@schleef.org>
10778         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10779         * docs/libs/gstreamer-libs-sections.txt:
10780         * docs/libs/tmpl/gstgetbits.sgml:
10781         * docs/libs/tmpl/gstputbits.sgml:
10783 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10785         * win32/gstenumtypes.c:
10786         * win32/gstenumtypes.h:
10787           Update.
10789 2005-09-19  Wim Taymans  <wim@fluendo.com>
10791         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10792         Automatically PAUSE and RESUME a pipeline when a flushing seek
10793         is performed.
10795 2005-09-19  Andy Wingo  <wingo@pobox.com>
10797         * gst/gstregistry.h: Spacing fixen.
10799 2005-09-19  Wim Taymans  <wim@fluendo.com>
10801         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10802         Handle state change failure more correctly.
10804 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10806         * check/Makefile.am:
10807         * check/pipelines/cleanup.c: (run_pipeline):
10808         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10809         (GST_START_TEST):
10810           enable cleanup again after fixing the leak
10811         * docs/README:
10812           some more info on docs
10814 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10816         * check/Makefile.am:
10817           re-enable tests now that leaks are plugged
10818         * check/gst/gst.c:
10819         * check/gst/gstbin.c:
10820         * check/gst/gstpipeline.c:
10821           add some more tests while fixing leaks
10822         * common/check.mak:
10823           make sure binaries are uptodate when valgrinding/gdbing
10824         * gst/gst.c:
10825         * gst/gstelementfactory.c:
10826           remove a ref too many, and add a FIXME for when we get
10827           round to disposing of classes
10828         * gst/gstplugin.c:
10829           fix the refcounting when loading a plugin from a file and
10830           the code pretends that the pointer is the same even though
10831           of course it can change
10832         * gst/gstpluginfeature.c:
10833           unref plugins marked cached (a bit confusing as a name)
10834           as the docs state should be done
10835           various doc additions to explain refcounting
10836         * gst/gstregistry.c:
10837         * gst/gstregistryxml.c:
10838           debugging
10840 2005-09-19  Wim Taymans  <wim@fluendo.com>
10842         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10843         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10844         (send_messages), (GST_START_TEST), (gstbus_suite):
10845         * check/gst/gstpipeline.c: (GST_START_TEST):
10846         * check/pipelines/cleanup.c: (run_pipeline):
10847         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10848         (GST_START_TEST):
10849         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10850         (gst_bus_source_check), (gst_bus_source_dispatch),
10851         (gst_bus_create_watch), (gst_bus_add_watch_full),
10852         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10853         * gst/gstbus.h:
10854         * tools/gst-launch.c: (event_loop):
10855         * tools/gst-md5sum.c: (event_loop):
10856         GstBusHandler -> GstBusFunc, return value has the same meaning as
10857         any other GSource (FALSE == remove source).
10858         _add_watch() and _add_watch_full() now take a MessageType mask to
10859         only handle specific types of messages.
10860         _poll() returns the GstMessage instead of the message type to avoid
10861         race conditions.
10862         _have_pending() takes a MessageType mask now too.
10863         Added testsuite for multiple bus watches.
10864         Fix testsuites and applications for new bus API.
10866 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10868         * check/Makefile.am:
10869           mark a bunch of the tests as to fix until we fix them
10871 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10873         * common/check.mak:
10874           use GST_PLUGIN settings for valgrind tests as well, so we're
10875           valgrinding the correct thing
10876         * gst/gst.c: (init_post):
10877           plug another leak
10879 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10881         * gst/gst.c: (init_post), (gst_deinit):
10882         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10883         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10884         * gst/gstindex.c: (gst_index_factory_class_init),
10885         (gst_index_factory_finalize):
10886         * gst/gstobject.c: (gst_object_dispose):
10887         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10888         (gst_plugin_load_file), (gst_plugin_desc_free):
10889         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10890         (gst_plugin_feature_finalize):
10891         * gst/gstregistry.c: (gst_registry_class_init),
10892         (gst_registry_init), (gst_registry_finalize),
10893         (gst_registry_get_default), (gst_registry_deinit):
10894         * gst/gstregistry.h:
10895         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10896           various cleanups and memleak plugging.  make valgrind is happy now.
10898 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10900         * common/check.mak:
10901           add a check-valgrind target
10903 2005-09-18  David Schleef  <ds@schleef.org>
10905         * tools/gst-inspect.c: Revert the GOption code.
10907 2005-09-17  David Schleef  <ds@schleef.org>
10909         * check/Makefile.am: Fix environment variables.
10910         * check/gst/gstplugin.c: Fix for API changes.
10911         * tools/gst-inspect.c: Fix for API changes.
10912         * tools/gst-xmlinspect.c: Fix for API changes.
10913         * gst/gstelementfactory.c:
10914         * gst/gstplugin.c:
10915         * gst/gstplugin.h:
10916         * gst/gstpluginfeature.c:
10917         * gst/gstpluginfeature.h:
10918         * gst/gstregistry.c:
10919         * gst/gstregistry.h:
10920         * gst/gstregistryxml.c:
10921         * gst/gsttypefind.c:
10922         * gst/gsttypefindfactory.c:
10923         * gst/indexers/gstfileindex.c:
10924         * gst/indexers/gstmemindex.c:
10925         * gst/schedulers/Makefile.am:
10926           Change registry to keep track of both plugins and features,
10927           removing the feature tracking from plugins themselves.
10929 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10931         * check/Makefile.am:
10932         * tools/gst-register.1.in:
10933           remove gst-register
10935 2005-09-15  David Schleef  <ds@schleef.org>
10937         * check/gst/gstplugin.c:
10938         * gst/gstelementfactory.c:
10939         * gst/gstplugin.c:
10940         * gst/gstpluginfeature.c:
10941         * gst/gstregistry.c:
10942           Getting tired of debugging.  Disabled all the unreffing of
10943           plugins and features, which fixes the segfaults, but of
10944           course leaks like crazy.  At least playbin works.
10946 2005-09-15  David Schleef  <ds@schleef.org>
10948         * check/gst/gstplugin.c: (register_check_elements),
10949         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10950         More testing
10951         * gst/elements/gsttypefindelement.c: Fix refcounting.
10952         * gst/gsttypefind.c:
10953         * gst/gsttypefindfactory.c:
10954         * gst/gsttypefindfactory.h:
10956 2005-09-15  David Schleef  <ds@schleef.org>
10958         * gst/gstindex.c: get refcounting correct.
10959         * gst/gstregistry.c: Handle the case where a feature/plugin is
10960           not found.
10962 2005-09-15  David Schleef  <ds@schleef.org>
10964         * check/Makefile.am:
10965         * check/gst/gstplugin.c: Add test
10966         * gst/gstplugin.c: Fix problems noticed by testsuite
10967         * gst/gstplugin.h:
10968         * gst/gstregistry.c: 
10969         * gst/gstregistry.h:
10971 2005-09-15  David Schleef  <ds@schleef.org>
10973         * gst/gstplugin.c: Implement semi-decent recounting and locking
10974           in plugins and plugin features.
10975         * gst/gstplugin.h:
10976         * gst/gstpluginfeature.c:
10977         * gst/gstpluginfeature.h:
10978         * gst/gstregistry.c:
10980 2005-09-15  Michael Smith <msmith@fluendo.com>
10982         * gst/gstregistry.c: (gst_registry_get_feature_list):
10983           Implement this. Makes oggdemux work; decodebin still broken.
10985 2005-09-14  David Schleef  <ds@schleef.org>
10987         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10988           #316076)
10989         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10990         * gst/check/Makefile.am:
10991         * libs/gst/controller/Makefile.am:
10992         * libs/gst/dataprotocol/Makefile.am:
10994 2005-09-14  David Schleef  <ds@schleef.org>
10996         * configure.ac: Remove getbits library.  Nothing uses it, and
10997           it should be in something like liboil if someone did want
10998           to use it.
10999         * libs/gst/Makefile.am:
11000         * libs/gst/getbits/Makefile.am:
11001         * libs/gst/getbits/gbtest.c:
11002         * libs/gst/getbits/getbits.c:
11003         * libs/gst/getbits/getbits.h:
11004         * libs/gst/getbits/gstgetbits_generic.c:
11005         * libs/gst/getbits/gstgetbits_i386.s:
11006         * libs/gst/getbits/gstgetbits_inl.h:
11008 2005-09-14  David Schleef  <ds@schleef.org>
11010         * gst/Makefile.am: Dist glib-compat.h
11012 2005-09-14  David Schleef  <ds@schleef.org>
11014         * configure.ac: Remove gst/registries, since it's no longer used.
11015         * gst/registries/Makefile.am:
11016         * gst/registries/gstlibxmlregistry.c:
11017         * gst/registries/gstlibxmlregistry.h:
11018         * gst/registries/gstxmlregistry.c:
11019         * gst/registries/gstxmlregistry.h:
11020         * gst/registries/registrytest.c:
11022 2005-09-14  David Schleef  <ds@schleef.org>
11024         * gst/glib-compat.h:
11025         * gst/gstregistryxml.c:
11026           Convergence is near.  Seriously.
11028 2005-09-14  David Schleef  <ds@schleef.org>
11030         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11031         * gst/glib-compat.h:
11032           Attempt #4 to appease the buildbots.
11034 2005-09-14  David Schleef  <ds@schleef.org>
11036         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11037           Attempt #3.
11039 2005-09-14  David Schleef  <ds@schleef.org>
11041         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11042         Attempt #2.
11044 2005-09-14  David Schleef  <ds@schleef.org>
11046         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11047           the new functions.
11049 2005-09-14  David Schleef  <ds@schleef.org>
11051         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11052         * gst/glib-compat.h: Add some functions that are in newer versions
11053           of glib than we care to require.
11054         * gst/gstregistryxml.c: Use them.
11056 2005-09-14  David Schleef  <ds@schleef.org>
11058         * po/POTFILES.in: remove gst-register.c
11060 2005-09-14  David Schleef  <ds@schleef.org>
11062         * docs/gst/gstreamer-docs.sgml:
11063         * docs/gst/gstreamer-sections.txt:
11064         * docs/gst/gstreamer.types:
11065         * docs/gst/tmpl/gstelement.sgml:
11066         * docs/gst/tmpl/gstplugin.sgml:
11067         * docs/gst/tmpl/gstpluginfeature.sgml:
11068           Documentation updates for registry changes.
11070 2005-09-14  David Schleef  <ds@schleef.org>
11072         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11073           because we don't require glib-2.8.
11075 2005-09-14  David Schleef  <ds@schleef.org>
11077         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11078           registries directory.
11080 2005-09-14  David Schleef  <ds@schleef.org>
11082         * check/Makefile.am:
11083         * check/generic/states.c:
11084         * gst/Makefile.am:
11085         * gst/gst.c:
11086         * gst/gst.h:
11087         * gst/gst_private.h:
11088         * gst/gstelementfactory.c:
11089         * gst/gstindex.c:
11090         * gst/gstinfo.c:
11091         * gst/gstplugin.c:
11092         * gst/gstplugin.h:
11093         * gst/gstpluginfeature.c:
11094         * gst/gstpluginfeature.h:
11095         * gst/gstregistry.c:
11096         * gst/gstregistry.h:
11097         * gst/gstregistrypool.c: remove
11098         * gst/gstregistrypool.h: remove
11099         * gst/gsttypefind.c:
11100         * gst/gsttypefindfactory.c:
11101         * gst/gsturi.c:
11102         * tools/Makefile.am:
11103         * tools/gst-compprep.c:
11104         * tools/gst-inspect.c:
11105         * tools/gst-register.c: remove
11106         * tools/gst-xmlinspect.c:
11107           Registry rewrite.  Changes registry from being a file created
11108           by a tool into a simple cache file created automatically by 
11109           libgstreamer.  Removed gst-register (because it's no longer
11110           needed).  Remove registry pools, because we only have one
11111           registry implementation (XML).  Fix up other subsystems as
11112           necessary.
11114 2005-09-13  Michael Smith <msmith@fluendo.com>
11116         * gst/gstconfig.h.in:
11117           Don't Use windows linking attributes for MinGW. Fixes #316157
11119 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11121         * gst/gstutils.c: (set_state_async_thread_func),
11122         (gst_element_set_state_async):
11123           Apparently people think it's better if this function doesn't
11124           try to set the state to whatever state was asked for on the first
11125           call to this function for any object.  Seriously.
11127 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11129         * check/gst/gstpipeline.c: (GST_START_TEST):
11130         * docs/gst/gstreamer-sections.txt:
11131         * gst/gstutils.c: (set_state_async_thread_func),
11132         (gst_element_set_state_async):
11133         * gst/gstutils.h:
11134           add a "gst_element_set_state_async" method that
11135           sets the state and starts a thread to make sure the state
11136           change completes as best as it can
11138 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11140         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11141           codify design+behaviour in testsuite after discussion
11143 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11145         * docs/gst/tmpl/gstelement.sgml:
11146         * docs/manual/appendix-quotes.xml:
11147           add a quote
11148         * gst/gstelement.c: (gst_element_set_state):
11149           add some debug
11151 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11153         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11154         (gst_base_transform_prepare_output_buf),
11155         (gst_base_transform_handle_buffer):
11156         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11157         (gst_capsfilter_prepare_buf):
11158           Remove the requirement for sub-classes to call the parent
11159           implementation of prepare_output_buffer with a wrapper function.
11160           
11161         * gst/gsttaglist.h:
11162         * gst/gsttagsetter.h:
11163           Fix #define wrapper
11165 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11167         * docs/gst/gstreamer-sections.txt:
11168           more doc cleanups
11170 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11172         * docs/gst/gstreamer-sections.txt:
11173         * docs/gst/tmpl/gstelement.sgml:
11174         * docs/gst/tmpl/gstplugin.sgml:
11175         * gst/gstminiobject.c:
11176         * gst/gstvalue.h:
11177           docs now stop throwing warnings
11179 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11181         * docs/gst/gstreamer-sections.txt:
11182         * docs/gst/gstreamer.types:
11183         * docs/gst/tmpl/gstpad.sgml:
11184         * docs/gst/tmpl/gsttypes.sgml:
11185         * gst/base/gstadapter.h:
11186         * gst/base/gstbasesink.h:
11187         * gst/base/gstbasesrc.h:
11188         * gst/gstbin.h:
11189         * gst/gstbuffer.h:
11190         * gst/gstbus.h:
11191         * gst/gstcaps.h:
11192         * gst/gstclock.h:
11193         * gst/gstelement.h:
11194         * gst/gstevent.h:
11195         * gst/gstmessage.h:
11196         * gst/gstpad.h:
11197         * gst/gststructure.c:
11198         * gst/registries/gstlibxmlregistry.h:
11199           various documentation fixes
11201 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11203         * docs/gst/gstreamer-sections.txt:
11204         * docs/gst/tmpl/gstvalue.sgml:
11205           rearrange gstvalue section
11206         * gst/gstutils.c: (gst_element_state_get_name):
11207           NONE -> VOID
11208         * gst/gstvalue.c: (_gst_value_initialize):
11209         * gst/gstvalue.h:
11210           doc updates
11212 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11214         * check/gst-libs/controller.c:
11215           Header include fix.
11216         * gst/base/gstbasetransform.c:
11217         (gst_base_transform_default_prepare_buf),
11218         (gst_base_transform_handle_buffer):
11219         * gst/base/gstbasetransform.h:
11220           Some more basetransform changes and fixes to enable sub-classes
11221           that modify buffer metadata only.
11222         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11223         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11224         (gst_capsfilter_prepare_buf):
11225           If the output pad has fixed allowed caps and input buffers 
11226           don't have any, set the fixed caps on outgoing buffers.
11228 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11229         * check/elements/identity.c: (GST_START_TEST):
11230           Make the error a little clearer when the test fails because
11231           identity made a copy of the buffer.
11232         * docs/gst/gstreamer-sections.txt:
11233           New symbols in gstbasetransform.h
11234         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11235         (gst_base_transform_init), (gst_base_transform_transform_size),
11236         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11237         (gst_base_transform_default_prepare_buf),
11238         (gst_base_transform_get_unit_size),
11239         (gst_base_transform_buffer_alloc),
11240         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11241         (gst_base_transform_change_state),
11242         (gst_base_transform_set_passthrough),
11243         (gst_base_transform_set_in_place),
11244         (gst_base_transform_is_in_place):
11245         * gst/base/gstbasetransform.h:
11246           Change BaseTransform to separate in_place operate from same_caps
11247           output. in_place implies that the element can perform the transform
11248           on incoming buffers in-place, even if the caps on the output are
11249           different.
11250           Sub-class elements can now implement special buffer allocation
11251           methods for outgoing buffers if they wish to.
11252           Big documentation addition.
11253         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11254         * gst/elements/gstelements.c:
11255           Changes for basetransform modifications.
11256         * gst/elements/Makefile.am:
11257         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11258           Compile fix. Extra debug output.
11260 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11262         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11263         (gst_pad_suite):
11264           add tests for valid pad naming
11265         * gst/check/gstcheck.c: (gst_check_log_message_func),
11266         (gst_check_log_critical_func):
11267           add ASSERT_WARNING
11268           remove printing of code, it is fragile when the code contains
11269           % and the line number is enough info
11270         * gst/check/gstcheck.h:
11271         * gst/gstpad.c: (gst_pad_template_new):
11272           fix memleaks
11274 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11276         * configure.ac:
11277           say what CHECK flags we use
11278         * docs/libs/gstreamer-libs.types:
11279         * libs/gst/controller/Makefile.am:
11280         * libs/gst/controller/gst-controller.c:
11281         * libs/gst/controller/gst-controller.h:
11282         * libs/gst/controller/gst-helper.c:
11283         * libs/gst/controller/gst-interpolation.c:
11284         * libs/gst/controller/gstcontroller.c:
11285         * libs/gst/controller/gsthelper.c:
11286         * libs/gst/controller/gstinterpolation.c:
11287         * tools/gst-inspect.c: (print_plugin_info):
11288           we don't use dashes in header names
11290 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11292         * check/Makefile.am:
11293         * check/gst/.cvsignore:
11294         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11295         (gst_pipeline_suite), (main):
11296           adding a test for pipelines and state changes
11297         * gst/gstutils.c: (get_state_func):
11298           add some debugging
11299         * gstreamer.spec.in:
11300           fix up spec file
11302 2005-09-08  Michael Smith <msmith@fluendo.com>
11304         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11305         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11306         (gst_file_src_is_seekable), (gst_file_src_get_size),
11307         (gst_file_src_start):
11308         * gst/elements/gstfilesrc.h:
11309           Various fixes for unseekable, unmmapable, and non-normal files, so
11310           that fallback to read() rather than mmap() works.
11311         * gst/gstevent.c: (gst_event_new_newsegment):
11312           Allow newsegment events with segment_start == segment_end, as will
11313           correctly happen if you use filesrc on a zero-size file, for
11314           example.
11316 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11318         * gst/gstplugin.c: (gst_plugin_load_file):
11319           Call g_module_close when we don't load the module
11321         * gst/registries/gstlibxmlregistry.c:
11322         (gst_xml_registry_get_property):
11323           Port leak fix from 0.8
11325 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11327         * docs/gst/gstreamer-docs.sgml:
11328         * docs/gst/tmpl/.cvsignore:
11329         * docs/gst/tmpl/gsttrace.sgml:
11330         * docs/gst/tmpl/gsttrashstack.sgml:
11331         * gst/Makefile.am:
11332         * gst/gst.h:
11333         * gst/gstelement.h:
11334         * gst/gstevent.h:
11335         * gst/gstmessage.c:
11336         * gst/gstmessage.h:
11337         * gst/gsttag.c:
11338         * gst/gsttag.h:
11339         * gst/gsttaginterface.c:
11340         * gst/gsttaginterface.h:
11341         * gst/gsttaglist.c:
11342         * gst/gsttaglist.h:
11343         * gst/gsttagsetter.c:
11344         * gst/gsttagsetter.h:
11345         * gst/gsttrace.c:
11346         * gst/gsttrace.h:
11347         * gst/gsttrashstack.c:
11348           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11349           inlined docs for gsttrace, gsttrashstack
11351 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11353         * gst/Makefile.am:
11354         * gst/elements/gstbufferstore.h:
11355         * gst/elements/gsttypefindelement.c:
11356         * gst/elements/gsttypefindelement.h:
11357         * gst/gst.h:
11358         * gst/gsttypefind.c:
11359         * gst/gsttypefind.h:
11360         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11361         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11362         (gst_type_find_factory_dispose),
11363         (gst_type_find_factory_unload_thyself),
11364         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11365         (gst_type_find_factory_get_caps),
11366         (gst_type_find_factory_get_extensions),
11367         (gst_type_find_factory_call_function):
11368         * gst/gsttypefindfactory.h:
11369         * gst/registries/gstlibxmlregistry.c:
11370         * gst/registries/gstxmlregistry.c:
11371           splitted gsttypefind into gsttypefind, gsttypefindfactory
11373 2005-09-07  Andy Wingo  <wingo@pobox.com>
11375         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11376         condition whereby the pad's task function is entered before the
11377         pad_mode variable was set.
11379 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11381         * gst/gstpad.c: (gst_pad_alloc_buffer):
11382           Catch misbehaving pad_alloc functions that don't
11383           set up caps and do it for them.
11385 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11387         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11388           test for pipe!=NULL
11389         * docs/gst/tmpl/.cvsignore:
11390         * docs/gst/tmpl/gstmemchunk.sgml:
11391         * docs/gst/tmpl/gstparse.sgml:
11392         * docs/gst/tmpl/gsttaglist.sgml:
11393         * docs/gst/tmpl/gsttagsetter.sgml:
11394         * docs/gst/tmpl/gsttypefind.sgml:
11395         * docs/gst/tmpl/gsttypefindfactory.sgml:
11396         * gst/gstmemchunk.c:
11397         * gst/gstparse.c:
11398         * gst/gsttag.c:
11399         * gst/gsttaginterface.c:
11400         * gst/gsttypefind.c:
11401         * gst/gsttypefind.h:
11402           inlined more docs
11404 === release 0.9.2 ===
11406 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11408         * NEWS:
11409         * RELEASE:
11410         * configure.ac:
11411           releasing 0.9.2, "South"
11413 2005-09-05  Andy Wingo  <wingo@pobox.com>
11415         * gst/registries/gstxmlregistry.h:
11416         * gst/registries/gstxmlregistry.c: Um... resurrect...
11417         
11418         * gst/registries/gstxmlregistry.h:
11419         * gst/registries/gstxmlregistry.c: and update to newer API.
11420         Incidentally they should be a bit faster now that they don't have
11421         to parse the caps.
11422         
11423 2005-09-05  Andy Wingo  <wingo@pobox.com>
11425         * gst/registries/gstxmlregistry.h:
11426         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11427         replaced by the libxml registry a while back
11429 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11431         * docs/gst/tmpl/gstplugin.sgml:
11432         * gst/elements/gstelements.c:
11433         * gst/gst.c:
11434         * gst/gstplugin.c: (gst_plugin_register_func),
11435         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11436         (gst_plugin_get_source):
11437         * gst/gstplugin.h:
11438         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11439         (gst_xml_registry_save_plugin):
11440         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11441         (gst_xml_registry_save_plugin):
11442         * tools/gst-inspect.c: (print_plugin_info):
11443           add a "source" plugin description field, to represent the source
11444           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11445           will set it to PACKAGE, which is automake's idea of the name of
11446           the source project.
11448 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11450         * Makefile.am:
11451         * autogen.sh:
11452         * configure.ac:
11453         * docs/Makefile.am:
11454         * docs/faq/Makefile.am:
11455         * docs/gst/tmpl/gstelement.sgml:
11456         * docs/gst/tmpl/gsttypes.sgml:
11457         * docs/htmlinstall.mak:
11458         * docs/manual/Makefile.am:
11459         * docs/pwg/Makefile.am:
11460           reorganize doc build a little
11461           split out docbook and gtk-doc stuff
11462           have two separate --enable's and enable them through autogen
11463           but disable by default in configure (to be similar to other
11464           projects)
11465         * gstreamer.spec.in:
11466           clean up docs install
11467         * po/af.po:
11468         * po/az.po:
11469         * po/ca.po:
11470         * po/cs.po:
11471         * po/de.po:
11472         * po/en_GB.po:
11473         * po/fr.po:
11474         * po/it.po:
11475         * po/nb.po:
11476         * po/nl.po:
11477         * po/ru.po:
11478         * po/sq.po:
11479         * po/sr.po:
11480         * po/sv.po:
11481         * po/tr.po:
11482         * po/uk.po:
11483         * po/vi.po:
11484           translation updates
11486 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11488         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11489           Add comment.
11490           
11491         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11492         (gst_fake_sink_change_state):
11493           Make state change function thread-safe.
11494           
11495         * gst/gstpad.c: (gst_pad_alloc_buffer):
11496           Set offset on generic buffer allocated by fallback.
11498 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11500         * docs/gst/gstreamer-sections.txt:
11501         * docs/gst/tmpl/gstelement.sgml:
11502         * gst/gstpad.c:
11503         * libs/gst/controller/gst-controller.c:
11504         (gst_controlled_property_set_interpolation_mode),
11505         (gst_controlled_property_new),
11506         (gst_controller_find_controlled_property):
11507          run the wingo-magic script against the docs
11509 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11511         * docs/gst/gstreamer-docs.sgml:
11512         * docs/gst/gstreamer-sections.txt:
11513         * docs/gst/tmpl/.cvsignore:
11514         * docs/gst/tmpl/gstelementdetails.sgml:
11515         * docs/gst/tmpl/gstelementfactory.sgml:
11516         * gst/gst.c:
11517         * gst/gstbus.c:
11518         * gst/gstelementfactory.c:
11519         * gst/gstelementfactory.h:
11520           merged elementdetails docs into elementfactory docs
11521           inlined both
11523 2005-09-02  Andy Wingo  <wingo@pobox.com>
11525         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11526         consider this enum an enum and not a flags.
11528 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11530         * docs/gst/gstreamer-docs.sgml:
11531         * docs/gst/tmpl/.cvsignore:
11532         * docs/gst/tmpl/gstghostpad.sgml:
11533         * docs/gst/tmpl/gstiterator.sgml:
11534         * docs/gst/tmpl/gstmacros.sgml:
11535         * docs/gst/tmpl/gstrealpad.sgml:
11536         * docs/gst/tmpl/gstregistry.sgml:
11537         * docs/gst/tmpl/gstregistrypool.sgml:
11538         * docs/gst/tmpl/gststructure.sgml:
11539         * docs/gst/tmpl/gstsystemclock.sgml:
11540         * docs/gst/tmpl/gsttrace.sgml:
11541         * gst/gstghostpad.c:
11542         * gst/gstmacros.h:
11543         * gst/gstmemchunk.c:
11544         * gst/gstmemchunk.h:
11545         * gst/gstqueue.c:
11546         * gst/gstregistry.c:
11547         * gst/gstregistrypool.c:
11548         * gst/gststructure.c:
11549         * gst/gstsystemclock.c:
11550           more docs inlined
11552 2005-09-02  Andy Wingo  <wingo@pobox.com>
11554         * gst/gstelement.h (GstState): Renamed from GstElementState,
11555         changed to be a normal enum instead of flags.
11556         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11557         munged to be GST_STATE_CHANGE_*.
11558         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11559         work with the new state representation.
11560         (GstStateChange): New enumeration of possible state transitions.
11561         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11562         (GstElementClass::change_state): Pass the GstStateChange along as
11563         an argument. Helps language bindings, so they don't have to use
11564         tricky lock-needing macros like GST_STATE_CHANGE ().
11566         * scripts/update-states (file): New script. Run it on a file to
11567         update it for state naming and API changes. Updates files in
11568         place.
11570         * All files updated for the new API.
11572 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11574         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11575         * gst/gstutils.c: (gst_util_set_value_from_string),
11576         (gst_util_set_object_arg):
11577           fix a bunch of unchecked return values
11578         * tools/gst-complete.c: (main):
11579         * gstreamer.spec.in:
11580           clean up a little
11582 2005-09-01  Wim Taymans  <wim@fluendo.com>
11584         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11585         (gst_base_sink_event), (gst_base_sink_do_sync),
11586         (gst_base_sink_handle_event):
11587         * gst/base/gstbasesink.h:
11588         Handle newsegments more correctly.
11590         * gst/gstbus.c:
11591         Fix docs.
11593         * gst/gstevent.c: (gst_event_new_newsegment):
11594         A newsegment cannot have a start_time of -1
11596 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11598         * win32/gstenumtypes.c:
11599         * win32/gstenumtypes.h:
11600           Update
11602 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11604         * libs/gst/controller/gst-controller.c:
11605         (gst_controlled_property_set_interpolation_mode),
11606         (gst_controlled_property_new):
11607          fixed boolean again
11609 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11611         * docs/faq/gst-uninstalled:
11612           add -good
11613         * gst/gstevent.c:
11614         * gst/gstevent.h:
11615           remove wrong docs
11616         * gst/gstutils.c: (gst_element_link_filtered):
11617         * gst/gstutils.h:
11618           add gst_element_link_filtered
11620 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11622         * docs/gst/gstreamer-docs.sgml:
11623         * docs/gst/gstreamer-sections.txt:
11624         * docs/gst/tmpl/.cvsignore:
11625         * docs/gst/tmpl/gsterror.sgml:
11626         * docs/gst/tmpl/gstfilter.sgml:
11627         * docs/gst/tmpl/gsturihandler.sgml:
11628         * docs/gst/tmpl/gsturitype.sgml:
11629         * docs/gst/tmpl/gstutils.sgml:
11630         * docs/gst/tmpl/gstxml.sgml:
11631         * gst/gsterror.c:
11632         * gst/gsterror.h:
11633         * gst/gstfilter.c:
11634         * gst/gsturi.c:
11635         * gst/gsturitype.c:
11636         * gst/gstutils.c:
11637         * gst/gstxml.c:
11638           inlined more docs, fixed double id-ref
11640 2005-08-31  Wim Taymans  <wim@fluendo.com>
11642         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11643         (gst_base_transform_handle_buffer):
11644         Passthrough elements don't need the caps as they don't care.
11646 2005-08-31  Wim Taymans  <wim@fluendo.com>
11648         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11649         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11650         Don't leak refcounts on buffers.
11652 2005-08-31  Wim Taymans  <wim@fluendo.com>
11654         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11655         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11656         (gst_base_transform_chain), (gst_base_transform_change_state):
11657         * gst/base/gstbasetransform.h:
11658         Handle the case where we are not negotiated more gracefully.
11660 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11662         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11663         (gst_file_src_map_region):
11664           Set READONLY flag on mmap'ed buffers, otherwise
11665           gst_buffer_make_writable() won't work properly (#314708).
11667 2005-08-31  Wim Taymans  <wim@fluendo.com>
11669         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11670         passthrough elements can even do inplace on non writable
11671         buffers (as they don't touch them).
11673 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11675         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11676         (gst_test_mono_source_set_property),
11677         (gst_test_mono_source_class_init), (GST_START_TEST),
11678         (gst_controller_suite):
11679           more tests (hehe I have the most)
11680         * gst/gstbus.c:
11681           describe popping messages whenusing mulltiple sources
11682         * libs/gst/controller/gst-controller.c:
11683         (gst_controlled_property_set_interpolation_mode),
11684         (gst_controlled_property_new):
11685         * libs/gst/controller/gst-controller.h:
11686         * libs/gst/controller/gst-interpolation.c:
11687           implement boolean properties
11689 2005-08-31  Wim Taymans  <wim@fluendo.com>
11691         * gst/gstminiobject.c: (gst_mini_object_ref):
11692         Cannot assert that the refcount has to be positive
11693         since a disposed object can be resurrected.
11695 2005-08-31  Wim Taymans  <wim@fluendo.com>
11697         * gst/gstpad.c: (gst_pad_init):
11698         Revert change, need to first fix badly behaving 
11699         apps.
11701 2005-08-30  Wim Taymans  <wim@fluendo.com>
11703         * check/elements/fakesrc.c: (setup_fakesrc):
11704         * check/elements/identity.c: (setup_identity):
11705         Activate pads before using them.
11707 2005-08-30  Wim Taymans  <wim@fluendo.com>
11709         * gst/base/gstadapter.c: (gst_adapter_flush):
11710         Flushing out 0 bytes is ok for this function.
11712         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11713         no newsegment gives a warning and sets the start/stop to 
11714         invalid.
11716         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11717         (gst_base_transform_set_passthrough):
11718         Some debug info.
11720         * gst/gstminiobject.c: (gst_mini_object_ref):
11721         Check refcount here too.
11723         * gst/gstpad.c: (gst_pad_init):
11724         Pads are initially flushing and refusing data.
11726         * gst/gstutils.c: (gst_element_link_pads_filtered):
11727         When adding a capsfilter element make sure it has the
11728         same state as the parent bin.
11730 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11732         * docs/gst/tmpl/.cvsignore:
11733         * docs/gst/tmpl/gstformat.sgml:
11734         * docs/gst/tmpl/gstversion.sgml:
11735         * gst/gstbus.h:
11736         * gst/gstformat.c:
11737         * gst/gstformat.h:
11738         * gst/gstversion.h.in:
11739           more docs and two more inlined
11741 2005-08-30  Wim Taymans  <wim@fluendo.com>
11743         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11744         Don't sync to clock.
11746 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11748         * docs/gst/gstreamer-sections.txt:
11749           ultral33t func10ns deserve to appear in the docs actually
11750         * docs/gst/tmpl/.cvsignore:
11751         * docs/gst/tmpl/gstcompat.sgml:
11752         * docs/gst/tmpl/gstconfig.sgml:
11753         * gst/check/gstcheck.c:
11754         * gst/gstcompat.h:
11755         * gst/gstconfig.h.in:
11756           inlined more docs
11758 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11760         * docs/gst/tmpl/.cvsignore:
11761         * docs/gst/tmpl/gstquery.sgml:
11762         * docs/gst/tmpl/gstutils.sgml:
11763         * gst/gstquery.c:
11764         * gst/gstquery.h:
11765           inlined and extended docs
11767 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11769         * check/gst-libs/controller.c: (GST_START_TEST),
11770         (gst_controller_suite):
11771           more tests
11772         * docs/gst/tmpl/gstutils.sgml:
11773         * docs/libs/gstreamer-libs-sections.txt:
11774         * docs/libs/tmpl/gstdataprotocol.sgml:
11775           include path fixes
11776         * examples/controller/audio-example.c: (main):
11777           controller example works now
11778         * gst/gstclock.h:
11779           doc fixes
11780         * tools/gst-inspect.c: (print_element_properties_info):
11781           show param spec flags
11783 2005-08-29  Andy Wingo  <wingo@pobox.com>
11785         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11787 2005-08-28  Andy Wingo  <wingo@pobox.com>
11789         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11790         as having two arguments instead of just one. Allows superclasses
11791         to access information on subclasses -- see the terrible for() loop
11792         in gtype.c:g_type_create_instance for the reason why. All callers
11793         changed.
11795 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11797         * docs/design/part-messages.txt:
11798           update info
11799         * docs/gst/tmpl/.cvsignore:
11800         * docs/gst/tmpl/gstcaps.sgml:
11801         * docs/gst/tmpl/gstclock.sgml:
11802         * gst/gstbus.c:
11803         * gst/gstcaps.c:
11804         * gst/gstcaps.h:
11805         * gst/gstclock.c:
11806         * gst/gstclock.h:
11807         * gst/gstmessage.c:
11808           added descriptions for bus and message
11809           inline caps and clock docs
11811 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11813         * gst/gstmessage.c:
11814         * gst/gstmessage.h:
11815           doc fixes
11817 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11819         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11820           fix div-by-zero
11822 2005-08-26  Andy Wingo  <wingo@pobox.com>
11824         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11825         element_set_state's return val.
11826         (test_2_elements): Add test that's been disabled for months.
11828         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11829         can-activate-pull properties.
11831         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11832         can-activate-pull properties. Implement is_seekable so fakesrc can
11833         operate in pull mode.
11835         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11836         properties.
11837         (gst_base_sink_activate, gst_base_sink_activate_pull)
11838         (gst_base_sink_activate_push): Make activation mode choosing work.
11839         Cleanups.
11840         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11841         is right. Make pull mode work. Post an eos before pausing in pull
11842         mode.
11843         (gst_base_sink_change_state): Pay attention to the core's
11844         change_state() return val.
11845         
11846         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11847         has-getrange properties. Cleanups.
11848         
11849         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11850         has_getrange and replace with can_activate_pull and
11851         can_activate_push.
11853         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11854         locking comments. Remove has_loop, has_chain and replace with
11855         can_activate_pull and can_activate_push.
11857 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11859         * configure.ac:
11860         * examples/Makefile.am:
11861         * examples/metadata/Makefile.am:
11862         * examples/metadata/read-metadata.c: (message_loop),
11863         (have_pad_handler), (make_pipeline), (print_tag), (main):
11864           Add metadata reading example that loops over a list of filenames,
11865           dumping any tags found.
11867         * gst/gstbus.c: (gst_bus_dispose):
11868         * gst/gstelement.c: (gst_element_dispose):
11869           Release a few potentially-held references in dispose.
11871 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11873         * docs/gst/tmpl/gstminiobject.sgml:
11874           do *not* add tmpl/*.sgml files to CVS!
11876 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11878         * libs/gst/bytestream/.cvsignore:
11879         * libs/gst/bytestream/Makefile.am:
11880         * libs/gst/bytestream/adapter.c:
11881         * libs/gst/bytestream/adapter.h:
11882         * libs/gst/bytestream/bytestream.c:
11883         * libs/gst/bytestream/bytestream.h:
11884         * libs/gst/bytestream/filepad.c:
11885         * libs/gst/bytestream/filepad.h:
11886           removing obsolete files
11888 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11890         * docs/gst/gstreamer-docs.sgml:
11891         * docs/libs/gstreamer-libs-docs.sgml:
11892           disabed additional index entries again, as this makes docs-gen just
11893           slow and they aren't useful yet
11894         * docs/libs/gstreamer-libs-sections.txt:
11895           little -section.txt cleanup for libs
11897 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11899         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11900         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11901           fix up some debugging
11902         (gst_base_transform_get_unit_size),
11903         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11904         (gst_base_transform_handle_buffer):
11905         * gst/base/gstbasetransform.h:
11906           handle and store timed NEWSEGMENT events so that subclasses that
11907           calculate time by counting samples have a segment_start time they
11908           need to add to their timestamps - see audioresample
11910 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11912         * gst/gstbin.h:
11913           removed ';' from the end of macro defs
11914         * docs/gst/gstreamer-docs.sgml:
11915         * docs/gst/gstreamer-sections.txt:
11916         * docs/gst/tmpl/.cvsignore:
11917         * gst/gstbus.h:
11918         * gst/gstelement.c: (gst_element_class_init),
11919         (gst_element_set_state), (activate_pads),
11920         (gst_element_save_thyself):
11921         * gst/gstevent.c: (gst_event_new_newsegment):
11922         * gst/gstevent.h:
11923         * gst/gstiterator.c:
11924         * gst/gstiterator.h:
11925         * gst/gstpad.c:
11926         * gst/gstprobe.h:
11927         * gst/gstutils.c: (gst_pad_query_convert):
11928         * gst/gstutils.h:
11929           fixed parameter name mismatches between source, header and docs
11930           added some more docs, resolved the last batch of unused elements in
11931           docs (now someone needs to doc them)
11933 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11935         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11936         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11937           don't walk through the plugins backwards.  Where is all this
11938           reversed logic coming from ?
11940 2005-08-25  Wim Taymans  <wim@fluendo.com>
11942         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11943         (gst_base_transform_transform_size),
11944         (gst_base_transform_configure_caps),
11945         (gst_base_transform_get_unit_size),
11946         (gst_base_transform_buffer_alloc),
11947         (gst_base_transform_change_state):
11948         * gst/base/gstbasetransform.h:
11949         Cache caps unit_size.
11950         Make sure we cannot negotiate up and downstream at the
11951         same time.
11953 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11955         * gst/gst.c: (init_pre), (init_post):
11956           register the installed plugin path after the env var
11957         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11958         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11959           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11960           directories, so the tests can prefer uninstalled over installed
11962 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11964         * gst/base/gstbasetransform.h:
11965           comment
11966         * gst/gstpad.c:
11967           add to docs
11969 2005-08-25  Wim Taymans  <wim@fluendo.com>
11971         * gst/gstbin.c: (bin_bus_handler):
11972         Be a bit more conservative about the posted message.
11973         
11974         * gst/gstbus.c: (gst_bus_post):
11975         Some cleanups, warn wrong return values.
11977 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11979         * check/gst/gstbin.c: (GST_START_TEST):
11980         * gst/gstbin.c: (bin_bus_handler):
11981         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11982         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11983         (gst_message_new_warning), (gst_message_new_tag),
11984         (gst_message_new_state_changed), (gst_message_new_segment_start),
11985         (gst_message_new_segment_done), (gst_message_new_custom):
11986         * gst/gstmessage.h:
11987         * tools/gst-launch.c: (event_loop):
11988         * tools/gst-md5sum.c: (event_loop):
11989           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11991 2005-08-25  Wim Taymans  <wim@fluendo.com>
11993         * check/generic/states.c: (GST_START_TEST):
11994         Cleanup can be done at the end.
11996         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11997         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11998         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11999         Oh boy.. Thanks for finding this, Thomas. 
12001 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12003         * docs/gst/gstreamer.types:
12004           added missing types
12006 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12008         * docs/gst/gstreamer-docs.sgml:
12009         * docs/gst/gstreamer-sections.txt:
12010         * docs/gst/tmpl/.cvsignore:
12011         * gst/gstbin.c:
12012         * gst/gstiterator.c:
12013         * gst/gstutils.c:
12014         * gst/registries/gstxmlregistry.h:
12015           added missing classes and symbols (123 more to go)
12016           removed removed symbols from section file
12017           fixed many doc-comments
12019 2005-08-24  Wim Taymans  <wim@fluendo.com>
12021         * check/generic/states.c: (GST_START_TEST):
12022         Make sure all tasks are stopped.
12024         * check/gst/gstbin.c: (GST_START_TEST):
12025         Unref after usage for proper valgrinding.
12027         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12028         Really wait for the task to stop before destroying the
12029         mutex.
12031         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12032         (gst_queue_src_activate_push):
12033         Small cleanups. Don't stop the task when we did not start
12034         it.
12036         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12037         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12038         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12039         (gst_task_join):
12040         * gst/gsttask.h:
12041         Protect the stream lock with the object lock.
12042         Disallow setting the stream lock when running.
12043         Add cleanup_all to wait for the threadpool to finish.
12044         Remove code to autoallocate a mutex if none was provided.
12045         Add _join() to wait for a task to stop.
12046         Protect the thread pool with a global lock.
12048 2005-08-24  Wim Taymans  <wim@fluendo.com>
12050         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12051         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12052         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12053         * gst/base/gstbasesink.h:
12054         Handle newsegment events correctly.
12055         Drop buffers out of the segment range.
12057 2005-08-22  Andy Wingo  <wingo@pobox.com>
12059         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12060         macro, implements an interface and gstimplementsinterface for a
12061         new type.
12063 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12065         * check/Makefile.am:
12066         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12067           add a test that does a bunch of state changes on elements
12068           needs some fixing for valgrind
12069         * check/states/sinks.c: (gst_object_suite):
12070           whitespace
12071         * gst/gstcaps.h:
12072           add prototype for gst_caps_is_equal_fixed
12073         * gst/gstplugin.c:
12074         * gst/gstregistrypool.c:
12075           doc fixes
12077 2005-08-24  Andy Wingo  <wingo@pobox.com>
12079         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12080         convert a negative value. Doesn't make much sense. Mostly this is
12081         here to force callers to ensure -1 maps to -1.
12083 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12085         * docs/pwg/advanced-types.xml:
12086           Well done to Michael for catching my deliberate introduction
12087           of this spelling mistake. 
12088         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12089         * gst/gstelement.h:
12090           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12091           unlink pads before removing the element from the bin.
12093 2005-08-24  Andy Wingo  <wingo@pobox.com>
12095         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12096         the same thing as GST_DEBUG=*:4.
12097         (parse_debug_level, parse_debug_category): New helper parsers.
12099 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12101         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12102         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12103         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12104         (gst_base_transform_buffer_alloc),
12105         (gst_base_transform_handle_buffer):
12106           use gboolean return values and pointers to size so we can use the
12107           full GST_BUFFER_SIZE range (guint) for buffer sizes
12108           use GstPadDirection for transform_caps
12109         * gst/base/gstbasetransform.h:
12110           rename get_size to get_unit_size since that's what it is
12111         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12112           use GstPadDirection for transform_caps
12113         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12114         * gst/gstutils.h:
12115           cleanup and debugging
12117 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12119         * gst/gstelement.c: (gst_element_class_init),
12120         (gst_element_set_state), (activate_pads),
12121         (gst_element_save_thyself):
12122         * tools/gst-compprep.c: (main):
12123         * tools/gst-inspect.c: (print_element_properties_info):
12124         * tools/gst-xmlinspect.c: (print_element_properties):
12125           Fixed long standing mem-leak
12127 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12129         * check/gst/gstbin.c: (GST_START_TEST):
12130         * gst/gstbin.c: (bin_bus_handler):
12131         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12132         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12133         (gst_message_new_warning), (gst_message_new_tag),
12134         (gst_message_new_state_changed), (gst_message_new_segment_start),
12135         (gst_message_new_segment_done), (gst_message_new_custom):
12136         * gst/gstmessage.h:
12137         * tools/gst-launch.c: (event_loop):
12138         * tools/gst-md5sum.c: (event_loop):
12139           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12140           that applications can sensibly post custom messages with references
12141           to their own objects.
12143 2005-08-24  Andy Wingo  <wingo@pobox.com>
12145         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12146         already.
12148 2005-08-24  Wim Taymans  <wim@fluendo.com>
12150         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12151         (gst_base_transform_transform_caps),
12152         (gst_base_transform_transform_size),
12153         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12154         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12155         (gst_base_transform_handle_buffer):
12156         * gst/base/gstbasetransform.h:
12157         Many fixes and new features added by Thomas. Can now also do
12158         transforms with variable sizes and a custom fixate_caps function.
12160 2005-08-24  Wim Taymans  <wim@fluendo.com>
12162         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12163         Some debugging.
12165         * gst/gstclock.h:
12166         Cast to ClockTime before formatting to time.
12168         * gst/gstutils.h:
12169         Cleanups.
12171 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12173         * check/gst-libs/controller.c: (GST_START_TEST),
12174         (gst_controller_suite):
12175         * docs/gst/tmpl/gstcaps.sgml:
12176         * docs/gst/tmpl/gstghostpad.sgml:
12177         * docs/gst/tmpl/gstquery.sgml:
12178         * docs/gst/tmpl/gstutils.sgml:
12179         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12180         (gst_object_sink_values), (gst_object_get_value_arrays),
12181         (gst_object_get_value_array):
12182           gracefully handle helper method calls to objects that are not beeing
12183           controlled, added test case for that          
12185 2005-08-23  Wim Taymans  <wim@fluendo.com>
12187         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12188         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12189         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12190         (gst_event_parse_qos), (gst_event_new_seek),
12191         (gst_event_parse_seek):
12192         * gst/gstevent.h:
12193         Some more debugging output and doc cleanups.
12195         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12196         Fix possible deadlock.
12198 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12200         * docs/gst/gstreamer-docs.sgml:
12201         * docs/gst/gstreamer-sections.txt:
12202         * docs/gst/gstreamer.types:
12203         * docs/gst/tmpl/.cvsignore:
12204         * gst/gstbin.h:
12205         * gst/gstbus.c:
12206         * gst/gstelement.c:
12207         * gst/gstevent.h:
12208           added 100 symbols from gstreamer-unused.txt to the right sections
12209           fixed more broken comments
12210           added GstBus to docs
12212 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12214         * docs/gst/gstreamer-sections.txt:
12215         * docs/gst/tmpl/.cvsignore:
12216         * docs/gst/tmpl/gstbin.sgml:
12217         * docs/gst/tmpl/gstbuffer.sgml:
12218         * gst/base/gstbasesrc.c:
12219         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12220         * gst/gstbuffer.c:
12221         * gst/gstbuffer.h:
12222         * tools/gst-launch.1.in:
12223           inlined more doc comments, added missing comments and fixed comments
12224           fixed typos
12226 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12228         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12229           some debugging
12230         * gst/gstcaps.h:
12231           whitespace fixes
12232         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12233           more debugging
12234         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12235         * gst/gststructure.h:
12236           add a fixate function for booleans; add a FIXME that these func
12237           names should probably be gst_structure_fixate_*
12239 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12241         * docs/gst/gstreamer-docs.sgml:
12242         * docs/gst/gstreamer-sections.txt:
12243         * gst/Makefile.am:
12244         * gst/gstbin.c: (gst_bin_get_type),
12245         (gst_bin_child_proxy_get_child_by_index),
12246         (gst_bin_child_proxy_get_children_count),
12247         (gst_bin_child_proxy_init):
12248         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12249         (gst_child_proxy_get_child_by_index),
12250         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12251         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12252         (gst_child_proxy_get), (gst_child_proxy_set_property),
12253         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12254         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12255         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12256         * gst/gstchildproxy.h:
12257         * gst/parse/grammar.y:
12258         * tools/gst-inspect.c: (print_interfaces),
12259         (print_element_properties_info), (print_element_info):
12260           ported gstchildproxy over from 0.8
12261           ported gst-inspect fixes and enhancements over from 0.8
12263 2005-08-22  Wim Taymans  <wim@fluendo.com>
12265         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12266         (gst_base_transform_handle_buffer):
12267         Also call the transform function if we have ANY caps.
12269         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12270         Fix debug info.
12272 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12274         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12275           Don't pretend to handle seek events if the source is not seekable
12277 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12279         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12280           Remove extra parameter to debug output
12282         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12283         (gst_base_src_do_seek), (gst_base_src_activate_push):
12284           Fix seek event handling.
12286         * gst/gstpipeline.c: (gst_pipeline_change_state):
12287         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12288         (gst_queue_src_activate_push):
12289           Don't start the src pad task on FLUSH_STOP if the pad
12290           isn't linked.
12291           Debug changes.
12293 2005-08-22  Wim Taymans  <wim@fluendo.com>
12295         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12296         Added check for gst_static_caps_get() refcounting.
12298 2005-08-22  Wim Taymans  <wim@fluendo.com>
12300         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12301         Make _static_caps_get() refcounting sane.
12302         
12303         * gst/gstelement.c: (gst_element_set_state):
12304         Add g_return_val_if_fail() to protect against segfaults.
12306 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12308         * docs/gst/tmpl/gstevent.sgml:
12309         * gst/gstevent.c:
12310         * gst/gstevent.h:
12311           inlined remaining docs, added missing doc comments
12313 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12315         * check/gst/gstbin.c: (GST_START_TEST):
12316           since we don't know when preroll is done, use refcount range
12317           check for the sink
12318         * gst/check/gstcheck.h:
12319           add macro for checking refcount range
12321 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12323         * check/Makefile.am:
12324           clean up environment for when registry gets built versus
12325           when actual tests are run; valgrind seems to not report
12326           leaks if GST_PLUGIN_PATH is set to some specific values
12327         * check/gst/gstbin.c: (GST_START_TEST):
12328           add more refcounting checks; maybe this exposes a
12329           preroll lock bug ?
12330         * common/check.mak:
12331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12332         * gst/check/gstcheck.h:
12333         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12334         (gst_bin_change_state):
12335         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12336           add/fix debugging/whitespace
12338 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12340         * check/gst/gstevent.c: (event_probe), (test_event),
12341         (GST_START_TEST):
12342          Er, don't call gst_bin_watch_for_state_change you idiot.
12344 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12346         * check/Makefile.am:
12347           Use CHECK_CFLAGS and CHECK_LIBS
12348         * check/gst/gstevent.c: (event_probe), (test_event),
12349         (GST_START_TEST):
12350           Don't leak events.
12351         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12352         (gst_base_src_start), (gst_base_src_stop),
12353         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12354         (gst_base_src_change_state):
12355           Sprinkle gst_base_src_stop liberally around error paths to fix
12356           problems reusing a source after failed state changes.
12357         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12358         (helper_find_suggest), (gst_type_find_helper):
12359           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12360         * gst/gstevent.h:
12361         * docs/gst/tmpl/gstevent.sgml:
12362           Migrate part of the docs from the SGML file. Wait for ensonic to
12363           tell me how I did it wrong ;)
12364         * tools/gst-typefind.c: (main):
12365           Extra robustness to state changes between files.
12367 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12369         * check/Makefile.am:
12370           don't valgrind the controller test - it's leaking - Stefan, HELP
12371         * gst/check/gstcheck.c: (gst_check_message_error),
12372         (gst_check_chain_func), (gst_check_setup_element),
12373         (gst_check_teardown_element), (gst_check_setup_src_pad),
12374         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12375         (gst_check_teardown_sink_pad):
12376         * gst/check/gstcheck.h:
12377           add a bunch of methods to set up elements, and src and sink pads
12378         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12379         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12380         (GST_START_TEST):
12381           use them
12382         * gst/gstmessage.c:
12383         * gst/gsttag.h:
12384           whitespace/doc fixes
12386 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12388         * gst/gstelement.h:
12389           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12390           be handled by the application and not always printed as well
12392 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12394         * check/Makefile.am:
12395           set GST_TOOLS_DIR
12396         * gst/check/gstcheck.c: (gst_check_message_error):
12397         * gst/check/gstcheck.h:
12398           add a fail_unless_equals_int
12399           add fail_unless for error messages
12401 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12403         * check/Makefile.am:
12404         * check/gst.supp:
12405         * common/Makefile.am:
12406         * common/check.mak:
12407         * common/gst.supp:
12408           factor out some of the common stuff so we can use it
12410 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12412         * check/Makefile.am:
12413         * check/gst/gstiterator.c: (GST_START_TEST):
12414         * check/gst/gstsystemclock.c: (GST_START_TEST),
12415         (gst_systemclock_suite):
12416         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12417         * gst/gstclock.c:
12418           valgrind more tests
12420 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12422         * check/elements/.cvsignore:
12423         * check/elements/gstfakesrc.c:
12424           rename to name of element
12425         * check/elements/identity.c: (chain_func), (event_func),
12426         (setup_identity), (cleanup_identity), (GST_START_TEST),
12427         (identity_suite), (main):
12428           add a test for identity
12429         * check/Makefile.am:
12430         * pkgconfig/Makefile.am:
12431         * pkgconfig/gstreamer-check.pc.in:
12432         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12433         * gst/check:
12434         * gst/Makefile.am:
12435         * configure.ac:
12436           move the check stuff to a library that gets installed
12437         * check/gst-libs/controller.c: (GST_START_TEST):
12438         * check/gst-libs/gdp.c:
12439         * check/gst/gst.c: (GST_START_TEST):
12440         * check/gst/gstbin.c:
12441         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12442         * check/gst/gstbus.c:
12443         * check/gst/gstcaps.c: (GST_START_TEST):
12444         * check/gst/gstelement.c:
12445         * check/gst/gstghostpad.c:
12446         * check/gst/gstiterator.c:
12447         * check/gst/gstmessage.c:
12448         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12449         * check/gst/gstobject.c:
12450         * check/gst/gstpad.c: (GST_START_TEST):
12451         * check/gst/gststructure.c: (GST_START_TEST):
12452         * check/gst/gstsystemclock.c: (GST_START_TEST),
12453         (gst_systemclock_suite):
12454         * check/gst/gsttag.c: (gst_tag_suite):
12455         * check/gst/gstvalue.c:
12456         * check/pipelines/cleanup.c:
12457         * check/pipelines/simple_launch_lines.c:
12458         * check/states/sinks.c:
12459           change include statement
12461         * docs/gst/gstreamer-sections.txt:
12462         * docs/gst/tmpl/gstpad.sgml:
12463           document more pad stuff
12464         * gst/gstminiobject.c: (gst_mini_object_ref),
12465         (gst_mini_object_unref):
12466           debug refcounting
12468 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12470         * docs/gst/tmpl/gst.sgml:
12471         * gst/gst.c:
12472           eliminate another tmpl file, fix spelling in the long-description
12474 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12476         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12477         (test_event), (timediff), (gstevents_suite):
12478           Should fix build on 64-bit arch's
12480 2005-08-18  Andy Wingo  <wingo@pobox.com>
12482         Make sure that when a pipeline goes to PLAYING, that data has
12483         actually hit the sink.
12485         * check/states/sinks.c (test_sink): A sink that doesn't get any
12486         data shouldn't return SUCCESS for going to either PLAYING or
12487         PAUSED. Test also the return values on the way back down.
12489         * gst/gstelement.c (gst_element_set_state): When changing the
12490         state of an element currently changing state asynchronously, go to
12491         lost-state after commiting the pending state. Makes future calls
12492         to get_state continue to return ASYNC.
12494         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12495         ASYNC when going to PLAYING if we still don't have preroll, as can
12496         happen with live sources.
12498 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12500         * docs/pwg/advanced-types.xml:
12501           Hack long paragraph into 2 chunks as a workaround for buggy
12502           jadetex version in sid and breezy that loops infinitely and
12503           eats all RAM.
12505 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12507         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12508         (test_event), (timediff), (gstevents_suite):
12509           Provide more error margin in clock measurements to allow for 
12510           g_get_current_time inaccuracies.
12512 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12514         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12515         (test_event), (timediff), (gstevents_suite):
12516            Fix error message output so I might be able to tell why the
12517            test works here but fails on the build farm.
12519 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12521         * check/Makefile.am:
12522         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12523         (test_event), (timediff), (gstevents_suite), (main):
12524           I wrote a test!
12526         * docs/design/part-seeking.txt:
12527           Spelling correction
12529         * docs/gst/tmpl/gstevent.sgml:
12530         * docs/gst/tmpl/gstfakesrc.sgml:
12531           Docs updates.
12533         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12534           Treat a buffer-without-newsegment the same as a receiving 
12535           a newsegment not in time format, and disable syncing to the clock
12536           with a warning.
12538         * gst/gstbus.c: (gst_bus_set_sync_handler):
12539           Assert if anyone tries to replace the existing sync_handler for bus, 
12540           as only the owner should be setting it.
12542         * gst/gstevent.h:
12543           Have a fixed set of custom event enums with events identified by
12544           their structure name (as in 0.8), rather than a free-for-all
12545           allowing collisions between enum values from different plugins.
12547         * gst/gstpad.c: (gst_pad_class_init):
12548           Docs change.
12549           
12550         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12551           Handle out-of-band downstream events from the sending thread.
12553 2005-08-17  Andy Wingo  <wingo@pobox.com>
12555         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12556         play-timeout==0 to mean no timeout at all. In that case, don't
12557         bother with a get_state or a warning, just return directly, even
12558         if it's ASYNC.
12560         * gst/base/gstbasetransform.c: Debug changes.
12562         * gst/gstutils.h:
12563         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12564         ensure bins post state change messages. A bit of a hack but I can't
12565         think of a way to avoid it.
12567         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12569 2005-08-16  Andy Wingo  <wingo@pobox.com>
12571         * gst/base/gstadapter.h:
12572         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12573         peek() but you own the data. Not terribly efficient atm.
12575 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12577         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12578         (gst_element_found_tags):
12579         * gst/gstutils.h:
12580           Add two utility functions for tag handling.
12582 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12584         * docs/manual/advanced-dataaccess.xml:
12585         * docs/manual/basics-helloworld.xml:
12586           Fix docs to use _bin_add() before _link(), which fixes the examples
12587           with recent core versions (reported by Madhan Raj M
12588           <raj_madan@rediffmail.com>, #313199).
12590 2005-08-16  Wim Taymans  <wim@fluendo.com>
12592         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12593         Added subtract checks.
12595         * docs/design/part-events.txt:
12596         Some more docs about newsegment
12598         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12599         Fix FIXME
12601         * gst/gstcaps.c: (gst_caps_to_string):
12602         Add comments, cleanups.
12603         
12604         * gst/gstelement.c: (gst_element_save_thyself):
12605         cleanups
12606         
12607         * gst/gstvalue.c: (gst_value_collect_int_range),
12608         (gst_string_unwrap), (gst_value_union_int_int_range),
12609         (gst_value_union_int_range_int_range),
12610         (gst_value_intersect_int_int_range),
12611         (gst_value_intersect_int_range_int_range),
12612         (gst_value_intersect_double_double_range),
12613         (gst_value_intersect_double_range_double_range),
12614         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12615         (gst_value_subtract_int_range_int),
12616         (gst_value_subtract_double_range_double),
12617         (gst_value_subtract_double_range_double_range),
12618         (gst_value_subtract_from_list), (gst_value_subtract_list),
12619         (gst_value_can_compare), (gst_value_compare_fraction):
12620         Cleanups, add comments, remove unneeded asserts.
12622 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12624         * tools/gst-launch.c: (event_loop):
12625           don't convert NULL structures to strings
12627 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12629         * docs/gst/gstreamer-sections.txt:
12630           made some defines private
12631         * docs/gst/tmpl/gstconfig.sgml:
12632         * docs/gst/tmpl/gstqueue.sgml:
12633         * docs/gst/tmpl/gsttaglist.sgml:
12634         * docs/gst/tmpl/gsttypes.sgml:
12635         * docs/gst/tmpl/gstutils.sgml:
12636         * docs/pwg/appendix-porting.xml:
12637         * gst/base/gstbasesink.h:
12638         * gst/base/gstbasesrc.c:
12639         * gst/base/gstbasesrc.h:
12640         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12641         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12642         * gst/gstelement.c: (gst_element_class_init):
12643         * gst/gstpad.c: (gst_pad_class_init):
12644         * gst/gstqueue.c: (gst_queue_class_init):
12645         * gst/gstxml.c: (gst_xml_class_init):
12646           documented all undocumented signal inline
12647         * libs/gst/controller/gst-controller.h:
12648           added padding
12650 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12652         * docs/pwg/appendix-porting.xml:
12653           Document _set_link_function -> _set_setcaps_function.
12655 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12657         * check/Makefile.am:
12658           add a .check target for running the check
12659         * check/gst-libs/controller.c: (GST_START_TEST):
12660           cosmetic fixups
12661         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12662           complete checks for gstbuffer; would be nice if I could get the
12663           gcov stuff to work so I can see if I actually completed gstbuffer.c
12664         * check/gstcheck.h:
12665           add ASSERT_BUFFER_REFCOUNT
12667 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12669         * docs/gst/gstreamer-sections.txt:
12670         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12671         * gst/gsttag.h:
12672           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12673           spew out a warning if a tag that is already registered
12674           is re-registered, unless it is re-registered with a 
12675           different type (#308438).
12677 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12679         * docs/pwg/appendix-porting.xml:
12680         * docs/pwg/building-state.xml:
12681           Add some paragraphs about state changes in 0.9 to the PWG
12682           and the porting guide, in particular about the new meaning
12683           of GST_STATE_PAUSED and how to write state change functions
12684           with concurrent access by multiple threads in mind.
12686 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12688         * docs/gst/gstreamer-docs.sgml:
12689         * docs/libs/gstreamer-libs-docs.sgml:
12690           added deprecation and since indexes
12691         * libs/gst/controller/gst-controller.c:
12692         * libs/gst/controller/gst-helper.c:
12693           added since tags
12696 2005-08-11  Wim Taymans  <wim@fluendo.com>
12698         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12699         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12700         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12701         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12702         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12703         (gst_ghost_pad_set_target):
12704         Actually implement (re)setting the target on a ghostpad
12705         as described in the docs.
12707 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12709         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12710           Check whether GST_DEBUG_NO_COLOR environment variable is
12711           set and disable coloured debug output if that is the case.
12713 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12715         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12716         (gst_type_find_helper):
12717           The memory returned by gst_type_find_peek() needs to
12718           stay valid until the end of a typefind function, and
12719           typefind functions may keep results from different 
12720           offsets around, so we can't just unref the buffer from
12721           the previous _peek(), but have to save all buffers 
12722           returned by _peek() until typefinding is done and only
12723           free them then.
12725 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12727         * docs/gst/gstreamer-sections.txt:
12728         * gst/gstutils.h:
12729           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12731 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12733         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12734           Fix a pretty good memleak.
12736 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12738         * gst/gstiterator.h:
12739           Fix wrong include and 'make distcheck'.
12741 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12743         * gst/gstbin.c: (bin_bus_handler):
12744           Use gst_element_post_message() instead.
12746 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12748         * gst/base/gstadapter.h:
12749         * gst/base/gstbasesink.h:
12750         * gst/base/gstbasesrc.h:
12751         * gst/base/gstbasetransform.h:
12752         * gst/base/gstcollectpads.h:
12753         * gst/base/gstpushsrc.h:
12754         * gst/gstiterator.h:
12755           Add padding to our base elements' class and instance structs and
12756           to GstIterator (you will need to rebuild all plugins and apps!)
12758 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12760         * gst/gstbin.c: (bin_bus_handler):
12761           Make default message forwarding from child->bus to bin->bus
12762           threadsafe and make it not emit warnings if the parent has no bus.
12764 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12766         * gst/gstelement.c: (activate_pads):
12767           On paused->ready, set pad->caps to NULL, as is the documented
12768           behaviour in this state change. Fixes playback of series of
12769           media files when visualization is enabled in Totem.
12771 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12773         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12774           Allow NULL as filter-caps (which means "any").
12776 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12778         * docs/libs/gstreamer-libs-sections.txt:
12779         * libs/gst/controller/gst-controller.c:
12780         * libs/gst/controller/gst-controller.h:
12781         * libs/gst/controller/gst-helper.c:
12782           adding more entries to the docs and fix small doc-bugs
12784 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12786         * docs/gst/gstreamer-docs.sgml:
12787         * docs/gst/gstreamer-sections.txt:
12788         * docs/gst/gstreamer.types:
12789         * docs/gst/tmpl/gstbasesink.sgml:
12790         * docs/gst/tmpl/gstbasesrc.sgml:
12791         * docs/gst/tmpl/gstbasetransform.sgml:
12792         * docs/gst/tmpl/gstfakesrc.sgml:
12793         * gst/base/gstcollectpads.c:
12794         * gst/base/gstcollectpads.h:
12795         * libs/gst/controller/gst-controller.c:
12796         * libs/gst/controller/gst-controller.h:
12797         * libs/gst/controller/gst-helper.c:
12798         * libs/gst/controller/gst-interpolation.c:
12799         * libs/gst/controller/lib.c:
12800           added long/short desc for controller docs
12801           added collectpads base class docs
12802           added correct includes to base-class docs
12804 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12806         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12807         (gst_test_mono_source_set_property),
12808         (gst_test_mono_source_class_init), (GST_START_TEST),
12809         (gst_controller_suite):
12810         * docs/gst/gstreamer-docs.sgml:
12811         * docs/gst/gstreamer-sections.txt:
12812         * docs/gst/gstreamer.types:
12813         * docs/libs/gstreamer-libs-docs.sgml:
12814         * docs/libs/gstreamer-libs-sections.txt:
12815         * gst/base/gstadapter.c:
12816         * libs/gst/controller/gst-controller.c:
12817         (gst_controlled_property_new), (gst_controlled_property_free),
12818         (gst_controller_new_valist),
12819         (gst_controller_remove_properties_valist),
12820         (gst_controller_sink_values), (_gst_controller_finalize):
12821         * libs/gst/controller/gst-controller.h:
12822         * libs/gst/controller/gst-helper.c:
12823         (gst_object_control_properties), (gst_object_uncontrol_properties),
12824         (gst_object_get_controller), (gst_object_set_controller),
12825         (gst_object_sink_values), (gst_object_get_value_arrays),
12826         (gst_object_get_value_array):
12827           more tests (and fixes) for the controller
12828           more docs for the controller
12829           integrated companies docs for the adapter 
12831 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12833         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12834         (GST_START_TEST), (fakesrc_suite):
12835           add tests for sizetype
12837 2005-08-04  Andy Wingo  <wingo@pobox.com>
12839         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12840         fixes buffer_alloc proxying among other things.
12842         * gst/base/gstbasetransform.c:
12843         * gst/base/gstbasetransform.h:
12844         Revert patch to gstbasetransform from 7-28 removing
12845         delay_configure.
12847         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12848         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12849         Semantics changed, should return not the size of the output buffer
12850         but the byte size of a buffer with a given caps.
12852         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12853         debug object.
12854         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12855         out) are not the pad caps until setcaps finishes.
12856         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12857         not-in-place case as well. Deal with changing from in-place to
12858         not-in-place within calling pad_alloc_buffer. Still a bit
12859         concerned about the overhead here...
12861 2005-08-03  Andy Wingo  <wingo@pobox.com>
12863         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12864         fixating is an error.
12866 2005-08-04  Edward Hervey  <edward@fluendo.com>
12868         * gst/base/gstadapter.h: 
12869         Added gst_adapter_get_type() to the header
12871 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12873         * check/Makefile.am:
12874         * check/gst-libs/controller.c:
12875         * libs/gst/controller/gst-controller.c:
12876         (gst_controller_new_valist):
12877           added check test suite for the controller
12878         * gst/base/gstpushsrc.c:
12879           fixed a doc typo
12881 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12883         * docs/gst/Makefile.am:
12884         * docs/gst/gstreamer-docs.sgml:
12885         * docs/gst/gstreamer-sections.txt:
12886         * docs/gst/gstreamer.types:
12887         * docs/gst/tmpl/gstfakesrc.sgml:
12888         * gst/base/README:
12889         * gst/base/gstbasesink.c:
12890         * gst/base/gstbasesink.h:
12891         * gst/base/gstbasesrc.c:
12892         * gst/base/gstbasesrc.h:
12893         * gst/base/gstbasetransform.c:
12894         * gst/base/gstpushsrc.c:
12895         * gst/base/gstpushsrc.h:
12896           add short/long description docs to base classes
12897           add pushsrc to the docs
12898           remove consolidated doc fragments
12900 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12902         * configure.ac:
12903         * docs/libs/Makefile.am:
12904         * docs/libs/gstreamer-libs-docs.sgml:
12905         * docs/libs/gstreamer-libs-sections.txt:
12906         * docs/libs/gstreamer-libs.types:
12907         * examples/Makefile.am:
12908         * examples/controller/.cvsignore:
12909         * examples/controller/Makefile.am:
12910         * examples/controller/audio-example.c: (main):
12911         * libs/gst/Makefile.am:
12912         * libs/gst/controller/.cvsignore:
12913         * libs/gst/controller/Makefile.am:
12914         * libs/gst/controller/gst-controller.c:
12915         (on_object_controlled_property_changed), (gst_timed_value_compare),
12916         (gst_timed_value_find),
12917         (gst_controlled_property_set_interpolation_mode),
12918         (gst_controlled_property_new), (gst_controlled_property_free),
12919         (gst_controller_find_controlled_property),
12920         (gst_controller_new_valist), (gst_controller_new),
12921         (gst_controller_remove_properties_valist),
12922         (gst_controller_remove_properties), (gst_controller_set),
12923         (gst_controller_set_from_list), (gst_controller_unset),
12924         (gst_controller_get), (gst_controller_get_all),
12925         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12926         (gst_controller_get_value_array),
12927         (gst_controller_set_interpolation_mode),
12928         (_gst_controller_finalize), (_gst_controller_init),
12929         (_gst_controller_class_init), (gst_controller_get_type):
12930         * libs/gst/controller/gst-controller.h:
12931         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12932         (g_object_uncontrol_properties), (g_object_get_controller),
12933         (g_object_set_controller), (g_object_sink_values),
12934         (g_object_get_value_arrays), (g_object_get_value_array):
12935         * libs/gst/controller/gst-interpolation.c:
12936         (gst_controlled_property_find_timed_value_node),
12937         (interpolate_none_get), (interpolate_trigger_get),
12938         (interpolate_trigger_get_value_array):
12939         * libs/gst/controller/lib.c: (gst_controller_init):
12940         * pkgconfig/Makefile.am:
12941         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12942         * pkgconfig/gstreamer-control.pc.in:
12943         * testsuite/Makefile.am:
12944         * testsuite/controller/.cvsignore:
12945         * testsuite/controller/Makefile.am:
12946         * testsuite/controller/interpolator.c: (main):
12947           added controller code
12948           removed dparam pc files
12950 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12951         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12952         (gst_collectpads_stop):
12953           Broadcast the condition when shutting down, to make sure we wake all
12954           threads up. Shut down pads on finalize, for safety.
12956 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12957         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12958         (gst_base_transform_handle_buffer),
12959         (gst_base_transform_change_state):
12960           Handle PAUSED->READY->PAUSED transition after negotiation
12961           occurred already.
12962         * gst/gstmessage.c: (gst_message_init):
12963           Extra piece of debug for new messages.
12965 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12967         * configure.ac:
12968         * docs/gst/tmpl/gstbasesrc.sgml:
12969         * docs/gst/tmpl/gstelement.sgml:
12970         * docs/gst/tmpl/gstevent.sgml:
12971         * docs/gst/tmpl/gstfakesrc.sgml:
12972         * docs/gst/tmpl/gstformat.sgml:
12973         * docs/gst/tmpl/gstghostpad.sgml:
12974         * docs/gst/tmpl/gstpad.sgml:
12975         * docs/gst/tmpl/gstquery.sgml:
12976         * docs/gst/tmpl/gststructure.sgml:
12977         * docs/gst/tmpl/gsttaglist.sgml:
12978         * docs/gst/tmpl/gstvalue.sgml:
12979         * docs/libs/gstreamer-libs-docs.sgml:
12980         * docs/libs/gstreamer-libs-sections.txt:
12981         * docs/libs/gstreamer-libs.types:
12982         * libs/gst/Makefile.am:
12983         * libs/gst/control/.cvsignore:
12984         * libs/gst/control/Makefile.am:
12985         * libs/gst/control/control.c:
12986         * libs/gst/control/control.h:
12987         * libs/gst/control/dparam.c:
12988         * libs/gst/control/dparam.h:
12989         * libs/gst/control/dparam_smooth.c:
12990         * libs/gst/control/dparam_smooth.h:
12991         * libs/gst/control/dparamcommon.h:
12992         * libs/gst/control/dparammanager.c:
12993         * libs/gst/control/dparammanager.h:
12994         * libs/gst/control/dplinearinterp.c:
12995         * libs/gst/control/dplinearinterp.h:
12996         * libs/gst/control/unitconvert.c:
12997         * libs/gst/control/unitconvert.h:
12998         * testsuite/Makefile.am:
12999         * testsuite/dynparams/.cvsignore:
13000         * testsuite/dynparams/Makefile.am:
13001         * testsuite/dynparams/dparamstest.c:
13002         * tools/Makefile.am:
13003         * tools/gst-inspect.c: (print_element_info), (main):
13004         * tools/gst-xmlinspect.c: (print_element_info), (main):
13005           deactivate and remove dparams (libgstcontrol)
13007 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13009         * gst/elements/gsttypefindelement.c:
13010         (gst_type_find_element_have_type), (gst_type_find_element_init),
13011         (stop_typefinding), (gst_type_find_element_handle_event),
13012         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13013         * gst/elements/gsttypefindelement.h:
13014           Set caps on all outgoing buffers, not just the first one.
13016 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13018         * gst/elements/gsttypefindelement.c:
13019         (gst_type_find_element_have_type),
13020         (gst_type_find_element_check_set_buffer_caps),
13021         (gst_type_find_element_init), (stop_typefinding),
13022         (gst_type_find_element_handle_event),
13023         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13024         * gst/elements/gsttypefindelement.h:
13025           Set caps on first outgoing buffer when we've found the type.
13027 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13029         * docs/gst/gstreamer-docs.sgml:
13030         * docs/gst/gstreamer-sections.txt:
13031         * docs/gst/tmpl/gstscheduler.sgml:
13032         * docs/gst/tmpl/gstschedulerfactory.sgml:
13033           Remove some old cruft from docs.
13035 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13037         * gst/gstpad.h:
13038           Fix inline docs for GstPadLinkReturn.
13039           
13040         * gst/gststructure.c: (gst_structure_has_name):
13041         * gst/gststructure.h:
13042         * docs/gst/gstreamer-sections.txt:
13043           New API: gst_structure_has_name().
13045 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13047         * configure.ac:
13048           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13049           and _LARGEFILE_SOURCE in config.h as required. Do not 
13050           export those flags in our .pc files any longer (#142209).
13052           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13054         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13055         (gst_file_sink_do_seek), (gst_file_sink_event),
13056         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13057           Redo seek/tell calls with large file support in mind; add some
13058           debugging messages; add log message that tells us when large
13059           file support is unavailable or not enabled for some reason.
13061         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13062           Add log message that tells us when large file support 
13063           is unavailable or not enabled for some reason.
13065 2005-07-29  Wim Taymans  <wim@fluendo.com>
13067         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13068         Added test for removing an element with ghostpad from a bin.
13069         Fixed test as current implementation does the right thing.
13071         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13072         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13073         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13074         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13075         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13076         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13077         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13078         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13079         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13080         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13081         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13082         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13083         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13084         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13085         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13086         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13087         * gst/gstghostpad.h:
13088         Clean up ghostpads, remove properties for internal stuff.
13089         Make threadsafe.
13090         Fix refcounting.
13091         Prepare for switching targets, not all use cases work yet.
13093 2005-07-29  Wim Taymans  <wim@fluendo.com>
13095         * docs/design/part-gstghostpad.txt:
13096         Small update.
13098         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13099         (gst_bin_remove_func):
13100         Unlinking pads while holding the bin LOCK is not a good
13101         idea.
13103         * gst/gstpad.c: (gst_pad_class_init),
13104         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13105         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13106         No prob setting template after creating the pad.
13108 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13110         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13111         (gst_bus_peek), (gst_bus_source_dispatch),
13112         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13113         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13114           gst_bus_poll may be called from other threads. Handle
13115           this nicely by not making poll_data disappear off the
13116           stack once gst_bus_poll returns.
13117           gst_bus_peek now increments the refcount on the returned
13118           message.
13120 2005-07-29  Wim Taymans  <wim@fluendo.com>
13122         * docs/design/part-gstghostpad.txt:
13123         Overview of current GhostPad datastructures and use
13124         cases for changing the target.
13126 2005-07-28  Wim Taymans  <wim@fluendo.com>
13128         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13129         Added checks for hierarchy consistency whan adding linked
13130         elements to bins.
13132         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13133         Added check to test element scheduling without bin/pipeline.
13135         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13136         First add elements to bin, then link.
13137         
13138         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13139         (gst_bin_remove_func):
13140         Unlink pads from elements added/removed from bin to maintain
13141         hierarchy consistency.
13143 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13145         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13146         (gst_base_transform_handle_buffer):
13147         * gst/base/gstbasetransform.h:
13148           Remove broken delay_configure (fixes renegotiation of software
13149           scaling pipelines); remove some leftover printf()s.
13151 2005-07-28  Wim Taymans  <wim@fluendo.com>
13153         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13154         Added some more tests for wrong hierarchy
13156         * docs/design/part-overview.txt:
13157         Some updates.
13159         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13160         Cleanups.
13162         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13163         (gst_element_dispose):
13164         Some more cleanups.
13166         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13167         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13168         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13169         (gst_pad_set_caps), (gst_pad_send_event):
13170         Check for correct hierarchy when linking pads. Moving to
13171         strict requirement for ghostpads when linking elements in
13172         different bins.
13174         * gst/gstpad.h:
13175         Clean ups. Added WRONG_HIERARCHY return value.
13177 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13179         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13180           Better debug if no transform is possible.
13182 2005-07-27  Wim Taymans  <wim@fluendo.com>
13184         * docs/random/wtay/network-transp:
13185         Some old doc I had.
13187 2005-07-27  Wim Taymans  <wim@fluendo.com>
13189         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13190         (gst_dp_event_from_packet):
13191         Fix serialization of seek events.
13193 2005-07-27  Wim Taymans  <wim@fluendo.com>
13195         * check/gst-libs/gdp.c: (GST_START_TEST):
13196         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13197         Fix compilation and fix event serialization.
13199 2005-07-27  Wim Taymans  <wim@fluendo.com>
13201         * CHANGES-0.9:
13202         * docs/design/part-TODO.txt:
13203         * docs/design/part-events.txt:
13204         Some docs updates
13206         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13207         (gst_base_sink_event), (gst_base_sink_do_sync),
13208         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13209         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13210         (gst_base_src_do_seek), (gst_base_src_event_handler),
13211         (gst_base_src_loop):
13212         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13213         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13214         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13215         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13216         (gst_base_transform_set_passthrough),
13217         (gst_base_transform_is_passthrough):
13218         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13219         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13220         Event updates.
13222         * gst/gstbuffer.h:
13223         Use faster casts.
13225         * gst/gstelement.c: (gst_element_seek):
13226         * gst/gstelement.h:
13227         Update gst_element_seek.
13229         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13230         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13231         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13232         (gst_event_new_eos), (gst_event_new_newsegment),
13233         (gst_event_parse_newsegment), (gst_event_new_tag),
13234         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13235         (gst_event_parse_qos), (gst_event_new_seek),
13236         (gst_event_parse_seek), (gst_event_new_navigation):
13237         * gst/gstevent.h:
13238         Make GstEvent use GstStructure. Add parsing code, make sure the
13239         API is sufficiently generic.
13240         Mark possible directions of events and serialization.
13242         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13243         (_gst_message_copy), (gst_message_new_segment_start),
13244         (gst_message_new_segment_done), (gst_message_new_custom),
13245         (gst_message_parse_segment_start),
13246         (gst_message_parse_segment_done):
13247         Small cleanups.
13249         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13250         (gst_pad_set_caps), (gst_pad_send_event):
13251         Update for new events. 
13252         Catch events sent in wrong directions.
13254         * gst/gstqueue.c: (gst_queue_link_src),
13255         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13256         (gst_queue_handle_src_query):
13257         Event updates.
13259         * gst/gsttag.c:
13260         * gst/gsttag.h:
13261         Remove event code from this file.
13263         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13264         (gst_dp_event_from_packet):
13265         Event updates.
13267 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13269         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13270         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13271         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13272           Make debugging actually useful.
13274 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13276         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13277         (gst_pad_fixate_caps):
13278           Implement default fixation once again, so that gst_pad_fixate()
13279           actually does anything at all. This probably needs to be some
13280           sort of a last resort, and use profile-based fixation first, but
13281           since that doesn't exist yet, this is the best we have. Fixes
13282           visualization in Totem.
13284 2005-07-22  Wim Taymans  <wim@fluendo.com>
13286         * docs/design/part-events.txt:
13287         Small update.
13289         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13290         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13291         (gst_base_sink_activate_pull):
13292         Some more comments.
13294         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13295         (gst_fake_src_create):
13296         Fix handoff marshall.
13298         * gst/elements/gstidentity.c: (gst_identity_class_init),
13299         (gst_identity_transform_ip):
13300         We're a real inplace element.
13302         * gst/gstbus.c: (gst_bus_post):
13303         Added some comments.
13305         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13306         * tests/muxing/case1.c: (main):
13307         * tests/sched/dynamic-pipeline.c: (main):
13308         * tests/sched/interrupt1.c: (main):
13309         * tests/sched/interrupt2.c: (main):
13310         * tests/sched/interrupt3.c: (main):
13311         * tests/sched/runxml.c: (main):
13312         * tests/sched/sched-stress.c: (main):
13313         * tests/seeking/seeking1.c: (event_received), (main):
13314         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13315         (main):
13316         * tests/threadstate/threadstate3.c: (main):
13317         * tests/threadstate/threadstate4.c: (main):
13318         * tests/threadstate/threadstate5.c: (main):
13319         Fix the tests.
13321 2005-07-21  Wim Taymans  <wim@fluendo.com>
13323         * docs/design/part-seeking.txt:
13324         Some small additions.
13326         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13327         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13328         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13329         * gst/base/gstbasesink.h:
13330         discont values are gint64, handle the math correctly.
13332         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13333         Make the basesrc report error if the source pad is not linked.
13335         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13336         (gst_queue_loop), (gst_queue_handle_src_query),
13337         (gst_queue_src_activate_push):
13338         Make queue collect data even if the srcpad is not linked.
13339         Start pushing out data as soon as it is linked.
13341         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13342         * gst/gstutils.h:
13343         Added gst_flow_get_name() to ease error reporting.
13345 2005-07-20  Wim Taymans  <wim@fluendo.com>
13347         * gst/gstmessage.c: (gst_message_new_segment_start),
13348         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13349         (gst_message_parse_segment_done):
13350         * gst/gstmessage.h:
13351         Added a bunch of messages for advanced seeking.
13353         * gst/parse/grammar.y:
13354         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13355         (gst_dpman_state_changed):
13356         Fix some new-pad -> pad-added signals
13358 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13360         * docs/manual/appendix-porting.xml:
13361         * docs/pwg/appendix-porting.xml:
13362           Document new-pad/state-change signal renames and the FixedList
13363           type rename.
13365 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13367         * docs/manual/advanced-autoplugging.xml:
13368         * docs/manual/basics-helloworld.xml:
13369         * docs/manual/basics-pads.xml:
13370         * docs/random/ds/0.9-suggested-changes:
13371         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13372         * gst/gstelement.h:
13373         * gst/gstevent.h:
13374         * gst/gstformat.h:
13375         * gst/gstquery.h:
13376         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13377         (gst_structure_parse_array), (gst_structure_parse_value):
13378         * gst/gstvalue.c: (gst_type_is_fixed),
13379         (gst_value_list_prepend_value), (gst_value_list_append_value),
13380         (gst_value_list_get_size), (gst_value_list_get_value),
13381         (gst_value_transform_array_string), (gst_value_serialize_array),
13382         (gst_value_deserialize_array), (gst_value_intersect_array),
13383         (gst_value_is_fixed), (_gst_value_initialize):
13384         * gst/gstvalue.h:
13385           GstElement::new-pad -> pad-added, GstElement::state-change ->
13386           state-changed, GstValueFixedList -> GstValueArray, add format and
13387           flags as their own arguments in gst_element_seek() (should improve
13388           "bindeability"), remove function generators since they don't work
13389           under a whole bunch of compilers (they were deprecated already
13390           anyway).
13392 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13394         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13395         (_gst_debug_register_funcptr):
13396         * gst/gstinfo.h:
13397           Fix illegal cast on some platforms (#309253).
13399 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13401         * gst/gstmessage.c: (gst_message_new_custom):
13402         * gst/gstmessage.h:
13403           Add _new_custom, make _new_application a macro to _new_custom.
13405 2005-07-20  Wim Taymans  <wim@fluendo.com>
13407         * gst/base/gstbasesrc.c: (gst_base_src_init),
13408         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13409         * gst/base/gstbasesrc.h:
13410         Add a gboolean to decide when to push out a discont.
13412         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13413         (gst_queue_loop), (gst_queue_handle_src_query),
13414         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13415         (gst_queue_set_property), (gst_queue_get_property):
13416         Some cleanups.
13418         * tests/threadstate/threadstate1.c: (main):
13419         Make a thread test compile and run... very silly..
13422 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13424         * docs/manual/appendix-porting.xml:
13425           Mention removal of libgstgconf-0.9.la and existence of gconf
13426           elements.
13428 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13430         * docs/pwg/advanced-clock.xml:
13431         * docs/pwg/appendix-porting.xml:
13432         * docs/pwg/intro-preface.xml:
13433         * docs/pwg/other-base.xml:
13434         * docs/pwg/other-manager.xml:
13435         * docs/pwg/other-nton.xml:
13436         * docs/pwg/other-ntoone.xml:
13437         * docs/pwg/other-oneton.xml:
13438         * docs/pwg/pwg.xml:
13439           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13440           demuxer), remove n-to-n (was never written), fix some code examples
13441           and links and update the porting section to include all this.
13443 2005-07-19  Wim Taymans  <wim@fluendo.com>
13445         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13446         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13447         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13448         (gst_queue_src_activate_push), (gst_queue_change_state),
13449         (gst_queue_get_property):
13450         * gst/gstqueue.h:
13451         Propagate GstFlowReturn more intelligently upstream and output
13452         an ERROR/EOS when streaming stopped due to fatal error.
13454 2005-07-19  Wim Taymans  <wim@fluendo.com>
13456         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13457         Don't block forever for the state change to complete, the
13458         pipeline already did with a sensible timeout.
13460 2005-07-19  Wim Taymans  <wim@fluendo.com>
13462         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13463         Make sure we never call the create function is we
13464         got deactivated.
13466 2005-07-19  Andy Wingo  <wingo@pobox.com>
13468         * gst/parse/parse.l: Attempt to solve bug #172815.
13470 2005-07-19  Wim Taymans  <wim@fluendo.com>
13472         * docs/design/part-clocks.txt:
13473         * docs/design/part-events.txt:
13474         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13475         Small docs updates.
13476         Only update the seeking values when we are not
13477         busy streaming.
13479 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13481         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13482           Oops, ignore the result of gst_pad_push_event here.
13484 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13486         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13487         (gst_base_src_activate_push):
13488           Send discont event from the loop function, as pads
13489           aren't activated yet in the activate_push handler.
13491         * gst/gstbin.c: (bin_bus_handler):
13492           Don't leak element name.
13494 2005-07-18  Andy Wingo  <wingo@pobox.com>
13496         * configure.ac: Use AS_LIBTOOL_TAGS.
13498 2005-07-18  Wim Taymans  <wim@fluendo.com>
13500         * docs/gst/gstreamer.types:
13501         Remove deleted types.
13503 2005-07-18  Wim Taymans  <wim@fluendo.com>
13505         * check/elements/gstfakesrc.c: (GST_START_TEST):
13506         * configure.ac:
13507         * gst/Makefile.am:
13508         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13509         (init_popt_callback):
13510         * gst/gst.h:
13511         * gst/gst_private.h:
13512         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13513         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13514         * gst/gstbin.h:
13515         * gst/gstbus.h:
13516         * gst/gstconfig.h.in:
13517         * gst/gstelement.c: (gst_element_class_init),
13518         (gst_element_set_base_time), (gst_element_get_base_time),
13519         (iterator_fold_with_resync), (gst_element_change_state),
13520         (gst_element_dispose), (gst_element_get_bus):
13521         * gst/gstelement.h:
13522         * gst/gstelementfactory.h:
13523         * gst/gsterror.c: (_gst_core_errors_init):
13524         * gst/gsterror.h:
13525         * gst/gstevent.h:
13526         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13527         * gst/gstindex.c:
13528         * gst/gstinfo.c: (_gst_debug_init):
13529         * gst/gstmessage.c: (_gst_message_copy):
13530         * gst/gstmessage.h:
13531         * gst/gstminiobject.h:
13532         * gst/gstobject.c:
13533         * gst/gstobject.h:
13534         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13535         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13536         * gst/gstpad.h:
13537         * gst/gstparse.h:
13538         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13539         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13540         (gst_pipeline_get_last_stream_time):
13541         * gst/gstpipeline.h:
13542         * gst/gstpluginfeature.h:
13543         * gst/gstquery.h:
13544         * gst/gstscheduler.c:
13545         * gst/gstscheduler.h:
13546         * gst/gststructure.h:
13547         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13548         (gst_task_finalize), (gst_task_func), (gst_task_create),
13549         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13550         (gst_task_stop), (gst_task_pause):
13551         * gst/gsttask.h:
13552         * gst/gsttypefind.h:
13553         * gst/gsttypes.h:
13554         * gst/registries/gstlibxmlregistry.c: (load_feature),
13555         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13556         * gst/registries/gstxmlregistry.c:
13557         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13558         * gst/schedulers/threadscheduler.c:
13559         * libs/gst/control/dparammanager.h:
13560         * tools/gst-inspect.c: (print_element_list),
13561         (print_plugin_features), (print_element_features):
13562         * tools/gst-xmlinspect.c: (print_element_list),
13563         (print_plugin_info), (main):
13564         Removed plugable schedulers.
13565         Removed Scheduler/Manager from elements.
13566         Removed gsttypes.h, rearranged includes.
13567         Removed dependency pad<->element, element<>pipeline, and
13568         various others,  fix includes.
13569         implement gst_pad_get_parent() with gst_object_get_parent()
13570         Make GstTask sefcontained.
13571         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13572         timeout.
13573         Fix endless loop in iterator_fold_with_resync.
13576 2005-07-18  Wim Taymans  <wim@fluendo.com>
13578         * gst/Makefile.am:
13579         * gst/gstarch.h:
13580         Remove old file.
13582 2005-07-18  Wim Taymans  <wim@fluendo.com>
13584         * gst/Makefile.am:
13585         No more cothreads.h
13587 2005-07-18  Wim Taymans  <wim@fluendo.com>
13589         * gst/cothreads.c:
13590         * gst/cothreads.h:
13591         Let's remove these.
13593 2005-07-18  Wim Taymans  <wim@fluendo.com>
13595         * docs/design/part-dynamic.txt:
13596         * docs/design/part-events.txt:
13597         * docs/design/part-seeking.txt:
13598         Some more docs in the works.
13600         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13601         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13602         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13603         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13604         (gst_base_transform_handle_buffer),
13605         (gst_base_transform_sink_activate_push),
13606         (gst_base_transform_src_activate_pull),
13607         (gst_base_transform_set_passthrough),
13608         (gst_base_transform_is_passthrough):
13609         Refcounting fixes.
13611         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13612         Cleanups.
13614         * gst/gstevent.c: (gst_event_finalize):
13615         Set SRC to NULL.
13617         * gst/gstutils.c: (gst_element_unlink),
13618         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13619         (gst_pad_proxy_setcaps):
13620         * gst/gstutils.h:
13621         Add _get_parent_element() to get a pads parent as an element.
13623 2005-07-18  Wim Taymans  <wim@fluendo.com>
13625         * check/gst/gstbin.c: (GST_START_TEST):
13626         Remove bogus test.
13628 2005-07-18  Wim Taymans  <wim@fluendo.com>
13630         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13631         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13632         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13633         (gst_base_sink_event), (gst_base_sink_do_sync),
13634         (gst_base_sink_chain), (gst_base_sink_loop),
13635         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13636         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13637         Refcounting fixes.
13638         Fix logic for returning ASYNC when not prerolled.
13640 2005-07-18  Wim Taymans  <wim@fluendo.com>
13642         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13643         Fix nasty refcount bug.
13645 2005-07-16 Philippe Khalaf <burger@speedy.org>
13647         * gst/elements/gstfdsrc.c:
13648         * gst/elements/gstfdsrc.h:
13649         * gst/elements/gstelements.c:
13650         * gst/elements/Makefile.am:
13651         Ported fdsrc to 0.9.
13653 2005-07-16  Wim Taymans  <wim@fluendo.com>
13655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13656         (gst_base_sink_do_sync):
13657         Fix compile error.
13659 2005-07-16  Wim Taymans  <wim@fluendo.com>
13661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13662         (gst_base_sink_event), (gst_base_sink_get_times),
13663         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13664         * gst/base/gstbasesink.h:
13665         Store and use discont values when syncing buffers as described
13666         in design docs.
13667         
13668         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13669         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13670         (gst_base_src_activate_push):
13671         Push discont event when starting.
13673         * gst/elements/gstidentity.c: (gst_identity_transform):
13674         Small cleanups.
13676         * gst/gstbin.c: (gst_bin_change_state):
13677         Small cleanups in base_time  distribution.
13679         * gst/gstelement.c: (gst_element_set_base_time),
13680         (gst_element_get_base_time), (gst_element_change_state):
13681         * gst/gstelement.h:
13682         Added methods for the base_time of the element.
13683         Some MT fixes.
13685         * gst/gstpipeline.c: (gst_pipeline_send_event),
13686         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13687         (gst_pipeline_get_last_stream_time):
13688         * gst/gstpipeline.h:
13689         MT fixes.
13690         Handle seeking as described in design doc, remove stream_time
13691         hack.
13692         Cleanups clock and stream_time selection code. Added accessors
13693         for the stream_time.
13694         
13696 2005-07-16  Andy Wingo  <wingo@pobox.com>
13698         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13699         (#305291).
13701 2005-07-16  Wim Taymans  <wim@fluendo.com>
13703         * check/gst/gstbin.c: (GST_START_TEST):
13704         Make elements silent as the deep_notify refs the
13705         parent, which might make the test fail.
13707         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13708         Don't hold the lock for too long.
13710 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13712         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13713           Don't unref the caps we passed to gst_caps_make_writable() after
13714           passing them. gst_caps_make_writable() will do that for us.
13716 2005-07-15  Andy Wingo  <wingo@pobox.com>
13718         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13719         (#157311).
13721         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13722         own marshalling function for the handoff signal. Properly type the
13723         buffer as a buffer. Fixes some warnings. Should do a more general
13724         solution.
13725         (gst_identity_class_init): Plug into the right marshaller.
13727 2005-07-15  Wim Taymans  <wim@fluendo.com>
13729         * docs/design/part-TODO.txt:
13730         * docs/design/part-clocks.txt:
13731         * docs/design/part-element-sink.txt:
13732         * docs/design/part-events.txt:
13733         * docs/design/part-gstpipeline.txt:
13734         Updated docs, mostly DISCONT related.
13736 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13738         * docs/pwg/building-pads.xml:
13739           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13741 2005-07-15  Andy Wingo  <wingo@pobox.com>
13743         * tools/gst-typefind.c: Update, add copyright block.
13745         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13746         Normalize and truncate caps before fixation.
13748         * gst/gstcaps.h:
13749         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13750         discards all but the first structure from its argument.
13752 2005-07-15  Wim Taymans  <wim@fluendo.com>
13754         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13755         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13756         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13757         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13758         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13759         (gst_base_transform_chain), (gst_base_transform_change_state),
13760         (gst_base_transform_set_passthrough),
13761         (gst_base_transform_is_passthrough):
13762         * gst/base/gstbasetransform.h:
13763         Make passthrough work using the bufferpools.
13764         Changed API a bit, subclasses have to write into a buffer
13765         provided by the base class.
13766         More debug info in nego functions.
13767         
13768         * gst/elements/gstidentity.c: (gst_identity_init),
13769         (gst_identity_transform):
13770         Port to new base class.
13772 2005-07-15  Wim Taymans  <wim@fluendo.com>
13774         * gst/gstmessage.c: (gst_message_new_state_changed):
13775         * tools/gst-launch.c: (event_loop), (main):
13776         Totally dump messages in -launch with the -m option.
13777         Fix message name for State messages,
13779 2005-07-14  Wim Taymans  <wim@fluendo.com>
13781         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13782         Post error messages on errors.
13784 2005-07-14  Wim Taymans  <wim@fluendo.com>
13786         * gst/gstcaps.c: (gst_caps_do_simplify):
13787         Remove debug info.
13789         * gst/gsterror.h:
13790         Define error for stream stopped.
13792         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13793         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13794         Do proper return values.
13796         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13797         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13798         (gst_pad_get_range):
13799         Better return values.
13801         * gst/gstpad.h:
13802         Reorganise return values, add macro to check for fatal errors.
13804         * gst/gstqueue.c: (gst_queue_chain):
13805         Return proper GstFlowReturn values,
13807 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13809         * docs/gst/gstreamer-sections.txt:
13810         * docs/gst/gstreamer.types:
13811         * docs/gst/tmpl/gst.sgml:
13812         * docs/gst/tmpl/gstbasesink.sgml:
13813         * docs/gst/tmpl/gstbasesrc.sgml:
13814         * docs/gst/tmpl/gstbasetransform.sgml:
13815         * docs/gst/tmpl/gstbin.sgml:
13816         * docs/gst/tmpl/gstbuffer.sgml:
13817         * docs/gst/tmpl/gstcaps.sgml:
13818         * docs/gst/tmpl/gstclock.sgml:
13819         * docs/gst/tmpl/gstcompat.sgml:
13820         * docs/gst/tmpl/gstconfig.sgml:
13821         * docs/gst/tmpl/gstelement.sgml:
13822         * docs/gst/tmpl/gstelementdetails.sgml:
13823         * docs/gst/tmpl/gstelementfactory.sgml:
13824         * docs/gst/tmpl/gstenumtypes.sgml:
13825         * docs/gst/tmpl/gsterror.sgml:
13826         * docs/gst/tmpl/gstevent.sgml:
13827         * docs/gst/tmpl/gstfakesink.sgml:
13828         * docs/gst/tmpl/gstfakesrc.sgml:
13829         * docs/gst/tmpl/gstfilesink.sgml:
13830         * docs/gst/tmpl/gstfilesrc.sgml:
13831         * docs/gst/tmpl/gstfilter.sgml:
13832         * docs/gst/tmpl/gstformat.sgml:
13833         * docs/gst/tmpl/gstghostpad.sgml:
13834         * docs/gst/tmpl/gstimplementsinterface.sgml:
13835         * docs/gst/tmpl/gstindex.sgml:
13836         * docs/gst/tmpl/gstindexfactory.sgml:
13837         * docs/gst/tmpl/gstinfo.sgml:
13838         * docs/gst/tmpl/gstiterator.sgml:
13839         * docs/gst/tmpl/gstmacros.sgml:
13840         * docs/gst/tmpl/gstmemchunk.sgml:
13841         * docs/gst/tmpl/gstminiobject.sgml:
13842         * docs/gst/tmpl/gstobject.sgml:
13843         * docs/gst/tmpl/gstpad.sgml:
13844         * docs/gst/tmpl/gstpadtemplate.sgml:
13845         * docs/gst/tmpl/gstparse.sgml:
13846         * docs/gst/tmpl/gstpipeline.sgml:
13847         * docs/gst/tmpl/gstplugin.sgml:
13848         * docs/gst/tmpl/gstpluginfeature.sgml:
13849         * docs/gst/tmpl/gstquery.sgml:
13850         * docs/gst/tmpl/gstqueue.sgml:
13851         * docs/gst/tmpl/gstregistry.sgml:
13852         * docs/gst/tmpl/gstregistrypool.sgml:
13853         * docs/gst/tmpl/gstscheduler.sgml:
13854         * docs/gst/tmpl/gstschedulerfactory.sgml:
13855         * docs/gst/tmpl/gststructure.sgml:
13856         * docs/gst/tmpl/gstsystemclock.sgml:
13857         * docs/gst/tmpl/gsttaglist.sgml:
13858         * docs/gst/tmpl/gsttagsetter.sgml:
13859         * docs/gst/tmpl/gsttrace.sgml:
13860         * docs/gst/tmpl/gsttrashstack.sgml:
13861         * docs/gst/tmpl/gsttypefind.sgml:
13862         * docs/gst/tmpl/gsttypefindfactory.sgml:
13863         * docs/gst/tmpl/gsttypes.sgml:
13864         * docs/gst/tmpl/gsturihandler.sgml:
13865         * docs/gst/tmpl/gsturitype.sgml:
13866         * docs/gst/tmpl/gstutils.sgml:
13867         * docs/gst/tmpl/gstvalue.sgml:
13868         * docs/gst/tmpl/gstversion.sgml:
13869         * docs/gst/tmpl/gstxml.sgml:
13870         * docs/libs/tmpl/gstcontrol.sgml:
13871         * docs/libs/tmpl/gstdataprotocol.sgml:
13872         * docs/libs/tmpl/gstdparam.sgml:
13873         * docs/libs/tmpl/gstdplinint.sgml:
13874         * docs/libs/tmpl/gstdpman.sgml:
13875         * docs/libs/tmpl/gstdpsmooth.sgml:
13876         * docs/libs/tmpl/gstgetbits.sgml:
13877         * docs/libs/tmpl/gstunitconvert.sgml:
13878         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13879         (gst_push_src_base_init), (gst_push_src_class_init),
13880         (gst_push_src_init), (gst_push_src_create):
13881         * gst/base/gstpushsrc.h:
13882         * gst/elements/gstelements.c:
13883         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13884         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13885         (gst_fake_sink_init), (gst_fake_sink_set_property),
13886         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13887         (gst_fake_sink_event), (gst_fake_sink_preroll),
13888         (gst_fake_sink_render), (gst_fake_sink_change_state):
13889         * gst/elements/gstfakesink.h:
13890         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13891         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13892         (gst_fake_src_base_init), (gst_fake_src_class_init),
13893         (gst_fake_src_init), (gst_fake_src_event_handler),
13894         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13895         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13896         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13897         (gst_fake_src_create_buffer), (gst_fake_src_create),
13898         (gst_fake_src_start), (gst_fake_src_stop):
13899         * gst/elements/gstfakesrc.h:
13900         * gst/elements/gstfilesink.c: (_do_init),
13901         (gst_file_sink_base_init), (gst_file_sink_class_init),
13902         (gst_file_sink_init), (gst_file_sink_dispose),
13903         (gst_file_sink_set_location), (gst_file_sink_set_property),
13904         (gst_file_sink_get_property), (gst_file_sink_open_file),
13905         (gst_file_sink_close_file), (gst_file_sink_query),
13906         (gst_file_sink_event), (gst_file_sink_render),
13907         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13908         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13909         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13910         * gst/elements/gstfilesink.h:
13911         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13912         (gst_file_src_class_init), (gst_file_src_init),
13913         (gst_file_src_finalize), (gst_file_src_set_location),
13914         (gst_file_src_set_property), (gst_file_src_get_property),
13915         (gst_file_src_map_region), (gst_file_src_map_small_region),
13916         (gst_file_src_create_mmap), (gst_file_src_create_read),
13917         (gst_file_src_create), (gst_file_src_is_seekable),
13918         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13919         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13920         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13921         (gst_file_src_uri_handler_init):
13922         * gst/elements/gstfilesrc.h:
13923           more autistic cleanliness in functions/names/defines
13925 2005-07-13  Andy Wingo  <wingo@pobox.com>
13927         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13928         source couldn't negotiate.
13930         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13931         connections again.
13933         * gst/gstutils.h:
13934         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13935         function. I am channeling Hades. Put your boots on suckers!!!
13937 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13939         * testsuite/caps/Makefile.am:
13940         * testsuite/caps/value_compare.c:
13941         * testsuite/caps/value_intersect.c:
13942         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13943           move two testsuite apps over to the check dir
13945 2005-07-12  Wim Taymans  <wim@fluendo.com>
13947         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13948         Added more debug info in the negotiate process.
13950         * gst/gstmessage.h:
13951         Prepare for segment playback.
13953         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13954         Better debugging.
13956         * gst/gstutils.c:
13957         Some more docs.
13959         * tools/gst-launch.c: (main):
13960         NULL pipeline on errors.
13962 2005-07-12  Andy Wingo  <wingo@pobox.com>
13964         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13965         not it comes from a malloc region. Make sure our copy gets freed.
13967 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13969         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13970         * check/gst/gstmessage.c: (GST_START_TEST):
13971         * check/gst/gststructure.c: (GST_START_TEST),
13972         (gst_structure_suite), (main):
13973           more testing
13974         * gst/gstelement.c: (gst_element_message_full):
13975           clean up GError and debug string now that they get copied
13976         * gst/gstmessage.c: (gst_message_new_error),
13977         (gst_message_new_warning), (gst_message_parse_error),
13978         (gst_message_parse_warning):
13979           use GST_TYPE_G_ERROR for structure_new, and take copies of
13980           arguments, so that we don't mess up refcounting
13982 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13984         * check/Makefile.am:
13985           add per-test valgrind targets
13986         * check/gst-libs/gdp.c: (GST_START_TEST),
13987         (gst_data_protocol_suite), (main):
13988           clean up
13990 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13992         * check/Makefile.am:
13993           instate more valgrindable tests
13994         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13995         (GST_START_TEST), (fakesrc_suite):
13996         * check/gst/gstpad.c: (GST_START_TEST):
13997         * check/gst/gststructure.c: (GST_START_TEST):
13998           fix test leaks
13999         * docs/gst/tmpl/gstminiobject.sgml:
14000         * gst/gstpad.c: (gst_pad_finalize):
14001           fix the static mutex leak
14003 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14005         * check/Makefile.am:
14006           add two more tests for valgrinding
14007         * check/gst/gstvalue.c: (GST_START_TEST):
14008           test refcount of deserialized buffer, found a leak
14009         * docs/gst/gstreamer-docs.sgml:
14010         * docs/gst/gstreamer-sections.txt:
14011         * docs/gst/gstreamer.types:
14012         * docs/gst/tmpl/gstminiobject.sgml:
14013           add miniobject to docs
14014         * gst/gstminiobject.c:
14015           add some docs
14016         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14017         (gst_string_unwrap):
14018           fix a hard-to-find invalid write for one of the tests
14019           fix a leak for deserialized buffers
14021 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14023         * docs/pwg/advanced-events.xml:
14024         * docs/pwg/advanced-request.xml:
14025         * docs/pwg/advanced-scheduling.xml:
14026         * docs/pwg/appendix-porting.xml:
14027         * docs/pwg/building-boiler.xml:
14028         * docs/pwg/intro-preface.xml:
14029         * docs/pwg/other-ntoone.xml:
14030           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14031           of example code and explanation for pad activation, loop() and
14032           getrange() functions and a bit more. Remove old comments pointing
14033           to loop-functions.
14034         * examples/pwg/Makefile.am:
14035           Add loop/getrange examples.
14037 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14039         * configure.ac:
14040           check for valgrind binary + some fixes
14041         * check/gst.supp:
14042           valgrind suppressions for the tests
14043         * check/Makefile.am:
14044           add a valgrind: target that valgrinds the unit tests
14045         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14046         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14047         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14048         * check/gst/gstghostpad.c:
14049           added some cleanup
14050         * check/gst/gstdata.c:
14051           removed
14052         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14053         (thread_unref), (gst_mini_object_suite), (main):
14054           added
14055         * gst/gst.c: (gst_deinit):
14056         * gst/gst.h:
14057           add a method to clean up.
14058         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14059         (gst_system_clock_obtain):
14060           allow for disposing the system clock.
14061         * tools/gst-launch.c: (main):
14062           deinit
14064 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14066         * docs/gst/tmpl/gstbasesrc.sgml:
14067         * docs/gst/tmpl/gstfakesrc.sgml:
14068         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14069         (gst_base_src_init), (gst_base_src_set_property),
14070         (gst_base_src_get_property), (gst_base_src_get_range),
14071         (gst_base_src_start):
14072         * gst/base/gstbasesrc.h:
14073           add num-buffers property
14074         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14075         (gst_fakesrc_init), (gst_fakesrc_set_property),
14076         (gst_fakesrc_get_property), (gst_fakesrc_create),
14077         (gst_fakesrc_start):
14078           remove num-buffers property
14080 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14082         * docs/gst/gstreamer-sections.txt:
14083         * docs/gst/tmpl/gstbasesink.sgml:
14084         * docs/gst/tmpl/gstbasesrc.sgml:
14085         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14086         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14087         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14088         (gst_base_sink_set_property), (gst_base_sink_get_property),
14089         (gst_base_sink_handle_object), (gst_base_sink_event),
14090         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14091         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14092         (gst_base_sink_loop), (gst_base_sink_deactivate),
14093         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14094         (gst_base_sink_change_state):
14095         * gst/base/gstbasesink.h:
14096         * gst/base/gstbasesrc.h:
14097         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14098         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14099         (gst_filesink_init):
14100           more macro splitting
14102 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14104         * gst/gstelement.c: (gst_element_get_bus):
14105           add debug
14106         * tools/gst-launch.c: (check_intr), (event_loop):
14107           fix bus leaks
14109 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14111         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14112           fix a caps leak
14114 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14116         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14117         (gst_base_src_finalize):
14118           add finalize method and clean up properly
14119         * gst/gstpipeline.c: (gst_pipeline_dispose):
14120           add debug
14122 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14124         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14125         (gst_bin_suite):
14126           add more things to check
14127         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14128         * gst/gstelement.c:
14129           more debug
14131 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14133         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14134         (GST_START_TEST), (fakesrc_suite):
14135         * check/gst-libs/gdp.c: (GST_START_TEST):
14136         * check/gst/gst.c: (GST_START_TEST):
14137         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14138         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14139         * check/gst/gstbus.c: (GST_START_TEST):
14140         * check/gst/gstcaps.c: (GST_START_TEST):
14141         * check/gst/gstdata.c: (GST_START_TEST):
14142         * check/gst/gstelement.c: (GST_START_TEST):
14143         * check/gst/gstghostpad.c: (GST_START_TEST):
14144         * check/gst/gstiterator.c: (GST_START_TEST):
14145         * check/gst/gstmessage.c: (GST_START_TEST):
14146         * check/gst/gstobject.c: (GST_START_TEST):
14147         * check/gst/gstpad.c: (GST_START_TEST):
14148         * check/gst/gststructure.c: (GST_START_TEST):
14149         * check/gst/gstsystemclock.c: (GST_START_TEST),
14150         (gst_systemclock_suite):
14151         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14152         * check/gst/gstvalue.c: (GST_START_TEST):
14153         * check/pipelines/cleanup.c: (GST_START_TEST):
14154         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14155         * check/states/sinks.c: (GST_START_TEST):
14156         * check/gstcheck.c: (gst_check_init):
14157         * check/gstcheck.h:
14158           add debugging category
14159           use GST_START_TEST now, so we add a debug line
14161 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14163         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14164           add test for state change message on a bin
14165         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14166           add another test
14167         * gst/gstbin.c: (gst_bin_init):
14168         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14169         * gst/gstelement.c: (gst_element_post_message),
14170         (gst_element_set_state):
14171         * gst/gstelementfactory.c: (gst_element_factory_create):
14172         * gst/gstmessage.c: (gst_message_new):
14173         * gst/gstscheduler.c:
14174           various debugging additions and cleanups
14176 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14178         * check/Makefile.am:
14179         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14180         (main):
14181           adding tests for elements
14182         * gst/gstelement.c: (gst_element_dispose):
14184 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14186         * gst/registries/gstlibxmlregistry.c: (load_feature):
14187           plug more leaks.  A simple gst_init() now is leakfree, yay.
14189 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14191         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14192         (gst_xml_registry_load):
14193           plug another memleak
14195 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14197         * configure.ac:
14198           use GST_SET_ERROR_CFLAGS
14199         * docs/faq/cvs.xml:
14200           change to ERROR_CFLAGS
14202 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14204         * configure.ac:
14205           make GST_ERROR_CFLAGS overridable and re-enable Werror
14206         * docs/faq/cvs.xml:
14207           add a note about error CFLAGS
14208         * docs/gst/tmpl/gstfakesrc.sgml:
14209         * gst/elements/gstfakesrc.c:
14210           comment out some unused code
14211         * gst/gst.c: (split_and_iterate):
14212         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14213         (load_feature):
14214           plug some memleaks
14216 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14218         * common/Makefile.am:
14219         * common/gtk-doc.mak:
14220         * docs/gst/Makefile.am:
14221           factor out gtk-doc.mak
14223 2005-07-07  Wim Taymans  <wim@fluendo.com>
14225         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14226         (gst_thread_scheduler_dispose):
14227         Unlock the STREAM_LOCK completely.
14229 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14231         * check/Makefile.am:
14232         * check/elements/.cvsignore:
14233         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14234         (START_TEST), (fakesrc_suite), (main):
14235         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14236         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14237         (gst_fakesrc_create), (gst_fakesrc_start):
14238         * gst/elements/gstfakesrc.h:
14239           adding a first element test
14241 2005-07-07  Andy Wingo  <wingo@pobox.com>
14243         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14244         debug message.
14246 2005-07-07  Wim Taymans  <wim@fluendo.com>
14248         * gst/gstquery.c:
14249         * gst/gstquery.h:
14250         Remove old types
14252 2005-07-07  Wim Taymans  <wim@fluendo.com>
14254         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14255         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14256         Allow subclasses to implement their own negotiation.
14258 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14260         * docs/design/part-gstbin.txt:
14261         * docs/design/part-gstpipeline.txt:
14262           Update design notes to reflect the movement of
14263           responsibility for bus handling from GstPipeline to
14264           GstBin
14266 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14268         * configure.ac:
14269           Remove unnecessary queue2/3/4 examples.
14271 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14273         * examples/Makefile.am:
14274         * examples/helloworld/helloworld.c: (event_loop), (main):
14275         * examples/queue/queue.c: (event_loop), (main):
14276         * examples/queue2/queue2.c: (main):
14277           Update a couple of the examples to work again.
14279         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14280         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14281          Spelling corrections and extra debug.
14282         
14283         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14284         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14285         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14286         * gst/gstbin.h:
14287         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14288         (gst_pipeline_change_state):
14289         * gst/gstpipeline.h:
14290           Move the bus handler for children to the GstBin, and create a
14291           separate bus for receiving messages from children to the one the
14292           bus sends 'upwards' on.
14294 2005-07-06  Wim Taymans  <wim@fluendo.com>
14296         * gst/base/README:
14297         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14298         (gst_base_sink_handle_object), (gst_base_sink_loop),
14299         (gst_base_sink_change_state):
14300         * gst/base/gstbasesink.h:
14301         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14302         (gst_base_src_init), (gst_base_src_setcaps),
14303         (gst_base_src_getcaps), (gst_base_src_loop),
14304         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14305         (gst_base_src_start), (gst_base_src_change_state):
14306         * gst/base/gstbasesrc.h:
14307         Make basesrc negotiate.
14308         Handle the case where preroll fails in basesink.
14309         Update README.
14311 2005-07-06  Wim Taymans  <wim@fluendo.com>
14313         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14314         Implement the fixate function.
14315         Clean up acceptcaps.
14317 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14319         * docs/pwg/building-filterfactory.xml:
14320         * docs/pwg/pwg.xml:
14321           Remove never-written filter-factory chapter; I'll add the various
14322           base classes to part 4 ("other element types") later on.
14324 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14326         * docs/pwg/advanced-negotiation.xml:
14327         * docs/pwg/building-boiler.xml:
14328         * docs/pwg/building-pads.xml:
14329         * docs/pwg/pwg.xml:
14330         * examples/pwg/Makefile.am:
14331           Add a chapter on caps negotiation, simplify the original code
14332           samples a bit w.r.t. caps negotiation, add link to the advanced
14333           section. Add a bunch of examples showing different use cases of
14334           different types of caps negotiation. Upstream renegotiation isn't
14335           fully documented yet since nobody knows how that works.
14337 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14339         * check/gst/gstpad.c:
14340         * check/gstcheck.c:
14341         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14342           if pad has no parent, return NULL as list of internal links
14344 2005-07-05  Andy Wingo  <wingo@pobox.com>
14346         * gst/elements/gstfilesrc.c:
14347         * gst/elements/gstfakesrc.c: 
14348         * gst/base/gstpushsrc.c:
14349         * gst/base/gstbasesrc.h: 
14350         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14351         
14352 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14354         * Makefile.am:
14355           better report generation target (lcov needs a patch)
14357 2005-07-05  Andy Wingo  <wingo@pobox.com>
14359         * gst/elements, testsuite: Null if we got it...
14361 2005-07-05  Wim Taymans  <wim@fluendo.com>
14363         * configure.ac:
14364         * libs/gst/dataprotocol/Makefile.am:
14365         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14366         * libs/gst/dataprotocol/dataprotocol.h:
14367         * pkgconfig/Makefile.am:
14368         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14369         * pkgconfig/gstreamer-dataprotocol.pc.in:
14370         Ported dataprotol to 0.9. 
14371         Added pkgconfig files.
14373 2005-07-05  Andy Wingo  <wingo@pobox.com>
14375         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14376         Default to returning TRUE for the case when tranform_caps returns
14377         a fixed caps, like for identity or volume.
14379         * check/gst/gstbus.c (pound_bus_with_messages): 
14380         * check/gst/gstmessage.c (START_TEST): 
14381         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14382         message API change.
14384         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14385         logic weaks here: always run transform_caps, trying passthrough
14386         operation only if the original caps intersects with the transform.
14388         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14389         source and sink caps.
14391         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14392         Intersect the peer caps with the pad template before going into
14393         transform_caps.
14394         (gst_base_transform_transform_caps): More debugging.
14396         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14397         src argument.
14399 2005-07-04  Edward Hervey  <edward@fluendo.com>
14401         * gst/gstutils.c:
14402         * gst/gstutils.h:
14403         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14404         in bindings.
14406 2005-07-04  Andy Wingo  <wingo@pobox.com>
14408         * check/gst/gstpad.c: Only set explicit caps on pads.
14410 2005-07-01  Andy Wingo  <wingo@pobox.com>
14412         * tests/network-clock.scm: Commentary update.
14414         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14415         Didn't really make sense, not implementable with basetransform,
14416         etc.
14417         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14418         attempt at implementing the sync property, needs an unlock method.
14420         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14421         New func, by default returns the same caps (the identity
14422         transformation).
14423         (gst_base_transform_getcaps): Uses transform_caps to return
14424         something sensible.
14425         (gst_base_transform_setcaps): Complicated logic to get caps on
14426         both pads, even if they are different, and to call set_caps once
14427         for every time both pads get their caps set.
14428         (gst_base_transform_handle_buffer): Give the ref to the transform
14429         function. Allows in-place modification of the buffer.
14431         * gst/base/gstbasetransform.h (transform_caps): New class method.
14432         Given caps on one side, what can I do on the other.
14433         (set_caps): Take two caps, one for each side of the element.
14435         * gst/gstpad.h:
14436         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14437         caps in place. This is safe because we can check the mutability of
14438         the caps, and a good idea because fixate functions are just called
14439         as a matter of last resort. (Not actually implemented.)
14440         (gst_pad_set_caps): If the caps we're setting is actually the same
14441         as the existing pad caps, just update the pointer without calling
14442         setcaps. Assert that caps is either NULL or fixed, as per the
14443         docs.
14445         * gst/gstghostpad.c: Update for fixate changes.
14447 2005-07-02  Andy Wingo  <wingo@pobox.com>
14449         * gst/gstcaps.c:
14450         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14451         two refcounts makes it immutable, which is enough. Doc more.
14453 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14455         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14456           Put the mini_object into GValue as a mini_object,
14457           not a gpointer, since that's how we declared
14458           the signal.
14460 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14462         * examples/pwg/Makefile.am:
14463           Fix buildbot again.
14465 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14467         * docs/pwg/building-testapp.xml:
14468           Add extra check.
14469         * examples/pwg/Makefile.am:
14470           Fix buildbot.
14472 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14474         * configure.ac:
14475         * examples/Makefile.am:
14476         * examples/pwg/Makefile.am:
14477         * examples/pwg/extract.pl:
14478           Enable building the PWG examples.
14479         * docs/pwg/advanced-interfaces.xml:
14480           Add URI interface stub.
14481         * docs/pwg/advanced-types.xml:
14482         * docs/pwg/other-autoplugger.xml:
14483         * docs/pwg/appendix-porting.xml:
14484         * docs/pwg/pwg.xml:
14485           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14486         * docs/pwg/building-boiler.xml:
14487         * docs/pwg/building-chainfn.xml:
14488         * docs/pwg/building-pads.xml:
14489         * docs/pwg/building-props.xml:
14490         * docs/pwg/building-state.xml:
14491         * docs/pwg/building-testapp.xml:
14492           Update the building-*.xml parts for 0.9 changes. All examples
14493           code blocks compile in examples/pwg/*.
14495 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14497         * docs/manual/advanced-autoplugging.xml:
14498         * docs/manual/appendix-checklist.xml:
14499         * docs/manual/appendix-integration.xml:
14500         * docs/manual/highlevel-components.xml:
14501           Fix playbin/decodebin examples, update docs a bit, mention bus
14502           instead of signals in various places, mention kmplayer and
14503           kaffeine since they have a working GStreamer backend in the KDE
14504           section.
14506 2005-06-30  Wim Taymans  <wim@fluendo.com>
14508         * CHANGES-0.9:
14509         * docs/design/draft-ghostpads.txt:
14510         * docs/design/draft-push-pull.txt:
14511         * docs/design/draft-query.txt:
14512         * docs/design/part-TODO.txt:
14513         * docs/design/part-query.txt:
14514         Added CHANGES-0.9 doc, updated status of other docs.
14515         
14516         * gst/gstquery.h:
14517         Remove "hmm" macro
14519 2005-06-30  Wim Taymans  <wim@fluendo.com>
14521         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14522         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14523         (gst_base_sink_change_state):
14524         * gst/base/gstbasesink.h:
14525         Some tweaks, only EOS and a buffer complete a preroll.
14527 2005-06-30  Andy Wingo  <wingo@pobox.com>
14529         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14530         activate_push down to the internal pad as well.
14532 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14534         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14536         * gst/gsttaginterface.c:
14537           Some documentation fixes (#307394 and #307397).
14539 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14541         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14543         * gst/gstvalue.c: (gst_value_intersect_list):
14544           Fix memleak (#309125).
14546 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14548         * docs/manual/advanced-dataaccess.xml:
14549           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14550         * docs/manual/basics-pads.xml:
14551           Add reference for filtered caps to above chapter.
14553 2005-06-30  Wim Taymans  <wim@fluendo.com>
14555         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14556         (gst_bin_change_state):
14557         Probes are gone.
14558         Lame attempt at making the state change function a bit
14559         more readable.
14561 2005-06-30  Wim Taymans  <wim@fluendo.com>
14563         * docs/design/part-clocks.txt:
14564         * docs/design/part-element-sink.txt:
14565         * docs/design/part-events.txt:
14566         * docs/design/part-preroll.txt:
14567         * docs/design/part-states.txt:
14568         Some more tweeks and additions to the docs.
14570 2005-06-30  Wim Taymans  <wim@fluendo.com>
14572         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14573         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14574         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14575         (gst_pad_check_pull_range), (gst_pad_get_range),
14576         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14577         * gst/gstpad.h:
14578         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14579         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14580         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14581         (gst_pad_remove_buffer_probe):
14582         Removed atomic operations, use existing LOCK.
14583         Move exception handling out of main code path.
14585 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14587         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14588         (silly_return_true_function), (gst_pad_class_init),
14589         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14590         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14591         (gst_pad_send_event):
14592           Fix accumulator, add default value by using _emitv() instead
14593           of _emit() for signal emission.
14595 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14597         * docs/manual/advanced-dataaccess.xml:
14598         * examples/manual/Makefile.am:
14599           Add probe example.
14600         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14601           Make work (??).
14603 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14605         * gst/elements/gstfilesink.c: (gst_filesink_render):
14606           Simplify code so that we don't have to handle short
14607           writes and return GST_FLOW_ERROR if an error occured.
14609 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14611         * docs/gst/gstreamer-docs.sgml:
14612           Remove probes more.
14614 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14616         * docs/gst/gstreamer-sections.txt:
14617         * docs/gst/tmpl/gstpad.sgml:
14618         * docs/gst/tmpl/gstprobe.sgml:
14619         * gst/Makefile.am:
14620         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14621         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14622         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14623         (gst_pad_push_event), (gst_pad_send_event):
14624         * gst/gstpad.h:
14625         * gst/gstutils.c: (gst_pad_add_data_probe),
14626         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14627         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14628         (gst_pad_remove_buffer_probe):
14629         * gst/gstutils.h:
14630           Remove old probes, add new g-signal-based probes and some utility
14631           functions.
14633 2005-06-29  Edward Hervey  <edward@fluendo.com>
14635         * gst/gstelementfactory.c:
14636         * gst/gstutils.h:
14637         * gst/gstutils.c:
14638         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14639         the definition to the header file.
14641 2005-06-29  Andy Wingo  <wingo@pobox.com>
14643         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14644         plugins from the source directory.
14646 2005-06-29  Wim Taymans  <wim@fluendo.com>
14648         * docs/gst/tmpl/gstbuffer.sgml:
14649         * docs/gst/tmpl/gstclock.sgml:
14650         Some fixings for blantently wrong text.
14652 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14654         * check/Makefile.am:
14655         * gst/gst.c: (add_path_func), (init_pre):
14656         * gst/gstregistry.c: (gst_registry_add_path):
14657           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14658           only scan the GST_PLUGIN_PATH locations, and not add
14659           system locations
14661 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14663         * docs/gst/gstreamer-sections.txt:
14664         * docs/gst/tmpl/gstbasesrc.sgml:
14665         * gst/gstelement.c:
14666         * gst/gstelement.h:
14667         * gst/gstevent.c:
14668         * gst/gstutils.c:
14669           doc fixes
14671 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14673         * docs/manual/advanced-autoplugging.xml:
14674           Fix autoplugging example.
14676 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14678         * docs/manual/advanced-autoplugging.xml:
14679         * docs/manual/mime-world.fig:
14680           Try to get autoplugging working, fix type detection. Fix text
14681           in hello-world image.
14683 2005-06-29  Wim Taymans  <wim@fluendo.com>
14685         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14686         (gst_base_sink_change_state):
14687         Small debug line.
14689         * gst/gstclock.h:
14690         map SIGNAL and BROADCAST to the right function.
14692         * gst/gstobject.h:
14693         Remove redundant braces.
14695         * gst/gstpad.c: (gst_pad_set_caps):
14696         Don't call setcaps function when reseting caps to NULL.
14698         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14699         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14700         (gst_system_clock_id_unschedule):
14701         Use BROADCAST as this is what we do.
14703 2005-06-29  Wim Taymans  <wim@fluendo.com>
14705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14706         We are actually prerolling before commiting the state
14707         change. 
14709 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14711         * docs/manual/advanced-clocks.xml:
14712         * docs/manual/advanced-interfaces.xml:
14713         * docs/manual/advanced-metadata.xml:
14714         * docs/manual/advanced-position.xml:
14715         * docs/manual/advanced-schedulers.xml:
14716         * docs/manual/advanced-threads.xml:
14717         * docs/manual/appendix-porting.xml:
14718         * docs/manual/basics-bins.xml:
14719         * docs/manual/basics-bus.xml:
14720         * docs/manual/basics-elements.xml:
14721         * docs/manual/basics-helloworld.xml:
14722         * docs/manual/basics-pads.xml:
14723         * docs/manual/highlevel-components.xml:
14724         * docs/manual/manual.xml:
14725         * docs/manual/thread.fig:
14726           Update (until threads/scheduling) Application Development Manual;
14727           remove GstThread, add GstBus, add simple porting checklist, add
14728           documentation for tag writing, clocks, make all examples until this
14729           part compile and run.
14730         * examples/manual/Makefile.am:
14731           Update from changes to Application Development Manual; add bus
14732           example, remove thread example.
14734 2005-06-28  Wim Taymans  <wim@fluendo.com>
14736         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14737         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14738         (gst_bus_source_dispatch):
14739         Add debugging messages.
14740         Make internal methods static.
14741         Handle the case where the bus is flushed in the handler.
14742         
14743         * gst/gstelement.c: (gst_element_get_bus):
14744         Fix refcount in _get_bus();
14746         * gst/gstpipeline.c: (gst_pipeline_change_state),
14747         (gst_pipeline_get_clock_func):
14748         Clock refcounting fixes.
14749         Handle the case where preroll timed out more gracefully.
14750         
14751         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14752         Clean up the internal thread in dispose. This is needed
14753         for subclasses that actually get disposed.
14754         
14755         * gst/schedulers/threadscheduler.c:
14756         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14757         (gst_thread_scheduler_dispose):
14758         Free thread pool in dispose.
14760 2005-06-28  Andy Wingo  <wingo@pobox.com>
14762         * tests/network-clock-utils.scm (debug, print-event): New utils.
14764         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14765         (*packet-loss*): Unified loss probability.
14766         (network-time): Report out-of-band events.
14768         * tests/plot-data: Add support for out-of-band events. Hack it
14769         into this script instead of passing it down the pipe; should fix
14770         this later.
14772 2005-06-28  Wim Taymans  <wim@fluendo.com>
14774         * docs/gst/gstreamer.types:
14775         * docs/gst/tmpl/gstbasesrc.sgml:
14776         * docs/gst/tmpl/gstpad.sgml:
14777         Docs fixes.
14779 2005-06-28  Wim Taymans  <wim@fluendo.com>
14781         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14782         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14783         (gst_proxy_pad_do_fixatecaps):
14784         Correctly proxy the check_pull_range function.
14786 2005-06-28  Andy Wingo  <wingo@pobox.com>
14788         * tests/network-clock.scm: Removed need for slib.
14789         
14790 2005-06-28  Wim Taymans  <wim@fluendo.com>
14792         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14793         (gst_basesink_preroll_queue_flush):
14794         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14795         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14796         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14797         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14798         (gst_proxy_pad_set_property):
14799         * gst/gstpad.c:
14800         * gst/gstpad.h:
14801         * gst/gstqueue.c: (gst_queue_init):
14802         The deprecated pad loop function is removed now.
14804 2005-06-28  Andy Wingo  <wingo@pobox.com>
14806         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14807         New parameters, simulate network packet loss.
14809         * tests/network-clock-utils.scm: Initialize the RNG.
14811 2005-06-28  Wim Taymans  <wim@fluendo.com>
14813         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14814         (gst_basesink_event), (gst_basesink_deactivate):
14815         Flushing the preroll queue always needs to unlock the waiters.
14817 2005-06-28  Edward Hervey  <edward@fluendo.com>
14819         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14820         Wheen a seek was successful on a pipeline, set the stream_time to the
14821         seek offset in order to have a synchronized stream_time.
14823 2005-06-28  Wim Taymans  <wim@fluendo.com>
14825         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14826         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14827         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14828         (gst_proxy_pad_do_fixatecaps):
14829         Call wrapper function instead of just calling the function
14830         pointers. This takes care of any locking and whatmore.
14832 2005-06-28  Wim Taymans  <wim@fluendo.com>
14834         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14835         (gst_pad_pull_range):
14836         * gst/gstpad.h:
14837         CONNECTED -> LINKED.
14839 2005-06-28  Andy Wingo  <wingo@pobox.com>
14841         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14842         source-munging commit!!!
14844         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14845         (gst_object_sink): Take gpointer arguments, not GstObject --
14846         avoids casts. Like GLib.
14848         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14849         activate.
14851 2005-06-27  Andy Wingo  <wingo@pobox.com>
14853         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14854         remaining buffer.
14856         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14857         returns a sorted copy of the trace list.
14858         (gst_alloc_trace_print_live): New API, only prints traces with
14859         live objects. Sort the list.
14860         (gst_alloc_trace_print_all): Sort the list.
14861         (gst_alloc_trace_print): Align columns.
14863         * gst/elements/gstttypefindelement.c:
14864         * gst/elements/gsttee.c:
14865         * gst/base/gstbasesrc.c:
14866         * gst/base/gstbasesink.c:
14867         * gst/base/gstbasetransform.c:
14868         * gst/gstqueue.c: Adapt for pad activation changes.
14870         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14871         sched.
14872         (gst_pipeline_dispose): Drop ref on sched.
14874         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14875         (gst_pad_activate_default): Push mode by default.
14876         (pre_activate_switch, post_activate_switch): New stubs, things to
14877         do before and after switching activation modes on pads.
14878         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14879         the pad's activate function to choose which mode to activate.
14880         Shortcut on deactivation and call the right function directly.
14881         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14882         mode.
14883         (gst_pad_activate_push): New API, same for push mode.
14884         (gst_pad_set_activate_function) 
14885         (gst_pad_set_activatepull_function) 
14886         (gst_pad_set_activatepush_function): Setters for new API.
14888         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14889         Trace all miniobjects.
14890         (gst_mini_object_make_writable): Unref the arg if we copy, like
14891         gst_caps_make_writable.
14893         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14895         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14896         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14897         Adapt for new pad API.
14899         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14901         * gst/gstelement.h:
14902         * gst/gstelement.c (gst_element_iterate_src_pads) 
14903         (gst_element_iterate_sink_pads): New API functions.
14904         
14905         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14906         should fold into gstiterator.c in some form.
14907         (gst_element_pads_activate): Simplified via use of fold and
14908         delegation of decisions to gstpad->activate.
14910         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14911         help in debugging.
14913         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14914         class once in init, like gstmessage. Didn't run into this issue
14915         but it seems correct. Don't initialize a trace, gstminiobject does
14916         that.
14918         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14919         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14920         to the bus.
14921         (assert_live_count): New util function, uses alloc traces to check
14922         cleanup.
14924         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14925         To be modified when unlink drops the internal pad.
14927 2005-06-27  Wim Taymans  <wim@fluendo.com>
14929         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14930         (gst_bin_change_state):
14931         Cleanup the get_state() function a little, make sure it
14932         iterates the same set of elements.
14933         Added stub iterate_state_order().
14935 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14937         * docs/gst/gstreamer-docs.sgml:
14938         * docs/gst/gstreamer-sections.txt:
14939         * docs/gst/gstreamer.types:
14940         * docs/gst/tmpl/gstbasesink.sgml:
14941         * docs/gst/tmpl/gstbasesrc.sgml:
14942         * docs/gst/tmpl/gstbasetransform.sgml:
14943         * docs/gst/tmpl/gstelement.sgml:
14944         * docs/gst/tmpl/gstiterator.sgml:
14945         * gst/base/gstbasesrc.c:
14946         * gst/base/gstbasesrc.h:
14947         * gst/base/gstbasetransform.h:
14948         * gst/gstelement.c:
14949         * gst/gstiterator.h:
14950           adding basetransform and iterator docs
14952 2005-06-27  Andy Wingo  <wingo@pobox.com>
14954         * docs/design/part-activation.txt: Notes on how activation should
14955         work -- not quite implemented yet.
14957 2005-06-25  Wim Taymans  <wim@fluendo.com>
14959         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14960         At least get the chain function correct, needs more
14961         fixing.
14963 2005-06-25  Wim Taymans  <wim@fluendo.com>
14965         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14966         (gst_basesink_handle_object), (gst_basesink_event),
14967         (gst_basesink_do_sync), (gst_basesink_handle_event),
14968         (gst_basesink_change_state):
14969         * gst/gsttask.h:
14970         Right, two problems here: ghostpads don't take locks and
14971         glib _rec_mutex_lock_full() with depth==0 still locks.
14972         Catch illegal locking and g_warn them.
14974 2005-06-25  Wim Taymans  <wim@fluendo.com>
14976         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14977         Have to check for completion now...
14979 2005-06-25  Wim Taymans  <wim@fluendo.com>
14981         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14982         (gst_basesink_handle_object), (gst_basesink_event),
14983         (gst_basesink_do_sync), (gst_basesink_handle_event),
14984         (gst_basesink_change_state):
14985         * gst/gstpad.h:
14986         Unlock STREAM_LOCK whatever the recursion was.
14988 2005-06-25  Wim Taymans  <wim@fluendo.com>
14990         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14991         (gst_basesink_preroll_queue_empty),
14992         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14993         (gst_basesink_event), (gst_basesink_do_sync),
14994         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14995         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14996         (gst_basesink_change_state):
14997         Reworked the base sink, handle event and buffer serialisation
14998         correctly and removed possible deadlock.
14999         Handle EOS correctly.
15001 2005-06-25  Wim Taymans  <wim@fluendo.com>
15003         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15004         (gst_pipeline_change_state):
15005         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15006         Allow elements to post EOS in the state change function.
15007         Fix up -launch, make it exit the poll loop when the
15008         pipeline actually changed state.
15009         Fix up warning parsing in -launch.
15011 2005-06-25  Wim Taymans  <wim@fluendo.com>
15013         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15014         (gst_tee_sink_activate):
15015         Core takes STREAM_LOCK for us now.
15017 2005-06-25  Wim Taymans  <wim@fluendo.com>
15019         * gst/gstelement.c: (gst_element_get_state_func),
15020         (gst_element_set_state):
15021         * gst/gstelement.h:
15022         * gst/gstmessage.c: (gst_message_parse_error),
15023         (gst_message_parse_warning):
15024         Keep track of current target state while performing a state
15025         change so that subclasses can do something interesting.
15026         Fix parsing of warning/error messages when GError is NULL.
15028 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15030         * docs/gst/Makefile.am:
15031         * docs/gst/gstreamer-docs.sgml:
15032         * docs/gst/gstreamer-sections.txt:
15033         * docs/gst/gstreamer.types:
15034         * docs/gst/tmpl/gstbasesink.sgml:
15035         * docs/gst/tmpl/gstbasesrc.sgml:
15036         * docs/gst/tmpl/gstbin.sgml:
15037         * docs/gst/tmpl/gstcompat.sgml:
15038         * docs/gst/tmpl/gstfakesink.sgml:
15039         * docs/gst/tmpl/gstfakesrc.sgml:
15040         * docs/gst/tmpl/gstfilesink.sgml:
15041         * docs/gst/tmpl/gstfilesrc.sgml:
15042         * docs/gst/tmpl/gstindex.sgml:
15043         * docs/manual/appendix-quotes.xml:
15044         * gst/base/gstbasesrc.h:
15045         * gst/elements/gstfakesrc.h:
15046         * gst/gstmessage.h:
15047           start pulling in base classes and elements in our docs
15049 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15051         * docs/gst/Makefile.am:
15052         * docs/libs/Makefile.am:
15053           fixed make distcheck with gtk-doc 1.3
15055 2005-06-23  Wim Taymans  <wim@fluendo.com>
15057         * gst/gstelement.c: (gst_element_get_state_func),
15058         (gst_element_set_state), (gst_element_change_state):
15059         When the state did not change, also report NO_PREROLL
15060         when it matters.
15062 2005-06-23  Wim Taymans  <wim@fluendo.com>
15064         * gst/gstpad.c: (gst_pad_event_default):
15065         * gst/gstqueue.c: (gst_queue_loop):
15066         No unsafe task pausing please.
15068 2005-06-23  Wim Taymans  <wim@fluendo.com>
15070         * gst/schedulers/threadscheduler.c:
15071         (gst_thread_scheduler_task_start),
15072         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15073         Ref the task before pushing it on the threadpool. This
15074         makes sure that we have a ref when the threadfunction is
15075         actually called.
15077 2005-06-23  Andy Wingo  <wingo@pobox.com>
15079         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15080         offset is greater than the file's size.
15082         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15083         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15084         * gst/gstobject.c (gst_object_class_init): Make the class lock
15085         recursive. Wim won't let me drop deep_notify. Decodebin works
15086         again, whoopdy doo.
15088         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15089         internal pad, and hacks accordingly. Doesn't do it on the target
15090         pad because we change its caps. Probably catches all cases of
15091         interest tho.
15092         (gst_ghost_pad_set_property): Connect to notify::caps as
15093         appropritate.
15095         * tests/network-clock.scm (plot-simulation): Pipe data to the
15096         elite python skript.
15098         * tests/network-clock-utils.scm (define-parameter): New macro,
15099         defines a parameter that can be set via the command line.
15100         (set-parameter!, parse-parameter-arguments): Command line args
15101         parser.
15103         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15104         stdin.
15106 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15108         * gst/elements/gsttypefindelement.c:
15109         (gst_type_find_element_handle_event):
15110           Don't restart typefinding on a discont.
15111         * gst/gstelement.c: (gst_element_set_state):
15112           Debug spelling fix.
15113         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15114           Allow changing mode of an active pad.
15115           Debug output fixes.
15116         * gst/registries/gstlibxmlregistry.c: (load_feature):
15117           Don't cast a static pad template to a normal pad template.
15119 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15121         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15122         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15123           remove gst_strtoll completely, since it didn't actually do
15124           anything more than what g_ascii_strtoull already does.
15125           check for range errors when deserializing
15126           do a cast for the unsigned cases; but further fixing needs
15127           a decision on what the interpretation of "(int)" and
15128           deserialization should be for values that fall outside the
15129           type's boundaries (ie, refuse, or interpret as casting)
15131 2005-06-23  Wim Taymans  <wim@fluendo.com>
15133         * check/Makefile.am:
15134         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15135         * docs/design/part-live-source.txt:
15136         * docs/design/part-states.txt:
15137         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15138         (gst_basesrc_set_live), (gst_basesrc_is_live),
15139         (gst_basesrc_get_range), (gst_basesrc_activate),
15140         (gst_basesrc_change_state):
15141         * gst/base/gstbasesrc.h:
15142         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15143         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15144         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15145         * gst/gstelement.c: (gst_element_get_state_func),
15146         (gst_element_set_state):
15147         * gst/gstelement.h:
15148         * gst/gsttypes.h:
15149         * tools/gst-launch.c: (event_loop), (main):
15150         Added support for live sources and other elements that
15151         cannot do preroll.
15152         Updated design docs, added live-source design doc.
15153         Implemented live source functionality in basesrc
15154         Fix error condition in _bin_get_state()
15155         Implement live source handling in -launch.
15156         Added check for live sources.
15157         Fixed case in GstBin where elements were changed state
15158         multiple times.
15161 2005-06-23  Andy Wingo  <wingo@pobox.com>
15163         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15164         borken refcounting.
15166         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15167         gst_caps_replace takes care of this for us.
15169         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15170         gst_pad_set_caps on the target, not just its setcaps() function.
15172         * tests/network-clock.scm: 
15173         * tests/network-clock-utils.scm: A network clock simulator.
15174         Something of an algorithmic testbed before doing something in C.
15176 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15178         * check/Makefile.am:
15179         * check/gst/capslist.h:
15180           copy over from 0.8, and add two with bitmasks specified with
15181           (int) 0xFF...
15182         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15183           add test to parse everything from capslist.h
15184         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15185         (main):
15186           add test for structure deserialization
15187         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15188           add tests for deserialization of strings to int types
15189         * gst/gststructure.c: (gst_structure_nth_field_name):
15190         * gst/gststructure.h:
15191           add a way to get the name of a field referenced by index
15192         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15193           instead of checking if the resulting long long lies between
15194           min and max, we check if the long long would fit into
15195           a number of bytes for the final type.
15196           This fixes cases where a string represents 2^32 - 1, which
15197           when cast to int would be the (valid) -1, but is bigger than
15198           G_MAXINT
15200 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15202         * gst/parse/grammar.y:
15203           add a log line for type deserialization
15205 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15207         * check/gst/gstvalue.c: (START_TEST):
15208         * gst/gstvalue.c: (gst_value_deserialize):
15209           return long long, not int, so gint64 deserialization actually
15210           works.  Is there any flag that makes the compiler check this ?
15211           Fixes #308559
15213 2005-06-22  Wim Taymans  <wim@fluendo.com>
15215         * gst/gstbuffer.h:
15216         Added convenience macros for setting buffers in GValue.
15218 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15220         * check/gst/.cvsignore:
15221         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15222           add a test deserializing int64, and comment part out because
15223           it fails, yay !
15225 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15227         * check/Makefile.am:
15228         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15229         * testsuite/Makefile.am:
15230         * testsuite/caps/Makefile.am:
15231         * testsuite/caps/value_serialize.c:
15232         * testsuite/test_gst_init.c:
15233           move a value_serialize test over
15235 2005-06-20  Wim Taymans  <wim@fluendo.com>
15237         * gst/gstpad.c:
15238         Small doc updates.
15239         
15240         * gst/gstvalue.c: (gst_value_compare_buffer),
15241         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15242         (gst_value_compare_flags), (gst_value_serialize_flags),
15243         (gst_value_deserialize_flags), (_gst_value_initialize):
15244         Fix serialisation of buffers, they are not boxed types anymore
15246 2005-06-20  Wim Taymans  <wim@fluendo.com>
15248         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15249         Testcase to show error in buffer-on-caps serialisation.
15251 2005-06-20  Andy Wingo  <wingo@pobox.com>
15253         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15254         will be adding to later.
15256         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15257         if its socks fill with rocks.
15258         (gst_system_clock_obtain): Set the name on object construction.
15259         Avoid double-checked locking.
15261 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15263         * gst/gsturi.c: (gst_element_make_from_uri):
15264           Fix potential endless loop.
15266 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15268         * check/Makefile.am:
15269           add gsttag
15270         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15271         (main):
15272           move over from testsuite dir and clean up
15273         * configure.ac:
15274         * gst/gsttag.c:
15275         * testsuite/Makefile.am:
15276         * testsuite/tags/.cvsignore:
15277         * testsuite/tags/Makefile.am:
15278         * testsuite/tags/merge.c:
15279           remove testsuite/tags
15281 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15283         * docs/gst/gstreamer-sections.txt:
15284         * docs/gst/tmpl/gstenumtypes.sgml:
15285         * win32/gstenumtypes.c:
15286           clean up documentation build a little
15288 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15290         * check/gstcheck.h:
15291           add macros for checking refcounts on objects and caps
15292         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15293           add some more unit tests
15294         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15295         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15296           fix leaked refcounts (I hope :)) so unittest works
15297         * gst/gstpad.h:
15298           whitespace removal
15300 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15302         * configure.ac: back to HEAD
15304 === release 0.9.1 ===
15306 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15308         * NEWS:
15309         * RELEASE:
15310           updated
15312 2005-06-17  Andy Wingo  <wingo@pobox.com>
15314         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15315         assert; it's always possible that the pad gets deactivated in
15316         between the checks in gstpad.c and the implementation. Rely on
15317         finish_preroll() to return a FLUSHING or similar instead of on the
15318         assert.
15319         
15320         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15321         clock and post an EOS message if we come out of finish_preroll in
15322         the playing state.
15324 2005-06-16  David Schleef  <ds@schleef.org>
15326         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15327         (gst_capsfilter_set_property): Allow NULL as possible value
15328         for filter_caps property, indicating GST_CAPS_ANY.
15330 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15332         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15333           fix debug output
15334         * gst/schedulers/Makefile.am:
15335           use libgst prefix
15336         * gstreamer.spec.in:
15337           fix spec for it
15339 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15341         * gstreamer.spec.in:
15342           clean up
15344 2005-06-08  Andy Wingo  <wingo@pobox.com>
15346         * gst/gstutils.c: RPAD fixes all around.
15347         (gst_element_link_pads): Refcounting fixes.
15349         * tools/gst-inspect.c:
15350         * tools/gst-xmlinspect.c:
15351         * parse/grammar.y:
15352         * gst/base/gsttypefindhelper.c:
15353         * gst/base/gstbasesink.c:
15354         * gst/gstqueue.c: RPAD fixes.
15356         * gst/gstghostpad.h:
15357         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15358         pads. The tricky thing is they provide both source and sink
15359         interfaces, since they proxy the internal pad for the external
15360         pad, and vice versa. Implement with lower-level ProxyPad objects,
15361         with the interior proxy pad as a child of the exterior ghost pad.
15362         Should write a doc on this.
15363         
15364         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15365         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15366         gst_object API.
15367         
15368         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15369         pads are real pads. No ghost pads in this file. Not documenting
15370         the myriad s/RPAD/PAD/ and REALIZE fixes.
15371         (gst_pad_class_init): Add properties for "direction" and
15372         "template". Both are construct-only, so they can't change during
15373         the life of the pad. Fixes properly deriving from GstPad.
15374         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15375         derived objects, just set properties when creating the objects via
15376         g_object_new.
15377         (gst_pad_get_parent): Implement as a function, return NULL if the
15378         parent is not an element.
15379         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15380         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15381         
15382         * gst/gstobject.c (gst_object_class_init): Make name a construct
15383         property. Don't set it in the object init.
15385         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15386         with UNKNOWN direction.
15387         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15388         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15389         (gst_element_remove_pad): Remove ghost-pad special cases.
15390         (gst_element_pads_activate): Remove rpad cruft.
15392         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15393         catch the pad's-parent-not-an-element case.
15395         * gst/gst.h: Include gstghostpad.h.
15397         * gst/gst.c (init_post): No more real, ghost pads.
15399         * gst/Makefile.am: Add gstghostpad.[ch].
15401         * check/Makefile.am:
15402         * check/gst/gstbin.c:
15403         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15404         into a bin creates ghost pads, and that the refcounts are right.
15405         Partly moved from gstbin.c.
15407 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15409         * check/gst-libs/.cvsignore:
15410         * check/gst/.cvsignore:
15411         * check/pipelines/.cvsignore:
15412           ignore more
15413         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15414         (START_TEST), (cleanup_suite), (main):
15415           add some tests related to cleanup after running pipelines
15417 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15419         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15420           add a testsuite for GstBuffer
15422 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15424         * gst/gstminiobject.h:
15425           add defines for accessing the refcount
15427 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15429         * Makefile.am: added support for html unit test coverage reports
15431 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15433         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15434           Free existing caps if the capsfilter changes. Add a FIXME about
15435           setting those caps on the pads.
15437         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15438           Before adding a ghost pad to a parent bin, check that there isn't
15439           already one for the element on the bin. Prevents infinite recursion
15440           when using decodebin in parse pipelines. Andy says he'll rewrite the
15441           way this works anyway, so ignore the hack.
15443 2005-06-02  Andy Wingo  <wingo@pobox.com>
15445         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15446         file size, pass it on to the type find helper.
15448         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15449         segment_start and segment_end properly according to the seek
15450         method. Segment_end is still a bit flaky because offset can be
15451         negative for CUR and END cases, but it takes -1 as an "unset"
15452         value.
15454 2005-06-02  Wim Taymans  <wim@fluendo.com>
15456         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15457         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15458         (gst_basesink_activate):
15459         * gst/base/gstbasesink.h:
15460         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15461         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15462         (gst_pad_query), (gst_pad_start_task):
15463         * gst/gstpad.h:
15464         * gst/gstqueue.c: (gst_queue_bufferalloc),
15465         (gst_queue_handle_sink_event), (gst_queue_chain):
15466         Bufferalloc: return GstFlowReturn to more accuratly report
15467         why allocation failed.
15469 2005-06-02  Wim Taymans  <wim@fluendo.com>
15471         * gst/gstpipeline.c: (gst_pipeline_send_event):
15472         Take snapshot of state without blocking.
15474 2005-06-02  Wim Taymans  <wim@fluendo.com>
15476         * docs/design/part-TODO.txt:
15477         * docs/design/part-caps.txt:
15478         * docs/design/part-clocks.txt:
15479         * docs/design/part-negotiation.txt:
15480         * docs/design/part-preroll.txt:
15481         Small doc updates 
15483 2005-05-30  Wim Taymans  <wim@fluendo.com>
15485         * gst/elements/gstidentity.c: (gst_identity_event),
15486         (gst_identity_transform), (gst_identity_get_property):
15487         Protect last_message property as it is accessed from
15488         multiple threads.
15490 2005-05-30  Wim Taymans  <wim@fluendo.com>
15492         * gst/gstelement.c: (gst_element_init),
15493         (gst_element_pads_activate), (gst_element_change_state):
15494         Slicker pad activation code.
15496 2005-05-30  Wim Taymans  <wim@fluendo.com>
15498         * gst/Makefile.am:
15499         * gst/gstelement.h:
15500         * gst/gstelementfactory.h:
15501         * gst/gsttypes.h:
15502         Move elementfactory methods to separate .h file.
15504 2005-05-30  Wim Taymans  <wim@fluendo.com>
15506         * docs/design/part-overview.txt:
15507         * gst/gstsystemclock.h:
15508         Small typo fixes, doc updates.
15510 2005-05-30  Wim Taymans  <wim@fluendo.com>
15512         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15513         (init_popt_callback):
15514         Remove cpu-opt flag.
15516 2005-05-30  Wim Taymans  <wim@fluendo.com>
15518         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15519         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15520         * gst/gstbuffer.h:
15521         Avoid typechecking in places where not needed.
15522         Added accessor for malloc_data.
15524 2005-05-30  Wim Taymans  <wim@fluendo.com>
15526         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15527         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15528         (gst_pad_configure_sink), (gst_pad_configure_src),
15529         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15530         (gst_pad_start_task):
15531         Propagate errors from _set_caps() in configure_src/sink
15532         functions instead of returning TRUE.
15533         FLUSH events can travel up and downstream
15536 2005-05-30  Wim Taymans  <wim@fluendo.com>
15538         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15539         (gst_basesink_activate):
15540         Handle EOS in preroll.
15542 2005-05-30  Wim Taymans  <wim@fluendo.com>
15544         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15545         (gst_queue_loop), (gst_queue_handle_src_event):
15546         Remove old pieces of code
15547         Flushing the queue in an upstream event is a very bad idea.
15549 2005-05-26  Andy Wingo  <wingo@pobox.com>
15551         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15552         gst_value_set_mini_object so as to add a ref on the object (which
15553         will be removed when the value is unset).
15555         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15556         arg type in ::handoff.
15558         * gst/gstelement.c (gst_element_change_state): Also deactivate
15559         pads in READY->NULL, just in case the element didn't make it to
15560         PAUSED. Wingo tested, Wim approved.
15562 2005-05-26  Wim Taymans  <wim@fluendo.com>
15564         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15565         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15566         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15567         A flushing pad cannot be used to alloc_buffer from.
15569 2005-05-26  Wim Taymans  <wim@fluendo.com>
15571         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15572         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15573         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15574         (gst_bus_create_watch), (gst_bus_add_watch_full):
15575         * gst/gstbus.h:
15576         Implement a real GSource and use g_main_context_wakeup() to
15577         signal new messages instead of the socketpair.
15579 2005-05-25  Wim Taymans  <wim@fluendo.com>
15581         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15582         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15583         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15584         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15585         (gst_pad_send_event), (gst_pad_start_task):
15586         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15587         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15588         (gst_queue_sink_activate), (gst_queue_src_activate),
15589         (gst_queue_change_state):
15590         * gst/gstqueue.h:
15591         Fix state changes for non sinks. We now change sinks, then elements
15592         with unconnected srcpads, then the rest.
15593         More efficient queue unlocking in flush and state changes.
15594         Set the pad activate mode even if it does not have an activate
15595         function.
15597 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15599         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15600           Don't go in pull mode for non-seekable sources.
15601         * gst/elements/gsttypefindelement.h:
15602         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15603         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15604         (free_entry), (stop_typefinding),
15605         (gst_type_find_element_handle_event), (find_peek),
15606         (gst_type_find_element_chain), (do_pull_typefind),
15607         (gst_type_find_element_change_state):
15608           Allow typefinding (w/o seeking) in push-mode, simplified version
15609           of what was in 0.8.
15610         * gst/gstutils.c: (gst_buffer_join):
15611         * gst/gstutils.h:
15612           gst_buffer_join() from 0.8.
15614 2005-05-25  Wim Taymans  <wim@fluendo.com>
15616         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15617         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15618         (gst_pad_send_event), (gst_pad_start_task):
15619         Disable attempt at mode switching until it is figured out.
15621 2005-05-25  Wim Taymans  <wim@fluendo.com>
15623         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15624         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15625         (gst_basesink_finish_preroll), (gst_basesink_chain),
15626         (gst_basesink_loop), (gst_basesink_activate),
15627         (gst_basesink_change_state):
15628         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15629         (gst_basesrc_get_range), (gst_basesrc_loop),
15630         (gst_basesrc_activate):
15631         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15632         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15633         (gst_real_pad_init), (gst_real_pad_set_property),
15634         (gst_real_pad_get_property), (gst_pad_set_active),
15635         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15636         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15637         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15638         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15639         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15640         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15641         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15642         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15643         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15644         (gst_pad_stop_task):
15645         * gst/gstpad.h:
15646         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15647         (gst_queue_loop), (gst_queue_src_activate):
15648         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15649         (gst_task_get_state):
15650         * gst/gsttask.h:
15651         * gst/schedulers/threadscheduler.c:
15652         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15653         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15654         in task function.
15655         Remove ACTIVE pad flag, use FLUSHING everywhere
15656         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15657         functions.
15658         Add locks around IS_FLUSHING when reading.
15659         Take STREAM lock in chain(), get_range() functions so plugins
15660         don't need to take it anymore.
15661         
15664 2005-05-25  Wim Taymans  <wim@fluendo.com>
15666         * tools/gst-launch.c: (event_loop):
15667         Unref message after using its contents instead of
15668         before.
15670 2005-05-24  Wim Taymans  <wim@fluendo.com>
15672         * docs/design/draft-ghostpads.txt:
15673         * docs/design/draft-push-pull.txt:
15674         * docs/design/draft-query.txt:
15675         * docs/design/part-overview.txt:
15676         Docs updates, added general overview doc.
15678 2005-05-21  David Schleef  <ds@schleef.org>
15680         * docs/gst/tmpl/old/GstBin.sgml:
15681         * docs/gst/tmpl/old/GstBuffer.sgml:
15682         * docs/gst/tmpl/old/GstCaps.sgml:
15683         * docs/gst/tmpl/old/GstClock.sgml:
15684         * docs/gst/tmpl/old/GstCompat.sgml:
15685         * docs/gst/tmpl/old/GstData.sgml:
15686         * docs/gst/tmpl/old/GstElement.sgml:
15687         * docs/gst/tmpl/old/GstEvent.sgml:
15688         * docs/gst/tmpl/old/GstIndex.sgml:
15689         * docs/gst/tmpl/old/GstStructure.sgml:
15690         * docs/gst/tmpl/old/GstTag.sgml:
15691         * docs/gst/tmpl/old/cothreads.sgml:
15692         * docs/gst/tmpl/old/cothreads_compat.sgml:
15693         * docs/gst/tmpl/old/gettext.sgml:
15694         * docs/gst/tmpl/old/gobject2gtk.sgml:
15695         * docs/gst/tmpl/old/grammar.tab.sgml:
15696         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15697         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15698         * docs/gst/tmpl/old/gst_private.sgml:
15699         * docs/gst/tmpl/old/gstaggregator.sgml:
15700         * docs/gst/tmpl/old/gstarch.sgml:
15701         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15702         * docs/gst/tmpl/old/gstbufferstore.sgml:
15703         * docs/gst/tmpl/old/gstdata_private.sgml:
15704         * docs/gst/tmpl/old/gstdisksink.sgml:
15705         * docs/gst/tmpl/old/gstdisksrc.sgml:
15706         * docs/gst/tmpl/old/gstelementfactory.sgml:
15707         * docs/gst/tmpl/old/gstextratypes.sgml:
15708         * docs/gst/tmpl/old/gstfakesink.sgml:
15709         * docs/gst/tmpl/old/gstfakesrc.sgml:
15710         * docs/gst/tmpl/old/gstfdsink.sgml:
15711         * docs/gst/tmpl/old/gstfdsrc.sgml:
15712         * docs/gst/tmpl/old/gstfilesink.sgml:
15713         * docs/gst/tmpl/old/gstfilesrc.sgml:
15714         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15715         * docs/gst/tmpl/old/gstidentity.sgml:
15716         * docs/gst/tmpl/old/gstindexfactory.sgml:
15717         * docs/gst/tmpl/old/gstmarshal.sgml:
15718         * docs/gst/tmpl/old/gstmd5sink.sgml:
15719         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15720         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15721         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15722         * docs/gst/tmpl/old/gstpipefilter.sgml:
15723         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15724         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15725         * docs/gst/tmpl/old/gstshaper.sgml:
15726         * docs/gst/tmpl/old/gstspider.sgml:
15727         * docs/gst/tmpl/old/gstspideridentity.sgml:
15728         * docs/gst/tmpl/old/gststatistics.sgml:
15729         * docs/gst/tmpl/old/gsttee.sgml:
15730         * docs/gst/tmpl/old/gsttimecache.sgml:
15731         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15732         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15733         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15734         * docs/gst/tmpl/old/types.sgml:
15735           I didn't intend to add these or check them in.
15737 2005-05-19  David Schleef  <ds@schleef.org>
15739         * configure.ac: Use -no-common everywhere.  In a sane world, it
15740           would be the default in libtool, because without it, you can't
15741           build DLLs on Windows.
15742         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15743         * docs/gst/gstreamer-sections.txt:
15744         * docs/gst/tmpl/gstcpu.sgml:
15745         * docs/gst/tmpl/gstdata.sgml:
15746         * docs/gst/tmpl/gstthread.sgml:
15748 2005-05-19  David Schleef  <ds@schleef.org>
15750         * gst/gstminiobject.c: (gst_value_set_mini_object),
15751         (gst_value_take_mini_object), (gst_value_get_mini_object):
15752         * gst/gstminiobject.h: Add GValue set/get functions.
15754 2005-05-19  Wim Taymans  <wim@fluendo.com>
15756         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15757         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15758         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15759         * gst/gstbuffer.h:
15760         * gst/gstbus.c: (gst_bus_post):
15761         * gst/gstelement.c: (gst_element_get_random_pad):
15762         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15763         Make subbufer unref the parent in finalize.
15764         some more debugging info.
15767 2005-05-19  Wim Taymans  <wim@fluendo.com>
15769         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15770         (gst_basesink_init), (gst_basesink_finalize),
15771         (gst_basesink_activate), (gst_basesink_change_state):
15772         Don't free preroll queue too early.
15774 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15776         * gst/Makefile.am:
15777         * gst/ROADMAP:
15778           Hi, I'm outdated. Please shoot me.
15780 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15782         * gst/gstpipeline.c: (gst_pipeline_send_event):
15783           Do not access variables after they have been deleted.
15785 2005-05-19  Wim Taymans  <wim@fluendo.com>
15787         * tools/gst-inspect.c: (print_plugin_features):
15788         A plugin feature does unfortunatly not use the
15789         object name yet...
15791 2005-05-18  Wim Taymans  <wim@fluendo.com>
15793         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15794         Port _span() functions to new subbuffers.
15796 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15798         * gst/gstbin.c: (gst_bin_add_func):
15799           Fix clock settery in bins when adding kids after the clock has
15800           been selected.
15802 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15804         * gst/elements/gstidentity.c: (gst_identity_class_init):
15805           Workaround until signals support GstMiniObject.
15807 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15809         * gst/gstbuffer.c:
15810         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15812 2005-05-18  Wim Taymans  <wim@fluendo.com>
15814         * gst/base/Makefile.am:
15815         * gst/base/gstadapter.c: (gst_adapter_base_init),
15816         (gst_adapter_class_init), (gst_adapter_init),
15817         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15818         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15819         (gst_adapter_flush), (gst_adapter_available),
15820         (gst_adapter_available_fast):
15821         * gst/base/gstadapter.h:
15822         Ported and added adapter to the base classes.
15824 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15826         * gst/gst.c:
15827         * gst/gstmessage.c:
15828           Make sure the class is reffed/unreffed once before threads can be
15829           used.  Fixes #304551.
15831 2005-05-17  Wim Taymans  <wim@fluendo.com>
15833         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15834         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15835         * gst/gstminiobject.c: (gst_mini_object_get_type),
15836         (gst_mini_object_free):
15837         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15838         (gst_pad_push), (gst_pad_push_event):
15839         * gst/gstqueue.c: (gst_queue_change_state):
15840         Don't queue buffers in basesink when we are flushing.
15841         Unref buffer when flushing in basesink.
15842         Flush queue when going to READY
15843         Unref buffer when _push() returns an error.
15844         Don't free MiniObject instance when refcount is incremented
15845         in _finalize() so that we can recover objects.
15847 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15849         * docs/manual/advanced-schedulers.xml:
15850         * docs/manual/appendix-checklist.xml:
15851         * docs/pwg/advanced-clock.xml:
15852         * docs/pwg/advanced-interfaces.xml:
15853         * docs/pwg/advanced-request.xml:
15854         * docs/pwg/advanced-types.xml:
15855         * docs/pwg/intro-preface.xml:
15856         * examples/plugins/example.c: (gst_example_get_type),
15857         (gst_example_class_init), (gst_example_chain),
15858         (gst_example_set_property), (gst_example_get_property),
15859         (gst_example_change_state), (plugin_init):
15860         * examples/plugins/example.h:
15861           small doc fixes
15863 2005-05-17  Wim Taymans  <wim@fluendo.com>
15865         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15866         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15867         * gst/gstqueue.c: (gst_queue_change_state):
15868         Clear queue when going to READY.
15869         Remove IN_SETCAPS flag too.
15871 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15873         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15874           Remove implicit cast from gboolean to GstElementStateReturn;
15875           make sure we still return failure in paused => ready case if
15876           the parent class fails to change state and our own stop 
15877           vfunc succeeds.
15879 2005-05-17  Wim Taymans  <wim@fluendo.com>
15881         * tools/gst-launch.c: (event_loop):
15882         Message was unreffed too soon.
15884 2005-05-16  Andy Wingo  <wingo@pobox.com>
15886         * gst/gstbin.c (sink_iterator_filter): Err... um...
15888         * check/gst/gstbin.c (test_ghost_pads): New test for the
15889         ghosting-if-elements-not-in-same-bin behavior.
15891 2005-05-16  David Schleef  <ds@schleef.org>
15893         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15894         accessing refcount directly.
15896 2005-05-15  David Schleef  <ds@schleef.org>
15898         * check/Makefile.am: remove GstData checks
15899         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15900         * gst/Makefile.am: add miniobject, remove data
15901         * gst/gst.h: add miniobject, remove data
15902         * gst/gstdata.c: remove
15903         * gst/gstdata.h: remove
15904         * gst/gstdata_private.h: remove
15905         * gst/gsttypes.h: remove GstEvent and GstMessage
15906         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15907         * gst/gstmarshal.list: change BOXED -> OBJECT
15909         Implement GstMiniObject.
15910         * gst/gstminiobject.c:
15911         * gst/gstminiobject.h:
15913         Modify to be subclasses of GstMiniObject.
15914         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15915         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15916         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15917         (gst_subbuffer_get_type), (gst_subbuffer_init),
15918         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15919         (gst_buffer_span):
15920         * gst/gstbuffer.h:
15921         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15922         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15923         (_gst_event_copy), (gst_event_new):
15924         * gst/gstevent.h:
15925         * gst/gstmessage.c: (_gst_message_initialize),
15926         (gst_message_get_type), (gst_message_class_init),
15927         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15928         (gst_message_new), (gst_message_new_error),
15929         (gst_message_new_warning), (gst_message_new_tag),
15930         (gst_message_new_state_changed), (gst_message_new_application):
15931         * gst/gstmessage.h:
15932         * gst/gstprobe.c: (gst_probe_perform),
15933         (gst_probe_dispatcher_dispatch):
15934         * gst/gstprobe.h:
15935         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15936         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15937         (_gst_query_copy), (gst_query_new):
15939         Update elements for GstData -> GstMiniObject changes
15940         * gst/gstquery.h:
15941         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15942         (gst_queue_chain), (gst_queue_loop):
15943         * gst/elements/gstbufferstore.c:
15944         (gst_buffer_store_add_buffer_func),
15945         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15946         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15947         (gst_fakesink_render):
15948         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15949         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15950         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15951         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15952         (gst_filesrc_create_read):
15953         * gst/elements/gstidentity.c: (gst_identity_class_init):
15954         * gst/elements/gsttypefindelement.c:
15955         (gst_type_find_element_src_event), (free_entry_buffers),
15956         (gst_type_find_element_handle_event):
15957         * libs/gst/dataprotocol/dataprotocol.c:
15958         (gst_dp_header_from_buffer):
15959         * libs/gst/dataprotocol/dataprotocol.h:
15960         * libs/gst/dataprotocol/dp-private.h:
15962 2005-05-15  David Schleef  <ds@schleef.org>
15964         * gst/elements/gstelements.c: Don't include headers that were
15965         just removed.
15967 2005-05-15  David Schleef  <ds@schleef.org>
15969         * gst/elements/Makefile.am: Remove some elements that don't
15970         need to be in the core (or even exist at all).
15971         * gst/elements/gstaggregator.c:
15972         * gst/elements/gstaggregator.h:
15973         * gst/elements/gstmd5sink.c:
15974         * gst/elements/gstmd5sink.h:
15975         * gst/elements/gstmultifilesrc.c:
15976         * gst/elements/gstmultifilesrc.h:
15977         * gst/elements/gstpipefilter.c:
15978         * gst/elements/gstpipefilter.h:
15979         * gst/elements/gstshaper.c:
15980         * gst/elements/gstshaper.h:
15981         * gst/elements/gststatistics.c:
15982         * gst/elements/gststatistics.h:
15983         * po/POTFILES.in: Remove above files.
15985 2005-05-14  Andy Wingo  <wingo@pobox.com>
15987         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15988         so as to get the refs right.
15989         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15990         unreffing objects that don't pass the filter.
15992         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15993         gst_element_set_bus.
15994         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15995         normal cases, this will destroy the bus.
15997         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15998         object.
16000         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16001         has no sinks.
16003 2005-05-13  Andy Wingo  <wingo@pobox.com>
16005         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16006         gst_pad_link, call pad_link_maybe_ghosting,
16007         (pad_link_maybe_ghosting): Links pads, making sure that the
16008         elements being linked are in the same bin.
16009         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16010         Helpers for pad_link_maybe_ghosting.
16012 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16014         * configure.ac:
16015           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16017 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16019         * docs/design/part-element-source.txt:
16020           Mention GstPushSrc
16022 2005-05-12  Wim Taymans  <wim@fluendo.com>
16024         * gst/base/gstbasesink.c: (gst_basesink_init),
16025         (gst_basesink_activate):
16026         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16027         (gst_basesrc_is_seekable):
16028         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16029         (bin_element_is_sink), (gst_bin_change_state):
16030         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16031         * gst/gstelement.h:
16032         Identify sinks by their flag to avoid overly complicated
16033         checks (fow now).
16034         Do state changes even for elements not reachable from the
16035         sinks.
16036         BaseSink is a sink now :)
16037         Some more debugging info in the basesrc.
16040 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16042         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16043           Implement _query on a bin, similar to _send_event.
16045 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16047         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16048           Discont event offset format should be GST_FORMAT_BYTES,
16049           not GST_FORMAT_TIME.
16051 2005-05-12  Wim Taymans  <wim@fluendo.com>
16053         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16054         Same fix as Ronald's but without the signal. 
16056 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16058         * gst/gstutils.c: (gst_element_query_position):
16059           No, an element is not a pad.
16061 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16063         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16064         (gst_bin_get_state):
16065           If a child is removed from a bin while we remove the child from
16066           the bin and while we're retrieving its state, signal this to the
16067           get_state function so we abort the wait (instead of waiting for
16068           a timeout) and can immediately re-iterate over all other elements.
16070 2005-05-12  Wim Taymans  <wim@fluendo.com>
16072         * gst/base/Makefile.am:
16073         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16074         (gst_basesrc_start):
16075         * gst/base/gstbasesrc.h:
16076         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16077         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16078         (gst_pushsrc_init), (gst_pushsrc_create):
16079         * gst/base/gstpushsrc.h:
16080         Added is_seekable to BaseSrc
16081         Added simple PushSrc.
16083 2005-05-11  Wim Taymans  <wim@fluendo.com>
16085         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16086         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16087         (gst_element_link_pads), (gst_element_query_position),
16088         (gst_element_query_convert), (intersect_caps_func),
16089         (gst_pad_query_position), (gst_pad_query_convert):
16090         Fix refcounting in utils function.
16091         No point in trying to activate a pad when it's added, it could
16092         be added from the state change function and then we deadlock, the
16093         element has to decide what to do.
16095 2005-05-10  Andy Wingo  <wingo@pobox.com>
16097         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16098         *all* the arguments.
16100         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16101         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16102         lock (according to the docs -- if this is wrong change the docs).
16104         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16105         flush messages in the NULL state.
16107         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16108         message immediately and return.
16109         (gst_bus_set_flushing): New function. If a bus is flushing, it
16110         flushes out any queued messages and immediately unrefs new
16111         messages. This is so when an element goes to NULL, all of the
16112         unhandled messages coming from it can be freed, and their
16113         references to the element dropped. In other words: message source
16114         ref considered harmful :P
16116         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16117         we're finished with it.
16119         * gst/gstmessage.c (gst_message_new_state_changed): 
16121 2005-05-10  Wim Taymans  <wim@fluendo.com>
16123         * gst/gstvalue.c: (gst_value_compare_flags),
16124         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16125         (_gst_value_initialize):
16126         Added flags serialize/deserialize/compare code.
16128 2005-05-09  Andy Wingo  <wingo@pobox.com>
16130         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16131         Intersect the peer's caps with our caps.
16133 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16135         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16136         * gst/elements/gsttypefindelement.c: (find_peek):
16137           Handle negative offsets better. Fixes decodebin.
16139 2005-05-09  Wim Taymans  <wim@fluendo.com>
16141         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16142         (gst_base_transform_event):
16143         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16144         Implement accept_caps.
16145         Fix silly lock/unlock mismatch in base class.
16147 2005-05-09  Wim Taymans  <wim@fluendo.com>
16149         * docs/design/draft-push-pull.txt:
16150         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16151         * gst/elements/gstfilesink.c: (gst_filesink_init),
16152         (gst_filesink_query):
16153         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16154         (gst_type_find_handle_src_query), (find_element_get_length):
16155         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16156         * gst/gstelement.h:
16157         * gst/gstmessage.c:
16158         * gst/gstmessage.h:
16159         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16160         (gst_real_pad_get_caps_unlocked),
16161         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16162         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16163         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16164         (gst_real_pad_dispose), (gst_real_pad_finalize),
16165         (gst_pad_load_and_link), (gst_pad_save_thyself),
16166         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16167         (gst_pad_check_pull_range), (gst_pad_pull_range),
16168         (gst_pad_template_get_type), (gst_pad_template_class_init),
16169         (gst_pad_template_init), (gst_pad_template_dispose),
16170         (name_is_valid), (gst_static_pad_template_get),
16171         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16172         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16173         (gst_pad_get_element_private), (gst_pad_start_task),
16174         (gst_pad_pause_task), (gst_pad_stop_task),
16175         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16176         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16177         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16178         (gst_ghost_pad_new):
16179         * gst/gstpad.h:
16180         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16181         (gst_query_new_position), (gst_query_set_position),
16182         (gst_query_parse_position), (gst_query_new_convert),
16183         (gst_query_set_convert), (gst_query_parse_convert):
16184         * gst/gstquery.h:
16185         * gst/gstqueryutils.c:
16186         * gst/gstqueryutils.h:
16187         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16188         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16189         (gst_queue_handle_src_query):
16190         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16191         (gst_element_query_position), (gst_element_query_convert),
16192         (intersect_caps_func), (gst_pad_query_position),
16193         (gst_pad_query_convert):
16194         * gst/gstutils.h:
16195         * tools/gst-inspect.c: (print_pad_info):
16196         * tools/gst-xmlinspect.c: (print_element_info):
16197         Remove old query functions. Ported old code.
16198         Added position/convert helper functions to gstutils.
16199         Reordered gstpad.c code, grouping relevant things.
16200         Remove gst_message_new(), always need to speficy a specific
16201         message.
16204 2005-05-09  Andy Wingo  <wingo@pobox.com>
16206         * gst/gstiterator.h: Add some includes.
16208         * gst/gstqueryutils.h: Include more headers.
16210         * gst/gstpad.h:
16211         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16212         some uses of gst_pad_query.
16214         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16215         NULL out parameters.
16216         (gst_query_new_position): New proc, allocates a new position
16217         query.
16219         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16220         gstqueryutils.c to the build.
16222         * gst/gststructure.c (gst_structure_set_valist): Implement with
16223         the generic G_VALUE_COLLECT.
16224         
16225 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16227         * gst/Makefile.am: (gst_headers):
16228         Added gstqueryutils.h to the list of headers to install, that was
16229         a 'nachty' move wingo :)
16231 2005-05-06  Andy Wingo  <wingo@pobox.com>
16233         * gst/gstquery.h
16234         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16235         GstData, init a memchunk.
16236         (standard_definitions): Add a few query types, deprecate a few.
16237         (gst_query_get_type): New proc.
16238         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16239         implementation.
16240         (gst_query_new_application, gst_query_get_structure): New public
16241         procs.
16243         * docs/design/draft-query.txt: Removed LINKS from the query types,
16244         because all the rest can be dispatched to other pads -- seemed
16245         ugly to have a query that couldn't be dispatched. internal_links
16246         is fine as a pad method.
16248         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16249         in gstpad.c, but maintain binary compatibility for the moment.
16250         Will fix before 0.9 is out.
16252         * gst/gstqueryutils.c: 
16253         * gst/gstqueryutils.h: New files, implement 3 methods for each
16254         query type: parse_query, parse_response, and set. Probably need an
16255         allocator as well.
16257         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16259         * gst/elements/gstfilesink.c (gst_filesink_query2):
16260         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16261         query_types, and formats methods.
16263         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16264         (gst_pad_set_query2_function): New functions.
16265         (gst_real_pad_init): Set query2_default as the default query2
16266         function. Basically just dispatches to internally linked pads.
16268         Needs review!
16269         
16270         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16271         without using the atomic operations. Only one thread can possibly
16272         be accessing the data at this point. Changed so as to avoid
16273         gst_atomic operations.
16275 2005-05-06  Wim Taymans  <wim@fluendo.com>
16277         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16278         Also set caps if we use the fallback buffer alloc.
16280 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16282         * docs/gst/Makefile.am:
16283         * docs/gst/gstreamer-docs.sgml:
16284         * docs/gst/gstreamer-sections.txt:
16285         * docs/gst/tmpl/gstatomic.sgml:
16286         * docs/gst/tmpl/gstmemchunk.sgml:
16287         * testsuite/elements/struct_i386.h:
16288         * win32/GStreamer.vcproj:
16289         * win32/Makefile:
16290           Purge GstAtomic stuff from docs and win32 makefiles as well
16292 2005-05-06  Wim Taymans  <wim@fluendo.com>
16294         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16295         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16296         * gst/gstpad.c: (gst_pad_peer_get_caps):
16297         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16298         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16299         (gst_queue_src_activate), (gst_queue_change_state):
16300         * gst/gstqueue.h:
16301         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16302         (intersect_caps_func):
16303         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16304         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16305         Some fixes for the peer_get_caps() change.
16307 2005-05-06  Wim Taymans  <wim@fluendo.com>
16309         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16310         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16311         (gst_basesink_activate):
16312         Actually do something with error codes returned from the push
16313         functions.
16315 2005-05-06  Wim Taymans  <wim@fluendo.com>
16317         * docs/design/part-element-sink.txt:
16318         * docs/design/part-element-source.txt:
16319         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16320         (gst_basesink_event), (gst_basesink_activate):
16321         * gst/base/gstbasesink.h:
16322         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16323         (gst_basesrc_activate):
16324         * gst/base/gstbasesrc.h:
16325         * gst/gstelement.c: (gst_element_pads_activate):
16326         Some more documentation.
16327         Fixed scheduling decision in _pads_activate().
16329 2005-05-05  Andy Wingo  <wingo@pobox.com>
16331         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16332         the test suite.
16334 2005-05-05  Wim Taymans  <wim@fluendo.com>
16336         * gst/base/Makefile.am:
16337         * gst/base/gstbasesink.h:
16338         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16339         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16340         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16341         (gst_collectpads_class_init), (gst_collectpads_init),
16342         (gst_collectpads_finalize), (gst_collectpads_new),
16343         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16344         (find_pad), (gst_collectpads_remove_pad),
16345         (gst_collectpads_is_active), (gst_collectpads_collect),
16346         (gst_collectpads_collect_range), (gst_collectpads_start),
16347         (gst_collectpads_stop), (gst_collectpads_peek),
16348         (gst_collectpads_pop), (gst_collectpads_available),
16349         (gst_collectpads_read), (gst_collectpads_flush),
16350         (gst_collectpads_chain):
16351         * gst/base/gstcollectpads.h:
16352         * gst/elements/Makefile.am:
16353         * gst/elements/gstelements.c:
16354         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16355         (gst_fakesink_get_times), (gst_fakesink_event),
16356         (gst_fakesink_preroll), (gst_fakesink_render):
16357         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16358         (gst_filesink_init), (gst_filesink_set_location),
16359         (gst_filesink_open_file), (gst_filesink_close_file),
16360         (gst_filesink_pad_query), (gst_filesink_event),
16361         (gst_filesink_render), (gst_filesink_change_state):
16362         * gst/elements/gstfilesink.h:
16363         Added object to help in making collect pad based elements.
16364         Ported filesink.
16365         Make event function in sink baseclass return gboolean.
16367 2005-05-05  Wim Taymans  <wim@fluendo.com>
16369         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16370         (gst_bin_get_by_name):
16371         * gst/gstbuffer.h:
16372         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16373         (gst_clock_finalize):
16374         * gst/gstdata.c: (gst_data_replace):
16375         * gst/gstdata.h:
16376         * gst/gstelement.c: (gst_element_request_pad),
16377         (gst_element_pads_activate):
16378         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16379         (gst_object_unref):
16380         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16381         (gst_pad_set_checkgetrange_function),
16382         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16383         (gst_pad_check_pull_range), (gst_pad_pull_range),
16384         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16385         (gst_pad_pause_task), (gst_pad_stop_task):
16386         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16387         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16388         Fix name lookup in GstBin.
16389         Added _data_replace() function and _buffer_replace()
16390         Use finalize method to clean up clock.
16391         Fix refcounting on request pads.
16392         Fix pad schedule mode error.
16393         Some more object refcounting debug info,
16396 2005-05-04  Andy Wingo <wingo@pobox.com>
16398         * check/Makefile.am:
16399         * docs/gst/tmpl/gstatomic.sgml:
16400         * docs/gst/tmpl/gstplugin.sgml:
16401         * gst/base/gstbasesink.c: (gst_basesink_activate):
16402         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16403         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16404         (gst_basesrc_query), (gst_basesrc_set_property),
16405         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16406         (gst_basesrc_activate):
16407         * gst/base/gstbasesrc.h:
16408         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16409         (gst_base_transform_src_activate):
16410         * gst/elements/gstelements.c:
16411         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16412         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16413         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16414         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16415         (gst_type_find_element_checkgetrange),
16416         (gst_type_find_element_activate):
16417         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16418         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16419         (gst_caps_load_thyself):
16420         * gst/gstelement.c: (gst_element_pads_activate),
16421         (gst_element_save_thyself), (gst_element_restore_thyself):
16422         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16423         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16424         * gst/gstpad.h:
16425         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16426         (gst_xml_parse_file), (gst_xml_parse_memory),
16427         (gst_xml_get_element), (gst_xml_make_element):
16428         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16429         (_file_index_id_save_xml), (gst_file_index_commit):
16430         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16431         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16432         (load_paths):
16433         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16434         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16435         * tools/gst-complete.c: (main):
16436         * tools/gst-compprep.c: (main):
16437         * tools/gst-inspect.c: (print_element_properties_info):
16438         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16439         * tools/gst-xmlinspect.c: (print_element_properties):
16440         GCC 4 fixen.
16441         
16442 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16444         * gst/gstplugin.c: (gst_plugin_check_module),
16445         (gst_plugin_check_file), (gst_plugin_load_file):
16446             apply patch from #172526 to make register work on MacOSX
16448 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16450         * docs/gst/tmpl/gstconfig.sgml:
16451         * gst/gstconfig.h.in:
16452           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16453         * testsuite/debug/printf_extension.c: (main):
16454           Do not use GST_PTR_FORMAT on pointers to types with
16455           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16456         * testsuite/elements/property.h:
16457           use correct printf format
16459 2005-05-02  Wim Taymans  <wim@fluendo.com>
16461         * docs/design/draft-push-pull.txt:
16462         * docs/design/draft-query.txt:
16463         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16464         (gst_basesrc_start):
16465         Added draft for new query API.
16466         Added draft for better selecting scheduling methods.
16467         Make basesrc ignore length if the subclass does not support
16468         it.
16470 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16472         * gst/Makefile.am:
16473           possible fixes for automake-1.5 - _LIBADD is reserved
16475 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16477         * docs/faq/Makefile.am:
16478         * docs/manual/Makefile.am:
16479         * docs/manuals.mak:
16480         * docs/pwg/Makefile.am:
16481         * gst/Makefile.am:
16482           possible fixes for automake-1.5
16484 2005-04-28  Wim Taymans  <wim@fluendo.com>
16486         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16487         (gst_basesink_pad_getcaps), (gst_basesink_init),
16488         (gst_basesink_do_sync):
16489         * gst/gstclock.c: (gst_clock_entry_new):
16490         * gst/gstevent.c: (gst_event_discont_get_value):
16491         * gst/gstpipeline.c: (pipeline_bus_handler),
16492         (gst_pipeline_change_state):
16493         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16494         Better debugging of clocking info.
16495         Allow NULL values when getting discont values.
16497 2005-04-27  Wim Taymans  <wim@fluendo.com>
16499         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16500         * check/gst/gstpad.c: (gst_pad_suite):
16501         Increase timeout for checks.
16503 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16505         * check/Makefile.am:
16506           fix the broken rule for cleanup.  Apparently this rule is
16507           only needed on FC2, so maybe this warrants further autotool
16508           inspection.
16510 2005-04-26  Wim Taymans  <wim@fluendo.com>
16512         * gst/gsttrashstack.h:
16513         Ooohh. a nasty one! After having a failed pop() from the stack,
16514         it's possible that the stack is empty. In that case, don't
16515         follow the NULL pointer.
16517 2005-04-25  Wim Taymans  <wim@fluendo.com>
16519         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16520         (gst_pad_set_checkgetrange_function),
16521         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16522         (gst_pad_check_pull_range), (gst_pad_pull_range),
16523         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16524         (gst_pad_pause_task), (gst_pad_stop_task):
16525         * gst/gstplugin.c: (gst_plugin_load):
16526         * gst/gstplugin.h:
16527         Remove gst_library_load as it does more harm than good with
16528         the new g_module flags.
16529         Revert bogus caps template check in pad linking, pad caps
16530         are important when linking not the template, which is more
16531         general than the current caps.
16533 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16535         * gst/autoplug/.cvsignore:
16536         * gst/autoplug/Makefile.am:
16537         * gst/autoplug/gstsearchfuncs.c:
16538         * gst/autoplug/gstsearchfuncs.h:
16539         * gst/autoplug/gstspider.c:
16540         * gst/autoplug/gstspider.h:
16541         * gst/autoplug/gstspideridentity.c:
16542         * gst/autoplug/gstspideridentity.h:
16543         * gst/autoplug/spidertest.c:
16544           Die, spider, die.
16546 2005-04-25  Wim Taymans  <wim@fluendo.com>
16548         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16549         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16550         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16551         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16552         * gst/gstpad.h:
16553         Added stubs for unimplemented functions. 
16555 2005-04-24  David Schleef  <ds@schleef.org>
16557         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16558         please fix.
16560 2005-04-24  David Schleef  <ds@schleef.org>
16562         Convert everything from GstAtomicInt to g_atomic_int_*, and
16563         remove gstatomic.
16564         * gst/Makefile.am:
16565         * gst/gstatomic.c:
16566         * gst/gstatomic.h:
16567         * gst/gstatomic_impl.h:
16568         * gst/gstbuffer.c:
16569         * gst/gstcaps.c:
16570         * gst/gstcaps.h:
16571         * gst/gstclock.c:
16572         * gst/gstclock.h:
16573         * gst/gstdata.c:
16574         * gst/gstdata.h:
16575         * gst/gstdata_private.h:
16576         * gst/gstevent.c:
16577         * gst/gstinfo.c:
16578         * gst/gstinfo.h:
16579         * gst/gstmessage.c:
16580         * gst/gstobject.c:
16581         * gst/gstobject.h:
16582         * gst/gststructure.c:
16583         * gst/gststructure.h:
16584         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16585         * gst/gstutils.h:
16587 2005-04-24  David Schleef  <ds@schleef.org>
16589         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16590         make the regressions tests work.  Remove some code that is no
16591         longer true.
16592         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16593         Disable warning for pads without templates.
16595 2005-04-24  David Schleef  <ds@schleef.org>
16597         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16598         functions that handle filtered links.
16599         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16600         removed functions.
16601         * gst/gstutils.c: Fix/remove utility functions that handle
16602         filtered caps.
16603         * gst/gstutils.h:
16604         * gst/gstvalue.c: Add serialization/deserialization of caps
16605         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16606         requires fixing so that the filter caps notation creates
16607         a capsfilter element and sets the filter_caps property.  I
16608         think everyone probably wants to keep the shorthand notation.
16609         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16610         * docs/gst/tmpl/gstpad.sgml:
16612         * gst/elements/gstelements.c: Register capsfilter element.
16613         * gst/Makefile.am: fix spacing
16614         * docs/random/ds/0.9-suggested-changes: random
16616 2005-04-23  David Schleef  <ds@schleef.org>
16618         * gst/elements/Makefile.am:
16619         * gst/elements/gstcapsfilter.c: New element that acts like an
16620         identity, but filters caps.  Will eventually replace filtered
16621         caps in pad linking.
16622         * gst/gstutils.c: (gst_element_create_all_pads): New function
16623         to create all the ALWAYS pads that are registered with an
16624         element class.  This functionality should eventually be
16625         merged in with GstElement initialization.
16626         * gst/gstutils.h:
16627         * testsuite/trigger/README: part of trigger test code that should
16628         have been checked in a long time ago.
16630 2005-04-23  David Schleef  <ds@schleef.org>
16632         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16633         needed with new versions of libtool (nobody will confirm this),
16634         and hard to carry around.
16635         * gst/autoplug/Makefile.am:
16636         * gst/base/Makefile.am:
16637         * gst/elements/Makefile.am:
16638         * gst/indexers/Makefile.am:
16639         * gst/schedulers/Makefile.am:
16640         * libs/gst/bytestream/Makefile.am:
16641         * libs/gst/control/Makefile.am:
16642         * libs/gst/dataprotocol/Makefile.am:
16643         * libs/gst/getbits/Makefile.am:
16645 2005-04-21  Wim Taymans  <wim@fluendo.com>
16647         * docs/design/draft-push-pull.txt:
16648         * docs/design/part-MT-refcounting.txt:
16649         * docs/design/part-TODO.txt:
16650         * docs/design/part-caps.txt:
16651         * docs/design/part-events.txt:
16652         * docs/design/part-gstbus.txt:
16653         * docs/design/part-gstpipeline.txt:
16654         * docs/design/part-messages.txt:
16655         * docs/design/part-push-pull.txt:
16656         * docs/design/part-query.txt:
16657         Some more docs.
16659 2005-04-21  Wim Taymans  <wim@fluendo.com>
16661         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16662         (gst_message_new), (gst_message_new_error),
16663         (gst_message_new_warning), (gst_message_new_tag),
16664         (gst_message_new_state_changed), (gst_message_new_application),
16665         (gst_message_get_structure):
16666         * gst/gstmessage.h:
16667         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16668         (gst_structure_copy_conditional):
16669         Use parent refcount in GstMessage to ensure GstStructure
16670         consistency.
16671         Cleaned up headers a bit.
16672         
16674 2005-04-20  Wim Taymans  <wim@fluendo.com>
16676         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16677         (gst_basesink_pad_getcaps), (gst_basesink_init),
16678         (gst_basesink_chain_unlocked):
16679         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16680         (gst_type_find_helper):
16681         * gst/elements/gsttypefindelement.c:
16682         (gst_type_find_element_have_type), (gst_type_find_element_init),
16683         (stop_typefinding), (gst_type_find_element_handle_event),
16684         (find_suggest), (gst_type_find_element_chain),
16685         (gst_type_find_element_checkgetrange),
16686         (gst_type_find_element_getrange), (do_typefind),
16687         (gst_type_find_element_activate):
16688         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16689         (gst_buffer_default_free), (gst_buffer_default_copy),
16690         (gst_buffer_set_caps):
16691         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16692         (gst_caps_replace):
16693         * gst/gstmessage.c: (gst_message_new),
16694         (gst_message_new_state_changed):
16695         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16696         (gst_pad_set_checkgetrange_function),
16697         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16698         (gst_pad_set_caps), (gst_pad_check_pull_range),
16699         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16700         * gst/gstpad.h:
16701         * gst/gsttypefind.c: (gst_type_find_register):
16702         Make gst_caps_replace() work like other _replace() functions.
16703         Use _caps_replace() where possible.
16704         Make sure _message_new() initialises its field.
16705         Add gst_static_pad_template_get_caps()
16708 2005-04-18  Andy Wingo  <wingo@pobox.com>
16710         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16711         on the peer, not the pad. I think that was a typo. Pass an extra
16712         arg to see if random access is possible. Activate the pads as
16713         PULL_RANGE if possible.
16715         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16717         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16718         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16719         to PROP_....
16721 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16723         * docs/faq/using.xml:
16724           Add note on gstreamer-properties (#154996).
16726 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16728         * docs/random/bbb/optional-properties:
16729           Some analysis on optional properties.
16731 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16733         * docs/gst/tmpl/gstelementfactory.sgml:
16734         * gst/gstelement.h:
16735         * gst/gstelementfactory.c: (gst_element_factory_init),
16736         (gst_element_factory_cleanup), (gst_element_register),
16737         (__gst_element_factory_add_static_pad_template),
16738         (gst_element_factory_get_static_pad_templates),
16739         (gst_element_factory_can_src_caps),
16740         (gst_element_factory_can_sink_caps):
16741         * gst/registries/Makefile.am:
16742         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16743         (gst_xml_registry_class_init), (gst_xml_registry_init),
16744         (gst_xml_registry_new), (gst_xml_registry_set_property),
16745         (gst_xml_registry_get_property), (get_time), (make_dir),
16746         (gst_xml_registry_get_perms_func),
16747         (plugin_times_older_than_recurse), (plugin_times_older_than),
16748         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16749         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16750         (add_to_char_array), (read_string), (read_uint), (read_enum),
16751         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16752         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16753         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16754         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16755         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16756         (gst_xml_registry_rebuild):
16757         * gst/registries/gstlibxmlregistry.h:
16758         * tools/gst-compprep.c: (main):
16759         * tools/gst-inspect.c: (print_pad_templates_info):
16760         * tools/gst-xmlinspect.c: (print_element_info):
16761           Use libxml2 for registry parsing, use staticpadtemplates in
16762           elementfactories. Makes gst_init() +/- 10x faster.
16764 2005-04-12  Wim Taymans  <wim@fluendo.com>
16766         * gst/base/Makefile.am:
16767         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16768         (gst_basesink_pad_getcaps), (gst_basesink_init),
16769         (gst_basesink_event), (gst_basesink_change_state):
16770         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16771         (gst_basesrc_init), (gst_basesrc_query),
16772         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16773         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16774         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16775         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16776         (gst_basesrc_stop), (gst_basesrc_activate),
16777         (gst_basesrc_change_state):
16778         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16779         (helper_find_suggest), (gst_type_find_helper):
16780         * gst/base/gsttypefindhelper.h:
16781         * gst/elements/Makefile.am:
16782         * gst/elements/gstelements.c:
16783         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16784         (gst_fakesink_get_times), (gst_fakesink_event),
16785         (gst_fakesink_preroll), (gst_fakesink_render):
16786         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16787         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16788         (gst_fakesrc_get_property), (gst_fakesrc_create),
16789         (gst_fakesrc_start), (gst_fakesrc_stop):
16790         * gst/elements/gstfakesrc.h:
16791         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16792         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16793         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16794         (gst_filesrc_create_read), (gst_filesrc_create),
16795         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16796         (gst_filesrc_start):
16797         * gst/elements/gsttypefindelement.c:
16798         (gst_type_find_element_have_type), (gst_type_find_element_init),
16799         (start_typefinding), (stop_typefinding), (push_buffer_store),
16800         (gst_type_find_element_handle_event),
16801         (gst_type_find_element_chain),
16802         (gst_type_find_element_checkgetrange),
16803         (gst_type_find_element_getrange), (do_typefind),
16804         (gst_type_find_element_activate),
16805         (gst_type_find_element_change_state):
16806         * gst/elements/gsttypefindelement.h:
16807         * gst/gstpipeline.c: (pipeline_bus_handler):
16808         Added typefind helper.
16809         Small preroll fix in the base sink.
16810         Disable typefind code in basesrc.
16811         Crude port of typefindelement.
16812         Fakesrc cleanups.
16815 2005-04-11  Wim Taymans  <wim@fluendo.com>
16817         * check/gst/gstbus.c: (gstbus_suite):
16818         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16819         * check/gstcheck.h:
16820           Fix up the timeout so that the test does not fail.
16822 2005-04-06  Wim Taymans  <wim@fluendo.com>
16824         * gst/base/README:
16825         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16826         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16827         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16828         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16829         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16830         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16831         (gst_basesrc_stop), (gst_basesrc_activate),
16832         (gst_basesrc_change_state), (basesrc_find_peek),
16833         (basesrc_find_suggest), (gst_basesrc_type_find):
16834         * gst/base/gstbasesrc.h:
16835         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16836         (gst_filesrc_class_init), (gst_filesrc_init),
16837         (gst_filesrc_finalize), (gst_filesrc_set_location),
16838         (gst_filesrc_set_property), (gst_filesrc_get_property),
16839         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16840         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16841         (gst_filesrc_create_read), (gst_filesrc_create),
16842         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16843         * gst/elements/gstfilesrc.h:
16844         * gst/gstelement.c: (gst_element_get_state_func),
16845         (gst_element_lost_state), (gst_element_pads_activate):
16846         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16847         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16848         (gst_pad_pull_range):
16849         * gst/gstpad.h:
16850         More work on the generic source base class, implement seeking,
16851         query.
16852         Make filesrc extend the base source class.
16853         Added gst_pad_set_checkgetrange_function to GstPad.
16855 2005-04-06  Andy Wingo  <wingo@pobox.com>
16857         * pkgconfig/gstreamer-base.pc.in:
16858         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16860         * pkgconfig/Makefile.am:
16861         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16863 2005-04-04  Wim Taymans  <wim@fluendo.com>
16865         * gst/base/Makefile.am:
16866         * gst/base/README:
16867         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16868         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16869         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16870         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16871         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16872         (gst_basesrc_base_init), (gst_basesrc_class_init),
16873         (gst_basesrc_init), (gst_basesrc_get_formats),
16874         (gst_basesrc_get_query_types), (gst_basesrc_query),
16875         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16876         (gst_basesrc_set_property), (gst_basesrc_get_property),
16877         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16878         (gst_basesrc_loop), (gst_basesrc_activate),
16879         (gst_basesrc_change_state):
16880         * gst/base/gstbasesrc.h:
16881         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16882         (gst_fakesrc_class_init), (gst_fakesrc_init),
16883         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16884         (gst_fakesrc_get_property), (gst_fakesrc_create):
16885         * gst/elements/gstfakesrc.h:
16886         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16887         (gst_filesrc_open_file), (gst_filesrc_loop),
16888         (gst_filesrc_activate), (filesrc_find_peek),
16889         (gst_filesrc_type_find):
16890         Made base source class, make fakesrc extend it.
16891         Add comments to basesink class.
16892         Some filesrc cleanup.
16894 2005-03-31  David Schleef  <ds@schleef.org>
16896         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16897         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16898         expected to link against libgstreamer.
16899         * gst/base/Makefile.am: link against libgstreamer
16900         * gst/elements/Makefile.am: same
16902 2005-03-31  Andy Wingo  <wingo@pobox.com>
16904         * tests/instantiate/Makefile.am:
16905         * tests/instantiate/caps.c: Add test to test speed of caps copy
16906         and free.
16908         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16909         GMemChunk to be fair.
16911         * gst/gsttrashstack.h: Remove warning about using the fallback
16912         trash stack implementation, it's still faster than malloc.
16914 2005-03-30  Andy Wingo  <wingo@pobox.com>
16916         * tests/complexity.c: Add a copyright.
16918 2005-03-31  Wim Taymans  <wim@fluendo.com>
16920         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16921         (gst_base_transform_class_init), (gst_base_transform_init),
16922         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16923         (gst_base_transform_get_property),
16924         (gst_base_transform_sink_activate),
16925         (gst_base_transform_src_activate),
16926         (gst_base_transform_change_state):
16927         * gst/base/gstbasetransform.h:
16928         * gst/elements/gstidentity.c: (gst_identity_class_init),
16929         (gst_identity_event), (gst_identity_check_perfect),
16930         (gst_identity_transform), (gst_identity_start),
16931         (gst_identity_stop):
16932         Added start/stop methods to transform base class so subclasses 
16933         don't need to deal with state changes even.
16935 2005-03-31  Wim Taymans  <wim@fluendo.com>
16937         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16938         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16939         * gst/gstevent.h:
16940         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16941         (gst_pad_pull_range):
16942         Added rate to the discont event to prepare for variable speed
16943         and reverse playback.
16945 2005-03-29  David Schleef  <ds@schleef.org>
16947         * configure.ac:
16948         * testsuite/trigger/Makefile.am:
16949         * testsuite/trigger/trigger.c: A little example program to show
16950         how trigger-based elements can work.
16952 2005-03-29  Wim Taymans  <wim@fluendo.com>
16954         * gst/base/Makefile.am:
16955         * gst/base/README:
16956         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16957         (gst_basesink_base_init), (gst_basesink_class_init),
16958         (gst_basesink_pad_getcaps), (gst_basesink_init),
16959         (gst_basesink_activate), (gst_basesink_change_state):
16960         * gst/base/gstbasesink.h:
16961         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16962         (gst_base_transform_base_init), (gst_base_transform_finalize),
16963         (gst_base_transform_class_init), (gst_base_transform_init),
16964         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16965         (gst_base_transform_event), (gst_base_transform_getrange),
16966         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16967         (gst_base_transform_set_property),
16968         (gst_base_transform_get_property),
16969         (gst_base_transform_sink_activate),
16970         (gst_base_transform_src_activate),
16971         (gst_base_transform_change_state):
16972         * gst/base/gstbasetransform.h:
16973         * gst/elements/gstidentity.c: (gst_identity_finalize),
16974         (gst_identity_class_init), (gst_identity_init),
16975         (gst_identity_event), (gst_identity_check_perfect),
16976         (gst_identity_transform), (gst_identity_set_property),
16977         (gst_identity_get_property), (gst_identity_change_state):
16978         * gst/elements/gstidentity.h:
16979         * gst/gstelement.c: (gst_element_get_state_func),
16980         (gst_element_lost_state), (gst_element_pads_activate):
16981         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16982         (gst_pad_check_pull_range), (gst_pad_pull_range):
16983         * gst/gstpad.h:
16984         Simplify pad activation.
16985         Added function to check if pull_range can be performed.
16986         Error out when pulling inactive or flushing pads.
16987         Removed const from refcounted types as it does not make sense.
16988         Simplify pad templates in basesink
16989         Added base class for simple 1-to-1 transforms.
16990         Make identity subclass the base transform.
16992 2005-03-29  Andy Wingo  <wingo@pobox.com>
16994         * docs/libs/gstreamer-libs-overrides.txt: 
16995         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16996         really don't understand what's going on, but like whatever. I want
16997         green buildbot!
16999         * docs/gst/Makefile.am:
17000         * docs/libs/Makefile.am: Dist the overrides files.
17002         * check/Makefile.am (clean-local): Remove .libs directories.
17004         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17005         elements to EXTRA_DIST, so po/ files are happy.
17007         * po/POTFILES.in: Er, remove it here.
17009         * po/POTFILES: Remove gstspider.c.
17011         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17013         * docs/libs/gstreamer-libs-docs.sgml: 
17014         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17015         bytestream.
17017         * tests/complexity.c (main): Set the length of the preroll queue
17018         on the sinks to prevent a lockup.
17020         * libs/gst/dataprotocol/Makefile.am: 
17021         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17022         the same as the one in check/gst-libs/gdp.c.
17024         * po/, docs/gst/: Commit automatic changes to docs and po files.
17026         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17027         the versioned libgstbase.
17029         * check/Makefile.am: Depend on an unversioned gst-register, seems
17030         to make autoconf happier.
17032         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17034 2005-03-28  Wim Taymans  <wim@fluendo.com>
17036         * configure.ac:
17037         * docs/design/part-gstelement.txt:
17038         * docs/design/part-negotiation.txt:
17039         * docs/design/part-preroll.txt:
17040         * docs/design/part-scheduling.txt:
17041         * docs/design/part-states.txt:
17042         * gst/Makefile.am:
17043         * gst/base/Makefile.am:
17044         * gst/base/README:
17045         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17046         (gst_basesink_base_init), (gst_basesink_class_init),
17047         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17048         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17049         (gst_basesink_set_pad_functions),
17050         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17051         (gst_basesink_set_property), (gst_basesink_get_property),
17052         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17053         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17054         (gst_basesink_preroll_queue_push),
17055         (gst_basesink_preroll_queue_empty),
17056         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17057         (gst_basesink_event), (gst_basesink_get_times),
17058         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17059         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17060         (gst_basesink_loop), (gst_basesink_activate),
17061         (gst_basesink_change_state):
17062         * gst/base/gstbasesink.h:
17063         * gst/elements/Makefile.am:
17064         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17065         (gst_fakesink_class_init), (gst_fakesink_init),
17066         (gst_fakesink_set_property), (gst_fakesink_get_property),
17067         (gst_fakesink_get_times), (gst_fakesink_event),
17068         (gst_fakesink_preroll), (gst_fakesink_render),
17069         (gst_fakesink_change_state):
17070         * gst/elements/gstfakesink.h:
17071         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17072         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17073         * gst/gstelement.c: (gst_element_add_pad),
17074         (gst_element_get_state_func), (gst_element_abort_state),
17075         (gst_element_commit_state), (gst_element_lost_state),
17076         (gst_element_set_state), (gst_element_pads_activate):
17077         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17078         * gst/gstpipeline.c: (gst_pipeline_send_event),
17079         (gst_pipeline_change_state):
17080         Added state change code.
17081         Added/updated docs.
17082         Added sink base class, make fakesink extend the base class.
17083         Small cleanups in GstPipeline.
17085 2005-03-26  David Schleef  <ds@schleef.org>
17087         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17088         is broken and should be implemented in a different library.
17089         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17090         * gst/gst.h: remove gstcpu.h
17091         * gst/gstcpu.c: remove
17092         * gst/gstcpu.h: remove
17093         * gst/Makefile.am.future: Remove this file.  It's ancient.
17095 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17097         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17098         (gst_bin_send_event):
17099           Add default event/set_manager handlers. The set_manager handler
17100           takes care that the manager is distributed over kids that were
17101           already in the bin before the manager was set. The event handler
17102           is a utility virtual function that sends the event over all sinks,
17103           so that gst_element_send_event (bin, event); has the expected
17104           behaviour.
17105         * gst/gstpad.c: (gst_pad_event_default):
17106           Re-install default event handling for discontinuities, so that
17107           seeking works without requiring hacks in applications or extra
17108           code in sinks.
17109         * gst/gstpipeline.c: (gst_pipeline_class_init),
17110         (gst_pipeline_send_event):
17111           Half hack, half utility: set a pipeline to PAUSED for seek events,
17112           since that is the only way we can guarantee a/v sync. Means that
17113           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17114           and it "just works".
17116 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17118         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17119           Lock/unlock mismatch.
17121 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17123         * docs/faq/gst-uninstalled:
17124           add gst-plugins-base
17125         * docs/gst/Makefile.am:
17126           don't error out until docs are fixed
17127         * docs/gst/gstreamer.types:
17128           remove thread
17130 2005-03-22  Wim Taymans  <wim@fluendo.com>
17132         * check/Makefile.am:
17133         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17134         * gst/gststructure.c: (gst_structure_set_valist),
17135         (gst_structure_copy_conditional):
17136         Activated more tests.
17137         Added message test.
17138         Added G_TYPE_POINTER to GstStructure.
17139         
17141 2005-03-22  Wim Taymans  <wim@fluendo.com>
17143         * docs/design/part-TODO.txt:
17144         * docs/design/part-events.txt:
17145         * docs/design/part-gstbin.txt:
17146         * docs/design/part-gstbus.txt:
17147         * docs/design/part-gstpipeline.txt:
17148         * docs/design/part-messages.txt:
17149         * gst/gstbus.c:
17150         * gst/gstmessage.c:
17151         Docs updates
17153 2005-03-21  Wim Taymans  <wim@fluendo.com>
17155         * gst/gstbus.c: (gst_bus_post):
17156         Fix copy-and-paste error.
17158 2005-03-21  Wim Taymans  <wim@fluendo.com>
17160         * check/Makefile.am:
17161         * gst/Makefile.am:
17162         * gst/elements/Makefile.am:
17163         * gst/elements/gstelements.c:
17164         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17165         (gst_fakesink_event), (gst_fakesink_chain):
17166         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17167         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17168         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17169         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17170         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17171         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17172         (gst_fakesrc_loop), (gst_fakesrc_activate),
17173         (gst_fakesrc_change_state):
17174         * gst/elements/gstfakesrc.h:
17175         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17176         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17177         (gst_filesrc_open_file), (gst_filesrc_loop),
17178         (gst_filesrc_activate), (gst_filesrc_change_state),
17179         (filesrc_find_peek), (filesrc_find_suggest),
17180         (gst_filesrc_type_find):
17181         * gst/elements/gstidentity.c: (gst_identity_finalize),
17182         (gst_identity_class_init), (gst_identity_init),
17183         (gst_identity_proxy_getcaps), (identity_queue_push),
17184         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17185         (gst_identity_getrange), (gst_identity_chain),
17186         (gst_identity_sink_loop), (gst_identity_src_loop),
17187         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17188         (gst_identity_set_property), (gst_identity_get_property),
17189         (gst_identity_change_state):
17190         * gst/elements/gstidentity.h:
17191         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17192         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17193         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17194         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17195         (gst_tee_sink_activate):
17196         * gst/elements/gsttee.h:
17197         * gst/gst.c: (gst_register_core_elements), (init_post):
17198         * gst/gst.h:
17199         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17200         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17201         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17202         (gst_bin_change_state):
17203         * gst/gstbin.h:
17204         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17205         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17206         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17207         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17208         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17209         (bus_watch_callback), (bus_watch_destroy),
17210         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17211         (poll_timeout), (gst_bus_poll):
17212         * gst/gstbus.h:
17213         * gst/gstcaps.h:
17214         * gst/gstdata.h:
17215         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17216         (gst_element_post_message), (gst_element_message_full),
17217         (gst_element_get_state_func), (gst_element_get_state),
17218         (gst_element_abort_state), (gst_element_commit_state),
17219         (gst_element_lost_state), (gst_element_set_state),
17220         (gst_element_pads_activate), (gst_element_change_state),
17221         (gst_element_dispose), (gst_element_set_manager_func),
17222         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17223         (gst_element_set_manager), (gst_element_get_manager),
17224         (gst_element_set_bus), (gst_element_get_bus),
17225         (gst_element_set_scheduler), (gst_element_get_scheduler):
17226         * gst/gstelement.h:
17227         * gst/gstevent.c: (gst_event_new_segment_seek),
17228         (gst_event_new_flush):
17229         * gst/gstevent.h:
17230         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17231         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17232         (gst_message_new_eos), (gst_message_new_error),
17233         (gst_message_new_warning), (gst_message_new_tag),
17234         (gst_message_new_state_changed), (gst_message_new_application),
17235         (gst_message_get_structure), (gst_message_parse_tag),
17236         (gst_message_parse_state_changed), (gst_message_parse_error),
17237         (gst_message_parse_warning):
17238         * gst/gstmessage.h:
17239         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17240         (gst_real_pad_set_property), (gst_pad_set_active),
17241         (gst_pad_is_active), (gst_pad_set_blocked_async),
17242         (gst_pad_set_blocked), (gst_pad_is_blocked),
17243         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17244         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17245         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17246         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17247         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17248         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17249         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17250         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17251         (gst_pad_set_caps), (gst_pad_configure_sink),
17252         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17253         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17254         (gst_real_pad_dispose), (gst_real_pad_finalize),
17255         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17256         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17257         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17258         * gst/gstpad.h:
17259         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17260         (pipeline_bus_handler), (gst_pipeline_change_state),
17261         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17262         * gst/gstpipeline.h:
17263         * gst/gstprobe.h:
17264         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17265         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17266         (gst_queue_link_src), (gst_queue_bufferalloc),
17267         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17268         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17269         (gst_queue_loop), (gst_queue_handle_src_event),
17270         (gst_queue_handle_src_query), (gst_queue_src_activate),
17271         (gst_queue_change_state):
17272         * gst/gstqueue.h:
17273         * gst/gstscheduler.c: (gst_scheduler_init),
17274         (gst_scheduler_dispose), (gst_scheduler_create_task),
17275         (gst_scheduler_factory_create):
17276         * gst/gstscheduler.h:
17277         * gst/gststructure.c: (gst_structure_get_type),
17278         (gst_structure_copy_conditional):
17279         * gst/gststructure.h:
17280         * gst/gsttaginterface.h:
17281         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17282         (gst_task_init), (gst_task_dispose), (gst_task_create),
17283         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17284         (gst_task_pause):
17285         * gst/gsttask.h:
17286         * gst/gstthread.c:
17287         * gst/gstthread.h:
17288         * gst/gsttypes.h:
17289         * gst/schedulers/Makefile.am:
17290         * gst/schedulers/cothreads_compat.h:
17291         * gst/schedulers/entryscheduler.c:
17292         * gst/schedulers/faircothreads.c:
17293         * gst/schedulers/faircothreads.h:
17294         * gst/schedulers/fairscheduler.c:
17295         * gst/schedulers/gstbasicscheduler.c:
17296         * gst/schedulers/gstoptimalscheduler.c:
17297         * gst/schedulers/gthread-cothreads.h:
17298         * gst/schedulers/threadscheduler.c:
17299         (gst_thread_scheduler_task_get_type),
17300         (gst_thread_scheduler_task_class_init),
17301         (gst_thread_scheduler_task_init),
17302         (gst_thread_scheduler_task_start),
17303         (gst_thread_scheduler_task_stop),
17304         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17305         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17306         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17307         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17308         (plugin_init):
17309         * libs/gst/Makefile.am:
17310         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17311         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17312         (gst_file_pad_parent_set):
17313         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17314         (gst_dp_event_from_packet):
17315         * tests/complexity.c: (main):
17316         * tests/mass_elements.c: (main):
17317         * testsuite/states/locked.c: (message_received), (main):
17318         * testsuite/states/parent.c: (main):
17319         * tools/gst-inspect.c: (print_element_flag_info),
17320         (print_implementation_info), (print_pad_info):
17321         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17322         (main):
17323         * tools/gst-md5sum.c: (event_loop), (main):
17324         * tools/gst-typefind.c: (main):
17325         * tools/gst-xmlinspect.c: (print_element_info):
17326         Next big merge.
17327         Added GstBus for mainloop integration.
17328         Added GstMessage for sending notifications on the bus.
17329         Added GstTask as an abstraction for pipeline entry points.
17330         Removed GstThread.
17331         Removed Schedulers.
17332         Simplified GstQueue for multithreaded core.
17333         Made _link threadsafe, removed old capsnego.
17334         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17335         Added pad blocking functions.
17336         Reworked scheduling functions in GstPad to prepare for
17337         scheduling updates soon.
17338         Moved events out of data stream.
17339         Simplified GstEvent types.
17340         Added return values to push/pull.
17341         Removed clocking from GstElement.
17342         Added prototypes for state change function for next merge.
17343         Removed iterate from bins and state change management.
17344         Fixed some elements, disabled others for now.
17345         Fixed -inspect and -launch.
17346         Added check for GstBus.
17348 2005-03-10  Wim Taymans  <wim@fluendo.com>
17350         * docs/design/part-MT-refcounting.txt:
17351         * docs/design/part-clocks.txt:
17352         * docs/design/part-gstelement.txt:
17353         * docs/design/part-gstobject.txt:
17354         * docs/design/part-standards.txt:
17355         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17356         (gst_bin_remove_func), (gst_bin_remove):
17357         * gst/gstbin.h:
17358         * gst/gstbuffer.c:
17359         * gst/gstcaps.h:
17360         * testsuite/clock/clock1.c: (main):
17361         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17362         (main):
17363         * testsuite/dlopen/loadgst.c: (do_test):
17364         * testsuite/refcounting/bin.c: (add_remove_test1),
17365         (add_remove_test2), (main):
17366         * testsuite/refcounting/element.c: (main):
17367         * testsuite/refcounting/element_pad.c: (main):
17368         * testsuite/refcounting/pad.c: (main):
17369         * tools/gst-launch.c: (sigint_handler_sighandler):
17370         * tools/gst-typefind.c: (main):
17371         Doc updates.
17372         Added doc about clock.
17373         removed gst_bin_iterate_recurse_up(), marked methods
17374         for removal.
17375         Fix more testsuites.
17377 2005-03-09  Wim Taymans  <wim@fluendo.com>
17379         * gst/gstpad.c: (gst_pad_get_direction),
17380         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17381         (gst_pad_collect_valist):
17382         * testsuite/bins/interface.c: (main):
17383         * testsuite/caps/audioscale.c: (test_caps):
17384         * testsuite/caps/caps.c: (test1), (test2), (test3):
17385         * testsuite/caps/deserialize.c: (main):
17386         * testsuite/caps/enumcaps.c: (main):
17387         * testsuite/caps/filtercaps.c: (main):
17388         * testsuite/caps/intersect2.c: (main):
17389         * testsuite/caps/random.c: (main):
17390         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17391         * testsuite/caps/sets.c: (check_caps):
17392         * testsuite/caps/simplify.c: (check_caps), (main):
17393         * testsuite/caps/subtract.c: (check_caps):
17394         Fix _pad_get_direction wrt ghostpads.
17395         Fix caps testsuite.
17397 2005-03-09  Wim Taymans  <wim@fluendo.com>
17399         * check/Makefile.am:
17400         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17401         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17402         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17403         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17404         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17405         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17406         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17407         (bin_element_is_sink), (gst_bin_iterate_sinks),
17408         (gst_bin_iterate_all_by_interface):
17409         * gst/gstbin.h:
17410         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17411         (gst_element_change_state), (gst_element_dispose),
17412         (gst_element_finalize), (gst_element_set_loop_function):
17413         * gst/gstelement.h:
17414         * gst/gstiterator.c: (find_custom_fold_func):
17415         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17416         (gst_pad_collectv), (gst_pad_collect_valist),
17417         (gst_pad_template_new):
17418         * gst/gstpipeline.c: (gst_pipeline_class_init),
17419         (gst_pipeline_dispose), (gst_pipeline_set_property),
17420         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17421         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17422         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17423         * gst/gstutils.h:
17424         * gst/schedulers/entryscheduler.c:
17425         * gst/schedulers/gstbasicscheduler.c:
17426         (gst_basic_scheduler_cothreaded_chain),
17427         (gst_basic_scheduler_chain_add_element):
17428         * testsuite/bins/interface.c: (main):
17429         Added GstBin test.
17430         Added GstSystemClock test.
17431         Implemented clock distribution code in GstBin.
17432         Implemented iterate sinks method for future use.
17433         Rearranged gstelement.h
17434         Fix GstIterator comparison bug.
17435         Moved some code to GstPipeline, mostly clocking related.
17437 2005-03-09  Wim Taymans  <wim@fluendo.com>
17439         * configure.ac:
17440         * gst/gst_private.h:
17441         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17442         (gst_bin_remove_func), (gst_bin_remove),
17443         (gst_bin_get_by_name_recurse_up):
17444         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17445         (gst_clock_id_compare_func), (gst_clock_id_wait),
17446         (gst_clock_id_wait_async), (gst_clock_init),
17447         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17448         * gst/gstelement.h:
17449         * gst/gstinfo.c: (_gst_debug_init):
17450         * gst/gstobject.h:
17451         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17452         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17453         * gst/gstpad.h:
17454         Bump version number, we're now 0.9.0
17455         Add future debugging category.
17456         Fix NULL _unref() in _get_by_name_recurse_up
17457         Rearrange gstpad.h.
17458         Update some docs.
17460 2005-03-08  Wim Taymans  <wim@fluendo.com>
17462         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17463         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17464         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17465         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17466         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17467         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17468         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17469         * gst/elements/gstidentity.c: (gst_identity_class_init):
17470         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17471         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17472         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17473         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17474         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17475         (gst_tee_link):
17476         * gst/gstelement.c: (gst_element_class_init),
17477         (gst_element_base_class_init), (gst_element_init),
17478         (gst_element_get_random_pad), (gst_element_wait_state_change),
17479         (gst_element_change_state), (gst_element_dispose),
17480         (gst_element_finalize), (gst_element_set_loop_function):
17481         * gst/gstelement.h:
17482         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17483         * gst/gstthread.c: (gst_thread_class_init),
17484         (gst_thread_release_children_locks), (gst_thread_change_state):
17485         * gst/schedulers/gstbasicscheduler.c:
17486         (gst_basic_scheduler_loopfunc_wrapper),
17487         (gst_basic_scheduler_chain_wrapper),
17488         (gst_basic_scheduler_src_wrapper),
17489         (gst_basic_scheduler_remove_element):
17490         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17491         Remove threadsafe properties. Fix elements because GObject
17492         complains when installing a property before declaring a
17493         set/get_property handler.
17494         Rearrange gstelement.h file, use STATE macros for state locks.
17495         Free mutexes in the finalize method instead of dispose.
17497 2005-03-08  Wim Taymans  <wim@fluendo.com>
17499         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17500         * gst/gstthread.c: (gst_thread_release_children_locks):
17501         Added parentage check.
17502         Fix build og GstThread again.
17504 2005-03-08  Wim Taymans  <wim@fluendo.com>
17506         * docs/design/part-MT-refcounting.txt:
17507         * docs/design/part-conventions.txt:
17508         * docs/design/part-gstobject.txt:
17509         * docs/design/part-relations.txt:
17510         * docs/design/part-standards.txt:
17511         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17512         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17513         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17514         (gst_bin_iterate_all_by_interface):
17515         * gst/gstbuffer.h:
17516         * gst/gstclock.h:
17517         * gst/gstelement.c: (gst_element_class_init),
17518         (gst_element_change_state), (gst_element_set_loop_function):
17519         * gst/gstelement.h:
17520         * gst/gstiterator.c:
17521         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17522         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17523         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17524         (gst_object_set_parent), (gst_object_unparent),
17525         (gst_object_check_uniqueness):
17526         * gst/gstobject.h:
17527         Docs updates, clean up some headers.
17529 2005-03-07  Wim Taymans  <wim@fluendo.com>
17531         * check/.cvsignore:
17532         * check/Makefile.am:
17533         * check/gst-libs/.cvsignore:
17534         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17535         * check/gst/.cvsignore:
17536         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17537         (START_TEST), (gstbus_suite), (main):
17538         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17539         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17540         (gst_data_suite), (main):
17541         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17542         (add_fold_func), (gstiterator_suite), (main):
17543         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17544         (thread_name_object), (thread_name_object_default),
17545         (gst_object_name_compare), (gst_object_suite), (main):
17546         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17547         (gst_pad_suite), (main):
17548         * check/gstcheck.c: (gst_check_log_message_func),
17549         (gst_check_log_critical_func), (gst_check_init):
17550         * check/gstcheck.h:
17551         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17552         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17553         Added checks.
17555 2005-03-07  Wim Taymans  <wim@fluendo.com>
17557         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17558         (gst_list_iterator_next), (gst_list_iterator_resync),
17559         (gst_list_iterator_free), (gst_iterator_new_list),
17560         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17561         (gst_iterator_free), (gst_iterator_push), (filter_next),
17562         (filter_resync), (filter_uninit), (filter_free),
17563         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17564         (gst_iterator_foreach), (find_custom_fold_func),
17565         (gst_iterator_find_custom):
17566         * gst/gstiterator.h:
17567         Added missing files.
17569 2005-03-07  Wim Taymans  <wim@fluendo.com>
17571         * Makefile.am:
17572         * configure.ac:
17573         * docs/design/part-MT-refcounting.txt:
17574         * docs/design/part-conventions.txt:
17575         * docs/design/part-gstobject.txt:
17576         * docs/design/part-relations.txt:
17577         * examples/mixer/mixer.c: (main):
17578         * examples/thread/thread.c: (eos), (main):
17579         * gst/Makefile.am:
17580         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17581         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17582         (gst_spider_plug_from_srcpad):
17583         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17584         (gst_spider_identity_change_state),
17585         (gst_spider_identity_sink_loop_type_finding):
17586         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17587         * gst/elements/gstidentity.c: (gst_identity_init):
17588         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17589         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17590         * gst/elements/gsttypefindelement.c: (free_entry):
17591         * gst/gst.c:
17592         * gst/gst.h:
17593         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17594         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17595         (gst_bin_set_index), (gst_bin_set_element_sched),
17596         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17597         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17598         (gst_bin_iterate_elements), (iterate_child_recurse),
17599         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17600         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17601         (compare_interface), (gst_bin_get_by_interface),
17602         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17603         * gst/gstbin.h:
17604         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17605         (gst_buffer_default_free), (gst_buffer_default_copy),
17606         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17607         (gst_buffer_create_sub):
17608         * gst/gstbuffer.h:
17609         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17610         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17611         (gst_caps_unref), (gst_static_caps_get),
17612         (gst_caps_remove_and_get_structure), (gst_caps_append),
17613         (gst_caps_append_structure), (gst_caps_remove_structure),
17614         (gst_caps_copy_nth), (gst_caps_set_simple),
17615         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17616         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17617         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17618         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17619         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17620         (gst_caps_structure_figure_out_union),
17621         (gst_caps_switch_structures), (gst_caps_do_simplify),
17622         (gst_caps_replace), (gst_caps_from_string),
17623         (gst_caps_copy_conditional):
17624         * gst/gstcaps.h:
17625         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17626         (_gst_clock_id_free), (gst_clock_id_unref),
17627         (gst_clock_id_compare_func), (gst_clock_id_wait),
17628         (gst_clock_id_wait_async), (gst_clock_class_init),
17629         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17630         (gst_clock_get_time), (gst_clock_set_time_adjust),
17631         (gst_clock_set_property), (gst_clock_get_property):
17632         * gst/gstclock.h:
17633         * gst/gstcompat.h:
17634         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17635         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17636         * gst/gstdata.h:
17637         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17638         (gst_element_requires_clock), (gst_element_provides_clock),
17639         (gst_element_set_clock), (gst_element_clock_wait),
17640         (gst_element_wait), (gst_element_set_time_delay),
17641         (gst_element_is_indexable), (gst_element_add_pad),
17642         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17643         (pad_compare_name), (gst_element_get_static_pad),
17644         (gst_element_request_pad), (gst_element_get_request_pad),
17645         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17646         (gst_element_class_get_pad_template_list),
17647         (gst_element_class_get_pad_template), (gst_element_error_func),
17648         (gst_element_get_random_pad), (gst_element_get_event_masks),
17649         (gst_element_send_event), (gst_element_seek),
17650         (gst_element_get_query_types), (gst_element_query),
17651         (gst_element_get_formats), (gst_element_convert),
17652         (gst_element_is_locked_state), (gst_element_set_locked_state),
17653         (gst_element_sync_state_with_parent), (gst_element_change_state),
17654         (gst_element_finalize), (gst_element_yield),
17655         (gst_element_interrupt), (gst_element_set_scheduler),
17656         (gst_element_get_scheduler), (gst_element_set_loop_function):
17657         * gst/gstelement.h:
17658         * gst/gstevent.h:
17659         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17660         (gst_format_get_by_nick), (gst_format_get_details),
17661         (gst_format_iterate_definitions):
17662         * gst/gstformat.h:
17663         * gst/gstindex.c: (gst_index_gtype_resolver):
17664         * gst/gstinfo.c:
17665         * gst/gstinfo.h:
17666         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17667         (gst_mem_chunk_free):
17668         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17669         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17670         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17671         (gst_object_dispatch_properties_changed),
17672         (gst_object_set_name_default), (gst_object_set_name),
17673         (gst_object_get_name), (gst_object_set_name_prefix),
17674         (gst_object_get_name_prefix), (gst_object_set_parent),
17675         (gst_object_get_parent), (gst_object_unparent),
17676         (gst_object_check_uniqueness), (gst_object_save_thyself),
17677         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17678         (gst_object_set_property), (gst_object_get_property),
17679         (gst_object_get_path_string):
17680         * gst/gstobject.h:
17681         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17682         (gst_real_pad_init), (gst_real_pad_get_property),
17683         (gst_pad_custom_new), (gst_pad_get_direction),
17684         (gst_pad_set_active), (gst_pad_is_active),
17685         (gst_pad_set_event_function), (gst_pad_is_linked),
17686         (gst_pad_link_free), (gst_pad_link_intersect),
17687         (gst_pad_link_fixate), (gst_pad_set_caps),
17688         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17689         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17690         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17691         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17692         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17693         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17694         (gst_pad_realize), (gst_pad_get_allowed_caps),
17695         (gst_real_pad_dispose), (gst_real_pad_finalize),
17696         (gst_pad_collectv), (gst_pad_collect_valist),
17697         (gst_pad_template_dispose), (gst_pad_template_new),
17698         (gst_pad_get_internal_links):
17699         * gst/gstpad.h:
17700         * gst/gstpipeline.c: (gst_pipeline_dispose),
17701         (gst_pipeline_change_state):
17702         * gst/gstpipeline.h:
17703         * gst/gstplugin.c:
17704         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17705         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17706         * gst/gstpluginfeature.h:
17707         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17708         * gst/gstquery.c: (_gst_query_type_initialize),
17709         (gst_query_type_register), (gst_query_type_get_by_nick),
17710         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17711         * gst/gstquery.h:
17712         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17713         * gst/gstscheduler.c: (gst_scheduler_add_element),
17714         (gst_scheduler_factory_create):
17715         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17716         (gst_structure_free), (gst_structure_set_name),
17717         (gst_structure_id_set_value), (gst_structure_set_value),
17718         (gst_structure_set_valist), (gst_structure_remove_field),
17719         (gst_structure_remove_fields),
17720         (gst_structure_remove_fields_valist),
17721         (gst_structure_remove_all_fields), (gst_structure_foreach),
17722         (gst_structure_map_in_place),
17723         (gst_caps_structure_fixate_field_nearest_int),
17724         (gst_caps_structure_fixate_field_nearest_double):
17725         * gst/gststructure.h:
17726         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17727         (gst_system_clock_init), (gst_system_clock_dispose),
17728         (gst_system_clock_async_thread),
17729         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17730         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17731         * gst/gstsystemclock.h:
17732         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17733         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17734         * gst/gsttaginterface.c:
17735         * gst/gstthread.c: (gst_thread_dispose),
17736         (gst_thread_release_children_locks), (gst_thread_change_state),
17737         (gst_thread_main_loop):
17738         * gst/gsttrashstack.h:
17739         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17740         * gst/gsttypes.h:
17741         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17742         (gst_element_request_pad), (gst_element_get_pad_from_template),
17743         (gst_element_request_compatible_pad),
17744         (gst_element_get_compatible_pad_filtered),
17745         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17746         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17747         (gst_element_link_many), (gst_element_link),
17748         (gst_element_link_pads), (gst_element_unlink_pads),
17749         (gst_element_unlink_many), (gst_element_unlink),
17750         (gst_pad_can_link_filtered), (gst_pad_can_link),
17751         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17752         (gst_object_default_error), (gst_bin_add_many),
17753         (gst_bin_remove_many), (gst_element_populate_std_props),
17754         (gst_element_class_install_std_props), (gst_buffer_merge),
17755         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17756         (link_fold_func), (gst_pad_proxy_setcaps):
17757         * gst/gstutils.h:
17758         * gst/gstvalue.c: (gst_value_deserialize_string):
17759         * gst/parse/grammar.y:
17760         * gst/schedulers/gstbasicscheduler.c:
17761         (gst_basic_scheduler_cothreaded_chain),
17762         (gst_basic_scheduler_chain_recursive_add),
17763         (gst_basic_scheduler_pad_link):
17764         * gst/schedulers/gstoptimalscheduler.c:
17765         (get_group_schedule_function),
17766         (gst_opt_scheduler_state_transition),
17767         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17768         * libs/gst/bytestream/bytestream.c:
17769         * libs/gst/dataprotocol/dataprotocol.c:
17770         (gst_dp_header_from_buffer):
17771         * po/nb.po:
17772         * po/ru.po:
17773         * tests/threadstate/threadstate2.c: (eos):
17774         * tools/gst-compprep.c: (main):
17775         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17776         (print_pad_info), (print_children_info):
17777         * tools/gst-launch.c: (idle_func), (main):
17778         * tools/gst-md5sum.c: (idle_func), (main):
17779         * tools/gst-xmlinspect.c: (print_element_info):
17780         First THREADED backport attempt, focusing on adding locks and
17781         making sure the API is threadsafe. Needs more work. More docs
17782         follow this week.
17784 2005-02-24  Andy Wingo  <wingo@pobox.com>
17786         * tests/bench-complexity.scm:
17787         * tests/complexity.gnuplot: New files, good for running complexity
17788         benchmarks.
17790         * tests/Makefile.am:
17791         * tests/complexity.c: New test, sets up N elements, at each level
17792         teeing into M streams per element. Eeeenteresting.
17794         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17795         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17796         running bench-mass_elements.scm.
17798         * tests/bench-mass_elements.scm: New script, runs mass_elements
17799         for various numbers of identities, outputting the results to a
17800         file. Requires guile 1.6. Just for testing.
17802 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17804         * gst/schedulers/fairscheduler.c:
17805           compile with debug disabled
17807 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17809         * configure.ac:
17810           hunting season on 0.9 is now OPEN