]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gstreamer0-10.git/blob - ChangeLog
gst/gstsegment.c: _copy() was always returning NULL...
[glsdk/gstreamer0-10.git] / ChangeLog
1 2006-06-05  Edward Hervey  <edward@fluendo.com>
3         * gst/gstsegment.c: (gst_segment_copy): 
4         _copy() was always returning NULL...
6 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8         * libs/gst/dataprotocol/dataprotocol.c:
9         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10         (gst_dp_packet_from_event):
11           factor out CRC code
13 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
16           make sure we unset caps
18 2006-06-02  Michael Smith  <msmith@fluendo.com>
20         * libs/gst/check/gstcheck.c: (gst_check_init),
21         (gst_check_chain_func):
22         * libs/gst/check/gstcheck.h:
23           Add a cond/mutex to the check support lib, signal this whenever we
24           add to the buffers list. This will allow tests to not busy-wait on
25           the buffer-list.
27 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
29         * libs/gst/dataprotocol/dataprotocol.c:
30         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
31         (gst_dp_packet_from_event):
32           factor out some common header init code
34 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
36         * docs/libs/gstreamer-libs-sections.txt:
37         * docs/libs/tmpl/gstdataprotocol.sgml:
38         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
39         * libs/gst/dataprotocol/dataprotocol.h:
40           API: make gst_dp_crc() public
42 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
44         * plugins/indexers/gstindexers.c: (plugin_init):
45         conditionally register fileindexer (fixes #343598)
47 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
49         * gst/gsttagsetter.h:
50         Can't cast ifaces to a class
52         * libs/gst/net/gstnetclientclock.h:
53         * libs/gst/net/gstnettimeprovider.h:
54         * plugins/elements/gstfakesink.h:
55         * plugins/elements/gstfakesrc.h:
56         * plugins/elements/gstfdsink.h:
57         * plugins/elements/gstfdsrc.h:
58         * plugins/elements/gstfilesink.h:
59         * plugins/elements/gstfilesrc.h:
60         * plugins/elements/gstidentity.h:
61         * plugins/elements/gstqueue.h:
62         * plugins/elements/gsttee.h:
63         * plugins/indexers/gstfileindex.c:
64         * plugins/indexers/gstmemindex.c:
65         * tests/old/examples/plugins/example.h:
66         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
68 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
70         * libs/gst/dataprotocol/dataprotocol.c:
71         (gst_dp_header_from_buffer):
72           make sure we zero the whole ABI-compatible area
74 2006-06-01  Wim Taymans  <wim@fluendo.com>
76         Patch by: Alessandro Decina <alessandro at nnva dot org>
78         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
79         Make sure the EOS flag is cleared from pads after a flush
80         or stop. Fixes #343538.
82         * tests/check/libs/collectpads.c: (GST_START_TEST),
83         (gst_collect_pads_suite):
84         Added test for collectpads reusage after EOS.
86 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
88         * gst/gst.c:
89          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
90         * win32/common/libgstbase.def:
91          export gst_collect_pads_set_flushing
92         * win32/common/libgstreamer.def:
93          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
94          gst_value_fraction_multiply
95         * win32/vs6/gst_inspect.dsp:
96          add a link to intl.lib
98 2006-05-30  Wim Taymans  <wim@fluendo.com>
100         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
101         (gst_collect_pads_chain):
102         Handle the case where a pad is removed from the collection
103         that could cause the other pads to become collectable.
105 2006-05-30  Wim Taymans  <wim@fluendo.com>
107         * gst/gstelement.c:
108         Clarify the use of _release_request_pad() and
109         _get_request_pad() a bit better.
111         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
112         (gst_adapter_take_buffer):
113         Fix some doc and comment typos.
115 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
117         * docs/gst/gstreamer-sections.txt:
118         * docs/libs/gstreamer-libs-sections.txt:
119           add declared symbols
121 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
123         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
124         Add debug that can be enabled using a #define at the top of the file,
125         for dumping stats about how late/early we were when waking up from
126         waiting on the clock.
128 2006-05-30  Wim Taymans  <wim@fluendo.com>
130         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
131         When rebuilding the pad list, don't leak the previous list.
133 2006-05-30  Wim Taymans  <wim@fluendo.com>
135         Patch by: Lutz Mueller <lutz at topfrose dot de>
137         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
138         (gst_base_src_get_query_types), (gst_base_src_update_length):
139         Publish supported query types.
140         Update last_stop field in get_range mode so the position
141         query works. Fixes #342321.
143 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
145         * docs/gst/gstreamer-sections.txt:
146         * gst/gsttaglist.c: (_gst_tag_initialize):
147         * gst/gsttaglist.h:
148           API: add GST_TAG_PREVIEW_IMAGE (#343341).
150 2006-05-30  Wim Taymans  <wim@fluendo.com>
152         Patch by: Alessandro Decina <alessandro at nnva dot org>
154         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
155         Unlock mutex when removing an unknown pad.
156         Fixes #343334.
158         * tests/check/Makefile.am:
159         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
160         (push_event), (setup), (teardown), (GST_START_TEST),
161         (gst_collect_pads_suite), (main):
162         Added collecpads check, disabled for now as check crashes for
163         some reason.
165 2006-05-29  Wim Taymans  <wim@fluendo.com>
167         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
168         Don't leak pads lists.
170 2006-05-29  Wim Taymans  <wim@fluendo.com>
172         * docs/libs/gstreamer-libs-sections.txt:
173         * libs/gst/base/gstcollectpads.c:
174         (gst_collect_pads_set_flushing_unlocked),
175         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
176         (gst_collect_pads_stop):
177         * libs/gst/base/gstcollectpads.h:
178         API: gst_collect_pads_set_flushing
179         Added api to set the pads to flushing, usefull for seeking
180         code in elements using collectpads.
181         Clear segment when receiving a flush.
183 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
185         * gst/gst.c: (add_path_func), (init_post):
186           Don't scan registry paths passed via --gst-plugin--path immediately
187           (will crash, because absolutely nothing is set up and no types are
188           registered etc.); do this later in init_post(). Fixes #343057.
190 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
192         * gst/gst.c: (init_post):
193           if we have fork, fork while reading/rebuilding the registry
194           so the parent doesn't take the hit of having all plugins loaded
195           in memory.  Fixes #342777.
196         * configure.ac:
197           Check if we have fork()
198         * win32/common/config.h.in:
199           no fork() on win32
201 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
203         * plugins/elements/gstelements.c:
204         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
205         (gst_file_src_init), (gst_file_src_set_property),
206         (gst_file_src_get_property), (gst_file_src_start):
207         * plugins/elements/gstfilesrc.h:
209         Add a use-mmap property to enable easier testing of all code paths.
210         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
211         in the absence of gnomevfssrc. (Closes #340501)
213 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
215         * tools/gst-inspect.c:
216         Add missing include, removes warning of ngettext not being defined on
217         some arches.
219 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
221         * gst/gstvalue.c: (gst_value_deserialize_fraction):
222         Handle NULL input and output pointers silently as a failed conversion,
223         rather than g_warnings.
225 2006-05-25  Wim Taymans  <wim@fluendo.com>
227         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
228         Initialize variable before using. Fixes #342820.
230 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
232         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
233           Fix off-by-one bug that would only allow peeks of N-1 bytes
234           from the start even if the buffer to typefind on contains
235           in fact N bytes of data (makes vorbis typefinding from a
236           vorbis identification header buffer work).
238         * tests/check/Makefile.am:
239         * tests/check/libs/.cvsignore:
240         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
241         (gst_typefindhelper_suite), (main), (foobar_typefind),
242         (plugin_init):
243           Add very basic unit test for gst_type_find_helper_for_buffer()
244           that checks for the problem fixed above.
246 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
248         * tools/gst-inspect.c: (print_interfaces),
249         (print_element_properties_info), (print_element_list), (main):
250           add more translatable strings
252 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
254         Patch by: Julien Moutte  <julien at moutte net>
256         * docs/gst/gstreamer-sections.txt:
257           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
258           
259         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
260         (gst_fake_sink_preroll):
261         * plugins/elements/gstfakesink.h:
262           Add new ::preroll-handoff signal (#337100).
264 2006-05-23  Wim Taymans  <wim@fluendo.com>
266         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
267         * gst/gstpad.h:
268         Added _CUSTOM error and success GstFlowReturn that can be
269         used be elements internally. 
270         Added macro to check for SUCCESS flowreturns.
271         API: GST_FLOW_CUSTOM_SUCCESS
272         API: GST_FLOW_CUSTOM_ERROR
273         API: GST_FLOW_IS_SUCCESS
275         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
276         Added check for GstFlowReturn sanity.
278 2006-05-23  Wim Taymans  <wim@fluendo.com>
280         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
282         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
283         (gst_collect_pads_event):
284         clear/reset segment info in FLUSH_STOP.
285         Fixes #336929.
287 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
289         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
290         (gst_collect_pads_check_collected):
291         Flush queued buffer on _stop(), fixes playing again (#342454)
293 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
295         * tests/check/gst/gststructure.c: (GST_START_TEST),
296         (gst_structure_suite):
297           add a test for a complete structure
299 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
301         * docs/faq/developing.xml:
302         * docs/faq/faq.xml:
303         * docs/faq/troubleshooting.xml:
304         * docs/faq/using.xml:
305           Some minor FAQ updates that won't change the fact that
306           our FAQ is badly structured, full of information hardly
307           anyone new to GStreamer needs to know and lacking lots
308           of information people constantly ask for.
309           
310 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
312         * gst/gstpad.c: (gst_pad_set_caps):
313           Short-circuit gst_pad_set_caps if setting the existing
314           caps pointer again, and avoid printing debug and 
315           reffing/unreffing the caps.
317         * plugins/elements/gstqueue.c: (gst_queue_push_one):
318           There's actually no need to set the caps before pushing -
319           the acceptcaps method will handle it anyway.
321 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
323         * docs/gst/gstreamer-sections.txt:
324         * win32/common/libgstreamer.def:
325         * gst/gstutils.c: (gst_element_seek_simple):
326         * gst/gstutils.h:
327           API: add gst_element_seek_simple() (#342238).
329 2006-05-18  Edward Hervey  <edward@fluendo.com>
331         * gst/gsttypefind.c: (gst_type_find_get_type):
332         * gst/gsttypefind.h:
333         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
334         registered for GstTypeFind pointers. This allows wrapping the structure
335         in bindings (i.e. gst-python).
337 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
339         * gst/gsttagsetter.c:
340           Docs additions and fixes (see #339918).
342 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
344         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
345         The caps intersection algorithm can produce multiple copies of the
346         caps. Until that is fixed, we need to simplify the result to be
347         sure whether the allowed caps are fixed or not.
349         * plugins/elements/gstqueue.c: (gst_queue_init),
350         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
351         (gst_queue_push_one):
352         Proxied buffer alloc should not set the caps on the source pad.
353         When pushing buffers, we always accept the caps change that triggers.
354         This prevents negotiation errors caused by caps changing mid-stream 
355         and then being refused on our source pad (because upstream is now
356         refusing those caps).
358 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
360         * tests/examples/helloworld/helloworld.c: (main):
361           Must plug audioconvert and audioresample between decoder
362           and audio sink.
364 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
366         * gst/gstregistryxml.c: (read_string), (load_pad_template),
367         (load_feature), (load_plugin):
368         Allow empty strings for some of the plugin fields so we don't 
369         drop valid plugin entries that were written out correctly
370         (Fixes #341479)
372 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
373         
374         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
375           Use g_remove and g_rename instead of remove and rename that don't 
376           handle utf8 characters. rename was failing for users who had specific
377           characters in their name then the registry was built at each 
378           gstreamer init.
379         * win32/vs6/gst_inspect.dsp:
380         * win32/vs6/gst_launch.dsp:
381         * win32/vs6/libgstbase.dsp:
382         * win32/vs6/libgstcoreelements.dsp:
383         * win32/vs6/libgstreamer.dsp:
384           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
385           build of libgstreamer and clean unused libraries in projects link 
386           settings.
388 2006-05-17  Edward Hervey  <edward@fluendo.com>
390         * plugins/elements/gstqueue.c: (gst_queue_push_one):
391         The queue is not responsible for pushing an EOS when receiving a fatal
392         flow error. It's up to the real element driving the pipeline to do that.
394 2006-05-16  Edward Hervey  <edward@fluendo.com>
396         * plugins/elements/gstqueue.c: (gst_queue_push_one):
397         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
398         buffer returned a fatal error. It should just send an EOS and stop
399         it's task.
400         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
401         when pushing buffers on the queue and will be able to handle the event.
403 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
405         * docs/manual/basics-bins.xml:
406         * docs/manual/basics-init.xml:
407           Fix typos and minor errors in sample code (#341856).
409 2006-05-16  Wim Taymans  <wim@fluendo.com>
411         * docs/design/part-qos.txt:
412         Fix indexes in formulas to make more sense.
414 2006-05-15  Wim Taymans  <wim@fluendo.com>
416         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
417         Don't report POSITION based on clock time if sync is
418         disabled in a sink.
420 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
422         * gst/gstobject.h:
423           Add cast to make compiler happy - refcount variable was a gint
424           in GstObject but is a guint in GObject and g_atomic_int_get()
425           wants a gint *.
427 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
429         * gst/parse/Makefile.am:
430           chain commands using &&, which also makes parallel make work
432 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
434         * docs/gst/gstreamer-sections.txt:
435         * gst/gstevent.c:
436         * gst/gstevent.h:
437         * gst/gstmessage.h:
438           Minor docs fixes.
440 === release 0.10.6 ===
442 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
444         * configure.ac:
445           releasing 0.10.6, "Take the cannoli"
447 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
449         * tools/gst-launch.c: (print_tag):
450           Fix use of uninitialized variable in the hypothetical
451           case that some broken plugin creates a GST_TAG_IMAGE
452           tag containing a NULL buffer (#341667).
454 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
456         * tools/gst-launch.c: (print_tag):
457           Print something more intelligible for image tags when
458           using the -t switch (#341556).
460 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
462         * Makefile.am:
463           updates for win32
464         * configure.ac:
465           define GST_MAJORMINOR so we have it available in win32/common/config.h
466           Possibly remove it from our Makefile.am files later
467         * win32/common/config.h:
468         * win32/common/config.h.in:
469           added GST_MAJORMINOR
470         * win32/common/gstenumtypes.c: (register_gst_resource_error):
471         * win32/common/gstversion.h:
472           updated
474 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
476         * win32/MANIFEST:
477           Update win32 files listing.
478         * win32/common/gstversion.h:
479           Add GST_MAJORMINOR definition.
480         * win32/common/libgstreamer.def:
481           Add new exported functions.
482           
483 2006-05-12  Michael Smith  <msmith@fluendo.com>
485         * gst/gstplugin.c: (gst_plugin_load_file):
486           If an so file has no plugin entry point, unload the module.
488 2006-05-11  Wim Taymans  <wim@fluendo.com>
490         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
491         (gst_queue_set_property):
492         Don't forget to signal the _chain or _loop function 
493         when the queue size or thresholds change since that might
494         cause them to make progres again.
496 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
498         * gst/gstclock.c: (gst_clock_class_init):
499         * gst/gstindex.c: (gst_index_class_init):
500         * gst/gstobject.c: (gst_object_class_init):
501         * gst/gstpad.c: (gst_pad_class_init):
502         * gst/gstpipeline.c: (gst_pipeline_class_init):
503         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
504         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
505         * libs/gst/base/gstbasetransform.c:
506         (gst_base_transform_class_init):
507         * libs/gst/net/gstnetclientclock.c:
508         (gst_net_client_clock_class_init):
509         * libs/gst/net/gstnettimeprovider.c:
510         (gst_net_time_provider_class_init):
511         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
512         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
513         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
514         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
515         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
516         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
517         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
518         * plugins/elements/gstidentity.c: (gst_identity_class_init):
519         * plugins/elements/gsttee.c: (gst_tee_class_init):
520         * tests/old/examples/plugins/example.c: (gst_example_class_init):
521         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
522           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
524 2006-05-11  Wim Taymans  <wim@fluendo.com>
526         * gst/gstbuffer.c: (_gst_buffer_initialize):
527         Register subbufer along with the buffer type so that
528         it does not accidentally gets registered from N
529         different streaming threads in a non threadsafe way.
531 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
533         * gst/gstbuffer.h:
534         * gst/gstevent.h:
535         * gst/gstmessage.h:
536           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
537           gst_event_ref() and gst_message_ref() functions again
538           (ugly hack, please do fix if there's a better way besides
539           overrides.txt, which doesn't seem to work).
541 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
543         * libs/gst/check/gstcheck.h:
544           add an assert for setting state to avoid lots of repetitive code
545           in the future
547 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
549         * gst/gstvalue.c: (gst_value_serialize_flags):
550           fix a leak if no flags are set
551         * tests/check/gst/gstvalue.c: (GST_START_TEST):
552           fix leak in tests
554 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
556         * docs/manual/basics-pads.xml:
557           Expand a bit on caps and filtered links and update
558           examples that were still using the no longer existing
559           gst_pad_link_filtered() (#338206).
561 2006-05-10  Wim Taymans  <wim@fluendo.com>
563         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
564         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
565         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
566         (gst_collect_pads_stop):
567         * libs/gst/base/gstcollectpads.h:
568         No need to call _stop in _finalize.
569         Iterate the main pad list in _finalize.
570         Added some more debug.
571         Free lists and data in the right order.
572         Also free data whem doing _remove_pad when stopped for
573         backward compatibility protect ::started with PAD_LOCK as
574         well.
576 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
578         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
579         (gst_structure_parse_value):
580           add some comments
581           rename a method so that it actually says what it does better
583 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
585         * gst/gstevent.c: (_gst_event_initialize):
586         * gst/gstformat.c: (_gst_format_initialize):
587           make sure some essential types used by events are registered
588           as part of gst_init()
589         * gst/gstvalue.c: (gst_value_serialize_flags):
590           if no flags are set, serialize them to a value that represents NONE
591           so that deserializing them works
592         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
593           add tests for serialization and deserialization of flags
595 2006-05-10  Wim Taymans  <wim@fluendo.com>
597         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
598         (gst_collect_pads_collect_range), (gst_collect_pads_available),
599         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
600         (gst_collect_pads_event), (gst_collect_pads_chain):
601         Update docs.
602         Better debug info.
603         Catch and return errors from the collect function
604         Refuse data on eos pads.
606 2006-05-10  Edward Hervey  <edward@fluendo.com>
608         * gst/gstinterface.h:
609         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
610         GInterface type checking.
611         They were previously using non-defined macros.
613 2006-05-09  Wim Taymans  <wim@fluendo.com>
615         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
616         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
617         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
618         (gst_collect_pads_start), (gst_collect_pads_stop),
619         (gst_collect_pads_peek), (gst_collect_pads_pop),
620         (gst_collect_pads_available), (gst_collect_pads_read),
621         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
622         (gst_collect_pads_is_collected), (gst_collect_pads_event),
623         (gst_collect_pads_chain):
624         * libs/gst/base/gstcollectpads.h:
625         Clean up the mess that is collectpads, add comments and
626         FIXMEs where needed.
627         Maintain a separate pad list so we can add pads while
628         collecting the other ones. For this we need a new separate 
629         lock (see comics).
630         Fix memory leak in finalize.
631         Refactor some weird code to set/unset pad flushing flags, mark
632         with comments.
633         Don't crash in _available, _read, _flush when we're EOS.
635         * tests/check/libs/.cvsignore:
636         Ignore adapter check binary.
638 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
640         * gst/gstindex.c: (gst_index_resolver_get_type):
641         * plugins/elements/gstfakesink.c:
642         (gst_fake_sink_state_error_get_type):
643         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
644         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
645         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
646           Const-ify GEnumValue arrays.
648 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
650         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
651           Add test case for flags + gst_buffer_make_metadata_writable().
653 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
655         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
656           gst_buffer_make_metadata_writable() should maintain the
657           buffer flags (those that make sense at least) (see #340859).
659 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
661         * tools/gst-inspect.c:
662         * tools/gst-launch.c:
663         * tools/gst-typefind.c:
664         * tools/gst-xmlinspect.c:
665         * tools/tools.h:
666           Fix up includes: need to include stdlib.h in tools.h for exit().
668 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
670         * gst/gsttaglist.c: (_gst_tag_initialize):
671         * gst/gsttaglist.h:
672           API: add GST_TAG_IMAGE tag (#340721).
674 2006-05-08  Wim Taymans  <wim@fluendo.com>
676         * gst/gstquery.c:
677         Added some docs for the segment query.
679 2006-05-08  Wim Taymans  <wim@fluendo.com>
681         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
682         (gst_base_src_loop), (gst_base_src_change_state):
683         Always push non-flushing serialized events in the streaming 
684         thread.
686 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
688         * gst/gsterror.c: (_gst_stream_errors_init):
689           Add a missing error string.
691 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
693         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
694         Add applied_rate to the debug
696         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
697         Copy applied_rate into the outgoing NEWSEGMENT event
699 2006-05-08  Wim Taymans  <wim@fluendo.com>
701         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
703         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
704         (gst_base_sink_change_state):
705         call ::unlock before taking the PREROLL_LOCK so we can safely
706         handle elements that lock in ::render.
707         Fixes #340174.
709 2006-05-08  Edward Hervey  <edward@fluendo.com>
711         * autogen.sh: (CONFIGURE_DEF_OPT): 
712         Darwin's libtoolize is in fact called glibtoolize.
713         Adding glibtoolize to the list of accepted names for libtoolize.
715 2006-05-08  Wim Taymans  <wim@fluendo.com>
717         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
718         Unify error handling, don't post an error message
719         when a push() returns EOS but perform our normal EOS
720         handling code. Fixes #340772.
722 2006-05-08  Wim Taymans  <wim@fluendo.com>
724         * docs/design/part-overview.txt:
725         Make upsteam/downstream concepts more clear.
726         Give an example of serialized/non-serialized events.
728         * docs/design/part-events.txt:
729         * docs/design/part-streams.txt:
730         Mention applied_rate.
732         * docs/design/part-trickmodes.txt:
733         Mention applied rate, flesh out some more use cases.
735         * gst/gstevent.c: (gst_event_new_new_segment),
736         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
737         (gst_event_parse_new_segment_full), (gst_event_new_tag),
738         (gst_event_parse_tag), (gst_event_new_buffer_size),
739         (gst_event_parse_buffer_size), (gst_event_new_qos),
740         (gst_event_parse_qos), (gst_event_parse_seek),
741         (gst_event_new_navigation):
742         * gst/gstevent.h:
743         Add applied_rate field to NEWSEGMENT event.
744         API: gst_event_new_new_segment_full()
745         API: gst_event_parse_new_segment_full()
747         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
748         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
749         (gst_segment_to_stream_time), (gst_segment_to_running_time):
750         * gst/gstsegment.h:
751         Add applied_rate to GstSegment structure.
752         Make calculation of stream_time and running_time more correct
753         wrt rate/applied_rate.
754         Add some more docs.
755         API: GstSegment::applied_rate field
756         API: gst_segment_set_newsegment_full();
758         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
759         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
760         * libs/gst/base/gstbasetransform.c:
761         (gst_base_transform_sink_eventfunc),
762         (gst_base_transform_handle_buffer):
763         Parse and use applied_rate in the GstSegment field.
765         * tests/check/gst/gstevent.c: (GST_START_TEST):
766         Add check for applied_rate field.
768         * tests/check/gst/gstsegment.c: (GST_START_TEST),
769         (gstsegments_suite):
770         Add more checks for various GstSegment operations.
772 2006-05-08  Wim Taymans  <wim@fluendo.com>
774         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
775         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
776         (gst_base_sink_get_position), (gst_base_sink_change_state):
777         Store the sync time of the buffer end position separatly in a
778         new variable eos_rtime so we can properly sync the EOS event.
779         Fixes #340697.
780         Fix the docs for gst_base_sink_set_qos_enabled().
781         Don't set segment start to invalid value when we receive a 
782         non TIME newsegment.
783         get closer to handling position reporting for negative rates 
784         correctly.
786 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
788         * gst/gstcaps.c:
789         Docs about how to print caps for debug purposes.
791         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
792         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
794 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
796         * gst/gstelement.c:
797           use full enum names and preprend a '%' in docs strings to make recent 
798           gtk-doc turn that into a link
800 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
802         * docs/manual/basics-bins.xml:
803         * docs/manual/basics-bus.xml:
804         * docs/manual/basics-pads.xml:
805           Some typo fixes, some additions, some clarifications. 
807 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
809         * tools/gst-inspect.c: (main):
810         * tools/gst-launch.c: (main):
811         * tools/gst-run.c: (main):
812         * tools/gst-typefind.c: (main):
813         * tools/gst-xmlinspect.c: (main):
814           Use the string passed to g_option_context_new() for
815           what it's intended for - the program name is already
816           printed elsewhere.
818 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
820         * tools/Makefile.am:
821         * tools/gst-inspect.c: (main):
822         * tools/gst-launch.c: (main):
823         * tools/gst-xmlinspect.c: (main):
824         * tools/tools.h:
825           Add back --version command line option (#340460).
827         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
828           Add --version option and use GOption for argument parsing; refactor a
829           bit; accept directories as arguments and recurse into them; lastly,
830           print a decent error message when things go wrong.
832 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
834         * docs/manual/basics-bins.xml:
835         Don't mention GstThread (#340611)
836         * docs/manual/basics-elements.xml:
837         Update link to GObject tutorial (#340607)
838         
839 2006-05-05  Wim Taymans  <wim@fluendo.com>
841         * gst/gstbuffer.h:
842         * gst/gstminiobject.c:
843         Add note about refcounting and miniobject/buffer writeability
844         to docs. Fixes #340604
846         * gst/gstelementfactory.h:
847         Added some explanation about @klass.
849 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
851         * docs/manual/intro-motivation.xml:
852         * docs/manual/manual.xml:
853         Avoid CORBA & Bonobo references (#340598)
855 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
857         * docs/manual/basics-bus.xml:
858         * docs/manual/basics-pads.xml:
859         Fix up some inaccuracies and omissions (#340609)
860         
861 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
863         * gst/gstghostpad.c:
864           Small typo in docs (#340625)
866 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
868         * gst/parse/Makefile.am:
869           Make 'make -j' proof (see #340698).
871 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
873         * configure.ac:
874           Require GLib-2.8 here as well.
876 2006-05-05  Wim Taymans  <wim@fluendo.com>
878         * gst/glib-compat.c:
879         * gst/gst.c: (init_pre):
880         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
881         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
882         (gst_object_dispatch_properties_changed):
883         * gst/gstobject.h:
884         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
885         * gst/gststructure.c: (gst_structure_set_valist):
886         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
887         Remove pre glib2.8 compatibility, fixes #340508
889 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
891         * gst/gsttaglist.h:
892           Mention type of tags in doc blurbs.
894 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
896         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
897         (gst_pad_configure_src), (gst_pad_push):
898         Restore acceptcaps checking behaviour now that good plugins have
899         been released.
901 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
903         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
905         * gst/gst.c:
906         * gst/gstbus.c:
907         * gst/gstclock.c:
908         * gst/gstevent.c:
909         * gst/gstformat.c:
910         * gst/gstmessage.c:
911         * gst/gstparse.c:
912         * gst/gstquery.c:
913         * gst/gstutils.c:
914         * gst/parse/Makefile.am:
915         * libs/gst/base/gstadapter.c:
916         * libs/gst/base/gstbasesrc.c:
917         * libs/gst/base/gstpushsrc.c:
918         * libs/gst/base/gsttypefindhelper.c:
919         * plugins/elements/gstfakesrc.c:
920         * plugins/elements/gstidentity.c:
921           Make sure gstprivate.h and/or config.h are
922           always included first, otherwise some of our
923           defines (like _FILE_OFFSET_BITS) might be
924           redefined in the system headers. Fixes build
925           on opensolaris (#340016).
927 2006-05-04  Wim Taymans  <wim@fluendo.com>
929         * docs/libs/gstreamer-libs-sections.txt:
930         API: addition: gst_adapter_take_buffer()
931         
932         * libs/gst/base/gstadapter.c: (gst_adapter_push),
933         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
934         (gst_adapter_available_fast):
935         * libs/gst/base/gstadapter.h:
936         Prepare for optimizing the hell out of this hugely inefficient
937         piece of code. 
938         Added gst_adapter_take_buffer() so we can at least start thinking
939         about subbuffering and merging.
940         Added some comments.
942         * tests/check/Makefile.am:
943         * tests/check/libs/adapter.c: (GST_START_TEST),
944         (gst_adapter_suite), (main):
945         Added GstAdapter check.
947 2006-05-04  Wim Taymans  <wim@fluendo.com>
949         * docs/design/part-overview.txt:
950         Fix some typos, add blurb about buffer flags.
952 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
954         * docs/libs/gstreamer-libs-sections.txt:
955           make sure GstBaseTransformClass shows up in the docs
956         * libs/gst/base/gstbasetransform.c:
957         * libs/gst/base/gstbasetransform.h:
958           move docs so gtk-doc picks it up now
960 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
962         * docs/libs/gstreamer-libs-sections.txt:
963           add missing symbols to docs
965 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
967         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
968           back out the newsegment handling change, see #340060 for ongoing
969           discussion
971 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
973         * tools/gst-run.c: (get_candidates), (main):
974           Fix wrong g_file_test() usage (see glib docs for why it doesn't
975           work); fix typo in error message. Fixes #340079.
977 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
979         * common/Makefile.am:
980         * docs/Makefile.am:
981         * docs/faq/Makefile.am:
982         * docs/gst/Makefile.am:
983         * docs/libs/Makefile.am:
984         * docs/manual/Makefile.am:
985         * docs/plugins/Makefile.am:
986         * docs/pwg/Makefile.am:
987         * docs/slides/Makefile.am:
988         * docs/upload.mak:
989         * common/upload.mak:
990           move upload.mak to common
992 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
994         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
995           add more asserts on refcounts
996           do more cleanup at end of tests
997           fix test leaks showing in FC5
999 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1001         * plugins/elements/gsttypefindelement.c:
1002         (gst_type_find_element_handle_event):
1003         reverted wrong change and reflowed code to avoid others falling into
1004         this trap
1006 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1008         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1009           fix changelog entry about last collectpads change,
1010           add notes about proper fix
1012 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1014         * gst/gst.c:
1015         * gst/gstregistry.c: (gst_registry_scan_path_level),
1016         (gst_registry_scan_path):
1017         * gst/gstregistry.h:
1018           only write out registry if it has changed, fixes #338339
1020 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1022         * gst/gstbin.c:
1023         * gst/gstpipeline.c:
1024         * plugins/elements/gstcapsfilter.c:
1025         * plugins/elements/gstfakesink.c:
1026         * plugins/elements/gstfakesrc.c:
1027         * plugins/elements/gstfdsink.c:
1028         * plugins/elements/gstfdsrc.c:
1029         * plugins/elements/gstfilesink.c:
1030         * plugins/elements/gstfilesrc.c:
1031         * plugins/elements/gstidentity.c:
1032         * plugins/elements/gstqueue.c:
1033         * plugins/elements/gsttee.c:
1034         * plugins/elements/gsttypefindelement.c:
1035         (gst_type_find_element_handle_event):
1036           make GstElementDetails const
1038 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1040         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1041         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1042         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1043           more detailed debug and formatting cleanup,
1044           forward newsegments to src-pad (so that e.g. adder not eats them)
1046 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1048         * gst/gstutils.c: (gst_element_link_pads):
1049           cleanup double code
1051 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1053         * libs/gst/controller/gstcontroller.c:
1054         (gst_controller_sync_values):
1055           some little tuning
1056         * tests/check/libs/controller.c: (GST_START_TEST),
1057         (gst_controller_suite):
1058           a new test for live value handling
1060 2006-04-28  Wim Taymans  <wim@fluendo.com>
1062         * gst/gstutils.c: (push_and_ref):
1063         Added some more docs.
1064         Fix refcount issue whith gst_element_found_tags() helper 
1065         function. Fixes #338335
1067         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1068         Added testsuite for gst_element_found_tags().
1070 2006-04-28  Michael Smith  <msmith@fluendo.com>
1072         * gst/gstvalue.c: (gst_value_serialize_flags):
1073           Avoid NULL dereference when trying to serialize flags containing
1074           invalid values.
1076 2006-04-28  Michael Smith  <msmith@fluendo.com>
1078         * plugins/elements/gsttypefindelement.c:
1079         (gst_type_find_element_handle_event):
1080           If we get EOS before any data is accumulated, don't use
1081           uninitialised local variables.
1083 2006-04-28  Michael Smith  <msmith@fluendo.com>
1085         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1086         (gst_dp_event_from_packet):
1087           Fixes in reading/writing events over GDP (not currently used?) - 
1088           dereferencing NULL events for unknown/invalid event types, memory
1089           leak, and change g_warning to GST_WARNING.
1091 2006-04-28  Wim Taymans  <wim@fluendo.com>
1093         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1094         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1095         (gst_base_sink_get_position), (gst_base_sink_change_state):
1096         When frame dropping is enabled, we should not ignore frames
1097         without a duration.
1098         Update some documentation.
1100 2006-04-28  Wim Taymans  <wim@fluendo.com>
1102         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1103         (gst_base_src_send_event), (gst_base_src_change_state):
1104         Documentation updates.
1106 2006-04-28  Wim Taymans  <wim@fluendo.com>
1108         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1109         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1110         handle EAGAIN, EINTR and short writes correctly. Also clean
1111         up some error cases, avoid a deadlock on bad file descriptors and
1112         use GST_DEBUG_OBJECT.
1113         Fixes #339843
1115 2006-04-28  Wim Taymans  <wim@fluendo.com>
1117         * gst/gstvalue.c: (gst_value_serialize_buffer),
1118         (gst_value_deserialize_buffer):
1119         Don't try to serialize a GValue with a NULL buffer. 
1120         Fixes #339821.
1122         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1123         Added check for serialisation of NULL buffers.
1125 2006-04-28  Wim Taymans  <wim@fluendo.com>
1127         * gst/gstminiobject.c: (gst_value_take_mini_object):
1128         Taking a NULL miniobject is valid, fix the case where
1129         we try to unref the NULL miniobject.
1131 2006-04-28  Wim Taymans  <wim@fluendo.com>
1133         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1135         * gst/gstbin.c: (gst_bin_handle_message_func):
1136         Update docs.
1137         Don't leak bin refcount when a state recalc is
1138         in progress and we delay another one #339808.
1140 2006-04-28  Wim Taymans  <wim@fluendo.com>
1142         * docs/design/part-TODO.txt:
1143         Mention QoS as an ongoing work item.
1145         * docs/design/part-buffering.txt:
1146         New doc about buffering that needs to be fleshed out
1147         at some point.
1149         * docs/design/part-qos.txt:
1150         More QoS policy for decoders/demuxers/transforms
1152         * docs/design/part-trickmodes.txt:
1153         Small update.
1155 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1157         * configure.ac:
1158           back to HEAD
1160 === release 0.10.5 ===
1162 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1164         * configure.ac:
1165           releasing 0.10.5, "Fogo"
1167 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1169         patch by: Wim Taymans
1171         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1172         (gst_pad_configure_src), (gst_pad_push):
1173         * gst/gstpipeline.c: (gst_pipeline_init):
1174           Fix internal data flow errors.  Fixes #338711.
1176 2006-04-12  Wim Taymans  <wim@fluendo.com>
1178         * tests/check/gst/gstelement.c: (GST_START_TEST):
1179         Don't leak the factory.
1181 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1183         * configure.ac:
1184         * win32/common/config.h:
1185           prerelease
1187 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1189         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1190         (gst_controller_unset_all):
1191           Free allocated GstTimedValues when freeing list nodes.
1192           Should fix leaks 'make check-valgrind' complains about.
1194         * win32/common/libgstcontroller.def:
1195           Add gst_controller_unset_all.
1197 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1199         * docs/libs/gstreamer-libs-sections.txt:
1200         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1201         (gst_controller_unset_all):
1202         * libs/gst/controller/gstcontroller.h:
1203         API: Added new method gst_controller_unset_all()
1204         fixed gst_controller_unset()
1205         * tests/check/libs/controller.c: (GST_START_TEST),
1206         (gst_controller_suite):
1207         Added two testcases for new and fixed method
1209 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1211         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1212           MSG_DONTWAIT is not defined on Cygwin, so work
1213           around that (fixes #317048).
1214           
1215 2006-04-11  Wim Taymans  <wim@fluendo.com>
1217         * gst/gstelementfactory.c: (gst_element_register),
1218         (gst_element_factory_create), (gst_element_factory_make):
1219         Some cleanups.
1220         Fixed a FIXME.
1221         Updated docs (Fixes #131079)
1223         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1224         Small cleanups.
1226         * tests/check/gst/gstelement.c: (GST_START_TEST),
1227         (gst_element_suite):
1228         Added testcase for elementfactory class field.
1230 2006-04-10  Wim Taymans  <wim@fluendo.com>
1232         * gst/gstsegment.c:
1233         Added some more docs.
1235         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1236         (gst_base_sink_reset_qos):
1237         Calculate more accurate rate values.
1239 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1241         * gst/gst_private.h:
1242           add a new #ifdef to use __declspec(dllimport) only for
1243           other modules and not for gstreamer core
1244         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1245           use gst_guint64_to_gdouble for conversion
1246         * win32/common/libgstreamer.def:
1247           add new exported functions
1248         * win32/vs6/gst_inspect.dsp:
1249         * win32/vs6/gst_launch.dsp:
1250         * win32/vs6/libgstbase.dsp:
1251         * win32/vs6/libgstcontroller.dsp:
1252         * win32/vs6/libgstcoreelements.dsp:
1253         * win32/vs6/libgstdataprotocol.dsp:
1254         * win32/vs6/libgstnet.dsp:
1255           update project files
1257 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1259         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1260         * gst/gstclock.c: (gst_clock_class_init):
1261         * gst/gstelement.c: (gst_element_class_init):
1262         * gst/gstindex.c: (gst_index_class_init):
1263         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1264         * gst/gstobject.c: (gst_object_class_init),
1265         (gst_signal_object_class_init):
1266         * gst/gstpad.c: (gst_pad_class_init):
1267         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1268         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1269         * gst/gstregistry.c: (gst_registry_class_init):
1270         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1271         * gst/gsttask.c: (gst_task_class_init):
1272         * gst/gstxml.c: (gst_xml_class_init):
1273         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1274         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1275         (gst_base_src_loop):
1276         * libs/gst/controller/gstcontroller.c:/
1277         (_gst_controller_class_init):
1278         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1279         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1280         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1281         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1282         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1283         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1285 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1287         * gst/gstpad.c: (gst_pad_link):
1288           Must set peer pads before calling the link function, otherwise
1289           a task started from a link function might get a flow-not-linked
1290           result when trying to push because the other thread where the
1291           linking happens hasn't had a chance to set the peers yet. This
1292           might happen for example when a queue gets linked to a downstream
1293           element, as queue starts a streaming task when its source pad
1294           gets linked. Happens in real life when playing back flac/musepack
1295           files in playbin (#332390).
1296           
1297 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1299         * gst/gstindex.h:
1300         * gst/gstxml.h:
1301         * libs/gst/base/gstadapter.h:
1302         * libs/gst/base/gstbasesink.h:
1303         * libs/gst/base/gstbasesrc.h:
1304         * libs/gst/base/gstbasetransform.h:
1305         * libs/gst/base/gstcollectpads.h:
1306         * libs/gst/base/gstpushsrc.h:
1307         Fix broken GObject macros
1309 2006-04-07  Wim Taymans  <wim@fluendo.com>
1311         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1312         Initialize start and stop times, thanks valgrind.
1314 2006-04-07  Wim Taymans  <wim@fluendo.com>
1316         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1317         Be a bit nicer to badly behaving upstream elements that expect
1318         us to deal with non TIME segments and timestamps (such as fakesrc
1319         in the testsuite).
1321 2006-04-07  Wim Taymans  <wim@fluendo.com>
1323         * gst/gstbus.c:
1324         Small documentation clarification about the signal watch.
1326         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1327         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1328         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1329         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1330         (gst_base_sink_get_position_last),
1331         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1332         Convert and store timestamps in stream time and running time, the
1333         raw timestamps are not usefull, also document this better.
1334         Use different window sizes for good and bad QoS observations so
1335         we react to badness a little quicker.
1336         Keep track of the amount of rendered and dropped buffers.
1337         Send QoS timestamps in running time.
1339         * libs/gst/base/gstbasetransform.c:
1340         (gst_base_transform_sink_eventfunc),
1341         (gst_base_transform_handle_buffer):
1342         Compare QoS timestamps against running time.
1344 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1346         * gst/gstpad.c:
1347           Typo fixes in docs.
1349 2006-04-06  Michael Smith  <msmith@fluendo.com>
1351         * gst/gstpad.c: (gst_pad_set_property):
1352           Use g_value_get_object() instead of g_value_dup_gst_object(),
1353           to avoid double-reffing the pad template (which we then sink,
1354           so this worked previously if (and only if) the pad template
1355           was floating.
1357         * gst/gstpadtemplate.c: (gst_pad_template_init),
1358         (gst_pad_template_pad_created):
1359           Never return floating references to pad templates, create
1360           them as initially-sunken.
1362           Document an extra function (and make this stop sinking our
1363           pad template, since that is now guaranteed to do nothing,
1364           since we created it sunken).
1366         * gst/gstghostpad.c:
1367           Fix docs typo.
1369 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1371         * gst/gstinfo.c: (__gst_in_valgrind):
1372           Add some newlines.
1374         * plugins/elements/gsttypefindelement.c:
1375         (gst_type_find_element_chain):
1376           Don't leak buffer caps.
1378 2006-04-06  Michael Smith  <msmith@fluendo.com>
1380         * gst/parse/grammar.y:
1381           Fix a leak in parse-launch for any source-or-sink named element 
1382           references used.
1384         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1385           Unref the pipeline if it exists after we've failed parsing.
1387 2006-04-05  Michael Smith  <msmith@fluendo.com>
1389         * gst/gstpipeline.c: (gst_pipeline_init):
1390           When we create a pipeline bus, initially create it in flushing mode.
1391           Fixes leaks in at least one test, and makes a new pipeline work the
1392           same as one that has gone to READY and then back to NULL.
1394         * gst/gstelement.c:
1395           Typo fix in docs.
1397 2006-04-05  Michael Smith  <msmith@fluendo.com>
1399         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1400           Unref a pad we reffed.
1401         * tests/check/gst/gstutils.c: (GST_START_TEST):
1402           Unref bins
1404 2006-04-05  Michael Smith  <msmith@fluendo.com>
1406         * gst/gstquery.c: (gst_query_set_formats),
1407         (gst_query_set_formatsv):
1408           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1410 2006-04-05  Michael Smith  <msmith@fluendo.com>
1412         * tests/check/generic/sinks.c: (GST_START_TEST):
1413           Fix a variety of memleaks in sinks check, which are only sometimes 
1414           shown by running the tests under valgrind (weird?).
1416 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1418         * docs/version.entities.in:
1419           Fix the substituted entity name after thomas' changes on the
1420           weekend.
1422 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1424         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1425         VALGRIND_PRINTF
1426         
1427 2006-04-05  Andy Wingo  <wingo@pobox.com>
1429         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1431         * libs/gst/base/gstbasetransform.c
1432         (gst_base_transform_sink_eventfunc): When resetting our segment on
1433         FLUSH_STOP, also update the flag saying we haven't seen a
1434         newsegment.
1436 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1438         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1440         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1441         (gst_plugin_check_license):
1442           minor clean-ups: G_DEFINE_TYPE already takes care of the
1443           parent_class stuff, no need to do it twice. Mark array of
1444           license strings as constant. (#337103)
1445           
1446 2006-04-04  Michael Smith  <msmith@fluendo.com>
1448         * tools/gst-inspect.c: (print_element_list):
1449           Free the right plugin list; fixes a memory leak.
1451 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1453         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1455         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1456           Don't error out on empty buffers (#336945).
1457           
1458 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1460         * docs/libs/gstreamer-libs-sections.txt:
1461         * gst/gsttaglist.c:
1462         * libs/gst/base/gstbasesink.c:
1463         * libs/gst/base/gstbasesink.h:
1464         * libs/gst/base/gstbasesrc.c:
1465         * libs/gst/base/gstbasesrc.h:
1466           Documentation updates. Make BaseSink and BaseSrc docs contain the
1467           class structure so that people can actually see the prototypes for
1468           virtual functions they're supposed to be overriding.
1470 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1472         * plugins/elements/gsttypefindelement.c:
1473         (gst_type_find_element_chain):
1474           More debug info; when skipping typefinding, send cached
1475           events in all cases.
1477 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1479         * configure.ac:
1480           use new AS_VERSION and AS_NANO macros
1481         * gst/gst-i18n-lib.h:
1482         * gst/gst.c:
1483         * gst/gsterror.c:
1484         * gst/gstversion.h.in:
1485         * win32/common/config.h:
1486         * win32/common/config.h.in:
1487           update accordingly
1489 2006-03-31  Michael Smith  <msmith@fluendo.com>
1491         * plugins/elements/gsttypefindelement.c:
1492         (gst_type_find_element_chain):
1493           Do not typefind content if the buffers already have caps.
1494           Neccesary for icydemux (#333657), and the right thing to do anyway.
1496 2006-03-30  Wim Taymans  <wim@fluendo.com>
1498         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1499         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1500         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1501         (gst_base_sink_record_qos_observation),
1502         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1503         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1504         (gst_base_sink_change_state):
1505         More QoS measurements as described in the design doc.
1506         Get rid of ringbuffer with observations, running average is
1507         more simple and equally good.
1508         Calculates valid proportion now.
1509         Added beginning of flood measurement.
1511 2006-03-29  Wim Taymans  <wim@fluendo.com>
1513         * docs/design/part-qos.txt:
1514         * gst/gstclock.c:
1515         Small documentation updates and additions.
1517 2006-03-29  Wim Taymans  <wim@fluendo.com>
1519         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1520         (gst_base_src_send_event), (gst_base_src_loop),
1521         (gst_base_src_change_state):
1522         Perform the EOS logic when we reach the segment stop position.
1523         Fix compilation on gcc4.1
1525 2006-03-29  Wim Taymans  <wim@fluendo.com>
1527         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1529         * plugins/elements/gstqueue.c: (gst_queue_init),
1530         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1531         (gst_queue_set_property):
1532         * plugins/elements/gstqueue.h:
1533         In queue, when EOS is received, if minimum threshold > max_size -
1534         current_level, there is chance that queue blocks forever in conditional
1535         item del wait. This is because the queue is not emptied completely due
1536         to minimum threshold.  Here is another approach. Instead of setting
1537         cur_levels to max in EOS, just zero all minimum threshold levels. This
1538         should make sure that queue gives out all data. When going to READY
1539         (stop) state, just reset the original minimum threshold levels.
1540         Fixes #336336.
1542 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1544         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1545         (gst_type_find_element_handle_event),
1546         (gst_type_find_element_send_cached_events),
1547         (gst_type_find_element_change_state):
1548         * plugins/elements/gsttypefindelement.h:
1549           When typefinding is done in push mode, we should cache
1550           events we receive during typefinding instead of just
1551           dropping them (e.g. newsegment, custom events from
1552           dvdreadsrc etc.) and then send them out once we've
1553           determined the type of the stream (and decodebin
1554           has had a chance to plug in a decoder/demuxer).
1555           
1556 2006-03-27  Wim Taymans  <wim@fluendo.com>
1558         * docs/design/part-qos.txt:
1559         First QoS ideas.
1561 2006-03-27  Wim Taymans  <wim@fluendo.com>
1563         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1565         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1566         (gst_base_src_send_event), (gst_base_src_change_state):
1567         Handle element seek correctly when we are streaming.
1568         Fixes #326998.
1570 2006-03-24  Michael Smith  <msmith@fluendo.com>
1572         * docs/faq/gst-uninstalled:
1573           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1574           allow you to correctly run intalled applications built against old 
1575           core, using plugins that require updated core (e.g. running
1576           installed totem against a full uninstalled gstreamer stack)
1578 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1580         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1581         more debug details
1583 2006-03-24  Wim Taymans  <wim@fluendo.com>
1585         * docs/gst/gstreamer-sections.txt:
1586         Rearrange the order of the methods so that related methods
1587         are grouped together in sections.
1589 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1591         * gst/gstelement.c:
1592           Little clarification in the docs
1594 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1596         * docs/README:
1597         formatting fix
1598         * plugins/elements/gstidentity.c:
1599         * plugins/elements/gstqueue.c:
1600         * plugins/elements/gsttee.c:
1601         * plugins/elements/gsttypefindelement.c:
1602         GST_ELEMENT_DETAILS formatting
1604 2006-03-24  Wim Taymans  <wim@fluendo.com>
1606         * libs/gst/base/gstbasesink.h:
1607         Only add fields, not insert or we break ABI.
1609 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1611         * win32/common/libgstbase.def:
1612         * win32/common/libgstreamer.def:
1613           Update, add recently added functions.
1615 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1617         * docs/gst/gstreamer-sections.txt:
1618         * gst/gstutils.c: (gst_pad_query_peer_position),
1619         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1620         * gst/gstutils.h:
1621           API: add some new utility functions:
1622            - gst_pad_query_peer_position()
1623            - gst_pad_query_peer_duration()
1624            - gst_pad_query_peer_convert()
1625           
1626 2006-03-23  Wim Taymans  <wim@fluendo.com>
1628         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1629         (gst_base_sink_init), (gst_base_sink_finalize),
1630         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1631         (gst_base_sink_set_property), (gst_base_sink_get_property),
1632         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1633         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1634         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1635         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1636         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1637         (gst_base_sink_preroll_object), (gst_base_sink_event),
1638         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1639         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1640         (gst_base_sink_query), (gst_base_sink_change_state):
1641         Decouple max-lateness and the fact that QoS messages are generated
1642         with a new property (qos).
1643         added API: GstBaseSink::async_play()
1644         Add vmethod so subclasses can be notified of ASYNC playing
1645         state changes.
1646         Collect timestamp start and stop to report better current
1647         position in EOS/PLAYING/PAUSED/READY/NULL.
1648         Refactor QoS/frame dropping and other measurements.
1649         API: GstBaseSrc::qos
1650         Fixes #326311
1652         * libs/gst/base/gstbasesink.h:
1653         Added Private struct.
1654         API: gst_base_sink_set_qos_enabled()
1655         API: gst_base_sink_is_qos_enabled()
1657 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1659         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1660           If compiling against GLib-2.8 or newer, try to read the
1661           registry file using GMappedFile first before falling back
1662           to fopen() + fread() (#332151).
1664 2006-03-22  Wim Taymans  <wim@fluendo.com>
1666         * gst/gstinfo.c: (gst_debug_set_active),
1667         (gst_debug_category_set_threshold):
1668         Disable debugging unless explicitly activated.
1669         Fixes #335480.
1671 2006-03-22  Wim Taymans  <wim@fluendo.com>
1673         * gst/gstelement.c: (gst_element_set_locked_state),
1674         (gst_element_dispose):
1675         Cleanup the error case.
1677         * gst/gstobject.c: (gst_object_dispose):
1678         print a critical when some object was disposed with
1679         a parent, also revive the object since it might
1680         crash the parent.
1682 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1684         * tools/gst-launch.1.in:
1685           Fix another typo.
1687 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1689         * configure.ac:
1690         * tests/check/Makefile.am:
1691           disable some tests when we don't have a registry
1692         * tests/check/gst/gstutils.c: (gst_utils_suite):
1693           don't build the part that needs parsing
1695 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1697         * gst/Makefile.am
1698         * tests/examples/Makefile.am:
1699           fix --disable-parse build
1701 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1703         * tools/gst-feedback.1.in:
1704           Fix typo: s/feeback/feedback/ (#133494).
1706 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1708         * tools/Makefile.am:
1709         * tools/gst-launch.1.in:
1710           Add FILES section and correct entry about GST_REGISTRY_PATH
1711           environment variable (#133495; #133494).
1713 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1715         * tools/Makefile.am:
1716         * tools/gst-md5sum.1.in:
1717         * tools/gst-md5sum.c:
1718           Remove gst-md5sum and man page (the md5sink element
1719           required was removed ages ago)
1721 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1723         * gst/gststructure.c: (gst_structure_id_set_value):
1724           Make sure that string fields in structures/taglists
1725           contain valid UTF-8 - we don't want to pass rubbish to
1726           applications because of a buggy plugin (cp. #334167).
1728 2006-03-21  Edward Hervey  <edward@fluendo.com>
1730         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1731         (gst_bin_handle_message_func):
1732         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1733         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1734         (gst_element_set_bus_func):
1735         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1736         * gst/gstminiobject.c: (gst_value_set_mini_object),
1737         (gst_value_take_mini_object):
1738         * gst/gstpad.c: (gst_pad_set_pad_template):
1739         * gst/gstpipeline.c: (gst_pipeline_dispose),
1740         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1741         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1742         (gst_collect_pads_chain):
1743         * libs/gst/net/gstnettimeprovider.c:
1744         (gst_net_time_provider_set_property):
1745         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1746         It's in fact all issues with gst_*object_replace().
1748 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1750         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1751         
1752         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1753         * pkgconfig/gstreamer-check.pc.in:
1754           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1756 2006-03-21  Edward Hervey  <edward@fluendo.com>
1758         * gst/gstbuffer.h:
1759         * gst/gstevent.h:
1760         * gst/gstmessage.h:
1761         gst_[buffer|event|message]_ref() macros are replaced by a static
1762         inline functions because gcc-4.1 will about if the return value
1763         isn't used.
1764         * tests/check/gst/gstevent.c: (event_probe):
1765         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1767 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1769         * gst/gstutils.h:
1770         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1771         the type' case. (Closes: #335195 for now). In the future, when we
1772         depend on GLib 2.10, we could also intern the type name using
1773         g_intern_static_string()
1775 2006-03-20  Wim Taymans  <wim@fluendo.com>
1777         * gst/gstbin.c: (gst_bin_handle_message_func),
1778         (bin_query_max_init), (bin_query_position_fold),
1779         (bin_query_position_done), (gst_bin_query):
1780         Position query should also take max of all streams.
1782 2006-03-20  Wim Taymans  <wim@fluendo.com>
1784         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1785         (gst_fake_src_finalize):
1786         Fix leaks in fakesrc.
1788         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1789         Fix leaks in the testcase.
1791 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
1793         * gst/gst_private.h:
1794           add win32 specific import decoration(__declspec(dllimport)) 
1795           for all extern GstDebugCategory * variables
1796         * win32/common/libgstbase.def:
1797         * win32/common/libgstcontroller.def:
1798         * win32/common/libgstreamer.def:
1799           Add some exports, remove empty lines
1800         * win32/common/libgstdataprotocol.def:
1801         * win32/common/libgstdataprotocol.dsp:
1802         * win32/common/libgstnet.def:
1803         * win32/common/libgstnet.dsp:
1804           new project files and exportation files added
1805         
1806 2006-03-19  Wim Taymans  <wim@fluendo.com>
1808         * tests/check/libs/basesrc.c: (eos_event_counter):
1809         Use proper return value for probe.
1811 2006-03-17  Wim Taymans  <wim@fluendo.com>
1813         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1814         (gst_pad_push):
1815         Don't leak buffers, caps and pads on negotiation errors.
1817 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
1819         * docs/faq/cvs.xml:
1820         * docs/faq/dependencies.xml:
1821         * docs/faq/developing.xml:
1822         * docs/faq/faq.xml:
1823         * docs/faq/general.xml:
1824         * docs/faq/getting.xml:
1825         * docs/faq/legal.xml:
1826         * docs/faq/troubleshooting.xml:
1827         * docs/faq/using.xml:
1828         Faq review and update.
1830 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
1832         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1833         (gst_pad_push):
1834         Don't pound the cpu to pieces by checking get_caps when accept_caps
1835         is called with the same caps as the pad already has.
1836         Use GST_DEBUG_OBJECT when outputting caps change information.
1838 2006-03-15  Wim Taymans  <wim@fluendo.com>
1840         * gst/gstclock.c: (gst_clock_class_init):
1841         Fix docs.
1843 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
1845         * gst/gstbuffer.h:
1846         Documentation fix.
1848         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
1849         (gst_pad_accept_caps), (gst_pad_configure_sink),
1850         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
1851         Make the default acceptcaps behaviour be to check the requested 
1852         caps against the gst_pad_get_caps output. 
1854         Ensure that gst_pad_accept_caps is used to check caps when a pad
1855         doesn't have a setcaps function, so that pads automatically refuse 
1856         caps that they don't allow in their pad template. (Fixes #332986)
1858         When a buffer with attached caps is pushed, ensure that the source 
1859         pad receives those caps even if the element didn't call
1860         gst_pad_set_caps first.
1862 2006-03-15  Wim Taymans  <wim@fluendo.com>
1864         * libs/gst/base/gstadapter.c:
1865         Add some docs.
1867 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1869         * win32/common/libgstbase.def:
1870         * win32/common/libgstcontroller.def:
1871         * win32/common/libgstreamer.def:
1872           Add a whole bunch of missing functions (#334434).
1874 2006-03-14  Wim Taymans  <wim@fluendo.com>
1876         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1877         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1878         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1879         Better debug info when we receive a segment event.
1880         Reorganize a bit so we can pass the get_times() results around.
1881         Use the segment format when calculating the running time.
1882         Don't do QoS is sync is disabled or we have no clock or the
1883         element does not want us to sync to the clock.
1884         Don't drop buffers if QoS is disabled for now.
1886 2006-03-14  Wim Taymans  <wim@fluendo.com>
1888         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1889         Marked the stats property as unimplemented so people don't get
1890         wild ideas.
1891         Add debug message when regression goes wrong.
1892         Added some more docs.
1894 2006-03-14  Wim Taymans  <wim@fluendo.com>
1896         * gst/gstsegment.c: (gst_segment_to_stream_time):
1897         Return correct return type in case of errors.
1899 2006-03-14  Wim Taymans  <wim@fluendo.com>
1901         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1902           Don't segfault on invalid formats.
1904 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1906         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1907           Can't use gst_segment_to_running_time() when the segment
1908           is not in GST_TIME_FORMAT (like with filesink, for example).
1909           Stops flac encoding pipelines from spewing critical warnings
1910           at EOS (#331248).
1911           
1912 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1914         * gst/gstpipeline.c: (gst_pipeline_class_init):
1915           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1917         * plugins/elements/gsttypefindelement.c:
1918         (gst_type_find_element_handle_event):
1919           Don't try to typefind empty streams.
1921 2006-03-14  Wim Taymans  <wim@fluendo.com>
1923         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1924         (gst_base_sink_do_qos):
1925         Separate QoS calculation.
1926         Only drop buffers when lateness is bigger than the 
1927         duration of the buffer.
1929 2006-03-13  Wim Taymans  <wim@fluendo.com>
1931         * gst/gstpipeline.c: (gst_pipeline_set_property),
1932         (gst_pipeline_get_property), (do_pipeline_seek),
1933         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1934         (gst_pipeline_get_delay):
1935         Don't deadlock when reading properties.
1937 2006-03-13  Wim Taymans  <wim@fluendo.com>
1939         * libs/gst/base/gstbasetransform.c:
1940         (gst_base_transform_class_init), (gst_base_transform_init),
1941         (gst_base_transform_sink_event),
1942         (gst_base_transform_sink_eventfunc),
1943         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
1944         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
1945         (gst_base_transform_set_property),
1946         (gst_base_transform_get_property),
1947         (gst_base_transform_change_state), (gst_base_transform_update_qos),
1948         (gst_base_transform_set_qos_enabled),
1949         (gst_base_transform_is_qos_enabled):
1950         * libs/gst/base/gstbasetransform.h:
1951         Make basetransform virtual method for src events too.
1952         Handle QOS in basetransform.
1953         API: gst_base_transform_update_qos()
1954         API: gst_base_transform_set_qos_enabled()
1955         API: gst_base_transform_is_qos_enabled()
1957 2006-03-13  Wim Taymans  <wim@fluendo.com>
1959         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1960         (gst_base_sink_do_sync):
1961         Small cleanups.
1962         Use QOS debug category.
1964 2006-03-13  Wim Taymans  <wim@fluendo.com>
1966         * plugins/elements/gstqueue.c:
1967         Very small doc update.
1969 2006-03-13  Wim Taymans  <wim@fluendo.com>
1971         * gst/gst_private.h:
1972         * gst/gstinfo.c: (_gst_debug_init):
1973         Added QOS debug category
1975 2006-03-13  Wim Taymans  <wim@fluendo.com>
1977         * docs/gst/gstreamer-sections.txt:
1978         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
1979         * gst/gstbin.h:
1980         * gst/gstbus.c: (gst_bus_class_init):
1981         * gst/gstbus.h:
1982         * gst/gstclock.c:
1983         * gst/gstelement.c: (gst_element_set_locked_state):
1984         * gst/gstsegment.c:
1985         Documentation updates.
1987         * gst/gstpipeline.c: (gst_pipeline_get_type),
1988         (gst_pipeline_class_init), (gst_pipeline_init),
1989         (gst_pipeline_dispose), (gst_pipeline_set_property),
1990         (gst_pipeline_get_property), (do_pipeline_seek),
1991         (gst_pipeline_send_event), (gst_pipeline_change_state),
1992         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
1993         (gst_pipeline_get_delay):
1994         * gst/gstpipeline.h:
1995         Added methods for setting the delay.
1996         API: gst_pipeline_set_delay()
1997         API: gst_pipeline_get_delay()
1998         Add pipeline debug category
1999         Various cleanups.
2000         Updated docs.
2001         Don't reset stream time when seek failed.
2003 2006-03-13  Wim Taymans  <wim@fluendo.com>
2005         * docs/design/draft-klass.txt:
2006         * docs/design/part-clocks.txt:
2007         * docs/design/part-events.txt:
2008         * docs/design/part-gstbin.txt:
2009         * docs/design/part-gstpipeline.txt:
2010         * docs/design/part-messages.txt:
2011         * docs/design/part-negotiation.txt:
2012         * docs/design/part-overview.txt:
2013         * docs/design/part-preroll.txt:
2014         * docs/design/part-seeking.txt:
2015         * docs/design/part-states.txt:
2016         * docs/design/part-streams.txt:
2017         Documentation updates.
2019 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2021         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2022         us to leak strings...
2024 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2026         * libs/gst/net/gstnettimeprovider.c:
2027           fix docs
2028         * win32/common/config.h:
2029           update
2031 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2033         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2035         * configure.ac:
2036           Don't check for libgnomeui (leftover from old examples
2037           that aren't built or disted any longer) (#334303).
2038           
2039 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2041         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2042         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2043           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2044           there's no space left on the device.
2046 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2048         * gst/gstclock.h:
2049           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2050           to cast the input to GstClockTime before comparing with
2051           another GstClockTime value.
2053 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2055         * configure.ac:
2056           back to trunk
2058 === release 0.10.4 ===
2060 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2062         * configure.ac:
2063           releasing 0.10.4, "Light"
2065 2006-03-10  Michael Smith  <msmith@fluendo.com>
2067         * libs/gst/dataprotocol/dataprotocol.c:
2068           Fix docs for dataprocotol to not get the return types completely
2069           wrong for a few functions.
2071 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2073         * docs/gst/gstreamer-sections.txt:
2074         * gst/gstpipeline.c: (gst_pipeline_class_init),
2075         (gst_pipeline_init), (gst_pipeline_set_property),
2076         (gst_pipeline_get_property), (gst_pipeline_change_state),
2077         (gst_pipeline_set_auto_flush_bus),
2078         (gst_pipeline_get_auto_flush_bus):
2079         * gst/gstpipeline.h:
2080           Add new API: gst_pipeline_set_auto_flush_bus() and
2081           gst_pipeline_get_auto_flush_bus() to disable automatic
2082           flushing of the pipeline's GstBus when going from READY
2083           to NULL state (#332045).
2085 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2087         * docs/gst/gstreamer-sections.txt:
2088         * gst/gsturi.c: (gst_uri_has_protocol):
2089         * gst/gsturi.h:
2090            Add new API: gst_uri_has_protocol() (#333779).
2092 2006-03-09  Wim Taymans  <wim@fluendo.com>
2094         * gst/gstclock.c: (gst_clock_entry_new),
2095         (gst_clock_id_compare_func), (gst_clock_id_wait),
2096         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2097         (gst_clock_init), (gst_clock_get_internal_time),
2098         (gst_clock_set_master), (do_linear_regression),
2099         (gst_clock_add_observation), (gst_clock_set_property):
2100         * gst/gstclock.h:
2101         Review docs.
2102         Small cleanups.
2103         Fix a possible segfault when the window-size is made smaller.
2104         Calculate jitter before performing the clock wait. Ideally
2105         the clock implementation should calculate jitter but we need
2106         API breakage for that.
2108         * gst/gstsystemclock.c: (gst_system_clock_init):
2109         Docs review.
2110         
2111         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2112         Remove leftover else
2114         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2115         (gst_systemclock_suite):
2116         Added check to test GST_CLOCK_DIFF.
2118 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2120         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2121         (gst_type_find_helper_get_range):
2122           If we are provided with the size, we should implement
2123           GstTypeFind::get_length, so that typefind functions who
2124           want to can actually peek at the middle of a file.
2126 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2128         * docs/manual/advanced-dataaccess.xml:
2129           Add some very very basic error checking.
2131         * docs/pwg/appendix-checklist.xml:
2132           Some updates to the list of things to check when writing an element.
2134 2006-03-08  Wim Taymans  <wim@fluendo.com>
2136         * docs/design/part-element-transform.txt:
2137         Added some docs about the design of tranform elements.
2139         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2140         (gst_base_src_loop), (gst_base_src_change_state):
2141         Mark buffers with the DISCONT flag.
2143 2006-03-08  Michael Smith  <msmith@fluendo.com>
2145         * gst/gstregistry.h:
2146         * gst/gstregistryxml.c: (gst_registry_save),
2147         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2148         (gst_registry_xml_save_pad_template),
2149         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2150         (gst_registry_xml_write_cache):
2151           Rewrite registry-saving to avoid race conditions and check for
2152           failed writes.
2154 2006-03-08  Wim Taymans  <wim@fluendo.com>
2156         * libs/gst/base/gstbasetransform.c:
2157         (gst_base_transform_transform_caps),
2158         (gst_base_transform_transform_size),
2159         (gst_base_transform_prepare_output_buffer),
2160         (gst_base_transform_get_unit_size),
2161         (gst_base_transform_buffer_alloc),
2162         (gst_base_transform_handle_buffer),
2163         (gst_base_transform_change_state):
2164         Cleanups, separate normal flow from errors, add sensible
2165         DEBUG lines.
2166         Don't try to renegotiate when allocating an output buffer.
2167         Also copy DISCONT buffer flag when copying a buffer.
2168         Reset the transform after we finish streaming, not during.
2170 2006-03-08  Wim Taymans  <wim@fluendo.com>
2172         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2173         Use last buffer timestamp in qos message.
2175 2006-03-07  Wim Taymans  <wim@fluendo.com>
2177         Patch by: Christophe Fergeau
2179         * docs/pwg/advanced-tagging.xml:
2180         * docs/pwg/building-pads.xml:
2181           fixes #333416
2183 2006-03-07  Wim Taymans  <wim@fluendo.com>
2185         * docs/libs/gstreamer-libs-sections.txt:
2186         Added basesink new methods.
2188         * gst/gstevent.c:
2189         * gst/gstevent.h:
2190         Docs updates. Flesh out the QoS docs.
2192         * libs/gst/base/gstadapter.c:
2193         Small doc clarification about ownership and flushing.
2195         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2196         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2197         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2198         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2199         * libs/gst/base/gstbasesink.h:
2200         API additions: 
2201         Added new methods to allow subclass to control max-lateness 
2202         and sync.
2203         Generate very basic QoS events based on last sync observation.
2204         Updated docs, fix typo, added some QoS blurb.
2206         * libs/gst/base/gstbasesrc.c:
2207         Remove obsolete _get_state() calls from docs.
2209 2006-03-07  Wim Taymans  <wim@fluendo.com>
2211         * docs/libs/gstreamer-libs-sections.txt:
2212         * libs/gst/base/gstbasetransform.h:
2213         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2214         Fix docs for GstBaseSrc.
2216 2006-03-07  Wim Taymans  <wim@fluendo.com>
2218         * docs/gst/gstreamer-sections.txt:
2219         * gst/gstbuffer.h:
2220         * gst/gstvalue.c:
2221         * libs/gst/base/gstbasetransform.h:
2222         Small documentation fixes.
2224 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2226         * gst/gstvalue.c:
2227           Document thread-unsafety of gst_value_register_foo_func()
2228           when used at the same time as gst_value_foo() (#322628).
2230 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2232         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2233         (gst_push_src_check_get_range):
2234           Push sources don't support pull mode by default.
2236 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2238         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2239         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2240         (gst_base_src_default_check_get_range):
2241         * libs/gst/base/gstbasesrc.h:
2242           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2243           provide default implementation, and rename
2244           gst_base_src_check_get_range() to
2245           gst_base_src_pad_check_get_range() for clarity.
2247 2006-03-06  Wim Taymans  <wim@fluendo.com>
2249         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2250         Make property overridable.
2252 2006-03-06  Wim Taymans  <wim@fluendo.com>
2254         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2255         (gst_base_sink_init), (gst_base_sink_set_property),
2256         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2257         * libs/gst/base/gstbasesink.h:
2258         API addition: Make max-lateness a property.
2260 2006-03-06  Wim Taymans  <wim@fluendo.com>
2262         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2263         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2264         Don't ever draw a frame that is >10ms late.
2266 2006-03-06  Michael Smith  <msmith@fluendo.com>
2268         * gst/gstmessage.c: (_gst_message_copy):
2269           When copying a message, set the parent_refcount of the enclosed
2270           structure to point at the copy, not the original message.
2272 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2274         Patch by: Christophe Fergeau
2276         * gst/gstutils.h:
2277           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2278           usable in c++ code (#333417)
2280 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2282         * gst/gstclock.h:
2283           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2285 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2287         * libs/gst/base/gstbasetransform.c:
2288         (gst_base_transform_transform_caps):
2289           Make sure caps are writable before passing them to
2290           gst_caps_append().
2292 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2294         * gst/gsterror.h:
2295           Fix some minor docs errors.
2297 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2299           Patch by: Ross Burton <ross at burtonini dot com>
2301         * gst/gsterror.c: (_gst_resource_errors_init):
2302         * gst/gsterror.h:
2303           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2305 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2307         * gst/gst.c:
2308         Add a check and output a g_warning when GStreamer is built
2309         against GLib 2.6 but running against 2.8 or higher, and vice 
2310         versa. (Closes: #323542)
2312 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2314         * gst/parse/parse.l:
2315           Commit patch for parse_launch syntax from #331255. Removes 
2316           support for quoted strings and mimetypes when writing filtered 
2317           caps. See the bug report for more details - I'm pretty sure this
2318           obscure feature is not in use by _anyone_ anywhere.
2320           With this simple change, the size of the gstreamer.so here 
2321           drops from 2193KB to 1565KB.
2323 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2325         * plugins/elements/gsttypefindelement.h:
2326         * plugins/elements/gsttypefindelement.c:
2327         (gst_type_find_element_src_event), (start_typefinding),
2328         (stop_typefinding), (gst_type_find_element_handle_event),
2329         (gst_type_find_element_chain),
2330         (gst_type_find_element_chain_do_typefinding):
2331           Use gst_type_find_helper_for_buffer() for chain-based
2332           typefinding.
2334 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2336         * plugins/elements/gsttypefindelement.c:
2337         (gst_type_find_element_class_init),
2338         (gst_type_find_element_set_property),
2339         (gst_type_find_element_get_property):
2340           Deprecate "maximum" property (not only was it only taken into
2341           account for typefinding in push-mode anyway, it also was never
2342           actually possible to set it in the first place because the
2343           property was registered with the numeric property ID for the
2344           "minimum" property). Register "maximum" property correctly,
2345           for the sake of future copy'n'pasters. Remove some cruft
2346           from property get/set functions.
2348 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2350         * plugins/elements/gsttypefindelement.c:
2351         (gst_type_find_element_activate):
2352           Use gst_type_find_helper_get_range() here, so we
2353           can honour the "minimum" property and also emit
2354           the signal with the correct probability of the found caps.
2356 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2358         * docs/libs/gstreamer-libs-sections.txt:
2359         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2360         (helper_find_suggest), (gst_type_find_helper_get_range),
2361         (gst_type_find_helper):
2362         * libs/gst/base/gsttypefindhelper.h:
2363           New API: gst_type_find_helper_get_range() (#333042).
2365 2006-03-02  Michael Smith  <msmith@fluendo.com>
2367         * gst/gstregistryxml.c: (load_feature):
2368           Asserting on a failure to read part of the registry is Not Cool.
2369           Just log a warning and return NULL (which is already handled)
2371 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2373         * win32/common/libgstbase.def:
2374           added export of gst_type_find_helper_for_buffer
2375         * win32/common/libgstbase.def:
2376           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2377           gst_ghost_pad_get_target
2379 2006-02-28  Wim Taymans  <wim@fluendo.com>
2381         * docs/design/draft-klass.txt:
2382         We use Filter now.
2383         Added Connector to mark elements that are only used to
2384         allow pipeline connections.
2385         Moved Debug to extra feature since most of them are 
2386         functionally something else.
2388 2006-02-28  Wim Taymans  <wim@fluendo.com>
2390         * docs/design/draft-klass.txt:
2391         Some updates and clarifications.
2393 2006-02-28  Wim Taymans  <wim@fluendo.com>
2395         * docs/design/draft-klass.txt:
2396         Proposal for klass field values.
2398         * docs/design/part-streams.txt:
2399         Start of a doc describing stream anatomy.
2401 2006-02-28  Wim Taymans  <wim@fluendo.com>
2403         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2404         Help the compiler a bit with type registration.
2405         Use existing forward cod path instead of duplicating it when 
2406         handling a message.
2407         
2408         * gst/gstbus.c: (gst_bus_get_type):
2409         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2410         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2411         * gst/gstclock.c: (gst_clock_get_type):
2412         * gst/gstelement.c: (gst_element_get_type),
2413         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2414         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2415         * gst/gstminiobject.c: (gst_mini_object_get_type):
2416         * gst/gstpad.c: (gst_pad_get_type):
2417         * gst/gstsegment.c: (gst_segment_get_type):
2418         * gst/gststructure.c: (gst_structure_get_type):
2419         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2420         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2421         * gst/gstvalue.c:
2422         Help compiler with type registration.
2424         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2425         Small doc update.
2427 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2429         * plugins/elements/gsttypefindelement.c:
2430         (gst_type_find_element_handle_event):
2431           When we get an EOS event and have not found a type yet
2432           (most likely because we had not yet accumulated
2433           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2434           type given the data we have so far. Fixes typefinding
2435           for very short streams again, most notably quicktime
2436           redirections as used on Apple's trailer site (#331701).
2438 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2440         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2441         (gst_type_find_helper):
2442           Try typefinding factories with the highest rank first.
2444 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2446         * docs/libs/gstreamer-libs-docs.sgml:
2447         * docs/libs/gstreamer-libs-sections.txt:
2448         * libs/gst/base/gsttypefindhelper.c:
2449           Add section for typefind helper and add documentation
2450           for the old and the new function.
2452 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2454         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2455         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2456         (gst_type_find_helper_for_buffer):
2457         * libs/gst/base/gsttypefindhelper.h:
2458           New API: gst_type_find_helper_for_buffer() (#332723).
2459           
2460 2006-02-27  Michael Smith  <msmith@fluendo.com>
2462         Patch by: Loïc Minier
2464         * configure.ac:
2465         * docs/Makefile.am:
2466         * docs/slides/Makefile.am:
2467           prevent CVS directories getting disted.
2469 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2471         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2472           Use the REFCOUNTING category for caps refcounting.
2473           
2474 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2476         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2477           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2479 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2481         * plugins/elements/gsttypefindelement.c:
2482         (gst_type_find_element_activate):
2483           Use gst_pad_check_pull_range() before _activate_pull()
2484           to avoid unnecessary open/close (see #331690).
2486 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2488         * gst/gstutils.c:
2489           Docs enhancement: make it crystal clear what the
2490           gst_pad_add_*_probe() callbacks should look like.
2492 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2494         * libs/gst/base/gstbasesrc.c:
2495           Document how applications can stop recording from
2496           live sources (see #330996).
2498 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2500         * tests/check/Makefile.am:
2501         * tests/check/libs/basesrc.c: (eos_event_counter),
2502         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2503         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2504         (gst_basesrc_suite), (main):
2505           ... and add some tests for the base source EOS stuff.
2507 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2509         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2510           Test case originally showed the problem fixed below,
2511           but was then amended. Add checks back at the place
2512           where they used to be.
2514 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2516         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2517         (gst_base_src_init), (gst_base_src_loop),
2518         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2519         (gst_base_src_change_state):
2520         * libs/gst/base/gstbasesrc.h:
2521           Don't unconditionally send EOS when going from PAUSED to
2522           READY state, esp. make sure we don't send two EOS events
2523           in some cases (e.g. one when reaching EOS and one when
2524           going from PAUSED to READY). Also, we don't want to send
2525           EOS events when operating in pull mode. However, we do
2526           want to send an EOS event when shutting down a live
2527           source explicitly, for example (fixes #330996).
2528           
2529 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2531         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2532           Update src->read_position after a seek when not using mmap.
2533           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2535 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2537         * gst/Makefile.am:
2538         * gst/gstparse.h:
2539         * gst/gstutils.c:
2540         * gst/gstutils.h:
2541         Make things work with --disable-parse as they do with 
2542         --disable-load-save - the symbols involved disappear, but the
2543         header is still installed and GST_DISABLE_PARSE is included via
2544         gstconfig.h
2546 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2548         * libs/gst/base/gstbasetransform.c:
2549         (gst_base_transform_change_state): Fix a stupid bug. I was 
2550         sure I compiled that.
2552 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2554         * gst/gstpad.c: (gst_pad_set_blocked_async):
2555         * gst/gstutils.c: (gst_pad_add_data_probe),
2556         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2557         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2558         (gst_pad_remove_buffer_probe): Make those function act on the
2559         ghostpad target when it's a ghostpad. (Closes #331727)
2561 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2563         * libs/gst/base/gstbasetransform.c:
2564         (gst_base_transform_change_state): Make basetransform reusable.
2565         (Closes #331898)
2567 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2569         * docs/random/release:
2570         Move the current documentation of how to do a release to the top
2571         of the file.
2573         * gst/gstbin.c: (gst_bin_class_init),
2574         (gst_bin_handle_message_func):
2575         Allow multiple state-recalculation threads. (Closes #328873)
2577 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2579         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2580         * gst/gstpad.c: (gst_pad_set_event_function),
2581         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2582         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2583         2 strings. You can't use the STR_NULL macro on that.
2585 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2587         * gst/gstpad.c: (gst_pad_set_event_function),
2588         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2589         (gst_pad_set_getcaps_function)
2590         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2591           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2592           So now, we can use --gst-debug-level=5 on Windows
2593         * win32/common/libgstcontroller.def:
2594           Added export of gst_controller_init
2595         * win32/vs6/libgstcontroller.dsp:
2596           Fixed Release post build configuration
2598 2006-02-17  Wim Taymans  <wim@fluendo.com>
2600         * tests/check/gst/gstquery.c: (GST_START_TEST):
2601         Added another check.
2603 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2605         * plugins/elements/gsttypefindelement.c: (find_peek):
2606           We can do peeks at non-zero offsets, as long as they
2607           fall within the buffer we have.
2609 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2611         * tests/check/Makefile.am:
2612         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2613         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2614         (parse_suite), (main):
2615           Add testsuite for parse launch syntax
2617 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2619         * plugins/elements/gsttypefindelement.c:
2620         (gst_type_find_element_chain):
2621           When typefinding is unsuccessful in the chain function, don't
2622           error out immediately. Only error out with NO_CAPS_FOUND if
2623           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2624           otherwise simply wait for more data so we can try typefinding
2625           again with more data later. Also, don't attempt to typefind
2626           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2627           this should improve typefinding from network sources where the
2628           size of the first buffer can be somewhat random.
2630 2006-02-14  Wim Taymans  <wim@fluendo.com>
2632         * docs/gst/gstreamer-sections.txt:
2633         * gst/gstpadtemplate.c:
2634         * gst/gstpadtemplate.h:
2635         Fix padtemplate docs, fixes #328805.
2637 2006-02-14  Wim Taymans  <wim@fluendo.com>
2639         * tools/gst-launch.c: (main):
2640         NO_PREROLL is not an ERROR so don't send confusing messages
2641         to the user.
2643 2006-02-14  Wim Taymans  <wim@fluendo.com>
2645         Patch by: Torsten Schoenfeld
2647         * gst/gstregistry.c: (gst_registry_get_default),
2648         (_gst_registry_cleanup):
2649         Protect default registry with lock and ref/sink it.
2650         Fixes #324818
2652 2006-02-14  Wim Taymans  <wim@fluendo.com>
2654         * gst/gstbuffer.c:
2655         * gst/gstquery.c: (gst_query_list_add_format),
2656         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2657         (gst_query_parse_formats_nth):
2658         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2659         Docs fixes.
2661 2006-02-14  Wim Taymans  <wim@fluendo.com>
2663         * docs/gst/gstreamer-sections.txt:
2664         Reworked query docs.
2666         * gst/gstquery.c: (gst_query_new_formats),
2667         (gst_query_list_add_format), (gst_query_set_formats),
2668         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2669         (gst_query_parse_formats_nth):
2670         * gst/gstquery.h:
2671         Flesh out formats query, added some new methods.
2672         Fix part of #324398.
2674         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2675         Added query creation tests.
2677 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2679         * gst/gstpad.c: (fixate_value):
2680         Add a default fixation for fraction lists.
2682 2006-02-13  Wim Taymans  <wim@fluendo.com>
2684         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2685         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2686         (gst_task_join):
2687         * gst/gsttask.h:
2688         Detect and warn for obvious deadlocks. fixes #320340
2689         Fix error case where lock was not released.
2691         * tests/check/Makefile.am:
2692         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2693         (task_func), (gst_element_suite), (main):
2694         Add task check.
2696 2006-02-13  Wim Taymans  <wim@fluendo.com>
2698         * docs/gst/gstreamer-sections.txt:
2699         * gst/gstbus.c:
2700         Add new functions to docs.
2702 2006-02-13  Wim Taymans  <wim@fluendo.com>
2704         * docs/design/part-TODO.txt:
2705         Updated TODO list, basesrc supports seeking to non-bytes
2706         formats.
2708         * docs/design/part-element-sink.txt:
2709         Update docs.
2711         * gst/gstbin.c: (bin_replace_message),
2712         (gst_bin_handle_message_func):
2713         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2714         * gst/gstevent.c: (gst_event_finalize):
2715         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2716         (gst_pad_send_event):
2717         Use shiny new _TYPE_NAME macros.
2719         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2720         Move debug statement up.
2722         * gst/gstelement.c: (gst_element_set_locked_state):
2723         Add some debugging.
2725 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2727         * docs/gst/gstreamer-sections.txt:
2728         * gst/gstmessage.h:
2729         * gst/gstquery.h:
2730           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2731           macros (#330906). Also, document the already existing
2732           GST_QUERY_TYPE macro.
2734 2006-02-13  Wim Taymans  <wim@fluendo.com>
2736         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2737         (event_probe), (GST_START_TEST):
2738         Only events up to the pipeline EOS are counted, there are
2739         some more when going to NULL currently which we don't care
2740         about for now.
2742 2006-02-13  Wim Taymans  <wim@fluendo.com>
2744         * gst/gstpad.c: (gst_pad_send_event):
2745         Correctly check flushing and emit probes. fixes #330125
2747 2006-02-10  Andy Wingo  <wingo@pobox.com>
2749         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2750         structure.
2751         (gst_bus_init): Cache the location of the private data in the
2752         instance structure.
2753         (gst_bus_enable_sync_message_emission) 
2754         (gst_bus_disable_sync_message_emission): Implement new public
2755         functions.
2756         (gst_bus_post): Emit the sync-message signal if the user asked for
2757         it. Fixes #330684.
2759         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2760         location of the bus-private structure.
2761         (gst_bus_enable_sync_message_emission)
2762         (gst_bus_disable_sync_message_emission): API addition
2764 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2766         Patch by: Vincent Torri
2768         * docs/pwg/building-boiler.xml:
2769         PWG patch from #326800
2771 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2773         * configure.ac:
2774         * docs/Makefile.am:
2775         * docs/design/Makefile.am:
2776           Dist design docs.
2778 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2780         * configure.ac:
2781           back to CVS
2783 === release 0.10.3 ===
2785 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
2787         * configure.ac:
2788           releasing 0.10.3, "Like a virgin"
2790 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2792         * configure.ac:
2793           2nd prerelease of 0.10.3
2794           Bump libtool versioning.
2796 2006-02-07  Andy Wingo  <wingo@pobox.com>
2798         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2799         update last_stop if we're in TIME format and the timestamp is
2800         valid.
2802         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
2803         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
2804         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2805         If we get a new newsegment with a different format, adapt
2806         accordingly.
2808         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2809         of 0. Not a problem, really.
2811         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2812         warn if sync=true.
2814 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
2816         * configure.ac:
2817           Prelease of 0.10.3
2819 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
2821         * win32/vs7:
2822           project files updated to the default vs7 configuration
2823         * win32/common/libgstbase.def:
2824         * win32/common/libgstreamer.def:
2825           added new symbols,
2826           removed empty lines,
2827           sorted all exported symbols alphabetically
2828         * win32/common/dirent.c:
2829         * win32/common/dirent.h:
2830         * win32/common/gchar.h:
2831           use windows line end.
2832           
2833 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2835         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2836           Send EOS event when stopping.
2838 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2840         * docs/README:
2841           Tell folks what to do if the plugin-foobar.xml file
2842           hasn't been generated for a newly-added plugin.
2844 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2846         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2847         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2848         (gst_collect_pads_start), (gst_collect_pads_stop),
2849         (gst_collect_pads_event): Collectpads now holds a reference
2850         to the GstPad that was added. Indeed we don't want to look
2851         at pads that might just go away with no warning...
2853 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2855         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2856         (gst_collect_pads_start), (gst_collect_pads_stop),
2857         (gst_collect_pads_event), (gst_collect_pads_chain):
2858         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
2859         Mark Nauwelaerts's patch on bug #328491.
2861 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2863         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
2864         (gst_utils_suite):
2865           Add some simple tests for gst_parse_bin_from_description() and
2866           gst_bin_find_unconnected_pad() (#329069).
2868 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2870         * tools/gst-launch.c: (event_loop), (main):
2871           Catch errors during preroll (#320084).
2873 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2875         * plugins/elements/gsttypefindelement.c:
2876         (gst_type_find_element_activate):
2877           Post TYPE_NOT_FOUND error message when typefinding
2878           is unsuccessful in the activate function as well.
2880 2006-02-02  Wim Taymans  <wim@fluendo.com>
2882         * docs/design/part-element-sink.txt:
2883         Updated doc.
2885 2006-02-02  Wim Taymans  <wim@fluendo.com>
2887         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2888         (gst_base_sink_render_object),
2889         (gst_base_sink_queue_object_unlocked):
2890         Only keep track of prerollable items when we are 
2891         prerolling.
2892         Before rendering after preroll, always check if we
2893         have queued items.
2894         Added some more debugging.
2896 2006-02-02  Wim Taymans  <wim@fluendo.com>
2898         * gst/gstelement.c: (gst_element_continue_state),
2899         (gst_element_set_state_func), (gst_element_change_state):
2900         Fixed #326576, been running this for quite some time with
2901         no regressions at all.
2903 2006-02-02  Wim Taymans  <wim@fluendo.com>
2905         * common/gst.supp:
2906         Added more suppressions
2908 2006-02-02  Wim Taymans  <wim@fluendo.com>
2910         * docs/design/part-element-sink.txt:
2911         Updated document.
2913         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2914         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2915         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2916         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2917         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2918         (gst_base_sink_preroll_object),
2919         (gst_base_sink_queue_object_unlocked),
2920         (gst_base_sink_queue_object), (gst_base_sink_event),
2921         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2922         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2923         (gst_base_sink_get_position), (gst_base_sink_change_state):
2924         * libs/gst/base/gstbasesink.h:
2925         Totally refactored matching the design doc.
2926         Use two segments, one to clip incomming buffers and another to
2927         perform sync.
2928         Handle queueing correctly, bypass the queue when playing.
2929         Make EOS cancelable.
2930         Handle errors correctly when operating in pull based mode.
2932         * tests/check/elements/fakesink.c: (GST_START_TEST),
2933         (fakesink_suite):
2934         Added new check for sinks.
2936 2006-02-02  Wim Taymans  <wim@fluendo.com>
2938         * gst/gstsegment.c: (gst_segment_clip):
2939         No reason to refuse to clip when start == -1
2941 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
2943         * docs/README:
2944         * docs/manual/intro-basics.xml:
2945         * docs/manual/intro-preface.xml:
2946         * docs/manual/manual.xml:
2947         * docs/pwg/advanced-dparams.xml:
2948         * docs/pwg/intro-basics.xml:
2949         * docs/pwg/intro-preface.xml:
2950         * docs/pwg/pwg.xml:
2951           describe dparams (controller) for plugins
2952           unify docs a little more
2954 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
2956         * docs/gst/gstreamer-sections.txt:
2957         * gst/gstutils.c: (element_find_unconnected_pad),
2958         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
2959         * gst/gstutils.h:
2960           Add new API: gst_parse_bin_from_description() and
2961           gst_bin_find_unconnected_pad() (#329069).
2963 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
2965         * docs/manual/README:
2966           uncover a nasty detail of the docs build
2968 2006-01-31  Wim Taymans  <wim@fluendo.com>
2970         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
2971         Don't cache duration messages if we're not going to use or
2972         free them.
2974 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
2976         * docs/manual/advanced-dparams.xml:
2977         * docs/pwg/advanced-dparams.xml:
2978           more dparam docs
2979         * gst/gstindex.c:
2980           fix docs
2981         * libs/gst/controller/lib.c: (gst_controller_init):
2982           init just once
2984 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
2986         * gst/gstelement.c: (gst_element_message_full):
2987           also show file/line/func if no additional debug was given
2989 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
2990         
2991         * win32/vs7/grammar.vcproj:
2992           activate copy of autogenerated files for Release mode
2994 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
2995         
2996         * win32/common/libgstreamer.def:
2997           export gst_value_compare
2999 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3001         * plugins/elements/Makefile.am:
3002         * plugins/elements/gstelements.c:
3003         * plugins/elements/gstfdsink.c: (_do_init),
3004         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3005         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3006         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3007         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3008         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3009         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3010         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3011         * plugins/elements/gstfdsink.h:
3012         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3014 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3016         * docs/manual/advanced-dparams.xml:
3017           describe controller
3018         * docs/manual/advanced-position.xml:
3019         * docs/manual/basics-init.xml:
3020         * docs/manual/manual.xml:
3021         * docs/manual/titlepage.xml:
3022         * docs/pwg/pwg.xml:
3023         * docs/pwg/titlepage.xml:
3024           cleanup xml (more to come)
3025         * libs/gst/controller/gstcontroller.c:
3026           fix typo
3028 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3029         
3030         * win32/vs6/grammar.dsp:
3031           add autogen of gstmarshal.c,h for Release mode
3032                 
3033 2006-01-30  Wim Taymans  <wim@fluendo.com>
3035         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3036         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3037         (gst_base_sink_handle_object), (gst_base_sink_event),
3038         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3039         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3040         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3041         (gst_base_sink_deactivate), (gst_base_sink_activate),
3042         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3043         (gst_base_sink_query), (gst_base_sink_change_state):
3044         Basesink cleanups, remove some old code.
3045         Handle the case where a subclass can preroll in the render
3046         method (mostly audiosinks).
3047         Handle more events.
3048         Remove some locks around variables that are now protected
3049         with the PREROLL_LOCK (clock_id, flushing, ..).
3050         Optimize position query some more, do correct locking.
3051         Remove old code to push queue in state change, this is not
3052         needed anymore since preroll blocks on all prerollable items 
3053         now.
3054         Almost implemented as described in design doc.
3056 2006-01-30  Wim Taymans  <wim@fluendo.com>
3058         * tests/check/gst/gstbin.c: (GST_START_TEST):
3059         Wait for refcount to settle down before checking.
3061 2006-01-30  Wim Taymans  <wim@fluendo.com>
3063         * docs/design/part-element-sink.txt:
3064         Pseudo code overview of desired sink behaviour regarding
3065         preroll.
3067 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3068         * win32/vs6/grammar.dsp:
3069           fix some bugs in Release mode for autogenerated files
3070                 
3071 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3072         * win32/common/libgstbase.def:
3073         * win32/common/libgstreamer.def:
3074           export some new symbols: gst_base_src_set_format,
3075           gst_iterator_next, gst_structure_set_valist
3077 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3079         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3080         Set pad functions unconditionally. Fixes #329105.
3082 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3083         * win32/vs8:
3084           add vs8 project files created by Sergey Scobich
3086 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3088         * gst/gstutils.c: (gst_element_unlink_pads):
3089         Don't leak pad references.
3091         * tests/check/elements/fakesink.c: (GST_START_TEST):
3092         * tests/check/generic/sinks.c: (GST_START_TEST):
3093         * tests/check/generic/states.c: (GST_START_TEST):
3094         * tests/check/gst/gstbin.c: (GST_START_TEST):
3095         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3096         * tests/check/gst/gstelement.c: (GST_START_TEST):
3097         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3098         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3099         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3100         Fix a bunch of leaks. Make generic/sinks.c
3101         use a bit less cpu by slowing the buffer rate
3102         between fakesrc and fakesink.
3103         
3104 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3105         * gst/gstcaps.c:
3106         * gst/gstelement.c: (gst_element_send_event):
3107         * gst/gstevent.c:
3108         * gst/gstinfo.c:
3109         * gst/gstiterator.c:
3110         * gst/gstiterator.h:
3111         * gst/gstpad.c: (gst_pad_send_event):
3112         * gst/gststructure.c:
3113         * gst/gsturi.c:
3114         * gst/gstutils.c:
3115         * gst/gstvalue.c:
3116         * libs/gst/base/gstadapter.c:
3117           doc fixes, to link to function, just write gst_cool_function(), don't
3118           prefix with '#'
3120 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3122         * plugins/elements/gsttee.c: (gst_tee_do_push),
3123         (gst_tee_handle_buffer):
3124         Always prefer an actual return value from a src
3125         pad in place of NOT_LINKED. This means we return
3126         WRONG_STATE when all src pads are WRONG_STATE
3127         instead of NOT_LINKED.
3129         Lock when replacing the last message to prevent
3130         racing with the get_property method.
3132         Add debug output
3134 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3136         * tests/check/Makefile.am:
3137         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3138         (main):
3139         Add a very simple check that should have caught the memleak I fixed
3140         last night (if not for the slice allocator hiding it)
3142 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3144         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3145         (gst_bin_remove_func), (gst_bin_handle_message_func),
3146         (bin_query_duration_fold), (bin_query_generic_fold):
3147         Clean up references to the clock provider when disposed or when
3148         handling a clock-lost message from it.
3150         Unref sinks when performing a query via gst_iterator_fold, as the
3151         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3153         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3154         (gst_clock_set_master):
3155         Drop our reference to the master clock, if any, when we are disposed.
3157         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3158         Chain up in dispose. 
3160 2006-01-26  Wim Taymans  <wim@fluendo.com>
3162         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3163         Add some debugging.
3165 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3167         * plugins/elements/gsttee.c: (gst_tee_do_push),
3168         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3169         handles pad being NOT_LINKED or in WRONG_STATE.
3171 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3173         * win32/MANIFEST:
3174           more updating
3176 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3178         * win32/MANIFEST:
3179           remove obsolete entry
3181 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3183         * docs/gst/gstreamer-sections.txt:
3184         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3185         (gst_bin_iterate_sources), (gst_bin_send_event):
3186         * gst/gstbin.h:
3187         * gst/gstelement.c: (gst_element_send_event):
3188         * gst/gstevent.c:
3189         * gst/gstpad.c: (gst_pad_send_event):
3190           added code for downstream events, reviewed docs in gstevent.c
3192 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3194         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3195         We only query position using the clock in the playing state.
3196         Query peer in the other cases.
3197         * win32/common/config.h: Updates.
3199 2006-01-24  Wim Taymans  <wim@fluendo.com>
3201         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3202         A clock entry that is scheduled for the exact time of the
3203         clock is still in time.
3205         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3206         (gst_base_sink_do_sync):
3207         Add some more debug info.
3209 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3211         * win32/vs7:
3212           Add new vs7 project files and solution.
3214 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3216         * win32/vs7:
3217           all files removed as they were out-dated.
3219 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3221         * docs/random/release:
3222           update notes
3223         * gst/gstbin.c: (gst_bin_init):
3224         * gst/gstbus.c: (gst_bus_new):
3225         * gst/gstbus.h:
3226         * gst/gstpipeline.c: (gst_pipeline_init):
3227           use gst_bus_new(), improve logging, fix docs
3228         * win32/common/config.h:
3229           update for cvs build
3231 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3233         * autogen.sh:
3234           up required version of automake to 1.7
3236 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3238         * win32/common/libgstreamer.def:
3239           export gst_buffer_is_metadata_writable
3241 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3243         * docs/gst/gstreamer-sections.txt:
3244         * gst/gstevent.h:
3245           Add gst_event_replace() (#327001)
3247 2006-01-20  Wim Taymans  <wim@fluendo.com>
3249         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3250         Make it actually compile too..
3252 2006-01-20  Wim Taymans  <wim@fluendo.com>
3254         * gst/gstcaps.c:
3255         Clarify behaviour of _is_equal() when passing NULL parameters.
3257         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3258         (gst_pad_set_caps):
3259         Cleanups. Don't unref NULL caps.
3260         When setting the same caps, protect caps of the pad with
3261         proper lock.
3262         Use full functionality of _is_equal() when comparing caps.
3264 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3266         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3267         Don't loop infinitely if there are no buffers to present. Partially
3268         fixes #327197, but collectpads is just broken for reusing elements
3269         to do multiple encodes atm.
3271 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3273         * tools/gst-inspect.c: (print_element_features):
3274         * tools/gst-xmlinspect.c: (main):
3275         URL_HANDLER is not a plugin feature we can search for in
3276         the registry.
3278 2006-01-19  Edward Hervey  <edward@fluendo.com>
3280         * gst/gstelement.c: (gst_element_pads_activate): 
3281         When activating, do src pads first, then sink pads.
3282         When de-activating, do sink pads first, then src pads.
3284 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3286         * docs/gst/gstreamer-sections.txt:
3287         Add gst_index_add_associationv to the docs
3289 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3291         * gst/gstevent.c:
3292           Fix docs typo
3294         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3295         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3296           Do some refactoring. Doesn't actually change functionality,
3297           but makes landing the DRAIN event easier later.
3299 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3301         * docs/pwg/advanced-scheduling.xml:
3302           Update from 0.9.x to 0.10 API and make example a bit
3303           clearer.
3305 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3307         * docs/gst/gstreamer-sections.txt:
3308         Add gst_buffer_(is|make)_metadata_writable methods.
3310 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3312         * docs/design/part-sparsestreams.txt:
3313         Update sparse streams doc, hopefully for greater clarity
3315 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3317         * docs/design/part-events.txt:
3318         Remove mention of FILLER events.
3319         Add DRAIN event.
3321         * docs/design/part-sparsestreams.txt:
3322         Write some things about using NEWSEGMENT to keep sparse streams
3323         flowing.
3325 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3327         * gst/gstbin.c: (gst_bin_dispose):
3328           Guard gst_object_unref call against a NULL object (dispose
3329           can theoretically be called multiple times).
3330           
3331 2006-01-18  Wim Taymans  <wim@fluendo.com>
3333         * gst/gstbin.c: (gst_bin_element_set_state):
3334         * gst/gstclock.c: (gst_clock_id_wait):
3335         Added some more debug info.
3337         * libs/gst/base/gstadapter.c:
3338         Added more docs.
3340         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3341         (gst_base_sink_do_sync), (gst_base_sink_chain):
3342         Added some comments.
3344 2006-01-18  Wim Taymans  <wim@fluendo.com>
3346         * tests/check/Makefile.am:
3347         * tests/check/elements/fakesink.c: (chain_async_buffer),
3348         (chain_async), (chain_async_return), (GST_START_TEST),
3349         (fakesink_suite), (main):
3350         Added fakesink test that checks prerolling and clipping
3351         behaviour.
3353         * tests/check/gst/gstutils.c: (GST_START_TEST):
3354         Make check run faster so that buildbots don't timeout.
3356 2006-01-18  Wim Taymans  <wim@fluendo.com>
3358         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3359         (gst_base_sink_do_sync):
3360         Some cleanups.
3361         When the sink finishes blocking on the preroll buffer, it can
3362         immediatly render it instead of rendering when the next buffer
3363         arrives.
3365 2006-01-18  Wim Taymans  <wim@fluendo.com>
3367         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3368         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3369         (gst_base_sink_chain):
3370         Small cleanups.
3371         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3372         Don't store _last_stop if the buffer is dropped.
3374 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3376         * plugins/elements/gsttypefindelement.c:
3377         (gst_type_find_element_class_init):
3378           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3379           object method handler that sets the caps on the pad and we want
3380           that to happen before we emit the signal (fixes e.g. feeding a
3381           plain text file to decodebin).
3383 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3385         * gst/gstplugin.c: Add MPL and Proprietary as license options
3387 2006-01-18  Andy Wingo  <wingo@pobox.com>
3389         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3390         symbol was exported before, it appears this was just an oversight.
3391         Fixes #168703.
3392         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3394         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3395         prototype to gint. OK since this prototype was not in the header.
3397 2006-01-17  Andy Wingo  <wingo@pobox.com>
3399         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3400         registry while we remove plugins.
3402         * tools/gst-inspect.c (print_element_info): Don't unref the
3403         factory arg, that should be the responsibility of whatever code
3404         received the ref. Fixes a double-free when called from
3405         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3406         (main): Unref the factory if we have one.
3407         (print_element_list): No change -- relies on the
3408         plugin_feature_list_free to free the list of features.
3410 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3412         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3413         (gst_buffer_make_metadata_writable):
3414         * gst/gstbuffer.h:
3415         * libs/gst/base/gstbasetransform.c:
3416         (gst_base_transform_prepare_output_buf):
3417         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3418         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3419           Replace gst_buffer_(make|is)_metadata_writable patch now
3420           that the release is out.
3422 2006-01-17  Andy Wingo  <wingo@pobox.com>
3424         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3425         in the present tense without reference to versions.
3427         * gst/gstregistry.c (gst_registry_add_plugin)
3428         (gst_registry_remove_plugin, gst_registry_remove_feature)
3429         (gst_registry_find_feature, gst_registry_get_feature_list)
3430         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3431         (gst_registry_lookup, gst_registry_scan_path)
3432         (_gst_registry_remove_cache_plugins)
3433         (gst_registry_get_feature_list_by_plugin): Add argument
3434         validation.
3436 === release 0.10.2 ===
3438 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3440         * configure.ac:
3441           releasing 0.10.2, "If man is five"
3443 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3445         * gst/gstbuffer.c:
3446         * gst/gstbuffer.h:
3447         * libs/gst/base/gstbasetransform.c:
3448         (gst_base_transform_prepare_output_buf):
3449         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3450         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3451           Back out patch until after the release.
3453 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3455         * gst/gstminiobject.c:
3456           Spelling fix in docs.
3457         * ChangeLog - remove conflict indicator
3459 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3461         Reviewed By: Andy Wingo
3463         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3464         (gst_buffer_make_metadata_writable):
3465         * gst/gstbuffer.h:
3466           Add gst_buffer_(is|make)_metadata_writable as analogues of
3467           gst_buffer_(is|make)_writable.
3469         * libs/gst/base/gstbasetransform.c:
3470         (gst_base_transform_prepare_output_buf):
3471         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3472           Use name gst_buffer_(is|make)_metadata_writable functions.
3474         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3475           Test gst_buffer_(is|make)_metadata_writable
3476         
3477           (Closes: #324162)
3479 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3481         * docs/manual/Makefile.am:
3482           don't do parallel make
3483         * configure.ac:
3484           AC_SUBST HOST_CPU
3485         * win32/common/config.h.in:
3486           add generations for HOST_CPU and GST_MAJORMINOR
3487         * win32/common/config.h:
3488           commit generated result
3490 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3492         * docs/manual/appendix-integration.xml:
3493           Update GNOME integration section to use gst_init_get_option_group()
3494           instead of the old popt stuff (#322911). Also, GNOME applications
3495           should  now use gconf*sink and gconf*src instead of the old gconf
3496           helper lib we had.
3498 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3501         * docs/gst/gstreamer-docs.sgml:
3502         * docs/gst/gstreamer-sections.txt:
3503         * docs/libs/gstreamer-libs-sections.txt:
3504           add new API entries to the docs
3505         * libs/gst/controller/Makefile.am:
3506         * libs/gst/controller/gstcontroller.c:
3507         * libs/gst/controller/gstcontroller.h:
3508         * libs/gst/controller/gstcontrollerprivate.h:
3509         * libs/gst/controller/gsthelper.c:
3510         * libs/gst/controller/gstinterpolation.c:
3511           move private structs to private header
3512         * po/README:
3513           gstreamer-0.7 -> gstreamer-0.10
3514         * tests/check/libs/struct_i386.h:
3515           remove private structs
3517 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3519         * plugins/indexers/Makefile.am:
3520           Fixes as part of #317048
3522 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3524         * plugins/indexers/Makefile.am:
3525           fix #316086 - compilation when mmap is missing
3527 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3529         * libs/gst/base/gstbasesink.c:
3530           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3531           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3532         * win32/common/config.h:
3533           added some defines GST_MAJORMINOR and HOST_CPU
3534         * win32/common/libgstbase.def:
3535         * win32/common/libgstreamer.def:
3536           added some exported functions.
3538 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3540         * libs/gst/controller/gstcontroller.c:
3541         (gst_controlled_property_set_interpolation_mode),
3542         (gst_controlled_property_new):
3543         * libs/gst/controller/gstcontroller.h:
3544         * libs/gst/controller/gstinterpolation.c:
3545         (interpolate_none_get_string_value_array):
3546           make G_TYPE_STRING controlable
3548 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3550         * tools/README:
3551         * tools/gst-feedback.1.in:
3552         * tools/gst-inspect.1.in:
3553         * tools/gst-launch.1.in:
3554         * tools/gst-md5sum.1.in:
3555         * tools/gst-typefind.1.in:
3556         * tools/gst-xmlinspect.1.in:
3557         * tools/gst-xmllaunch.1.in:
3558           cleanup man-pages, remove reference to gst-register, document env-vars
3560 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3562         * gst/gstbuffer.c: (gst_buffer_span):
3563           gst_buffer_span should copy the timestamp of the first buffer
3564           if they were both originally overlapping subbuffers of the 
3565           same parent, using the same logic as the 'slow copy' case.
3567 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3569         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3570           Need to awaken ALL the pads when we pop a buffer, otherwise
3571           collectpads only works when there is 2 input streams.
3573 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3575         * docs/random/ensonic/media-device-daemon.txt:
3576           more ideas (dbus)
3577         * gst/gstbuffer.c:
3578           fix doc example, add clarification
3579         * tools/gst-launch.1.in:
3580           add initial info about GST_PLUGIN_PATH, needs more work
3582 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3584         * docs/manual/basics-bins.xml:
3585         * docs/manual/basics-elements.xml:
3586         * docs/manual/intro-basics.xml:
3587           Some more minor docs additions and updates.
3589 2006-01-11  Wim Taymans  <wim@fluendo.com>
3591         * docs/manual/basics-bins.xml:
3592         * docs/manual/basics-elements.xml:
3593         Some small fixes as pointed out by Ser-ver on IRC.
3595 2006-01-10  Edward Hervey  <edward@fluendo.com>
3597         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3598         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3599         the single-segment mode.
3601 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3603         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3605         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3606         (gst_base_src_perform_seek), (gst_base_src_send_event),
3607         (gst_base_src_set_property), (gst_base_src_get_property),
3608         (gst_base_src_loop), (gst_base_src_start),
3609         (gst_base_src_activate_push):
3610         * libs/gst/base/gstbasesrc.h:
3611           Name (private) union; makes Sun's Forte compiler happy (#324900).
3613 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3615         * README:
3616           gst-register is gone.
3618 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3620         * gst/gstvalue.c: (_gst_value_initialize):
3621           make the G_TYPE_DATE instantiation work if debug is disabled
3623 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3625         * gst/gstmessage.c: (gst_message_parse_tag),
3626         (gst_message_parse_error), (gst_message_parse_warning):
3627           Don't crash when return location for error/warning debug
3628           string is NULL; add fact that return locations can be
3629           NULL to docs where appropriate.
3631 2006-01-05  Wim Taymans  <wim@fluendo.com>
3633         * gst/gstplugin.c: (gst_plugin_load_file):
3634         Replace strdup by g_strdup.
3636 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3638         * docs/pwg/advanced-types.xml:
3639           fix doc borkage
3641 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3643         submitted by: Abel Cheung
3645         * po/LINGUAS:
3646         * po/zh_TW.po:
3647           Added Chinese (traditional) translation
3649 2006-01-04  Wim Taymans  <wim@fluendo.com>
3651         * docs/manual/basics-pads.xml:
3652         * docs/plugins/Makefile.am:
3653         * docs/plugins/gstreamer-plugins-docs.sgml:
3654         * docs/plugins/gstreamer-plugins-sections.txt:
3655         * docs/pwg/advanced-clock.xml:
3656         * docs/pwg/advanced-scheduling.xml:
3657         * docs/pwg/advanced-types.xml:
3658         * plugins/elements/gstfdsink.c:
3659         * plugins/elements/gstfdsrc.c:
3660         * plugins/elements/gstfdsrc.h:
3661         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3662         * plugins/elements/gstidentity.h:
3663         * plugins/elements/gstqueue.h:
3664         * plugins/elements/gsttee.c:
3665         * plugins/elements/gsttee.h:
3666         * plugins/elements/gsttypefindelement.c:
3667         (gst_type_find_element_class_init):
3668         * plugins/elements/gsttypefindelement.h:
3669         Small updates to various docs.
3670         Added core plugins to docs.
3672 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3674         * common/gst.supp:
3675           add a suppression for liboil's uninitialized variable
3677 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3679         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3681         * gst/gstutils.h:
3682           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3683           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3684           compiler switch is being used (#325429).
3686 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3688         * gst/gstbin.c: (gst_bin_query):
3689           Disable duration query caching in bins until it gets
3690           fixed (see #324807).
3692 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3694         * tools/gst-inspect.c: (print_element_properties_info):
3695           Handle properties of POINTER and BOXED type.
3697 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3699         * gst/gst.c: (init_post):
3700           Init tags stuff and some other things before loading
3701           any static plugins (there may be other static plugins
3702           than just the GStreamer ones, and they may want to
3703           register their own tags or formats or whatever, and
3704           preferably without segfaulting).
3706         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3707           Print at least a warning in the debug logs if we drop a
3708           query just because we don't know how to adjust the value
3709           in the particular format.
3711 2005-12-24  David Schleef  <ds@schleef.org>
3713         * tools/gstreamer-completion:
3714           Replacement for gst-complete written in sh and sed.  Only
3715           completes names of features, but that's 90% of what I want
3716           it for.  Properties are not available in registry.xml.  (Maybe
3717           they should be...)
3719 === release 0.10.1 ===
3721 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3723         * configure.ac:
3724           releasing 0.10.1, "Nollaig chridheil"
3726 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3728         * docs/faq/cvs.xml:
3729           Add missing quote, should be make ERROR_CFLAGS="".
3731 2005-12-20  Wim Taymans  <wim@fluendo.com>
3733         * docs/design/part-trickmodes.txt:
3734         More documentation on trickmodes.
3736 2005-12-20  Edward Hervey  <edward@fluendo.com>
3738         * gst/gstcaps.c: (gst_static_caps_get_type):
3739         * gst/gstcaps.h:
3740           API addition: GST_TYPE_STATIC_CAPS
3741         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3742         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3743         * gst/gstpadtemplate.h:
3744           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3745         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3746         bindings.
3748 2005-12-18  Wim Taymans  <wim@fluendo.com>
3750         * libs/gst/base/gstadapter.c:
3751         * libs/gst/base/gstadapter.h:
3752         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3753         (gst_base_sink_get_position):
3754         * libs/gst/base/gstbasesink.h:
3755         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3756         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3757         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3758         (gst_base_src_send_event), (gst_base_src_update_length),
3759         (gst_base_src_get_range), (gst_base_src_loop),
3760         (gst_base_src_start):
3761         * libs/gst/base/gstbasesrc.h:
3762         * libs/gst/base/gstbasetransform.h:
3763         * libs/gst/base/gstcollectpads.h:
3764         * libs/gst/base/gstpushsrc.c:
3765         * libs/gst/base/gstpushsrc.h:
3766         * libs/gst/dataprotocol/dataprotocol.c:
3767         * libs/gst/dataprotocol/dataprotocol.h:
3768         * libs/gst/net/gstnetclientclock.h:
3769         * libs/gst/net/gstnettimeprovider.h:
3770         Documentation updates.
3772 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3774         * docs/manual/basics-helloworld.xml:
3775           Remove superfluous closing bracket in helloworld example.
3777 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3779         * tools/gst-launch.1.in:
3780           Update gst-launch man page; add a section with useful
3781           environment variables. Fixes #323882.
3783 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
3785         * gst/gst.c:
3786         * gst/gst_private.h:
3787           change some char* into char[]
3789 2005-12-16  Wim Taymans  <wim@fluendo.com>
3791         * gst/gstregistryxml.c: (load_feature):
3792         Cleanups.
3793         Don't use g_object_unref on GstObjects so that we avoid
3794         leaks on unsafe glibs.
3796 2005-12-16  Wim Taymans  <wim@fluendo.com>
3798         * gst/gstbin.c: (gst_bin_recalc_state):
3799         Small doc updates.
3801 2005-12-16  Wim Taymans  <wim@fluendo.com>
3803         * common/check.mak:
3804         Added make forever target for check.
3806 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3808         * gst/gst.c: (init_post):
3809           make the registry cache file HOST_CPU-dependent
3811 2005-12-16  Andy Wingo  <wingo@pobox.com>
3813         * plugins/elements/gstbufferstore.c
3814         (gst_buffer_store_cleared_func): Pay attention to g_list_append
3815         return value.
3817         * tests/check/gst/gstobject.c
3818         (test_fake_object_name_threaded_unique): Pay attention to
3819         g_list_sort return value.
3821 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3823         * tools/gst-feedback-m.m:
3824           Update for 0.9/0.10 (fixes #323870).
3826 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
3828         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3829           Fix lcopy for mini objects, the mini object needs to be ref'ed.
3830           
3831         * tests/check/gst/gstminiobject.c: (my_foo_init),
3832         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3833         (test_value_collection), (gst_mini_object_suite):
3834           Add test to ensure refcounts end up as expected when passing
3835           GstMiniObjects through g_object_get() and g_object_set().
3837 2005-12-14  Julien MOUTTE  <julien@moutte.net>
3839         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3840         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
3841         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
3842         of collectpads. This version removes a lot of races without
3843         touching API/ABI. Yay !
3845 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
3847         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
3848           Don't allow activation of a srcpad in pull_range if it has no
3849           getrange function.
3850           Change some debug statements to be a little clearer
3852         * plugins/elements/gsttypefindelement.c:
3853         (gst_type_find_handle_src_query):
3854           Check that we have a peer before executing queries thereupon.
3856         * tests/examples/metadata/read-metadata.c: (message_loop):
3857           Use gst_bus_pop instead of gst_bus_poll when we just want it to
3858           immediately return us any available message with 0 timeout.
3860 2005-12-12  Michael Smith  <msmith@fluendo.com>
3862         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3863           Don't unref factories after calling them.
3864         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
3865         * plugins/elements/gsttypefindelement.c:
3866         (gst_type_find_element_chain):
3867           Free lists of factories after using them. Fixing typefinding memory
3868           leaks.
3870 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3872         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3873         (gst_plugin_feature_load):
3874           more meaningful debug output
3875         * configure.ac:
3876         * tests/Makefile.am:
3877         * tests/old/examples/Makefile.am:
3878           make make distcheck happy again
3880 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3882         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3883           Catch the special case where we are operating chain-based,
3884           but the downstream peer pad has no chain function. Emit a
3885           custom error message in this case instead of letting the
3886           core generate one implying that this is some sort of core
3887           bug. It's not, it just means that whatever got plugged
3888           into the pipeline downstream when we announced the type
3889           can only operate pull-based, while our source can only
3890           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3891           Error string has not been marked for translation yet, as
3892           it probably needs some more work first.
3894         (gst_type_find_element_get_best_possibility):
3895           Add helper function to find the best of all available
3896           found possibilities that qualify given the min. threshold.
3898         (gst_type_find_element_handle_event):
3899           Fix the case where we get an EOS while still in TYPEFIND
3900           mode (we want to chose the best of all possible types,
3901           not just the first type that happens to be in our unsorted
3902           list of possible types).
3904         (gst_type_find_element_chain):
3905           Make sure we return GST_FLOW_ERROR when we errored out
3906           in stop_typefinding(); also, don't just find the best of
3907           all found type entries and then use the last examined
3908           type entry, but actually use the best entry.
3910 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3912         * tests/examples/typefind/typefind.c: (type_found):
3913         * tests/examples/xml/runxml.c: (xml_loaded):
3914           More gcc4 fixes and a mem leak fix.
3916 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3918         * tests/examples/xml/createxml.c: (object_saved):
3919           gcc 4 fixes
3921 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3923         * tests/Makefile.am:
3924           enable the examples even more
3926 2005-12-12  Andy Wingo  <wingo@pobox.com>
3928         * libs/gst/net/gstnettimeprovider.c
3929         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3930         (gst_net_time_provider_set_property)
3931         (gst_net_time_provider_get_property):
3932         API addition: Export "active" as a GObject property.
3933         (gst_net_time_provider_thread): Only respond to time queries if
3934         the time provider is active.
3936         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
3937         NetTimeProvider, preserving binary compat.
3939 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3941         * tests/examples/controller/audio-example.c: (main):
3942         * tests/examples/launch/Makefile.am:
3943           convert comments again
3945 2005-12-12  Wim Taymans  <wim@fluendo.com>
3947         * libs/gst/base/gstpushsrc.c:
3948         Fix typo.
3950 2005-12-12  Wim Taymans  <wim@fluendo.com>
3952         * docs/libs/gstreamer-libs-sections.txt:
3953         Added new symbol to docs.
3955         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3956         (gst_base_src_init), (gst_base_src_set_format),
3957         (gst_base_src_default_query), (gst_base_src_query),
3958         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
3959         (gst_base_src_perform_seek), (gst_base_src_send_event),
3960         (gst_base_src_default_event), (gst_base_src_event_handler),
3961         (gst_base_src_set_property), (gst_base_src_get_property),
3962         (gst_base_src_wait), (gst_base_src_do_sync),
3963         (gst_base_src_update_length), (gst_base_src_get_range),
3964         (gst_base_src_check_get_range), (gst_base_src_loop),
3965         (gst_base_src_default_negotiate), (gst_base_src_start),
3966         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3967         (gst_base_src_change_state):
3968         * libs/gst/base/gstbasesrc.h:
3969         Implement seeking to other formats than _BYTES.
3970         Implement more seeking methods correctly.
3971         Doc updates.
3972         Added query vmethod.
3973         Added do_seek vmethod to make life easier for subclasses
3974         when seeking.
3975         API addition: gst_base_src_set_format()
3977 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3979         * tests/examples/Makefile.am:
3980           added that too
3982 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3984         * configure.ac:
3985         * docs/random/ensonic/media-device-daemon.txt:
3986         * tests/examples/controller/.cvsignore:
3987         * tests/examples/controller/Makefile.am:
3988         * tests/examples/controller/audio-example.c: (main):
3989         * tests/examples/helloworld/.cvsignore:
3990         * tests/examples/helloworld/Makefile.am:
3991         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
3992         * tests/examples/launch/.cvsignore:
3993         * tests/examples/launch/Makefile.am:
3994         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
3995         * tests/examples/metadata/.cvsignore:
3996         * tests/examples/metadata/Makefile.am:
3997         * tests/examples/metadata/read-metadata.c: (message_loop),
3998         (make_pipeline), (print_tag), (main):
3999         * tests/examples/queue/.cvsignore:
4000         * tests/examples/queue/Makefile.am:
4001         * tests/examples/queue/queue.c: (event_loop), (main):
4002         * tests/examples/typefind/.cvsignore:
4003         * tests/examples/typefind/Makefile.am:
4004         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4005         (main):
4006         * tests/examples/xml/.cvsignore:
4007         * tests/examples/xml/Makefile.am:
4008         * tests/examples/xml/createxml.c: (object_saved), (main):
4009         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4010         * tests/old/examples/Makefile.am:
4011         * tests/old/examples/TODO:
4012         * tests/old/examples/controller/.cvsignore:
4013         * tests/old/examples/controller/Makefile.am:
4014         * tests/old/examples/controller/audio-example.c:
4015         * tests/old/examples/helloworld/.cvsignore:
4016         * tests/old/examples/helloworld/Makefile.am:
4017         * tests/old/examples/helloworld/helloworld.c:
4018         * tests/old/examples/launch/.cvsignore:
4019         * tests/old/examples/launch/Makefile.am:
4020         * tests/old/examples/launch/mp3parselaunch.c:
4021         * tests/old/examples/launch/mp3play:
4022         * tests/old/examples/manual/Makefile.am:
4023         * tests/old/examples/metadata/Makefile.am:
4024         * tests/old/examples/metadata/read-metadata.c:
4025         * tests/old/examples/queue/.cvsignore:
4026         * tests/old/examples/queue/Makefile.am:
4027         * tests/old/examples/queue/queue.c:
4028         * tests/old/examples/typefind/.cvsignore:
4029         * tests/old/examples/typefind/Makefile.am:
4030         * tests/old/examples/typefind/typefind.c:
4031         * tests/old/examples/xml/.cvsignore:
4032         * tests/old/examples/xml/Makefile.am:
4033         * tests/old/examples/xml/createxml.c:
4034         * tests/old/examples/xml/runxml.c:
4035           applied some simple fixing to some examples
4036           re-enabled the working examples
4038 2005-12-12  Wim Taymans  <wim@fluendo.com>
4040         * gst/gstsegment.c: (gst_segment_init),
4041         (gst_segment_set_last_stop), (gst_segment_set_seek),
4042         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4043         (gst_segment_to_running_time):
4044         Added more documentation.
4045         Make sure the last_pos value is updated properly.
4046         Make sure to_stream_time and to_running_time don't
4047         operate on wrong values.
4049         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4050         Update check.
4052 2005-12-12  Michael Smith  <msmith@fluendo.com>
4054         * plugins/elements/gsttypefindelement.c: (free_entry),
4055         (gst_type_find_element_chain):
4056           Now that we're not leaking factories, make sure we keep references
4057           to them while we need them.
4059 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4061         * tests/check/gst/struct_i386.h:
4062           ifdef out the XML structs
4064 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4066         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4067           floor is not needed, F is always positive; this obviates the
4068           need for adding -lm when building without libxml
4070 2005-12-12  Wim Taymans  <wim@fluendo.com>
4072         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4073         Take current playback rate into account when reporting
4074         the position.
4076 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4078         * docs/manual/mime-world.fig:
4079           Let's try this again, this time with a file that is
4080           actually in XFig format.
4082 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4084         * docs/manual/mime-world.fig:
4085           Add audioconvert element to diagram so that it
4086           matches the text and the code (fixes #319526).
4088 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4090         * docs/pwg/building-chainfn.xml:
4091         * docs/pwg/building-pads.xml:
4092         * docs/pwg/building-state.xml:
4093         * docs/pwg/other-source.xml:
4094           Update state change stuff for 0.10 (fixes #322969).
4096 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4098         * docs/manual/advanced-dataaccess.xml:
4099         * docs/manual/appendix-checklist.xml:
4100         * docs/manual/appendix-programs.xml:
4101         * docs/manual/basics-pads.xml:
4102         * docs/manual/highlevel-components.xml:
4103         * docs/manual/manual.xml:
4104           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4105           add converters in front of pipelines; remove curly
4106           brackets for threads stuff, they no longer exist; use
4107           GST_TYPE_FRACTION for framerates; update some pieces of
4108           code to 0.10, but there's plenty more to do.
4110         * docs/manual/appendix-porting.xml:
4111           Expand on asynchroneous state changes; s/0.9/0.10/;
4112           mention disappearance of gst_init_get_popt_table()
4113           (fixes #322916).
4115 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4117         * docs/faq/using.xml:
4118           Spider no longer exists, and neither does gst-launch-ext.
4119           Update examples to use decodebin and playbin and put
4120           converters in front of sinks (fixes #323726).
4122 2005-12-09  Michael Smith  <msmith@fluendo.com>
4124         * plugins/elements/gsttypefindelement.c: (find_peek),
4125         (gst_type_find_element_chain):
4126           Fix leaking element factories in typefinding.
4127           Fix problem where we forgot about a probable type on non-seekable
4128           files, and thus later mis-typefound it.
4130 2005-12-09  Michael Smith  <msmith@fluendo.com>
4132         * common/m4/gst-makecontext.m4:
4133         * common/m4/gst-mcsc.m4:
4134         * configure.ac:
4135         * win32/common/config.h:
4136         * win32/common/config.h.in:
4137           Remove makecontext stuff; not used in 0.10 and causes problems on
4138           HPUX according to bug #322441
4140 2005-12-07  Wim Taymans  <wim@fluendo.com>
4142         * tests/check/Makefile.am:
4143         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4144         (main):
4145         * tests/check/libs/struct_i386.h:
4146         Added ABI check for libs
4148 2005-12-07  Wim Taymans  <wim@fluendo.com>
4150         * tests/check/Makefile.am:
4151         And add the struct_i386.h to dist.
4153 2005-12-07  Wim Taymans  <wim@fluendo.com>
4155         * tests/check/Makefile.am:
4156         * tests/check/gst/.cvsignore:
4157         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4158         (main):
4159         * tests/check/gst/struct_i386.h:
4160         Added check for ABI compatibility.
4162 2005-12-07  Wim Taymans  <wim@fluendo.com>
4164         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4165         (gst_fake_src_get_times), (gst_fake_src_create):
4166         Fix broken sync option, fixes #323259
4168 2005-12-07  Wim Taymans  <wim@fluendo.com>
4170         * gst/gstbuffer.c:
4171         Small docs update.
4173         * gst/gstcaps.c: (gst_caps_is_equal):
4174         Don't assert on NULL <--> X. Fixes #323260
4176         * gst/gstminiobject.c: (gst_mini_object_replace):
4177         If we're doing atomic operations, we might just as well use
4178         the proper way to get an atomic pointer.
4180         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4181         Clean up debugging.
4183 2005-12-07  Michael Smith  <msmith@fluendo.com>
4185         * gst/parse/grammar.y:
4186           Remove handling of { } for threads.
4188 2005-12-06  David Schleef  <ds@schleef.org>
4190         * libs/gst/base/gstbasetransform.c: speling fix.
4192 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4194         * docs/libs/tmpl/gstdataprotocol.sgml:
4195         * docs/random/omega/testing/gstobject.c:
4196         * gst/gst.c:
4197         * gst/gstclock.c:
4198         * gst/gstelement.c:
4199         * gst/gstelementfactory.c:
4200         * gst/gsterror.c:
4201         * gst/gstevent.c:
4202         * gst/gstghostpad.c:
4203         * gst/gstinfo.c:
4204         * gst/gstpadtemplate.c:
4205         * gst/gstregistryxml.c:
4206         * gst/gsttaglist.c:
4207         * gst/gsttagsetter.c:
4208         * gst/gsttypefind.c:
4209         * gst/gstvalue.c:
4210         * libs/gst/base/gstbasesrc.c:
4211         * libs/gst/net/gstnetclientclock.c:
4212         * libs/gst/net/gstnettimeprovider.c:
4213         * plugins/elements/gstfakesrc.c:
4214         * plugins/elements/gstfdsrc.c:
4215         * plugins/elements/gstfilesrc.c:
4216         * plugins/elements/gstidentity.c:
4217         * plugins/elements/gstqueue.c:
4218         * plugins/elements/gsttypefindelement.c:
4219         * plugins/indexers/gstfileindex.c:
4220         * plugins/indexers/gstmemindex.c:
4221         * tests/check/gst/gsttag.c:
4222         * tests/old/examples/cutter/cutter.c:
4223         * tests/old/examples/mixer/mixer.c:
4224         * tests/old/examples/xml/runxml.c: (main):
4225         * tests/old/testsuite/caps/normalisation.c:
4226         * tests/old/testsuite/debug/global.c:
4227         * tests/old/testsuite/parse/parse1.c:
4228         * tools/gst-xmlinspect.c:
4229         * win32/common/dirent.c:
4230           expand tabs
4232 === release 0.10.0 ===
4234 2005-12-05   <thomas (at) apestaart (dot) org>
4236         * configure.ac:
4237           releasing 0.10.0, "Maroilles"
4239 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4241         submitted by: Funda Wang <fundawang@linux.net.cn>
4243         * po/LINGUAS:
4244         * po/zh_CN.po:
4245           added Chinese (Traditional) translation
4247 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4249         * docs/gst/gstreamer-sections.txt:
4250         * docs/libs/tmpl/gstdataprotocol.sgml:
4251         * docs/random/thomasvs/TODO:
4252         * gst/gstutils.c:
4253         * gst/gstutils.h:
4254           fix docs
4256 2005-12-05  Andy Wingo  <wingo@pobox.com>
4258         patch by: Wim Taymans <wim@fluendo.com>
4260         * libs/gst/base/gstbasetransform.c
4261         (gst_base_transform_prepare_output_buf)
4262         (gst_base_transform_buffer_alloc):
4263         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4264         alloc_buffer_and_set_caps.
4266         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4267         set_caps on the source pad.
4268         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4269         alloc_buffer used to do. Fixes #322874.
4271         * docs/gst/gstreamer-sections.txt: 
4272         * docs/design/part-negotiation.txt: 
4273         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4274         changes.
4276 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4278         patch by: Sebastien Moutte
4280         * win32/MANIFEST:
4281         * win32/common/config.h.in:
4282         * win32/vs6/libgstcontroller.dsp:
4283           win32 build fixes
4285 2005-12-05  Wim Taymans  <wim@fluendo.com>
4287         * gst/gstcaps.c: (gst_caps_is_equal):
4288         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4289         (gst_fake_src_create):
4290         Back out previous code changes, leave doc updates, file bugs 
4291         instead. 
4293 2005-12-05  Wim Taymans  <wim@fluendo.com>
4295         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4296         (gst_fake_src_get_times), (gst_fake_src_create):
4297         * plugins/elements/gstfakesrc.h:
4298         Fix broken sync code.
4300 2005-12-05  Wim Taymans  <wim@fluendo.com>
4302         * gst/gstcaps.c: (gst_caps_is_equal):
4303         Comparing NULL against !NULL yields different caps, not a
4304         failure.
4306 2005-12-05  Wim Taymans  <wim@fluendo.com>
4308         * gst/gstpipeline.c:
4309         Fix small typo in docs.
4311 2005-12-05  Andy Wingo  <wingo@pobox.com>
4313         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4315         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4316         registries/plugins with a MAJORMINOR one.
4317         (plugin_desc): Rename library from gstcoreleements to
4318         staticelements. Fixes #323222.
4320 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4322         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4323           Change debug category to 'collectpads' from 'collect_pads'
4324           (fixes #323250).
4326 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4328         patch by: Sebastien Moutte
4330         * libs/gst/controller/gstinterpolation.c:
4331           use convert function for uint64/double
4332         * win32/vs6/libgstcontroller.dsp:
4333           link to GLib
4335 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4337         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4338         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4339         * gst/gstutils.h:
4340         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4341           add tests that seem to show that the guint64/gdouble conversions
4342           are correct.
4344 2005-12-02  Wim Taymans  <wim@fluendo.com>
4346         * gst/gstregistry.c: (gst_registry_add_path):
4347         * gst/gstregistry.h:
4348         * gst/gstregistryxml.c:
4349         Fix docs again.
4351 2005-12-02  Wim Taymans  <wim@fluendo.com>
4353         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4354         (gst_util_uint64_scale_int):
4355         Small cleanup.
4357         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4358         Add debug log line.
4360         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4361         Add FIXME.
4363 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4365         * win32/MANIFEST:
4366         * win32/common/config.h:
4367         * win32/vs6/gstreamer.dsw:
4368         * win32/vs6/libgstcoreelements.dsp:
4369         * win32/vs6/libgstelements.dsp:
4370           renamed core elements plugin
4372 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4374         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4375         (get_candidates):
4376           do piece-wise major/minor comparison so 0.9 < 0.10
4377           also allow .exe extensions for tools
4379 2005-12-02  Michael Smith  <msmith@fluendo.com>
4381         * gst/gst.c:
4382           Escape a % to make gtkdoc happier; bug 322958.
4384 === release 0.9.7 ===
4386 2005-12-01   <thomas (at) apestaart (dot) org>
4388         * configure.ac:
4389           releasing 0.9.7, "My Dog Has No Nose"
4391 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4393         * common/gst-xmlinspect.py:
4394         * configure.ac:
4395         * docs/libs/tmpl/gstdataprotocol.sgml:
4396         * docs/random/release:
4397         * po/af.po:
4398         * po/az.po:
4399         * po/bg.po:
4400         * po/ca.po:
4401         * po/cs.po:
4402         * po/de.po:
4403         * po/en_GB.po:
4404         * po/fr.po:
4405         * po/it.po:
4406         * po/nb.po:
4407         * po/nl.po:
4408         * po/ru.po:
4409         * po/sq.po:
4410         * po/sr.po:
4411         * po/sv.po:
4412         * po/tr.po:
4413         * po/uk.po:
4414         * po/vi.po:
4415         * win32/common/config.h:
4416         * win32/common/config.h.in:
4417         * win32/vs6/gst_inspect.dsp:
4418         * win32/vs6/gst_launch.dsp:
4419         * win32/vs6/libgstbase.dsp:
4420         * win32/vs6/libgstelements.dsp:
4421         * win32/vs6/libgstreamer.dsp:
4422         * win32/vs7/GStreamer.vcproj:
4423         * win32/vs7/gst-inspect.vcproj:
4424         * win32/vs7/gst-launch.vcproj:
4425         * win32/vs7/libgstbase.vcproj:
4426           bump GST_MAJORMINOR to 0.10
4427           reset libtool version
4429 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4431         * po/LINGUAS:
4432         * po/bg.po:
4433           Added Bulgarian translation by (Alexander Shopov)
4435 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4437         * tests/check/gst/gstplugin.c:
4438           fix test
4440 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4442         * common/gst-xmlinspect.py:
4443         * common/gtk-doc-plugins.mak:
4444         * configure.ac:
4445         * docs/Makefile.am:
4446         * docs/gst/Makefile.am:
4447         * docs/gst/gstreamer-docs.sgml:
4448         * docs/gst/gstreamer-sections.txt:
4449         * docs/gst/gstreamer.types:
4450         * docs/gst/gstreamer.types.in:
4451         * docs/plugins/Makefile.am:
4452         * docs/plugins/gstreamer-plugins-docs.sgml:
4453         * docs/plugins/gstreamer-plugins-sections.txt:
4454         * docs/plugins/gstreamer-plugins.types:
4455         * docs/plugins/inspect.stamp:
4456         * docs/plugins/inspect/plugin-coreelements.xml:
4457         * docs/plugins/inspect/plugin-coreindexers.xml:
4458         * docs/plugins/scanobj-build.stamp:
4459         * gstreamer.spec.in:
4460         * plugins/elements/Makefile.am:
4461         * plugins/elements/gstelements.c:
4462         * plugins/elements/gstfakesink.c:
4463         * plugins/elements/gstfakesrc.c:
4464         * plugins/elements/gstfilesink.c:
4465         * plugins/elements/gstfilesrc.c:
4466         * plugins/elements/gstqueue.c:
4467         * plugins/indexers/Makefile.am:
4468         * plugins/indexers/gstindexers.c:
4469           document core plugins in a separate document just like all the
4470           others
4471           rename these plugins to something starting with core
4473 2005-12-01  Andy Wingo  <wingo@pobox.com>
4475         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4476         padding here before, but it missed the commit.
4478 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4480         * libs/gst/controller/gstinterpolation.c:
4481           whitespace prices have crashed, we should feel free to use some now
4482           use gst_guint64_to_gdouble
4484 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4486         * libs/gst/controller/gstcontroller.c:
4487         * libs/gst/controller/gsthelper.c:
4488         * libs/gst/controller/gstinterpolation.c:
4489         * libs/gst/controller/lib.c:
4490           wrap config.h include
4492 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4494         * docs/gst/gstreamer-sections.txt:
4495           update docs
4497 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4499         * plugins/elements/gstelements.c:
4500         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4501         (gst_fd_sink__class_init), (gst_fd_sink__init),
4502         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4503         (gst_fd_sink__get_property):
4504         * plugins/elements/gstfdsink.h:
4505         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4506         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4507         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4508         (gst_fd_src_unlock), (gst_fd_src_set_property),
4509         (gst_fd_src_get_property), (gst_fd_src_create),
4510         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4511         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4512         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4513         (gst_fd_src_uri_handler_init):
4514         * plugins/elements/gstfdsrc.h:
4515         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4516           more anal cleanup
4518 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4520         * docs/gst/Makefile.am:
4521         * docs/gst/gstreamer.types.in:
4522         * gst/Makefile.am:
4523           fix the docs build
4525 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4527         * configure.ac:
4528         * gst/Makefile.am:
4529         * gst/gst.c:
4530         * gst/gstplugin.h:
4531         * gst/gstregistry.h:
4532         * tests/benchmarks/complexity.c:
4533         * tests/benchmarks/mass-elements.c:
4534         * tests/check/Makefile.am:
4535         * tools/Makefile.am:
4536         * tools/gst-inspect.c:
4537         * tools/gst-xmlinspect.c:
4538           various fixes to make
4539           --disable-nls --disable-registry --disable-loadsave
4540           --disable-parse --disable-gst-debug
4541           work and get the core .so down to 360444 bytes after stripping
4543 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4545         * Makefile.am:
4546         * configure.ac:
4547           descend into tests
4548         * docs/random/thomasvs/TODO:
4549         * tests/Makefile.am:
4550         * tests/README:
4551           add a README
4553 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4555         * win32/GStreamer.vcproj:
4556         * win32/MANIFEST:
4557         * win32/Makefile:
4558         * win32/Makefile.inspect:
4559         * win32/Makefile.launch:
4560         * win32/Makefile.register:
4561         * win32/README.txt:
4562         * win32/gst-inspect.vcproj:
4563         * win32/gst-launch.vcproj:
4564         * win32/gst-register.vcproj:
4565         * win32/gstelements.vcproj:
4566         * win32/gstgetbits.def:
4567         * win32/gstgetbits.vcproj:
4568         * win32/gstreamer-dbg.def:
4569         * win32/gstreamer.def:
4570         * win32/libgstbase.def:
4571         * win32/libgstbase.vcproj:
4572         * win32/link_oldruntime.c:
4573         * win32/mman.c:
4574         * win32/mman.h:
4575         * win32/mman.inl:
4576         * win32/msvc71.sln:
4577           move even more stuff, win32/ is nice and clean now
4579 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4581         * libs/gst/control/.cvsignore:
4582         * win32/MANIFEST:
4583         * win32/config.h:
4584         * win32/dirent.c:
4585         * win32/dirent.h:
4586         * win32/gstbytestream.def:
4587         * win32/gstbytestream.vcproj:
4588         * win32/gstconfig.h:
4589         * win32/gstenumtypes.c:
4590         * win32/gstenumtypes.h:
4591         * win32/gstoptimalscheduler.vcproj:
4592         * win32/gstversion.h:
4593         * win32/gtchar.h:
4594         * win32/testsuite/bins.vcproj:
4595         * win32/testsuite/bytestream.vcproj:
4596         * win32/testsuite/caps.vcproj:
4597         * win32/testsuite/cleanup.vcproj:
4598         * win32/testsuite/clock.vcproj:
4599         * win32/testsuite/debug.vcproj:
4600         * win32/testsuite/dlopen.vcproj:
4601         * win32/testsuite/dynparams.vcproj:
4602         * win32/testsuite/elements.vcproj:
4603         * win32/testsuite/ghostpads.vcproj:
4604         * win32/testsuite/indexers.vcproj:
4605         * win32/testsuite/negotiation.vcproj:
4606         * win32/testsuite/parse.vcproj:
4607         * win32/testsuite/plugin.vcproj:
4608         * win32/testsuite/refcounting.vcproj:
4609         * win32/testsuite/schedulers.vcproj:
4610         * win32/testsuite/states.vcproj:
4611         * win32/testsuite/tags.vcproj:
4612         * win32/testsuite/threads.vcproj:
4613           remove old win32 stuff that isn't maintained and should be
4614           reorganized
4616 2005-11-30  Andy Wingo  <wingo@pobox.com>
4618         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4619         loading the gst.interfaces python module bork.
4621         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4622         available since GLib 2.2. Fixes #318031.
4624 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4626         * Makefile.am:
4627         * check/.cvsignore:
4628         * check/Makefile.am:
4629         * check/elements/.cvsignore:
4630         * check/elements/fakesrc.c:
4631         * check/elements/fdsrc.c:
4632         * check/elements/identity.c:
4633         * check/generic/.cvsignore:
4634         * check/generic/states.c:
4635         * check/gst-libs/.cvsignore:
4636         * check/gst-libs/controller.c:
4637         * check/gst-libs/gdp.c:
4638         * check/gst/.cvsignore:
4639         * check/gst/capslist.h:
4640         * check/gst/gst.c:
4641         * check/gst/gstbin.c:
4642         * check/gst/gstbuffer.c:
4643         * check/gst/gstbus.c:
4644         * check/gst/gstcaps.c:
4645         * check/gst/gstelement.c:
4646         * check/gst/gstevent.c:
4647         * check/gst/gstghostpad.c:
4648         * check/gst/gstiterator.c:
4649         * check/gst/gstmessage.c:
4650         * check/gst/gstminiobject.c:
4651         * check/gst/gstobject.c:
4652         * check/gst/gstpad.c:
4653         * check/gst/gstpipeline.c:
4654         * check/gst/gstplugin.c:
4655         * check/gst/gstsegment.c:
4656         * check/gst/gststructure.c:
4657         * check/gst/gstsystemclock.c:
4658         * check/gst/gsttag.c:
4659         * check/gst/gstutils.c:
4660         * check/gst/gstvalue.c:
4661         * check/net/.cvsignore:
4662         * check/net/gstnetclientclock.c:
4663         * check/net/gstnettimeprovider.c:
4664         * check/pipelines/.cvsignore:
4665         * check/pipelines/cleanup.c:
4666         * check/pipelines/simple_launch_lines.c:
4667         * check/pipelines/stress.c:
4668         * check/states/.cvsignore:
4669         * check/states/sinks.c:
4670         * configure.ac:
4671         * examples/Makefile.am:
4672         * examples/appreader/.cvsignore:
4673         * examples/appreader/Makefile.am:
4674         * examples/appreader/appreader.c:
4675         * examples/controller/.cvsignore:
4676         * examples/controller/Makefile.am:
4677         * examples/controller/audio-example.c:
4678         * examples/cutter/.cvsignore:
4679         * examples/cutter/Makefile.am:
4680         * examples/cutter/cutter.c:
4681         * examples/cutter/cutter.h:
4682         * examples/events/Makefile.am:
4683         * examples/events/seek.c:
4684         * examples/helloworld/.cvsignore:
4685         * examples/helloworld/Makefile.am:
4686         * examples/helloworld/helloworld.c:
4687         * examples/helloworld2/.cvsignore:
4688         * examples/helloworld2/Makefile.am:
4689         * examples/helloworld2/helloworld2.c:
4690         * examples/launch/.cvsignore:
4691         * examples/launch/Makefile.am:
4692         * examples/launch/mp3parselaunch.c:
4693         * examples/launch/mp3play:
4694         * examples/manual/.cvsignore:
4695         * examples/manual/Makefile.am:
4696         * examples/manual/extract.pl:
4697         * examples/metadata/Makefile.am:
4698         * examples/metadata/read-metadata.c:
4699         * examples/mixer/.cvsignore:
4700         * examples/mixer/Makefile.am:
4701         * examples/mixer/mixer.c:
4702         * examples/mixer/mixer.h:
4703         * examples/pingpong/.cvsignore:
4704         * examples/pingpong/Makefile.am:
4705         * examples/pingpong/pingpong.c:
4706         * examples/plugins/.cvsignore:
4707         * examples/plugins/Makefile.am:
4708         * examples/plugins/example.c:
4709         * examples/plugins/example.h:
4710         * examples/pwg/.cvsignore:
4711         * examples/pwg/Makefile.am:
4712         * examples/pwg/extract.pl:
4713         * examples/queue/.cvsignore:
4714         * examples/queue/Makefile.am:
4715         * examples/queue/queue.c:
4716         * examples/queue2/.cvsignore:
4717         * examples/queue2/Makefile.am:
4718         * examples/queue2/queue2.c:
4719         * examples/queue3/.cvsignore:
4720         * examples/queue3/Makefile.am:
4721         * examples/queue3/queue3.c:
4722         * examples/queue4/.cvsignore:
4723         * examples/queue4/Makefile.am:
4724         * examples/queue4/queue4.c:
4725         * examples/retag/.cvsignore:
4726         * examples/retag/Makefile.am:
4727         * examples/retag/retag.c:
4728         * examples/retag/transcode.c:
4729         * examples/thread/.cvsignore:
4730         * examples/thread/Makefile.am:
4731         * examples/thread/thread.c:
4732         * examples/typefind/.cvsignore:
4733         * examples/typefind/Makefile.am:
4734         * examples/typefind/typefind.c:
4735         * examples/xml/.cvsignore:
4736         * examples/xml/Makefile.am:
4737         * examples/xml/createxml.c:
4738         * examples/xml/runxml.c:
4739         * tests/Makefile.am:
4740         * tests/check/Makefile.am:
4741         * testsuite/.cvsignore:
4742         * testsuite/Makefile.am:
4743         * testsuite/Rules:
4744         * testsuite/caps/.cvsignore:
4745         * testsuite/caps/Makefile.am:
4746         * testsuite/caps/app_fixate.c:
4747         * testsuite/caps/audioscale.c:
4748         * testsuite/caps/caps.c:
4749         * testsuite/caps/caps.h:
4750         * testsuite/caps/caps_strings:
4751         * testsuite/caps/compatibility.c:
4752         * testsuite/caps/deserialize.c:
4753         * testsuite/caps/enumcaps.c:
4754         * testsuite/caps/eratosthenes.c:
4755         * testsuite/caps/filtercaps.c:
4756         * testsuite/caps/fixed.c:
4757         * testsuite/caps/fraction-convert.c:
4758         * testsuite/caps/fraction-multiply-and-zero.c:
4759         * testsuite/caps/intersect2.c:
4760         * testsuite/caps/intersection.c:
4761         * testsuite/caps/normalisation.c:
4762         * testsuite/caps/random.c:
4763         * testsuite/caps/renegotiate.c:
4764         * testsuite/caps/sets.c:
4765         * testsuite/caps/simplify.c:
4766         * testsuite/caps/string-conversions.c:
4767         * testsuite/caps/structure.c:
4768         * testsuite/caps/subtract.c:
4769         * testsuite/caps/union.c:
4770         * testsuite/debug/.cvsignore:
4771         * testsuite/debug/Makefile.am:
4772         * testsuite/debug/category.c:
4773         * testsuite/debug/commandline.c:
4774         * testsuite/debug/global.c:
4775         * testsuite/debug/output.c:
4776         * testsuite/debug/printf_extension.c:
4777         * testsuite/dlopen/.cvsignore:
4778         * testsuite/dlopen/Makefile.am:
4779         * testsuite/dlopen/dlopen_gst.c:
4780         * testsuite/dlopen/loadgst.c:
4781         * testsuite/elements/.cvsignore:
4782         * testsuite/elements/Makefile.am:
4783         * testsuite/elements/gst-inspect-check.in:
4784         * testsuite/elements/struct_i386.h:
4785         * testsuite/elements/struct_size.c:
4786         * testsuite/indexers/.cvsignore:
4787         * testsuite/indexers/Makefile.am:
4788         * testsuite/indexers/cache1.c:
4789         * testsuite/indexers/indexdump.c:
4790         * testsuite/parse/.cvsignore:
4791         * testsuite/parse/Makefile.am:
4792         * testsuite/parse/parse1.c:
4793         * testsuite/parse/parse2.c:
4794         * testsuite/plugin/.cvsignore:
4795         * testsuite/plugin/Makefile.am:
4796         * testsuite/plugin/README:
4797         * testsuite/plugin/dynamic.c:
4798         * testsuite/plugin/linked.c:
4799         * testsuite/plugin/loading.c:
4800         * testsuite/plugin/registry.c:
4801         * testsuite/plugin/static.c:
4802         * testsuite/plugin/static2.c:
4803         * testsuite/plugin/testplugin.c:
4804         * testsuite/plugin/testplugin2.c:
4805         * testsuite/plugin/testplugin2_s.c:
4806         * testsuite/plugin/testplugin_s.c:
4807         * testsuite/refcounting/.cvsignore:
4808         * testsuite/refcounting/Makefile.am:
4809         * testsuite/refcounting/bin.c:
4810         * testsuite/refcounting/element.c:
4811         * testsuite/refcounting/element_pad.c:
4812         * testsuite/refcounting/mainloop.c:
4813         * testsuite/refcounting/mem.c:
4814         * testsuite/refcounting/mem.h:
4815         * testsuite/refcounting/object.c:
4816         * testsuite/refcounting/pad.c:
4817         * testsuite/refcounting/sched.c:
4818         * testsuite/refcounting/thread.c:
4819         * testsuite/states/.cvsignore:
4820         * testsuite/states/Makefile.am:
4821         * testsuite/states/bin.c:
4822         * testsuite/states/locked.c:
4823         * testsuite/states/parent.c:
4824         * testsuite/threads/.cvsignore:
4825         * testsuite/threads/159566.c:
4826         * testsuite/threads/159852.c:
4827         * testsuite/threads/Makefile.am:
4828         * testsuite/threads/queue.c:
4829         * testsuite/threads/signals.c:
4830         * testsuite/threads/staticrec.c:
4831         * testsuite/threads/thread.c:
4832         * testsuite/threads/threadb.c:
4833         * testsuite/threads/threadc.c:
4834         * testsuite/threads/threadd.c:
4835         * testsuite/threads/threade.c:
4836         * testsuite/threads/threadf.c:
4837         * testsuite/threads/threadg.c:
4838         * testsuite/threads/threadh.c:
4839         * testsuite/threads/threadi.c:
4840           move all of these under tests
4842 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4844         * configure.ac:
4845         * tests/Makefile.am:
4846           fix distcheck
4848 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4850         * docs/gst/gstreamer-sections.txt:
4851         * tests/sched/.cvsignore:
4852         * tests/sched/Makefile.am:
4853         * tests/sched/cases/(fs-fs).xml:
4854         * tests/sched/cases/(fs-i-fs).xml:
4855         * tests/sched/cases/(fs-i-i-fs).xml:
4856         * tests/sched/cases/(fs-i-q[i-fs]).xml:
4857         * tests/sched/dynamic-pipeline.c:
4858         * tests/sched/interrupt1.c:
4859         * tests/sched/interrupt2.c:
4860         * tests/sched/interrupt3.c:
4861         * tests/sched/runtestcases:
4862         * tests/sched/runxml.c:
4863         * tests/sched/sched-stress.c:
4864         * tests/sched/sort.c:
4865         * tests/sched/testcases:
4866         * tests/sched/testcases1.tc:
4867         * tests/seeking/.cvsignore:
4868         * tests/seeking/Makefile.am:
4869         * tests/seeking/seeking1.c:
4870         * tests/threadstate/.cvsignore:
4871         * tests/threadstate/Makefile.am:
4872         * tests/threadstate/test1.c:
4873         * tests/threadstate/test2.c:
4874         * tests/threadstate/threadstate1.c:
4875         * tests/threadstate/threadstate2.c:
4876         * tests/threadstate/threadstate3.c:
4877         * tests/threadstate/threadstate4.c:
4878         * tests/threadstate/threadstate5.c:
4879           remove obsolete tests
4880         * configure.ac:
4881         * tests/bench-complexity.scm:
4882         * tests/bench-mass_elements.scm:
4883         * tests/complexity.c:
4884         * tests/complexity.gnuplot:
4885         * tests/instantiate/.cvsignore:
4886         * tests/instantiate/Makefile.am:
4887         * tests/instantiate/caps.c:
4888         * tests/mass_elements.c:
4889         * tests/network-clock-utils.scm:
4890         * tests/network-clock.scm:
4891         * tests/plot-data:
4892         First pass at cleaning up tests/ dir before moving the rest
4893         Combined with CVS surgery
4895 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4897         * po/POTFILES.in:
4898           queue has moved, update
4900 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4902         * docs/gst/gstreamer-sections.txt:
4903           remove double entries from the docs
4904         * gst/gst_private.h:
4905         * gst/gstinfo.c: (_gst_debug_init):
4906           remove the THREAD debug category
4907         * gst/Makefile.am:
4908         * gst/gstqueue.c:
4909         * gst/gstqueue.h:
4910         * docs/gst/gstreamer.types:
4911         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4912         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4913           completely move queue and fix up debugging categories
4915 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4917         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4918           make initialization portable, using LL is not
4920 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4922         * win32/common/gstconfig.h:
4923           add large padding
4925 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4927         * win32/common/libgstreamer.def:
4928           rename symbols; sort base section
4930 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4932         * gst/gstclock.c: (do_linear_regression):
4933           remove crack non-portable handrolled DEBUG macro
4935 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4937         * docs/random/release:
4938           update notes
4939         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4940         (gst_object_flags_get_type), (register_gst_bin_flags),
4941         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4942         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4943         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4944         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
4945         (gst_caps_flags_get_type), (register_gst_clock_return),
4946         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4947         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4948         (gst_clock_flags_get_type), (register_gst_state),
4949         (gst_state_get_type), (register_gst_state_change_return),
4950         (gst_state_change_return_get_type), (register_gst_state_change),
4951         (gst_state_change_get_type), (register_gst_element_flags),
4952         (gst_element_flags_get_type), (register_gst_core_error),
4953         (gst_core_error_get_type), (register_gst_library_error),
4954         (gst_library_error_get_type), (register_gst_resource_error),
4955         (gst_resource_error_get_type), (register_gst_stream_error),
4956         (gst_stream_error_get_type), (register_gst_event_type_flags),
4957         (gst_event_type_flags_get_type), (register_gst_event_type),
4958         (gst_event_type_get_type), (register_gst_seek_type),
4959         (gst_seek_type_get_type), (register_gst_seek_flags),
4960         (gst_seek_flags_get_type), (register_gst_format),
4961         (gst_format_get_type), (register_gst_index_certainty),
4962         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4963         (gst_index_entry_type_get_type),
4964         (register_gst_index_lookup_method),
4965         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4966         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4967         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4968         (gst_index_flags_get_type), (register_gst_debug_level),
4969         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4970         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4971         (gst_iterator_result_get_type), (register_gst_iterator_item),
4972         (gst_iterator_item_get_type), (register_gst_message_type),
4973         (gst_message_type_get_type), (register_gst_mini_object_flags),
4974         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4975         (gst_pad_link_return_get_type), (register_gst_flow_return),
4976         (gst_flow_return_get_type), (register_gst_activate_mode),
4977         (gst_activate_mode_get_type), (register_gst_pad_direction),
4978         (gst_pad_direction_get_type), (register_gst_pad_flags),
4979         (gst_pad_flags_get_type), (register_gst_pad_presence),
4980         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4981         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4982         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4983         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4984         (gst_plugin_flags_get_type), (register_gst_rank),
4985         (gst_rank_get_type), (register_gst_query_type),
4986         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4987         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4988         (gst_tag_flag_get_type), (register_gst_task_state),
4989         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4990         (gst_alloc_trace_flags_get_type),
4991         (register_gst_type_find_probability),
4992         (gst_type_find_probability_get_type), (register_gst_uri_type),
4993         (gst_uri_type_get_type), (register_gst_parse_error),
4994         (gst_parse_error_get_type):
4995         * win32/common/gstenumtypes.h:
4996         * win32/common/gstversion.h:
4997           update visual studio generated files
4999 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5001         * win32/vs6/libgstbase.dsp:
5002         * win32/vs6/libgstelements.dsp:
5003           update project files for new locations
5005 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5007         * Makefile.am:
5008           remove some files
5009         * README:
5010           reinstate and update
5011         * DEVEL:
5012         * REQUIREMENTS:
5013           removed
5014         * LICENSE:
5015         * docs/random/LICENSE:
5016           moved to random
5018 2005-11-30  Edward Hervey  <edward@fluendo.com>
5020         * gst/gsttypefind.c: (gst_type_find_register):
5021         * gst/gsttypefind.h:
5022         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5023         (gst_type_find_factory_dispose):
5024         * gst/gsttypefindfactory.h:
5025         Fix memory leak in GstTypeFindFactory.
5027 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5029         * gst/gst.c:
5030         * plugins/elements/Makefile.am:
5031         * plugins/elements/gstelements.c:
5032         * plugins/elements/gstqueue.c:
5033           move queue from core to the elements plugin
5035 2005-11-29  Andy Wingo  <wingo@pobox.com>
5037         * libs/gst/base/gstbasetransform.h: 
5038         * libs/gst/base/gstbasesrc.h: 
5039         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5041         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5042         of pointers by which to pad very extensible base classes (like the
5043         ones in libs/gst/base).
5045 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5047         * docs/gst/gstreamer-docs.sgml:
5048         * docs/gst/gstreamer-sections.txt:
5049         * docs/libs/gstreamer-libs-docs.sgml:
5050         * docs/libs/gstreamer-libs-sections.txt:
5051           moving documentation from core to lib
5053 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5055         * check/Makefile.am:
5056         * configure.ac:
5057         * docs/gst/Makefile.am:
5058         * gst/Makefile.am:
5059         * gst/base/.cvsignore:
5060         * gst/base/Makefile.am:
5061         * gst/base/README:
5062         * gst/base/gstadapter.c:
5063         * gst/base/gstadapter.h:
5064         * gst/base/gstbasesink.c:
5065         * gst/base/gstbasesink.h:
5066         * gst/base/gstbasesrc.c:
5067         * gst/base/gstbasesrc.h:
5068         * gst/base/gstbasetransform.c:
5069         * gst/base/gstbasetransform.h:
5070         * gst/base/gstcollectpads.c:
5071         * gst/base/gstcollectpads.h:
5072         * gst/base/gstpushsrc.c:
5073         * gst/base/gstpushsrc.h:
5074         * gst/base/gsttypefindhelper.c:
5075         * gst/base/gsttypefindhelper.h:
5076         * gst/check/Makefile.am:
5077         * gst/check/gstcheck.c:
5078         * gst/check/gstcheck.h:
5079         * gst/net/Makefile.am:
5080         * gst/net/gstnet.h:
5081         * gst/net/gstnetclientclock.c:
5082         * gst/net/gstnetclientclock.h:
5083         * gst/net/gstnettimepacket.c:
5084         * gst/net/gstnettimepacket.h:
5085         * gst/net/gstnettimeprovider.c:
5086         * gst/net/gstnettimeprovider.h:
5087         * libs/gst/Makefile.am:
5088         * libs/gst/base/Makefile.am:
5089         * libs/gst/base/gstbasetransform.c:
5090         * libs/gst/check/Makefile.am:
5091         * plugins/elements/Makefile.am:
5092         * po/POTFILES.in:
5093           CVS surgery + support to move base, check, and net out of gst
5094           and into libs/gst
5096 2005-11-29  Andy Wingo  <wingo@pobox.com>
5098         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5100         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5101         padding.
5103         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5105         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5107         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5109         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5110         padding; reduces object size by about 30%. We don't expect
5111         anything else to go into gstobject.
5113         * gst/gstminiobject.h (struct _GstMiniObject)
5114         (struct _GstMiniObjectClass): Only one pointer of padding; the
5115         payload is only a pointer and two ints anyway. For the class there
5116         are only two methods as well.
5117         
5118         * gst/gstelement.h (struct _GstElementClass): Removed
5119         the state_changed signal callback, it is not used.
5121 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5123         * docs/gst/gstreamer.types:
5124           fix includes, though they are a little dinky
5126 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5128         * check/Makefile.am:
5129           look in the right place for elements, a lot more chance of
5130           success
5131         * gst/Makefile.am:
5132           remove indexers and elements subdirs
5133         * plugins/Makefile.am:
5134           make indexers conditional
5136 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5138         * Makefile.am:
5139         * configure.ac:
5140         * plugins/elements/Makefile.am:
5141         * plugins/elements/gstcapsfilter.c:
5142         * plugins/elements/gstfilesink.c:
5143         * plugins/elements/gstfilesrc.c:
5144         * plugins/elements/gstidentity.c:
5145         * plugins/indexers/Makefile.am:
5146           do CVS surgery and related build fixery to move elements
5147           and indexers in a new gstreamer/plugins directory, out of the
5148           gst/ directory
5150 2005-11-29  Andy Wingo  <wingo@pobox.com>
5152         * check/Makefile.am:
5153         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5154         * pkgconfig/gstreamer-net.pc.in:
5155         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5156         #322257.
5158 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5160         * tools/Makefile.am:
5161         * tools/gst-complete.1.in:
5162         * tools/gst-complete.c:
5163         * tools/gst-compprep.1.in:
5164         * tools/gst-compprep.c:
5165           removing -compprep and -complete
5167 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5169         * gst/gstevent.c: (gst_event_new_new_segment),
5170         (gst_event_parse_new_segment):
5171         * gst/gstevent.h:
5172           fix #320529 - clean up new_segment API and structure.
5173           Let's hope everyone was using the methods, and not the structure.
5175 2005-11-29  Edward Hervey  <edward@fluendo.com>
5177         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5178         (gst_base_sink_event), (gst_base_sink_do_sync),
5179         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5180         Properly handle non GST_FORMAT_TIME segment
5181         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5182         Properly handle non GST_FORMAT_TIME segment
5183         * gst/gstsegment.c:
5184         This function is valid if the accumulator is 0 and the format
5185         is different from the requested format.
5186         
5187 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5189         * docs/gst/gstreamer-sections.txt:
5190         Add gst_query_new_seeking and gst_query_parse_seeking to the
5191         docs.
5193 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5195         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5196           Treat a pad alloc with new caps the same as if we were not
5197           negotiated, in order to allow a changing upstream output
5198           to produce a new format of data.
5200 2005-11-29  Edward Hervey  <edward@fluendo.com>
5202         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5203         (gst_base_transform_event), (gst_base_transform_eventfunc):
5204         The event virtual method is now properly implemented, with a default
5205         handler
5206         Sub classes should call the parent_class event method. They should
5207         return FALSE if they had a problem handling the given event, or don't
5208         want GstBaseTransform to send that even downstream
5209         * gst/elements/gstidentity.c: (gst_identity_class_init),
5210         (gst_identity_init), (gst_identity_event),
5211         (gst_identity_transform_ip), (gst_identity_set_property),
5212         (gst_identity_get_property):
5213         * gst/elements/gstidentity.h:
5214         Added the single-segment boolean property.
5215         If set to TRUE, it will output a single segment of data, starting from
5216         0, will eat up all incoming newsegment, and modify the timestamp of the
5217         buffers accordingly
5219 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5221         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5222           Don't ref NULL target pad (#322751). Improve docs.
5224 2005-11-29  Michael Smith  <msmith@fluendo.com>
5226         * gst/gstregistryxml.c: (load_plugin):
5227           Don't crash if we failed to load a feature from a plugin. 
5229 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5231         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5232         (GST_START_TEST):
5233           use more check API and less GLib API
5235 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5237         * Makefile.am:
5238           don't run checks if we don't have check
5239         * common/check.mak:
5240           remove the registry when running make torture
5241         * docs/gst/gstreamer-sections.txt:
5242           remove second multiply
5243         * gst/gstqueue.c: (gst_queue_loop):
5244           fix a compile warning when disabling debug
5246 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5248         * gst/gstinfo.h:
5249         Hey! Let's print the pad name if the pointer != NULL instead
5250         of when it == NULL :-)
5252 2005-11-28  Wim Taymans  <wim@fluendo.com>
5254         * check/gst/gstutils.c: (GST_START_TEST):
5255         Updated check, add some scaling accuracy checking code.
5257         * gst/gstutils.c: (gst_util_div128_64),
5258         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5259         (gst_util_uint64_scale_int):
5260         Fix 6 times faster division code. Optimize for common 
5261         1/1 and less common X/1 cases.
5263 2005-11-28  Wim Taymans  <wim@fluendo.com>
5265         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5266         More checks.
5268         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5269         (do_linear_regression), (gst_clock_add_observation):
5270         Cleanups.
5271         Release lock when the clock cannot be slaved.
5272         Catch the case where the regression returned an invalid denominator.
5274         * gst/gstutils.c: (gst_util_div128_64_iterate),
5275         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5276         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5277         Add protentially more performant non-iterative 128/64 divide function
5278         that unfortunatly does not work yet.
5279         Shortcut the trivial 0/X = 0 case.
5280         Remove the warnings on overflow.
5282 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5284         * gst/gstplugin.c: (gst_plugin_register_func):
5285           everything causing a plugin not to load should be at least a WARNING
5287 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5289         * docs/random/ensonic/dparams.txt:
5290           some TODOs for the next dev cycle
5291         * libs/gst/controller/gstcontroller.c:
5292         (gst_controlled_property_set_interpolation_mode),
5293         (gst_controlled_property_new):
5294         * libs/gst/controller/gstcontroller.h:
5295           use base type to assign acccessor functions
5297 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5299         * check/Makefile.am:
5300         Oops, that should have been top_srcdir
5302 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5304         * check/Makefile.am:
5305         * check/elements/fdsrc.c: (GST_START_TEST):
5306         Use a cmdline define to specify the location of a file to use for
5307         testing, to avoid breaking distcheck.
5309 2005-11-28  Andy Wingo  <wingo@pobox.com>
5311         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5313 2005-11-28  Edward Hervey  <edward@fluendo.com>
5315         * tools/gst-launch.c: (main):
5316         Clarify the output strings, makes it easier to translate.
5317         Fixes #322626
5319 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5321         * gst/Makefile.am:
5322           don't try and build net if we don't even have <sys/socket.h>
5324 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5326         * check/Makefile.am:
5327         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5328         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5329           Add tests for fdsrc seekability
5331         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5332         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5333         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5334         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5335         * gst/elements/gstfdsrc.h:
5336           fdsrc should not be a 'live' source.
5337           Implement seeking on seekable fd's.
5339         * gst/gstquery.c: (gst_query_new_seeking),
5340         (gst_query_parse_seeking):
5341         * gst/gstquery.h:
5342           Implement SEEKING query functions: 
5343             *_new_seeking and *_parse_seeking
5345 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5347         * gst/gstelement.c: (gst_element_dispose):
5348           don't loop forever
5350         * gst/gstiterator.c:
5351         * gst/gststructure.c:
5352           doc fixes
5354         * libs/gst/controller/gstcontroller.c:
5355         (gst_controlled_property_set_interpolation_mode):
5356         * libs/gst/controller/gstcontroller.h:
5357         * libs/gst/controller/gstinterpolation.c:
5358         (interpolate_none_get_enum_value_array):
5359           support controlling enums
5361 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5363         * gst/gstvalue.c:
5364           Improve documentation for gst_value_union().
5366         * gst/gstvalue.h:
5367           Change return value for union, intersect and subtract functions
5368           from gint to gboolean.
5370 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5372         * gst/gstvalue.c: (gst_value_serialize_any_list),
5373         (gst_value_transform_any_list_string),
5374         (gst_value_deserialize_list), (gst_value_deserialize_array),
5375         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5376         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5377         (gst_value_set_fraction_range_full),
5378         (gst_value_deserialize_fraction_range),
5379         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5380         (gst_value_deserialize_boolean),
5381         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5382         (gst_value_serialize_float), (gst_value_deserialize_float),
5383         (gst_string_wrap), (gst_value_deserialize_string),
5384         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5385         (gst_value_union_int_range_int_range),
5386         (gst_value_intersect_int_range_int_range),
5387         (gst_value_intersect_double_range_double_range),
5388         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5389         (gst_value_subtract_int_range_int_range),
5390         (gst_value_subtract_double_double_range),
5391         (gst_value_subtract_double_range_double_range),
5392         (gst_value_deserialize_fraction):
5393         * gst/gstvalue.h:
5394           Use gint, gdouble and gchar in our API instead of int, double and
5395           char (and make usage in gstvalue.c more consistent).
5397 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5399         * check/Makefile.am:
5400         * libs/gst/controller/Makefile.am:
5401         * libs/gst/dataprotocol/Makefile.am:
5402           fix up Makefile.am and remove GST_ENABLE_NEW
5404 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5406         * configure.ac:
5407         * gst/Makefile.am:
5408         * gst/base/Makefile.am:
5409         * gst/check/Makefile.am:
5410         * gst/elements/Makefile.am:
5411         * gst/net/Makefile.am:
5412           update LDFLAGS use some more
5414 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5416         * common/m4/gst-doc.m4:
5417           Fixes #312589
5419 2005-11-26  Edward Hervey  <edward@fluendo.com>
5421         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5422         This shouldn't issue a g_warning since it returns NULL if it
5423         couldn't find the plugin, and all functions using this behave
5424         properly on a NULL return. Switching to a GST_WARNING.
5426 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5428         * gst/gstbin.c: (gst_bin_handle_message_func):
5429         Don't leak clock messages.
5431 2005-11-25  Wim Taymans  <wim@fluendo.com>
5433         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5434         (gst_util_uint64_scale_int):
5435         Optimisations, remove unneeded vars.
5437 2005-11-25  Wim Taymans  <wim@fluendo.com>
5439         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5440         Added more checks for the high precision uint64 cases.
5442         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5443         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5444         Implement high precision (guint64 * guint64) / guint64.
5446 2005-11-24  Wim Taymans  <wim@fluendo.com>
5448         * gst/base/gstbasesrc.c: (gst_base_src_query):
5449         Fix wrong percentage query.
5451         * gst/gstutils.c: (gst_util_uint64_scale),
5452         (gst_util_uint64_scale_int):
5453         Add some more common cases that can be handled 
5454         efficiently to _scale.
5456 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5458         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5459         (gst_mini_object_suite):
5460           don't use check calls from threads; check probably isn't
5461           threadsafe and using a lock to make it threadsafe would
5462           defeat the purpose of this check
5463         * gst/check/gstcheck.c:
5464         * gst/check/gstcheck.h:
5465           use GST_DEBUG some more
5467 2005-11-24  Wim Taymans  <wim@fluendo.com>
5469         * gst/gstutils.c: (gst_util_uint64_scale),
5470         (gst_util_uint64_scale_int):
5471         Chain trivial case to _scale_int.
5473 2005-11-24  Wim Taymans  <wim@fluendo.com>
5475         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5476         Added test for scaling.
5478         * gst/gstclock.h:
5479         Small doc fix.
5481         * gst/gstutils.c: (gst_util_uint64_scale_int):
5482         Implemented high precision scaling code.
5484 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5486         * gst/gstinfo.h:
5487           do not crash on pad==NULL
5489 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5491         Patch by: Stefan Kost
5493         * common/gtk-doc.mak:
5494         * docs/gst/Makefile.am:
5495         * docs/libs/Makefile.am:
5496           Fix distcheck issues for the libraries docs build
5497           Closes #319599.
5499 2005-11-24  Michael Smith <msmith@fluendo.com>
5501         * docs/manual/basics-helloworld.xml:
5502           Fix bug #315027: memory leak in example code in docs.
5504 2005-11-24  Michael Smith <msmith@fluendo.com>
5506         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5507           Unlock the PREROLL_LOCK in a failure case.
5509 2005-11-24  Wim Taymans  <wim@fluendo.com>
5511         * docs/gst/gstreamer-sections.txt:
5512         * gst/base/gstadapter.h:
5513         * gst/base/gstbasesink.h:
5514         * gst/base/gstbasesrc.h:
5515         * gst/base/gstbasetransform.h:
5516         * gst/base/gstpushsrc.h:
5517         * gst/elements/gstfakesink.h:
5518         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5519         * gst/elements/gstfakesrc.h:
5520         * gst/elements/gstfilesink.h:
5521         * gst/elements/gstfilesrc.h:
5522         * gst/gst.c:
5523         * gst/gstbin.c:
5524         * gst/gstbuffer.c: (_gst_buffer_copy):
5525         * gst/gstbus.h:
5526         * gst/gstcaps.c:
5527         * gst/gstchildproxy.c:
5528         * gst/gstclock.c:
5529         * gst/gstelement.c:
5530         * gst/gstelementfactory.c:
5531         * gst/gstelementfactory.h:
5532         * gst/gstevent.c:
5533         * gst/gstghostpad.h:
5534         * gst/gstindex.h:
5535         * gst/gstinterface.h:
5536         * gst/gstminiobject.c:
5537         * gst/gstminiobject.h:
5538         * gst/gstpad.c:
5539         * gst/gstpad.h:
5540         * gst/gstpadtemplate.h:
5541         * gst/gstpipeline.h:
5542         * gst/gstpluginfeature.h:
5543         * gst/gstquery.h:
5544         * gst/gstqueue.h:
5545         * gst/gsttaglist.c:
5546         * gst/gsttaglist.h:
5547         * gst/gsttagsetter.c:
5548         * gst/gsttagsetter.h:
5549         * gst/gsttrace.c:
5550         * gst/gsttrace.h:
5551         * gst/gsttypefind.h:
5552         * gst/gsturi.h:
5553         * gst/gstvalue.c:
5554         * gst/net/gstnetclientclock.c:
5555         * gst/net/gstnetclientclock.h:
5556         * gst/net/gstnettimepacket.c:
5557         * gst/net/gstnettimeprovider.c:
5558         * gst/net/gstnettimeprovider.h:
5559         Doc fixes.
5561 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5563         * configure.ac: back to HEAD
5565 === release 0.9.6 ===
5567 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5569         * configure.ac:
5570           releasing 0.9.6, "Always On Time"
5572 2005-11-23  Wim Taymans  <wim@fluendo.com>
5574         * docs/gst/gstreamer-sections.txt:
5575         * gst/glib-compat.c:
5576         * gst/gsttagsetter.c:
5577         * gst/gstvalue.c:
5578         * gst/net/gstnetclientclock.c:
5579         * gst/net/gstnettimepacket.h:
5580         Doc updates.
5582 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5584         * docs/faq/using.xml:
5585         * docs/libs/tmpl/gstcontrol.sgml:
5586         * docs/manual/advanced-dparams.xml:
5587         * docs/manual/appendix-checklist.xml:
5588         * docs/manual/basics-elements.xml:
5589         * docs/pwg/other-source.xml:
5590         * docs/random/moving-plugins:
5591         * gst/gstpad.c:
5592         * tools/gst-launch.1.in:
5593           remove mentions of sinesrc
5595 2005-11-23  Michael Smith <msmith@fluendo.com>
5597         * docs/gst/gstreamer-sections.txt:
5598           Update for new API and API changes.
5599         * gst/gstobject.h:
5600           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5601         * gst/gstvalue.c:
5602           Documentation typo fix.
5603         * gst/net/gstnettimepacket.c:
5604           Documentation fixes for arguments.
5606 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5608         * gst/gststructure.c: (gst_structure_get_fraction),
5609         (gst_structure_parse_value),
5610         (gst_structure_fixate_field_nearest_fraction):
5611         * gst/gststructure.h:
5612         * gst/gstutils.c: (gst_util_uint64_scale_int):
5613         * gst/gstutils.h:
5614         * scripts/update-funcnames:
5615         API Changes. 
5616         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5617         Make gst_structure_fixate_field_nearest_fraction take a numerator
5618         and denominator argument instead of a GValue
5619         add gst_structure_get_fraction helper function.
5621 2005-11-23  Wim Taymans  <wim@fluendo.com>
5623         * docs/design/part-TODO.txt:
5624         Update TODO.
5626         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5627         * gst/net/gstnetclientclock.h:
5628         Use parent fields for timeout and window_size.
5630 2005-11-23  Andy Wingo  <wingo@pobox.com>
5632         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5633         rate_num/rate_denom change.
5635         * gst/net/gstnetclientclock.c
5636         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5637         OBJECT_LOCK. Don't call add_observation with the lock.
5639         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5640         fraction.
5641         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5642         rate fraction.
5643         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5644         deal with rate as a fraction whose numerator and denominator are
5645         GstClockTime values.
5646         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5647         master; the other fields are protected by the SLAVE_LOCK.
5648         (do_linear_regression): Note that this must be called with the
5649         SLAVE_LOCK.
5650         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5651         OBJECT_LOCK. Call set_calibration instead of touching the
5652         variables directly.
5653         (gst_clock_set_property, gst_clock_get_property): Protect
5654         master/slave parameters with the SLAVE_LOCK.
5656         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5657         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5658         note that all of the instance variables that add_observation and
5659         the set_master functions use are protected by that lock and not
5660         the OBJECT_LOCK.
5661         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5663         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5664         the caller to take the object lock.
5666 2005-11-23  Wim Taymans  <wim@fluendo.com>
5668         * gst/gsterror.c: (_gst_core_errors_init):
5669         * gst/gsterror.h:
5670         Add error for clock stuff.
5672         * gst/gstpipeline.c: (gst_pipeline_change_state),
5673         (gst_pipeline_set_clock):
5674         Post clock error when clock cannot be used in a pipeline.
5676 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5678         * docs/gst/gstreamer-sections.txt:
5679           make two symbols from gstinfo private for the docs
5680         * gst/base/gstcollectpads.h:
5681         * gst/gstutils.c:
5682           fix doc typos, update docs
5684 2005-11-22  Wim Taymans  <wim@fluendo.com>
5686         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5687         (gst_base_sink_wait), (gst_base_sink_do_sync),
5688         (gst_base_sink_handle_event):
5689         * gst/base/gstbasesink.h:
5690         No need to store the clock, the parent element class already
5691         has it.
5693         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5694         Updates for clock_set returning a gboolean
5696         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5697         (gst_clock_id_wait_async), (gst_clock_class_init),
5698         (gst_clock_init), (gst_clock_finalize),
5699         (gst_clock_get_internal_time), (gst_clock_get_time),
5700         (gst_clock_slave_callback), (gst_clock_set_master),
5701         (gst_clock_get_master), (do_linear_regression),
5702         (gst_clock_add_observation), (gst_clock_set_property),
5703         (gst_clock_get_property):
5704         * gst/gstclock.h:
5705         Implement master/slave. When setting a clock as a slave, a
5706         periodic timeout is scheduled to sample master and slave times.
5707         Then the slave clock is recalibrated to match offset and rate
5708         of the master clock.
5709         Update logging a bit.
5710         Add flag so that a clock can state that is cannot be slaved to
5711         another clock.
5713         * gst/gstelement.c: (gst_element_set_clock):
5714         * gst/gstelement.h:
5715         The set clock returns a gboolean for when an element cannot
5716         deal with the selected clock in the pipeline. 
5718         * gst/gstpipeline.c: (gst_pipeline_change_state),
5719         (gst_pipeline_set_clock):
5720         * gst/gstpipeline.h:
5721         Handle the case where the selected clock cannot be set on
5722         the pipeline.
5724         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5725         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5726         (gst_net_client_clock_set_property),
5727         (gst_net_client_clock_get_property),
5728         (gst_net_client_clock_observe_times):
5729         * gst/net/gstnetclientclock.h:
5730         Use regression code in GstClock parent, remove duplicated
5731         functionality.
5733 2005-11-22  Michael Smith <msmith@fluendo.com>
5735         * gst/gstutils.c: (gst_util_clock_time_scale):
5736         * gst/gstutils.h:
5737         * docs/gst/gstreamer-sections.txt:
5738           Rename method to have extra underscore.
5740 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5742         * gst/elements/Makefile.am:
5743         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5744         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5745         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5746         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5747         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5748         * gst/elements/gstfakesrc.h:
5749         * gst/gstqueue.c: (queue_leaky_get_type):
5750           correctly fix GEnumValues so that nick is the short lowercase
5751           dashed tag
5752         * tools/gst-inspect.c: (print_element_properties_info):
5753           also show the nick, since it's useful to use from parse_launch
5754           syntax
5755           Fixes #322139
5757 2005-11-22  Michael Smith <msmith@fluendo.com>
5759         * gst/gstutils.c: (gst_util_clocktime_scale):
5760         * gst/gstutils.h:
5761         * docs/gst/gstreamer-sections.txt:
5762           Add util method for scaling a clocktime by a fraction. Useful 
5763           implementation is left as an exercise for the reader.
5765 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5767         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5768         If needed, allocate storage in the destination value during
5769         collection.
5771 2005-11-22  Edward Hervey  <edward@fluendo.com>
5773         * docs/gst/gstreamer-sections.txt:
5774         * gst/Makefile.am:
5775         * gst/gst.h:
5776         * gst/gsturitype.c:
5777         * gst/gsturitype.h:
5778         * gst/gstutils.c: (gst_util_set_object_arg):
5779         * tools/gst-compprep.c: (main):
5780         * tools/gst-inspect.c: (print_element_properties_info):
5781         Removed GstURI, closes bug #321061
5783 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5785         * check/gst/gststructure.c: (GST_START_TEST):
5786         * gst/gststructure.c: (gst_structure_parse_value):
5787           Oops, broke automatic string type parsing.
5788           Add a test to catch it in future.
5790 2005-11-22  Andy Wingo  <wingo@pobox.com>
5792         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
5793         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5794         Actually rename the function implementations. Grr.
5796 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5798         * check/gst/capslist.h:
5799           Comment test cases
5800         * check/gst/gststructure.c: (GST_START_TEST),
5801         (gst_structure_suite):
5802           Test automatic value type detection in gst_structure_from_string.
5803         * gst/gststructure.c: (gst_structure_parse_value):
5804           Add fraction as a type we try and guess automatically in
5805           caps/structure strings.
5807 2005-11-22  Andy Wingo  <wingo@pobox.com>
5809         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5811         * gst/gsttagsetter.h:
5812         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5813         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5814         (gst_tag_setter_add_tag_valist)
5815         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5816         _add_values, _add_valist, and _add_valist_values. Since this is an
5817         interface the function suffixes should be more explicit so
5818         language binding don't end up with element.add_valist ->
5819         gst_tag_setter_add_valist, for example. Fixes #322069.
5821 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5823         * check/gst/gstcaps.c: (GST_START_TEST):
5824           Extend caps string tests to check that a caps to string
5825           conversion is reversible and produces the same caps.
5827         * gst/gststructure.c: (gst_structure_value_get_generic_type):
5828           Output "fraction" as the generic type fraction range, so caps
5829           serialisation and deserialisation works.
5830         * check/gst/capslist.h:
5831         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5832           Support 'MIN' and 'MAX' for deserialising fractions.
5834 2005-11-22  Andy Wingo  <wingo@pobox.com>
5836         * gst/gstevent.h (gst_event_new_new_segment)
5837         (gst_event_parse_new_segment, gst_event_new_buffer_size)
5838         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
5839         Renamed from *_newsegment, *_buffersize, *_notarget.
5841         * scripts/update-funcnames: New script, performs the changes
5842         listed above.
5844 2005-11-22  Wim Taymans  <wim@fluendo.com>
5846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5847         Make sure the GstFlowReturn is returned.
5849         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
5850         (gst_bus_add_signal_watch):
5851         * gst/gstbus.h:
5852         add gst_bus_add_signal_watch_full.
5854         * gst/gstplugin.c: (gst_plugin_load_file):
5855         Small style cleanup.
5857 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5859         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
5860           Block the fakesrc srcpad when we send an event, to avoid
5861           contention on the stream_lock causing random test failures.
5863 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5865         * check/gst/gstvalue.c: (GST_START_TEST):
5866         * gst/gstvalue.c: (gst_value_fraction_subtract):
5867           Fix subtraction.
5869 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
5871         * gst/gst.h:
5872           include "gstchildproxy.h"
5873         * gst/gstchildproxy.h:
5874         * libs/gst/controller/gstcontroller.h:
5875           use G_GNUC_NULL_TERMINATED
5877 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5879         * check/gst/capslist.h:
5880         * check/gst/gstcaps.c: (GST_START_TEST):
5881         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5882         * gst/gststructure.c: (gst_structure_parse_range),
5883         (gst_structure_fixate_field_nearest_fraction):
5884         * gst/gststructure.h:
5885         * gst/gstvalue.c: (gst_value_init_fraction_range),
5886         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5887         (gst_value_collect_fraction_range),
5888         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5889         (gst_value_set_fraction_range_full),
5890         (gst_value_get_fraction_range_min),
5891         (gst_value_get_fraction_range_max),
5892         (gst_value_serialize_fraction_range),
5893         (gst_value_transform_fraction_range_string),
5894         (gst_value_compare_fraction_range),
5895         (gst_value_deserialize_fraction_range),
5896         (gst_value_intersect_fraction_fraction_range),
5897         (gst_value_intersect_fraction_range_fraction_range),
5898         (gst_value_subtract_fraction_fraction_range),
5899         (gst_value_subtract_fraction_range_fraction),
5900         (gst_value_subtract_fraction_range_fraction_range),
5901         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5902         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5903         (gst_value_transform_string_fraction), (_gst_value_initialize):
5904         * gst/gstvalue.h:
5905           Implement fraction ranges and extend GstFraction to support
5906           arithmetic subtraction, as well as deserialization from integer
5907           strings such as "100"
5908           Add a testsuite as for int and double range set operations
5910 2005-11-21  Andy Wingo  <wingo@pobox.com>
5912         * gst/gsttaglist.h: 
5913         * gst/gstcaps.h: 
5914         * gst/gststructure.h: Add glib-compat.h.
5916 2005-11-21  Wim Taymans  <wim@fluendo.com>
5918         * gst/gstbin.c: (gst_bin_change_state_func):
5919         Fix for #321595
5921 2005-11-21  Wim Taymans  <wim@fluendo.com>
5923         * gst/gstsegment.h:
5924         And add a nice define too.
5926 2005-11-21  Wim Taymans  <wim@fluendo.com>
5928         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5929         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5930         (gst_segment_set_duration), (gst_segment_set_last_stop),
5931         (gst_segment_set_seek), (gst_segment_set_newsegment),
5932         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5933         (gst_segment_clip):
5934         * gst/gstsegment.h:
5935         Make binding friendly.
5937 2005-11-21  Andy Wingo  <wingo@pobox.com>
5939         * gst/gsttagsetter.h: 
5940         * gst/gsttaglist.h: 
5941         * gst/gststructure.h: 
5942         * gst/gstcaps.h: 
5943         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
5944         #319940.
5946         * gst/gsterror.c (_gst_core_errors_init):
5947         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
5948         category.
5950         * gst/Makefile.am (gst_headers): Add glib-compat.h.
5951         (noinst_HEADERS): noinst the -private.
5953 2005-11-21  Michael Smith <msmith@fluendo.com>
5955         * gst/gstplugin.h:
5956         * gst/gstregistry.h:
5957           Remove unimplemented declarations for which we can see no sensible
5958           use.
5960 2005-11-21  Andy Wingo  <wingo@pobox.com>
5962         * gst/gst.h: Include glib-compat.h.
5964         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
5966         * gst/glib-compat.c: Include the public and the private header.
5968         * gst/glib-compat-private.h: Copied here from glib-compat.h.
5970         * gst/gstvalue.c: 
5971         * gst/gstpad.c: 
5972         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
5974         * check/gst/gstevent.c (create_custom_events): Check that
5975         FLUSH_STOP is serialized.
5977         * check/elements/identity.c (event_func): 
5978         * check/elements/fakesrc.c (event_func): No stream lock, the core
5979         takes it.
5981         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
5982         stream lock taking, yay.
5984         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
5985         ensure that core takes the stream lock.
5987         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
5988         lock name change.
5990         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
5991         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
5992         it already. For the flush start we do take it though so we get the
5993         right preroll state change messages.
5995         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
5996         the stream lock here, the core does it for us.
5998         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
5999         GST_STREAM_GET_LOCK.
6000         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6001         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6002         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6003         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6004         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6005         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6007         * gst/gstpad.c: Update for stream lock name change.
6009         * gst/base/gstbasesink.c: Update for preroll lock name change.
6011 2005-11-21  Wim Taymans  <wim@fluendo.com>
6013         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6014         (gst_clock_get_master):
6015         * gst/gstclock.h:
6016         * gst/gstsystemclock.c: (gst_system_clock_init):
6017         Convert Clock flags to object flags.
6018         Added methods to manage master/slave clocks.
6020 2005-11-21  Wim Taymans  <wim@fluendo.com>
6022         * check/gst/gstsegment.c: (GST_START_TEST):
6023         * docs/design/part-TODO.txt:
6024         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6025         (gst_base_sink_event), (gst_base_sink_do_sync),
6026         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6027         (gst_base_sink_query), (gst_base_sink_change_state):
6028         * gst/base/gstbasesink.h:
6029         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6030         (gst_base_src_default_newsegment),
6031         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6032         (gst_base_src_get_range), (gst_base_src_loop),
6033         (gst_base_src_change_state):
6034         * gst/base/gstbasesrc.h:
6035         * gst/base/gstbasetransform.c:
6036         (gst_base_transform_prepare_output_buf),
6037         (gst_base_transform_event), (gst_base_transform_change_state):
6038         * gst/base/gstbasetransform.h:
6039         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6040         (gst_collect_pads_event):
6041         * gst/base/gstcollectpads.h:
6042         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6043         (gst_fake_src_create):
6044         * gst/elements/gstfakesrc.h:
6045         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6046         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6047         (gst_segment_set_last_stop), (gst_segment_set_seek),
6048         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6049         (gst_segment_to_running_time), (gst_segment_clip):
6050         * gst/gstsegment.h:
6051         More segment updates, replace code in plugins with segment
6052         helper functions.
6054 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6056         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6057         Don't ignore sscanf results
6059 2005-11-21  Andy Wingo  <wingo@pobox.com>
6061         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6063         * *.h:
6064         * *.c: Ran scripts/update-macros. Oh yes.
6066         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6067         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6068         GST_GET_LOCK, etc.
6070         * scripts/update-macros: New script. Run it on your files to
6071         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6072         well.
6074 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6076         * docs/gst/Makefile.am:
6077         * docs/gst/gstreamer-docs.sgml:
6078         * docs/gst/gstreamer-sections.txt:
6079         * docs/gst/gstreamer.types:
6080         * gst/gstinfo.h:
6081           more docs fixes, add new api to the docs
6083 2005-11-21  Andy Wingo  <wingo@pobox.com>
6085         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6086         state_broadcast call.
6088         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6090 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6092         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6093         function calls for arrays.
6095 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6097         * docs/random/ensonic/media-device-daemon.txt:
6098           wild idea, can this be done?
6099         * docs/gst/gstreamer-sections.txt:
6100         * gst/gsterror.h:
6101         * gst/gstfilter.c:
6102         * gst/gstfilter.h:
6103         * gst/gstplugin.h:
6104         * gst/gstpluginfeature.c:
6105         * gst/gsttrace.c:
6106         * gst/gstvalue.c:
6107         * gst/gstvalue.h:
6108           doc fixes and additions
6110 2005-11-21  Andy Wingo  <wingo@pobox.com>
6112         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6113         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6114         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6115         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6116         private to the basesrc implementation.
6118         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6119         behalf of event function if necessary. It should no longer be
6120         necessary to take the stream lock in pad's event functions. Fixes
6121         #320299.
6123 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6124         * docs/gst/gstreamer-sections.txt:
6125         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6126         (gst_structure_fixate_field_nearest_double),
6127         (gst_structure_fixate_field_boolean):
6128         * gst/gststructure.h:
6129         * win32/common/libgstreamer.def:
6130         * win32/gstreamer.def:
6132         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6133         (#322027)
6135 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6137         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6138         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6139         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6140         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6141         (gst_fdsrc_uri_handler_init):
6142         * gst/elements/gstfdsrc.h:
6143           Port fd:// URI handler from 0.8 to fdsrc
6145 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6147         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6148         (gst_value_serialize_fourcc):
6149         * gst/gstvalue.h:
6150           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6151           consistent with our other format defines (#320324).
6153 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6155         * gst/gstvalue.c: (gst_value_is_fixed):
6156           Revert previous commit. Value lists are by definition
6157           not fixed, as they are a list of possible values.
6159 2005-11-21  Andy Wingo  <wingo@pobox.com>
6161         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6162         during the stable series if we need it. Fixes #319178.
6164         * gst/gstevent.c (gst_event_new_filler): Removed.
6166         * check/gst/gstevent.c: Update comment about filler events.
6168 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6170         * gst/gstvalue.c: (gst_value_is_fixed):
6171           Should handle both value arrays and value lists.
6173 2005-11-21  Andy Wingo  <wingo@pobox.com>
6175         patch by: Alessandro Dessina <alessandro nnva org>
6177         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6178         functions to access arrays. Fixes #321962.
6180 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6182         * docs/gst/gstreamer.types:
6183           gst_collectpads_get_type => gst_collect_pads_get_type.
6184           
6185         * gst/base/gstbasetransform.c:
6186           Remove unused SIGNAL_HANDOFF enum.
6188 2005-11-21  Andy Wingo  <wingo@pobox.com>
6190         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6191         the event type (upstream, downstream, serialized). Renamed
6192         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6193         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6194         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6196         * gst/gstevent.c: Update for new CUSTOM event names.
6198         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6200         * gst/gstevent.h:
6201         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6202         bug #319392.
6204 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6206         * docs/gst/gstreamer-sections.txt:
6207         * win32/common/libgstbase.def:
6208         * win32/libgstbase.def:
6209         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6210         (gst_collect_pads_class_init), (gst_collect_pads_init),
6211         (gst_collect_pads_finalize), (gst_collect_pads_new),
6212         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6213         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6214         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6215         (gst_collect_pads_start), (gst_collect_pads_stop),
6216         (gst_collect_pads_peek), (gst_collect_pads_pop),
6217         (gst_collect_pads_available), (gst_collect_pads_read),
6218         (gst_collect_pads_flush), (gst_collect_pads_event),
6219         (gst_collect_pads_chain):
6220         * gst/base/gstcollectpads.h:
6221           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6222           unimplemented functions as unimplemented. Add padding to
6223           GstCollectData. (#320766, #320423)
6225 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6227         * gst/gstmessage.c:
6228           Improve docs for DURATION message (usage of duration parameter)
6229           (#320113)
6231 2005-11-20  Wim Taymans  <wim@fluendo.com>
6233         * check/Makefile.am:
6234         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6235         (main):
6236         * gst/Makefile.am:
6237         * gst/gst.h:
6238         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6239         (gst_segment_set_seek), (gst_segment_set_newsegment),
6240         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6241         (gst_segment_clip):
6242         * gst/gstsegment.h:
6243         Added segment helper structure and methods. Not fully implemented
6244         yet.
6245         Added segment check.
6247 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6249         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6250           Add a deserialisation test for fractions
6251         * examples/metadata/read-metadata.c: (message_loop),
6252         (make_pipeline), (main):
6253           Fix up metadata reading sample.
6254         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6255           Debug format fix
6256         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6257           Don't try and fixate empty caps
6258         * gst/gst_private.h:
6259           Wrap in G_BEGIN_DECLS/G_END_DECLS
6260         * gst/gstvalue.c: (gst_value_collect_fraction),
6261         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6262         (gst_value_transform_string_fraction),
6263         (gst_value_compare_fraction):
6264           Add some extra guards to ensure that we don't end up 
6265           with an invalid denominator of 0 in a gstfraction and
6266           that fractions always get reduced.
6268 2005-11-20  Wim Taymans  <wim@fluendo.com>
6270         * docs/gst/gstreamer-sections.txt:
6271         * gst/gstbuffer.h:
6272         * gst/gstelement.c:
6273         * gst/gstformat.c:
6274         * gst/gstformat.h:
6275         * gst/gstindex.h:
6276         * gst/gstquery.c:
6277         * gst/gstquery.h:
6278         * gst/gstvalue.c:
6279         Doc fixes.
6281 2005-11-20  Wim Taymans  <wim@fluendo.com>
6283         * docs/design/part-TODO.txt:
6284         * gst/gstcaps.h:
6285         Make a proper enum of the flag.
6287 2005-11-19  Wim Taymans  <wim@fluendo.com>
6289         * docs/design/part-TODO.txt:
6290         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6291         (gst_format_to_quark), (gst_format_register):
6292         * gst/gstformat.h:
6293         * gst/gstquery.c: (_gst_query_initialize),
6294         (gst_query_type_get_name), (gst_query_type_to_quark),
6295         (gst_query_type_register):
6296         * gst/gstquery.h:
6297         Add type to quark and type to string conversions.
6299 2005-11-19  Andy Wingo  <wingo@pobox.com>
6301         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6302         #320097.
6304 2005-11-19  Wim Taymans  <wim@fluendo.com>
6306         * docs/design/part-TODO.txt:
6307         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6308         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6309         (gst_bin_handle_message_func):
6310         * gst/gstbin.h:
6311         Make message handling overridable.
6313 2005-11-19  Andy Wingo  <wingo@pobox.com>
6315         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6317         * gst/gstclock.h:
6318         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6319         be a GstClockTime.
6320         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6321         is a GstClockTime. Fixes #321710.
6323         * gst/gstclock.h (GstClock): Remove offset property. Add
6324         internal_calibration and external_calibration. Fix padding. Pad
6325         also by GstClockTime so we don't run into problems.
6327         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6328         (gst_clock_get_rate_offset): Remove.
6329         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6331         * gst/gstutils.h:
6332         * gst/gstutils.c (g_static_rec_cond_wait)
6333         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6335         * gst/gstbin.c: Remove terrible continue_state prototype.
6337         * gst/gstelement.h (gst_element_continue_state): Make public.
6339         * gst/gstelement.h:
6340         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6341         by continue_state. Fixes #319389.
6343         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6344         Really fixes #168438. However I don't see anywhere where the
6345         filter function is called... stupid GStreamer...
6346         
6347         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6348         don't have a dispose function, so it won't get called when the
6349         object is unreffed, but oh well!
6351         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6352         allows a destroy function to be set so user_data can be freed.
6353         Fixes #168438.
6354         (gst_index_set_filter): Call gst_index_set_filter_full.
6356         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6358         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6359         string should produce an error, given the lack of a way to
6360         represent NULL strings. Fixes #165650.
6361         
6362         * gst/gstvalue.h: 
6363         * gst/gstvalue.c (gst_value_array_append_value) 
6364         (gst_value_array_prepend_value, gst_value_array_get_size) 
6365         (gst_value_array_get_value): New API, copied from
6366         gst_value_list_*, only operates on arrays.
6367         (gst_value_list_append_value, gst_value_list_prepend_value) 
6368         (gst_value_list_concat, gst_value_list_get_size) 
6369         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6371         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6372         init_list, because it works on both.
6373         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6374         (gst_value_copy_list_or_array): Renamed from copy_list.
6375         (gst_value_free_list_or_array): Renamed from free_list.
6376         (gst_value_collect_list_or_array): Renamed from collect_list.
6377         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6378         (gst_value_list_or_array_peek_pointer): Renamed from
6379         list_peek_pointer.
6380         (_gst_value_array_value_table, _gst_value_list_value_table):
6381         Update value table functions.
6382         (gst_value_compare_list_or_array): Renamed from compare_list.
6384         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6385         some constness.
6387         * gst/gsttaglist.c:
6388         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6389         GstTagList*. Fixes #143472.
6391         * gst/gststructure.h: Clarify what the foreach/map functions can
6392         or can't do to their arguments.
6394 2005-11-18  Wim Taymans  <wim@fluendo.com>
6396         * gst/gstclock.c: (gst_clock_set_calibration),
6397         (gst_clock_get_calibration):
6398         Doc and API fixes.
6399         Calibration can be set with internal time equal to current
6400         internal time too.
6402 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6404         * gst/gsterror.c:
6405         * gst/gsterror.h:
6406           document
6408 2005-11-18  Andy Wingo  <wingo@pobox.com>
6410         * configure.ac: 
6411         * pkgconfig/gstreamer-net.pc.in:
6412         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6413         * pkgconfig/Makefile.am: Add net pkgconfig files.
6415 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6417         * gst/gstcaps.c:
6418         * gst/gstghostpad.c:
6419         * gst/gsttrace.c:
6420         * gst/gstvalue.c:
6421         * gst/gstvalue.h:
6422           docs fixes
6424 2005-11-18  Andy Wingo  <wingo@pobox.com>
6426         * gst/net/gstnetclientclock.c: Turn off debugging.
6428         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6429         times connverge somewhat. Can't make a real test.
6431         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6432         integer arithmetic. Return the minimum of the domain, which can be
6433         set as "internal" for gst_clock_set_calibration.
6434         (gst_net_client_clock_observe_times): Call _set_calibration.
6435         (gst_net_client_clock_new): Call _set_calibration instead of
6436         rate_offset.
6438         * check/net/gstnetclientclock.c (test_functioning): Use the right
6439         adjustment api.
6441         * gst/gstclock.h:
6442         * gst/gstclock.c (gst_clock_get_calibration) 
6443         (gst_clock_set_calibration): New functions, obsolete the ones I
6444         added yesterday. Doh. Precision issues mean we have to extrapolate
6445         from a point in the more recent past than 1970.
6446         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6447         obsolete.
6448         (gst_clock_adjust_unlocked): Use the right calibration data.
6450 2005-11-18  Edward Hervey  <edward@fluendo.com>
6452         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6453         Also reset the ->current_* values in READY->PAUSED
6455 2005-11-18  Andy Wingo  <wingo@pobox.com>
6457         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6458         Whoops, check the right fd. Also add some debugging.
6459         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6460         (do_linear_regression): Add a crapload of debugging. Subtract off
6461         the minimum values from the input series to discard unneeded bits.
6462         Use only int arithmetic. There is still double arithmetic when
6463         calculating the intercept that needs fixing. Return boolean to
6464         indicate success; FALSE would mean the domain or range is too
6465         great. Still needs fixes.
6467 2005-11-18  Wim Taymans  <wim@fluendo.com>
6469         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6470         For the current position in stream time, we need to subtract
6471         accumulated time.
6472         
6473         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6474         Release lock before calling the callback function of async
6475         entries.
6477 2005-11-18  Andy Wingo  <wingo@pobox.com>
6479         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6480         Port goes all the way to MAXUINT16.
6482         * gst/net/gstnettimeprovider.c: Make the port range the same as
6483         for the kernel: 0 assigns, otherwise ports are less than
6484         MAXUINT16.
6486         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6487         port change.
6489         * check/net/gstnetclientclock.c (test_functioning): Add the start
6490         of another test. 
6492 2005-11-18  Wim Taymans  <wim@fluendo.com>
6494         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6495         (gst_bin_remove_func), (bin_bus_handler):
6496         * gst/gstbin.h:
6497         Removing a clock provider from a bin, triggers a clock lost message
6498         so that a new clock will be selected.
6499         Adding a clock to a bin triggers a clock provider message.
6500         Make sure we reselect a clock when we received a clock lost message.
6501         Keep a reference to the element that provided the clock.
6503 2005-11-18  Andy Wingo  <wingo@pobox.com>
6505         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6506         the clock initially so it produces values around the base time.
6507         (gst_net_client_clock_class_init): Typo fix.
6508         (gst_net_client_clock_thread): Add note on when the socket gets
6509         closed.
6511 2005-11-17  Wim Taymans  <wim@fluendo.com>
6513         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6514         Free remote and local time arrays.
6516 2005-11-17  Wim Taymans  <wim@fluendo.com>
6518         * gst/net/gstnetclientclock.c: (do_linear_regression),
6519         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6520         Fix compilation, uninitialized vars and a forgotten continue.
6522 2005-11-17  Andy Wingo  <wingo@pobox.com>
6524         * check/Makefile.am (check_PROGRAMS): 
6525         * check/net/gstnetclientclock.c: Add a most minimal test for the
6526         net client clock. More to come later.
6528         * gst/net/gstnet.h: 
6529         * gst/net/Makefile.am: Add netclientclock.
6531         * gst/net/gstnetclientclock.h:
6532         * gst/net/gstnetclientclock.c: New files, implement an untested
6533         GstClock that takes its time from a network time provider.
6534         Implements the algorithm in network-clock.scm.
6536         * tests/network-clock.scm (*window-size*): Rename from
6537         *queue-length*.
6538         * tests/network-clock.scm (network-time): 
6539         * tests/network-clock-utils.scm (q-push): Update callers.
6541 2005-11-17  Wim Taymans  <wim@fluendo.com>
6543         * gst/gstbin.c: (gst_bin_provide_clock_func),
6544         (gst_bin_sort_iterator_new):
6545         And unref the child too..
6547 2005-11-17  Wim Taymans  <wim@fluendo.com>
6549         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6550         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6551         Refactor the sort iterator so it can be used while holding the
6552         LOCK too.
6553         Make clock selection select a clock closest to the source.
6555 2005-11-17  Michael Smith <msmith@fluendo.com>
6557         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6558         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6559         * gst/gstclock.h:
6560           Anonymous structs are a gcc (and some other compilers) extension, so
6561           don't use them. Since this is only for ABI-compatibility, and our
6562           API/ABI freeze is over in a few days, this whole thing will only
6563           last a few days, so don't bother trying to think up a meaningful
6564           name for the struct.
6566 2005-11-17  Andy Wingo  <wingo@pobox.com>
6568         * gst/gstclock.h (GstClock): Add rate and offset properties,
6569         preserving ABI stability. Add rate/offset accessors. Will file bug
6570         for the freeze break.
6572         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6573         and offset, trying to keep precision and avoiding
6574         underflow/overflow.
6575         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6576         functions. Make gst_clock_set_time_adjust obsolete.
6577         (gst_clock_set_time_adjust): Note that this function is obsolete.
6578         Will file bug soon.
6580         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6581         greppable by using GST_PADDING-1+1.
6583 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6585         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6587         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6588           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6590         * gst/gstpadtemplate.h:
6591         * gst/gstpluginfeature.h:
6592           Don't use c++ style comments in headers (#321638).
6594 2005-11-16  Andy Wingo  <wingo@pobox.com>
6596         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6597         buffer.
6599         * check/net/gstnettimeprovider.c: Check to see that the time
6600         provider actually provides times. Works, yo!
6602 2005-11-16  Wim Taymans  <wim@fluendo.com>
6604         * check/Makefile.am:
6605         Enable more tests.
6607         * check/elements/fakesrc.c: (GST_START_TEST):
6608         Set element to NULL before disposing it.
6610 2005-11-16  Andy Wingo  <wingo@pobox.com>
6612         * gst/net/Makefile.am:
6613         * gst/net/gstnet.h:
6614         * gst/net/gstnettimeprovider.c: 
6615         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6616         provider, include it from gstnet.h, and add it to the build.
6618         * gst/net/gstnettimepacket.h: 
6619         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6620         sending and receiving.
6622 2005-11-16  Wim Taymans  <wim@fluendo.com>
6624         * check/Makefile.am:
6625         Enable valgrind check.
6627         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6628         (gst_fake_src_alloc_buffer):
6629         Fix memleak.
6631 2005-11-16  Wim Taymans  <wim@fluendo.com>
6633         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6634         Call parent finalize too.
6636 2005-11-16  Wim Taymans  <wim@fluendo.com>
6638         * check/Makefile.am:
6639         Enable valgrind check that should work fine now.
6641         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6642         * gst/gstqueue.c: (gst_queue_init):
6643         Fix memleaks in pad allocation.
6645 2005-11-16  Andy Wingo  <wingo@pobox.com>
6647         * gst/net/Makefile.am:
6648         * gst/net/gstnet.h: New part of core to hold network elements and
6649         objects. Put in core because it exposes API that applications want
6650         to use. The library is named libgstnet-tempname right now because
6651         of the existing libgstnet in gst-plugins-base. Solution is
6652         probably to rename the one in plugins-base; will file a bug for
6653         the freeze break.
6655         * gst/net/gstnettimeprovider.c: 
6656         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6657         get_time call over the network.
6659         * configure.ac: 
6660         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6662         * check/Makefile.am:
6663         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6664         get additions shortly.
6666 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6668         * gst/gstpad.c: (gst_pad_new_from_static_template):
6669         * gst/gstpad.h:
6670           add gst_pad_new_from_static_template functions
6671         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6672         (gst_check_setup_sink_pad):
6673         * gst/elements/gsttee.c: (gst_tee_init):
6674           and use them
6676 2005-11-16  Wim Taymans  <wim@fluendo.com>
6678         * gst/gstpad.c: (gst_pad_pause_task):
6679         Removed warning, it's not really an error either.
6681 2005-11-16  Wim Taymans  <wim@fluendo.com>
6683         * gst/base/gstbasetransform.c:
6684         (gst_base_transform_prepare_output_buf),
6685         (gst_base_transform_event):
6686         Check if the caps are NULL, this can happen if the element
6687         is shutting down and the pad caps are set to NULL.
6689 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6691         * gst/elements/gsttee.c: (gst_tee_init):
6692           fix pad template leak in tee
6694 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6696         * gst/glib-compat.c: (g_value_dup_gst_object):
6697         * gst/glib-compat.h:
6698         * gst/gstpad.c: (gst_pad_set_property):
6699           use gst_object_ref when setting the pad template; this will
6700           trigger the pad template leaks on GLib 2.6 and the slaves
6702 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6704         * gst/glib-compat.c: (gst_flags_get_first_value):
6705         * gst/glib-compat.h:
6706         * gst/gstregistryxml.c:
6707           remove functions copied from GLib 2.6
6709 2005-11-16  Michael Smith <msmith@fluendo.com>
6711         * gst/Makefile.am:
6712           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6713           do, but only breaks with newer valgrind versions. We're not a
6714           valgrind tool, we have no link-time dependencies on libcoregrind.
6716 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6718         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6719           some debug changes
6720         * gst/gstmessage.h:
6721           typo fixes
6723 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6725         * gst/base/gstbasesrc.c: (gst_base_src_init):
6726         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6727         * gst/gstqueue.c: (gst_queue_init):
6728         * gst/gstregistryxml.c: (load_feature):
6729           Revert all these unrefs, they don't even pass make check !
6731 2005-11-15  Johan Dahlin  <johan@gnome.org>
6733         * gst/base/gstbasesrc.c: (gst_base_src_init):
6734         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6735         * gst/gstqueue.c: (gst_queue_init): 
6736         Free pad templates, fixes a couple of leaks.
6738 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6740         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6742         * gst/gstpad.c: (gst_pad_get_property):
6743           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6744           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6745           (#321452)
6747 2005-11-15  Wim Taymans  <wim@fluendo.com>
6749         * gst/gstevent.c:
6750         Small doc update.
6752 2005-11-15  Andy Wingo  <wingo@pobox.com>
6754         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6756         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6757         using GST_CLOCK_TIME_NONE to disable base time management.
6758         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6759         time if it was NONE before.
6760         (gst_pipeline_change_state): Only munge the base time if
6761         stream_time != GST_CLOCK_TIME_NONE.
6763         * check/gst/gstpipeline.c (test_base_time): Punt around the
6764         problem of the probe not being called, because that's not the
6765         issue I'm looking at. Add a check that setting stream_time to NONE
6766         disables base time management.
6767         
6768 2005-11-15  Wim Taymans  <wim@fluendo.com>
6770         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6771         segment_stop == -1 at startup.
6773         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6774         (gst_base_transform_change_state):
6775         Init segment values at start.
6777 2005-11-15  Wim Taymans  <wim@fluendo.com>
6779         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6780         0 segment values are 0 in any format.
6782         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6783         * gst/base/gstbasetransform.h:
6784         Parse newsegment correctly in basetransform
6786         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6787         Sync to clock using updated segment values.
6789 2005-11-15  Andy Wingo  <wingo@pobox.com>
6791         * check/gst/gstpipeline.c (test_base_time): Add check that the
6792         base time and stream time are reset correctly.
6794 2005-11-15  Wim Taymans  <wim@fluendo.com>
6796         * docs/design/part-TODO.txt:
6797         Some more TODO items.
6799 2005-11-15  Andy Wingo  <wingo@pobox.com>
6801         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6802         error if the user selected "no clock" as the clocking method.
6804         * check/gst/gstpipeline.c (test_base_time): New test for buffer
6805         timestamps with live capture.
6807         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6808         is 0 but we are a live source, timestamp the buffers using the
6809         element's clock.
6811 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
6813         * docs/gst/gstreamer-sections.txt:
6814         * gst/gsterror.c:
6815         * gst/gstghostpad.c:
6816         * gst/gstobject.h:
6817         * gst/gstxml.c:
6818           more section docs
6820 2005-11-14  Wim Taymans  <wim@fluendo.com>
6822         * common/gst.supp:
6823           add suppressions from Wim's Debian machine
6825 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6827         * common/gst.supp:
6828           add suppressions from Andy's AMD64 Ubuntu machine
6830 2005-11-14  Andy Wingo  <wingo@pobox.com>
6832         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6833         STATE_LOCK not necessary. Fixes #311489.
6835         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6836         #305291.
6838         * gst/gstindex.c (gst_index_add_object): Note in the docs that
6839         this function is not implemented.
6841 2005-11-14  Julien MOUTTE  <julien@moutte.net>
6843         * gst/base/gstbasetransform.c:
6844         (gst_base_transform_prepare_output_buf):
6845         Ref the source pad caps while we need them.
6846         Fixes (#321386)
6848 2005-11-11  Wim Taymans  <wim@fluendo.com>
6850         * docs/gst/gstreamer-sections.txt:
6851         Added some docs for GstCollectData.
6853         * gst/base/gstadapter.c:
6854         Some small code example fix.
6856         * gst/base/gstcollectpads.c:
6857         * gst/base/gstcollectpads.h:
6858         Document some more.
6860 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6862         * configure.ac: back to HEAD
6864 === release 0.9.5 ===
6866 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
6868         * configure.ac:
6869           releasing 0.9.5, "Bike Lunch Day"
6871 2005-11-11  Wim Taymans  <wim@fluendo.com>
6873         * gst/gstbuffer.c: (_gst_buffer_copy):
6874         Copy more flags.
6876         * gst/gstcaps.c: (gst_caps_is_equal):
6877         Fix some docs.
6878         Make _is_equal fast in the trivial cases.
6880         * gst/gstminiobject.c:
6881         * gst/gstminiobject.h:
6882         More docs. Spifify .h file.
6884         * gst/gstutils.c:
6885         Small doc update.
6887 2005-11-11  Wim Taymans  <wim@fluendo.com>
6889         * gst/base/gstbasetransform.c:
6890         (gst_base_transform_prepare_output_buf),
6891         (gst_base_transform_handle_buffer):
6892         Small cleanups.
6893         If we're processing a buffer and need to allocate an output
6894         buffer, we cannot accept a format change. If we did get a 
6895         format change, we have to alloc a buffer ourselves of the 
6896         right size.
6898 2005-11-11  Wim Taymans  <wim@fluendo.com>
6900         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6901         While checking the flag for reentrancy in the gstcaps function
6902         is nice to detect recursive invocations, it also makes it 
6903         impossible to call getcaps from multiple threads, which must be
6904         possible. So, checking for recursive calls has to go.
6906 2005-11-11  Michael Smith <msmith@fluendo.com>
6908         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6909           Don't sync on buffers that fall partially outside our current
6910           segment. Prevents an assertion failure/abort playing some files.
6912 2005-11-10  Andy Wingo  <wingo@pobox.com>
6914         * check/gst/gstbin.c (test_message_state_changed_children): Style
6915         fix..
6917         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6918         gst_bus_poll with the signal watch. Ensures that poll and a signal
6919         watch see the same messages.
6921         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6922         a poll and a watch at the same time get the same messages.
6924 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6926         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6927         * gst/gstcaps.c: (gst_caps_intersect):
6928           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6929           and it's not needed.
6931 2005-11-10  Wim Taymans  <wim@fluendo.com>
6933         * docs/design/part-TODO.txt:
6934         Updated todo.
6936 2005-11-10  Wim Taymans  <wim@fluendo.com>
6938         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6939         * gst/base/gstbasesrc.c: (gst_base_src_wait),
6940         (gst_base_src_do_sync), (gst_base_src_get_range):
6941         Implement clock sync in base class.
6943 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6945         patch by: Tim-Philipp Müller <tim at centricular dot net>
6947         * gst/gststructure.c: (gst_structure_parse_field),
6948         (gst_structure_from_string):
6949           Forward-port a 0.8 patch to handle escaped spaces in structure string,
6950           so that gst_parse_launch() can deal with spaces in filtered link
6951           caps (fixes #164479)
6952         * check/gst/capslist.h:
6953         * check/gst/gststructure.c: (GST_START_TEST):
6954           add unit tests for this change
6956 2005-11-10  Wim Taymans  <wim@fluendo.com>
6958         * docs/gst/gstreamer-sections.txt:
6959         * gst/gstelement.c:
6960         * gst/gstelement.h:
6961         Fix docs, move some STATE macros to private.
6963 2005-11-10  Wim Taymans  <wim@fluendo.com>
6965         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
6966         Added check for bug #317341
6968         * gst/gstbuffer.c:
6969         * gst/gstbuffer.h:
6970         Some more spiffifying.
6972         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
6973         Call peer linkfunction if we are a source pad. Totally fixes
6974         #317341
6976         * gst/gstpad.c:
6977         Update docs, source pads should call the peer linkfunction
6978         so they can atomically perform the pad link.
6980 2005-11-09  Wim Taymans  <wim@fluendo.com>
6982         * gst/gstbuffer.c:
6983         * gst/gstbuffer.h:
6984         Uber-spiffy-spiffify some more.
6986 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
6988         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
6989         * gst/elements/gstfilesink.c: (gst_file_sink_init):
6990         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6991         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
6992         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
6993         * gst/gstpad.c: (gst_pad_init):
6994           Use GST_DEBUG_FUNCPTR() more extensively.
6996 2005-11-09  Wim Taymans  <wim@fluendo.com>
6998         * gst/gstobject.c: (gst_object_class_init):
6999         * gst/gstobject.h:
7000         Documentation fixes.
7002 2005-11-09  Edward Hervey  <edward@fluendo.com>
7004         * gst/gsttypefindfactory.c:
7005         Fix docs.
7006         
7007 2005-11-09  Edward Hervey  <edward@fluendo.com>
7009         * gst/base/gsttypefindhelper.c:
7010         * gst/gsttypefind.c:
7011         * gst/gsttypefind.h:
7012         Fix docs.
7014 2005-11-09  Wim Taymans  <wim@fluendo.com>
7016         * gst/gstiterator.c:
7017         Fix revision data.
7019         * gst/gsttask.c:
7020         * gst/gsttask.h:
7021         Fix docs.
7023 2005-11-09  Wim Taymans  <wim@fluendo.com>
7025         * gst/gstevent.h:
7026         * gst/gsturi.h:
7027         Fix docs.
7029 2005-11-09  Wim Taymans  <wim@fluendo.com>
7031         * docs/gst/gstreamer-sections.txt:
7032         Moved the message async delivery private lock and cond
7033         to the private section.
7035         * gst/gstmessage.c:
7036         * gst/gstmessage.h:
7037         Fixed docs.
7039 2005-11-09  Edward Hervey  <edward@fluendo.com>
7041         * docs/gst/gstreamer-sections.txt:
7042         * gst/gsturi.c:
7043         * gst/gsturi.h:
7044         Document GstURIHandler
7046 2005-11-09  Wim Taymans  <wim@fluendo.com>
7048         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7049         (gst_iterator_find_custom):
7050         * gst/gstiterator.h:
7051         Fix iterator docs.
7053 2005-11-09  Wim Taymans  <wim@fluendo.com>
7055         * gst/gstbin.h:
7056         Document another field.
7058         * gst/gststructure.c:
7059         * gst/gststructure.h:
7060         Document.
7062 2005-11-09  Wim Taymans  <wim@fluendo.com>
7064         * gst/gstbin.h:
7065         Documented structs.
7067 2005-11-09  Wim Taymans  <wim@fluendo.com>
7069         * docs/gst/gstreamer-sections.txt:
7070         Added some new macros.
7072         * gst/gstclock.c:
7073         * gst/gstclock.h:
7074         * gst/gstobject.h:
7075         Docs updates.
7077 2005-11-09  Wim Taymans  <wim@fluendo.com>
7079         * docs/design/part-TODO.txt:
7080         Some more items for the TODO
7082         * gst/gstcaps.c:
7083         * gst/gstcaps.h:
7084         Document GstCaps.
7086 2005-11-09  Andy Wingo  <wingo@pobox.com>
7088         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7089         to work on something else now tho...
7091         * gst/base/gstadapter.c: More adapter docs.
7093         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7094         (gst_file_sink_stop): New functions, replace the state change
7095         handler.
7096         (gst_file_sink_class_init): Hook up the start and stop functions.
7097         (gst_file_sink_base_init): Don't set the state change handler any
7098         more. It was a bit ugly too, being set from here...
7099         (gst_file_sink_get_property, gst_file_sink_set_property):
7100         Cleanups...
7101         (gst_file_sink_set_location): More robust check that doesn't call
7102         GST_STATE. Ugggggg.
7104 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7106         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7107           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7109 2005-11-08  Wim Taymans  <wim@fluendo.com>
7111         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7112         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7113         (gst_base_sink_chain), (gst_base_sink_change_state):
7114         * gst/base/gstbasesink.h:
7115         * gst/base/gstbasesrc.h:
7116         * gst/gstelement.h:
7117         * gst/gstevent.h:
7118         Avoid excessive typechecking in macros.
7120         * gst/gstminiobject.c: (gst_mini_object_get_type),
7121         (gst_mini_object_init), (gst_mini_object_new),
7122         (gst_mini_object_free):
7123         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7124         (gst_object_finalize):
7125         Remove cruft code, optimize alloc_trace.
7127 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7129         * docs/faq/gst-uninstalled:
7130           fix up PS1 for systems that try to reset it
7132 2005-11-07  Wim Taymans  <wim@fluendo.com>
7134         * gst/base/gstbasesrc.c: (gst_base_src_init),
7135         (gst_base_src_get_range):
7136         Set the segment_end to -1 initially. Fixed typefind.
7138 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7140         * gst/base/gstadapter.c:
7141           Debug category should be 'adapter', not 'GstAdapter'.
7142           
7143         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7144         (gst_collectpads_class_init), (gst_collectpads_init),
7145         (gst_collectpads_peek), (gst_collectpads_pop),
7146         (gst_collectpads_event), (gst_collectpads_chain):
7147           Add debug category and some debugging output. Use boilerplate
7148           macros. Remove some extraneous words from docs.
7150 2005-11-05  Andy Wingo  <wingo@pobox.com>
7152         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7153         macro.
7155 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7157         * docs/gst/gstreamer-sections.txt:
7158         * gst/gstcaps.h:
7159         * gst/gstinfo.c:
7160         * gst/gstminiobject.h:
7161         * gst/gstobject.h:
7162         * gst/gstutils.h:
7163           more docs added
7165 2005-11-04  Wim Taymans  <wim@fluendo.com>
7167         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7168         Small update to stop at the configured segment_end
7169         position.
7171 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7173         * gst/gstregistry.c:
7174         * gst/gstregistry.h:
7175           added missing docs
7177 2005-11-04  Edward Hervey  <edward@fluendo.com>
7179         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7180         Check if we are doing a segment seek and have arrived at the
7181         end of that segment.
7183 2005-11-04  Wim Taymans  <wim@fluendo.com>
7185         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7186         Don't leak a mutex unlock in case of an error.
7188         * gst/gstbus.h:
7189         Doc fixes.
7191 2005-11-04  Wim Taymans  <wim@fluendo.com>
7193         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7194         (gst_bus_post):
7195         Get the context to wake up only once.
7197 2005-11-03  Wim Taymans  <wim@fluendo.com>
7199         * check/states/sinks.c: (GST_START_TEST):
7200         Uncomment fixed check.
7202         * docs/design/part-TODO.txt:
7203         Updated TODO.
7205         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7206         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7207         (gst_base_sink_get_position):
7208         If we are going to PLAYING, post the right pending state
7209         when we post the intermediate paused message.
7211         * gst/gstelement.c: (gst_element_continue_state),
7212         (gst_element_set_state_func), (gst_element_change_state):
7213         Don't post state changes that were between the same state
7214         and were not ASYNC.
7216 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7218         * docs/gst/gstreamer-sections.txt:
7219         * gst/gstcaps.h:
7220         * gst/gstinfo.c:
7221         * gst/gstminiobject.h:
7222         * gst/gstobject.h:
7223         * gst/gstutils.h:
7224           more docs and doc style fixes
7226 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7228         * docs/gst/gstreamer-sections.txt:
7229         * gst/gstelement.c:
7230         * gst/gstminiobject.c:
7231         doc fixes
7233 2005-11-03  Andy Wingo  <wingo@pobox.com>
7235         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7236         state-changed messages actually have the right order and the right
7237         values.
7239 2005-11-03  Wim Taymans  <wim@fluendo.com>
7241         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7242         Added some more checks. Specifically the case where NO_PREROLL
7243         elements are in the pipeline.
7245         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7246         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7247         (gst_base_sink_get_position):
7248         Post READY->PAUSED state change messages too.
7249         Fix bug where VOID was posted as pending state...
7251         * gst/gstbin.c: (gst_bin_recalc_state):
7252         use _element_continue_state() to continue the state change.
7254         * gst/gstelement.c: (gst_element_continue_state),
7255         (gst_element_commit_state), (gst_element_set_state_func),
7256         (gst_element_change_state), (gst_element_change_state_func):
7257         Lots of state change cleanups, assign the STATE_RETURN in
7258         a new continue_state() function that also propagates the
7259         last return value from a state change to the app.
7260         Update some debug statements with proper category.
7262 2005-11-03  Wim Taymans  <wim@fluendo.com>
7264         * docs/design/part-events.txt:
7265         * docs/design/part-gstpipeline.txt:
7266         * docs/design/part-messages.txt:
7267         * docs/design/part-overview.txt:
7268         * docs/design/part-seeking.txt:
7269         * docs/design/part-states.txt:
7270         * docs/design/part-trickmodes.txt:
7271         * docs/manual/advanced-position.xml:
7272         Small docs updates.
7274         * gst/gstobject.h:
7275         People think !! is ugly, this looks better.
7277         * gst/gstpad.c: (gst_pad_set_blocked_async):
7278         Remove !! since it's fixed elsewhere now.
7280 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7282         * gst/gstminiobject.h:
7283         * gst/gstobject.h:
7284           Add !! to _FLAG_IS_SET macros to make the result boolean.
7286 2005-11-03  Edward Hervey  <edward@fluendo.com>
7288         * gst/gstpad.c: (gst_pad_set_blocked_async):
7289         comparing a flag and a gboolean rarely returns coherent results...
7290         Added two characters (!!) to make that work correctly.
7291         
7292 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7294         * gst/gstbus.c: (gst_bus_class_init):
7295           Fix some typos.
7296           
7297         * gst/gstqueue.c: (gst_queue_loop):
7298           Don't assume a miniobject that isn't a buffer is an
7299           event (it could be that there is a refcounting
7300           problem somewhere and the pointer is stale and
7301           refers to an already destroyed miniobject).
7303 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7305         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7307 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7309         * docs/manual/advanced-position.xml:
7310           Update seek example and explanations to current 0.9 API.
7312         * gst/elements/gsttypefindelement.c:
7313         (gst_type_find_element_activate):
7314           Remove FIXME comment now that the found caps
7315           are unreffed.
7317 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7319         * gst/gstregistryxml.c: (load_feature):
7320           Add another GST_STR_NULL instance
7322 2005-11-02  Edward Hervey  <edward@fluendo.com>
7324         * gst/gstpad.c: (handle_pad_block):
7325         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7326         
7327 2005-11-02  Wim Taymans  <wim@fluendo.com>
7329         * gst/gstbin.c:
7330         Fix typo in docs.
7332         * gst/gstelement.c: (gst_element_commit_state):
7333         Remove unused value.
7335         * gst/gstiterator.c:
7336         Mention that the returned element is reffed in the docs.
7338 2005-11-02  Wim Taymans  <wim@fluendo.com>
7340         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7341         (gst_pad_push), (gst_pad_push_event):
7342         Unlock blocked pads when they are flushed.
7344 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7346         * docs/README:
7347         * docs/gst/gstreamer-sections.txt:
7348         * gst/gstbin.c:
7349           doc updates
7350         * gst/gstregistry.c: (gst_registry_scan_path_level):
7351           fix for a nasty little missed situation where an installed plug-in
7352           which was in the cache did not get overridden by an uninstalled one
7353           which was earlier in the plugin path because the newly created plugin
7354           for the uninstalled one (not in the registry) didn't get its
7355           ->registered set to TRUE
7357 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7359         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7360         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7361         (gst_collectpads_is_active), (gst_collectpads_collect),
7362         (gst_collectpads_collect_range), (gst_collectpads_start),
7363         (gst_collectpads_stop), (gst_collectpads_peek),
7364         (gst_collectpads_pop), (gst_collectpads_available),
7365         (gst_collectpads_read), (gst_collectpads_flush):
7366           Guard public API with assertions.
7367         
7368         * gst/gstpad.c:
7369           Fix docs for gst_pad_set_link_function().
7371 2005-11-02  Johan Dahlin  <johan@gnome.org>
7373         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7374         Unref found_caps after we used it.
7376 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7378         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7379           Don't try to ref NULL.
7381 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7383         * win32/common/config.h.in:
7384           provide a GST_FUNCTION that just gives a string for now
7386 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7388         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7389         (gst_object_flags_get_type), (register_gst_bin_flags),
7390         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7391         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7392         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7393         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7394         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7395         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7396         (gst_clock_flags_get_type), (register_gst_state),
7397         (gst_state_get_type), (register_gst_state_change_return),
7398         (gst_state_change_return_get_type), (register_gst_state_change),
7399         (gst_state_change_get_type), (register_gst_element_flags),
7400         (gst_element_flags_get_type), (register_gst_core_error),
7401         (gst_core_error_get_type), (register_gst_library_error),
7402         (gst_library_error_get_type), (register_gst_resource_error),
7403         (gst_resource_error_get_type), (register_gst_stream_error),
7404         (gst_stream_error_get_type), (register_gst_event_type),
7405         (gst_event_type_get_type), (register_gst_seek_type),
7406         (gst_seek_type_get_type), (register_gst_seek_flags),
7407         (gst_seek_flags_get_type), (register_gst_format),
7408         (gst_format_get_type), (register_gst_index_certainty),
7409         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7410         (gst_index_entry_type_get_type),
7411         (register_gst_index_lookup_method),
7412         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7413         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7414         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7415         (gst_index_flags_get_type), (register_gst_debug_level),
7416         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7417         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7418         (gst_iterator_result_get_type), (register_gst_iterator_item),
7419         (gst_iterator_item_get_type), (register_gst_message_type),
7420         (gst_message_type_get_type), (register_gst_mini_object_flags),
7421         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7422         (gst_pad_link_return_get_type), (register_gst_flow_return),
7423         (gst_flow_return_get_type), (register_gst_activate_mode),
7424         (gst_activate_mode_get_type), (register_gst_pad_direction),
7425         (gst_pad_direction_get_type), (register_gst_pad_flags),
7426         (gst_pad_flags_get_type), (register_gst_pad_presence),
7427         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7428         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7429         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7430         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7431         (gst_plugin_flags_get_type), (register_gst_rank),
7432         (gst_rank_get_type), (register_gst_query_type),
7433         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7434         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7435         (gst_tag_flag_get_type), (register_gst_task_state),
7436         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7437         (gst_alloc_trace_flags_get_type),
7438         (register_gst_type_find_probability),
7439         (gst_type_find_probability_get_type), (register_gst_uri_type),
7440         (gst_uri_type_get_type), (register_gst_parse_error),
7441         (gst_parse_error_get_type):
7442         * win32/common/gstversion.h:
7443           update win32 copies
7445 2005-11-01  Luca Ognibene  <luogni@tin.it>
7447         * gst/gst.c:
7448           fix docs. popt is dead, long live GOption.
7450 2005-10-31  Wim Taymans  <wim@fluendo.com>
7452         * gst/gstbuffer.h:
7453         Small doc fix.
7455 2005-10-31  Andy Wingo  <wingo@pobox.com>
7457         * Boo!
7459         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7461         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7462         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7463         the possibility of deadlocks here if code calling notify() or
7464         set() has a lock that can be taken in another notify handler (ABBA
7465         with class lock and e.g. python GIL state lock).
7467 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7469         * gst/gstbus.c: Doc updates.
7471 2005-10-28  Wim Taymans  <wim@fluendo.com>
7473         * docs/design/part-TODO.txt:
7474         * gst/gstiterator.c:
7475         * gst/gstsystemclock.c:
7476         * gst/gstsystemclock.h:
7477         Doc updates.
7479 2005-10-28  Edward Hervey  <edward@fluendo.com>
7481         * docs/gst/gstreamer-docs.sgml:
7482         * docs/gst/gstreamer-sections.txt:
7483         the GstURIType documentation page is private, it only defines GstURIType
7484         which should be defined in the GstURIHandler page
7485         
7486 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7488         * gst/gstbin.c: (gst_bin_class_init):
7489         * gst/gstbin.h:
7490         * gst/gstutils.c:
7491         Documentation updates.
7493 2005-10-28  Wim Taymans  <wim@fluendo.com>
7495         * docs/gst/gstreamer-sections.txt:
7496         * gst/gstclock.c:
7497         * gst/gstclock.h:
7498         Documented the clocks.
7500 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7502         * docs/gst/gstreamer-sections.txt:
7503           move some macros to private sections
7504         * gst/gstminiobject.c:
7505         * gst/gstminiobject.h:
7506           add descriptions provided by ds and some more
7507         * gst/gstpad.h:
7508           mark macro as to be removed
7510 2005-10-28  Wim Taymans  <wim@fluendo.com>
7512         * docs/design/part-TODO.txt:
7513         Add an item to TODO.
7515         * gst/gstiterator.c: (gst_iterator_fold),
7516         (gst_iterator_find_custom):
7517         * gst/gstiterator.h:
7518         Add iterator docs.
7520 2005-10-28  Wim Taymans  <wim@fluendo.com>
7522         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7523         (gst_base_transform_init):
7524         Don't leak class.
7526         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7527         An EOS event marks the queue as completely filled.
7529 2005-10-27  Wim Taymans  <wim@fluendo.com>
7531         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7532         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7533         Some more debugging.
7535         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7536         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7537         (gst_base_transform_event), (gst_base_transform_getrange),
7538         (gst_base_transform_chain):
7539         * gst/base/gstbasetransform.h:
7540         Fix debugging,
7541         Protect transform and concurrent buffer alloc with a new lock.
7542         Try not to break ABI/API.
7544 2005-10-27  Wim Taymans  <wim@fluendo.com>
7546         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7547         (gst_base_src_init), (gst_base_src_query),
7548         (gst_base_src_default_newsegment),
7549         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7550         (gst_base_src_send_event), (gst_base_src_event_handler),
7551         (gst_base_src_pad_get_range), (gst_base_src_loop),
7552         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7553         (gst_base_src_start), (gst_base_src_deactivate),
7554         (gst_base_src_activate_push), (gst_base_src_change_state):
7555         Move some stuff around and cleanup things.
7557 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7559         * gst/base/gstbasesrc.c: (gst_base_src_query):
7560           Add missing break statements.
7562 2005-10-27  Wim Taymans  <wim@fluendo.com>
7564         * check/gst/gstbin.c: (GST_START_TEST):
7565         An extra refcount is taken in basesrc.
7567         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7568         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7569         (gst_base_src_loop):
7570         Small cleanups, check for flushing after being unlocked from the 
7571         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7572         Don't send out EOS when going to READY.
7574 2005-10-27  Wim Taymans  <wim@fluendo.com>
7576         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7577         (gst_base_sink_get_position):
7578         Some more debug.
7580         * gst/gstbin.c: (message_check), (bin_replace_message),
7581         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7582         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7583         (bin_query_duration_init), (bin_query_duration_fold),
7584         (bin_query_duration_done), (bin_query_generic_fold),
7585         (gst_bin_query):
7586         * tools/gst-launch.c: (main):
7587         Remove old option.
7589 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7591         * examples/controller/audio-example.c: (main):
7592         * examples/queue/queue.c: (event_loop):
7593         * gst/base/gstbasetransform.h:
7594         * gst/gstelement.c: (gst_element_send_event):
7595         * gst/gstevent.h:
7596         * gst/gstpad.c: (gst_pad_send_event):
7597           fixing examples
7598           fixing docs typos
7599           changing log priority in error situations
7601 2005-10-25  Wim Taymans  <wim@fluendo.com>
7603         * gst/gstbin.c: (message_check), (bin_replace_message),
7604         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7605         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7606         (bin_query_duration_init), (bin_query_duration_fold),
7607         (bin_query_duration_done), (bin_query_generic_fold),
7608         (gst_bin_query):
7609         Some doc and debug updates.
7610         Cache previously requested query DURATION for speed. invalidate
7611         cached duration if element posts a DURATION message.
7613 2005-10-25  Wim Taymans  <wim@fluendo.com>
7615         * docs/design/part-TODO.txt:
7616         Update TODO.
7618         * gst/gstbin.c: (message_check), (bin_replace_message),
7619         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7620         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7621         (bin_query_duration_init), (bin_query_duration_fold),
7622         (bin_query_duration_done), (bin_query_generic_fold),
7623         (gst_bin_query):
7624         Handle SEGMENT_START/DONE messages correctly.
7625         More evolved query algorithm that handles duration queries
7626         correctly.
7628         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7629         (gst_element_get_state_func), (gst_element_abort_state),
7630         (gst_element_commit_state), (gst_element_lost_state):
7631         Some more debugging.
7633         * gst/gstmessage.h:
7634         Added doc.
7636 2005-10-25  Wim Taymans  <wim@fluendo.com>
7638         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7639         Don't use invalid stream_time.
7641         * gst/gstevent.c: (gst_event_new_newsegment):
7642         stream_time in newsegment cannot be undefined.
7644 2005-10-24  Wim Taymans  <wim@fluendo.com>
7646         * gst/gstbus.c:
7647         Doc fix.
7649         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7650         (gst_queue_loop):
7651         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7653 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7655         * docs/libs/tmpl/gstdparam.sgml:
7656         * docs/libs/tmpl/gstdplinint.sgml:
7657         * docs/libs/tmpl/gstdpman.sgml:
7658         * docs/libs/tmpl/gstdpsmooth.sgml:
7659         * docs/libs/tmpl/gstunitconvert.sgml:
7660           these are obsolete
7662 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7664         * configure.ac:
7665           back to HEAD
7667 === release 0.9.4 ===
7669 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7671         * configure.ac:
7672           releasing 0.9.4, "Tyrannosaurus Rex"
7674 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7676         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7677         (gst_file_sink_get_current_offset):
7678           Use fseeko() and ftello() if available. When falling back on
7679           lseek() to get the current offset, fflush() first to make sure
7680           everything is up-to-date and we get the right offset.
7682 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7684         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7685         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7686         * gst/gsterror.c: (_gst_stream_errors_init):
7687         * gst/gsterror.h:
7688         * gst/gstqueue.c: (gst_queue_loop):
7689         * po/POTFILES.in:
7690           remove prematurely added error category and clean up the instances
7692 2005-10-21  Wim Taymans  <wim@fluendo.com>
7694         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7695         (gst_base_sink_get_position), (gst_base_sink_query),
7696         (gst_base_sink_change_state):
7697         Simply set the right flag when going to playing, that's all
7698         we need to do instead of calling a function inside the object
7699         lock (that could take the lock as well and deadlock)
7701 2005-10-21  Wim Taymans  <wim@fluendo.com>
7703         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7704         (gst_base_src_loop):
7705         Don't warn, the peer element knows what to do best when
7706         the seek failed, it might try something else.
7708 2005-10-21  Wim Taymans  <wim@fluendo.com>
7710         * gst/base/gstbasesrc.c: (gst_base_src_init),
7711         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7712         Fix seeking.
7714 2005-10-21  Wim Taymans  <wim@fluendo.com>
7716         * docs/design/part-segments.txt:
7717         More docs.
7719         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7720         Correctly set caps, even on the subbufer.
7722 2005-10-21  Wim Taymans  <wim@fluendo.com>
7724         * docs/gst/gstreamer-docs.sgml:
7725         * docs/gst/gstreamer-sections.txt:
7726         * gst/gstelement.h:
7727         * gst/gstevent.c:
7728         * gst/gstevent.h:
7729         * gst/gstmessage.h:
7730         * gst/gstpad.h:
7731         * gst/gstparse.h:
7732         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7733         * gst/gsttask.h:
7734         * gst/gstutils.c:
7735         * gst/gstutils.h:
7736         And 2% more doc coverage.
7738 2005-10-21  Andy Wingo  <wingo@pobox.com>
7740         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7741         position reporting.
7743 2005-10-20  Wim Taymans  <wim@fluendo.com>
7745         * gst/gsterror.c: (gst_error_get_message):
7746         * gst/gstparse.h:
7747         * gst/gstquery.h:
7748         * gst/gststructure.c:
7749         * gst/gsttrace.c:
7750         * gst/gstutils.c:
7751         More docs.
7753 2005-10-20  Wim Taymans  <wim@fluendo.com>
7755         * gst/gstbuffer.h:
7756         * gst/gstpad.c:
7757         * gst/gstparse.c:
7758         Another 1% more coverage.
7760 2005-10-20  Wim Taymans  <wim@fluendo.com>
7762         * docs/gst/gstreamer-sections.txt:
7763         * gst/gstelement.c: (gst_element_get_state_func),
7764         (gst_element_abort_state), (gst_element_commit_state),
7765         (gst_element_lost_state):
7766         * gst/gstevent.h:
7767         * gst/gstquery.c: (gst_query_set_position),
7768         (gst_query_parse_position), (gst_query_set_duration),
7769         (gst_query_parse_duration), (gst_query_new_convert):
7770         * gst/gstutils.c:
7771         Yay! 1% more docs coverage.
7773 2005-10-20  Wim Taymans  <wim@fluendo.com>
7775         * gst/gstpad.h:
7776         * gst/gstquery.c: (gst_query_set_position),
7777         (gst_query_parse_position), (gst_query_set_duration),
7778         (gst_query_parse_duration), (gst_query_new_convert):
7779         * gst/gstquery.h:
7780         * gst/gstutils.c: (gst_element_query_convert):
7781         * gst/gstutils.h:
7782         Docs and consistency fixes.
7784 2005-10-20  Wim Taymans  <wim@fluendo.com>
7786         * gst/gsttask.c:
7787         * gst/gsttask.h:
7788         More docs.
7790 2005-10-20  Wim Taymans  <wim@fluendo.com>
7792         * gst/gstbin.c: (message_check), (bin_replace_message),
7793         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7794         (update_degree), (gst_bin_sort_iterator_next),
7795         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7796         Reworked the message handling a bit, cache the messages instead of
7797         only the senders. alows us to do more in the future.
7799 2005-10-20  Wim Taymans  <wim@fluendo.com>
7801         * docs/design/part-TODO.txt:
7802         Update TODO
7804         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7805         (gst_base_sink_query):
7806         Don't use clock time to report position when in EOS.
7808 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
7810         * tools/gst-inspect.c: (print_interfaces),
7811         (print_element_properties_info), (print_element_info):
7812           Fix interface output with gst-inspect -a; don't print
7813           newlines after double/float properties.
7815 2005-10-20  Wim Taymans  <wim@fluendo.com>
7817         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7818         (gst_base_sink_query):
7819         Speed up current position calculation.
7821         * gst/base/gstbasesrc.c: (gst_base_src_query),
7822         (gst_base_src_default_newsegment):
7823         Correctly set stream position in newsegment.
7825         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7826         (update_degree), (gst_bin_sort_iterator_next),
7827         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7828         * gst/gstmessage.c: (gst_message_new_custom):
7829         Clean up debugging info
7831         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7832         (gst_queue_loop), (gst_queue_handle_src_query):
7833         Pause task faster.
7835 2005-10-19  Wim Taymans  <wim@fluendo.com>
7837         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7838         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7839         Fix query handling again.
7841 2005-10-19  Wim Taymans  <wim@fluendo.com>
7843         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7844         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7845         * gst/base/gstbasesrc.c: (gst_base_src_query):
7846         * gst/elements/gstfilesink.c: (gst_file_sink_query):
7847         * gst/elements/gsttypefindelement.c:
7848         (gst_type_find_handle_src_query), (find_element_get_length),
7849         (gst_type_find_element_activate):
7850         API change fix.
7852         * gst/gstquery.c: (gst_query_new_position),
7853         (gst_query_set_position), (gst_query_parse_position),
7854         (gst_query_new_duration), (gst_query_set_duration),
7855         (gst_query_parse_duration), (gst_query_set_segment),
7856         (gst_query_parse_segment):
7857         * gst/gstquery.h:
7858         Bundling query position/duration is not a good idea since duration
7859         does not change much and we don't want to recalculate it for every
7860         position query, so they are separated again..
7861         Base value in segment query is not needed.
7863         * gst/gstqueue.c: (gst_queue_handle_src_query):
7864         * gst/gstutils.c: (gst_element_query_position),
7865         (gst_element_query_duration), (gst_pad_query_position),
7866         (gst_pad_query_duration):
7867         * gst/gstutils.h:
7868         Updates for query API change.
7869         Added some docs here and there.
7871 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7873         * check/gst/gstbin.c: (GST_START_TEST):
7874         * check/gst/gstghostpad.c: (GST_START_TEST):
7875         * check/pipelines/cleanup.c: (GST_START_TEST):
7876           wait on thread to die so we can check refcount correctly
7878 2005-10-18  Wim Taymans  <wim@fluendo.com>
7880         * check/pipelines/stress.c: (GST_START_TEST):
7881         Make check a little more time consuming.
7883 2005-10-18  Wim Taymans  <wim@fluendo.com>
7885         * check/Makefile.am:
7886         * check/pipelines/stress.c: (GST_START_TEST),
7887         (simple_launch_lines_suite), (main):
7888         Small state change torture test.
7890         * docs/design/part-states.txt:
7891         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7892         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7893         (gst_base_sink_change_state):
7894         Never take state lock from streaming thread, clean up ugly
7895         hacks. Unfortunatly core does not yet support nice ways to
7896         async commit state.
7897         
7898         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7899         (bin_bus_handler):
7900         Start state recalc if a STATE_DIRTY message is posted, but only
7901         on the toplevel bin.
7903         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7904         (gst_element_get_state_func), (gst_element_abort_state),
7905         (gst_element_commit_state), (gst_element_lost_state),
7906         (gst_element_set_state_func), (gst_element_change_state):
7907         * gst/gstelement.h:
7908         State variables are now protected with the LOCK, the state
7909         lock is only used to serialize _set_state().
7911 2005-10-18  Wim Taymans  <wim@fluendo.com>
7913         * check/gst/gstbin.c: (GST_START_TEST):
7914         * check/gst/gstmessage.c: (GST_START_TEST):
7915         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7916         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7917         (bin_bus_handler):
7918         * gst/gstelement.c: (gst_element_abort_state),
7919         (gst_element_commit_state), (gst_element_lost_state):
7920         * gst/gstmessage.c: (gst_message_new_state_changed),
7921         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7922         (gst_message_new_segment_done), (gst_message_new_duration),
7923         (gst_message_parse_state_changed),
7924         (gst_message_parse_segment_start),
7925         (gst_message_parse_segment_done), (gst_message_parse_duration):
7926         * gst/gstmessage.h:
7927         * tools/gst-launch.c: (event_loop):
7928         Seriously, this is better than a previous commit as we only need
7929         to notify the fact that an element changed state in a streaming
7930         thread, marking the state of the parents dirty, hence the 
7931         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7932         message.
7934 2005-10-18  Wim Taymans  <wim@fluendo.com>
7936         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
7937         (gst_bin_recalc_func):
7938         * gst/gstelement.c: (gst_element_set_clock),
7939         (gst_element_abort_state), (gst_element_lost_state):
7940         Cleanups, prepare for state change fixes.
7942 2005-10-18  Wim Taymans  <wim@fluendo.com>
7944         * gst/gstbin.h:
7945         * gst/gstelement.c: (gst_element_class_init),
7946         (gst_element_set_state), (gst_element_set_state_func):
7947         * gst/gstelement.h:
7948         Pending ABI changes.
7949         GThreadPool in GstBinClass to monitor async state changes.
7950         state_cookie in GstElement to detect concurrent gst/set state.
7951         set_state is now virtual too in case a very complicated element
7952         has to be constructed.
7954 2005-10-18  Wim Taymans  <wim@fluendo.com>
7956         * check/gst/gstbin.c: (GST_START_TEST):
7957         * check/gst/gstmessage.c: (GST_START_TEST):
7958         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7959         * gst/gstbin.c: (bin_bus_handler):
7960         * gst/gstelement.c: (gst_element_commit_state),
7961         (gst_element_lost_state):
7962         * gst/gstmessage.c: (gst_message_new_state_changed),
7963         (gst_message_new_segment_start), (gst_message_new_segment_done),
7964         (gst_message_new_duration), (gst_message_parse_state_changed),
7965         (gst_message_parse_segment_start),
7966         (gst_message_parse_segment_done), (gst_message_parse_duration):
7967         * gst/gstmessage.h:
7968         * tools/gst-launch.c: (event_loop):
7969         Make messages future proof.
7970         state-change gets a flag if it was a message comming from the
7971         streaming thread.
7972         segment-start/stop can also be specified in other formats.
7973         A message to notify an app that a pipeline changed playback 
7974         duration.
7975         Also fix a GstMessage leak in -launch
7977 2005-10-18  Andy Wingo  <wingo@pobox.com>
7979         * gst/gstelement.c (gst_element_dispose): More helpful message.
7981 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7983         reviewed by: <delete if not using a buddy>
7985         * common/gtk-doc.mak:
7987 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7989         * gst/gstregistry.c: (gst_registry_scan_path_level):
7990           unref a plug-in we get that was already initialized
7992 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
7994         * docs/gst/gstreamer-sections.txt:
7995         * docs/libs/gstreamer-libs-sections.txt:
7996         * gst/gstelement.h:
7997           add new api entries
7998           hide internal macro
8000 2005-10-17  Andy Wingo  <wingo@pobox.com>
8002         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8003         cleanup.
8005         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8007         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8009         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8010         (gst_element_get_state_func): Better debug message.
8011         (gst_element_commit_state): s/INFO/DEBUG/.
8012         (gst_element_lost_state, gst_element_change_state): 
8014         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8015         (gst_message_new_custom): s/INFO/LOG/.
8017 2005-10-17  Michael Smith <msmith@fluendo.com>
8019         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8020           Check if end time is valid using end time, not start time.
8022 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8024         * check/gst-libs/controller.c: (GST_START_TEST),
8025         (gst_controller_suite):
8026         * libs/gst/controller/gstcontroller.c:
8027         (gst_controlled_property_set_interpolation_mode):
8028         * libs/gst/controller/gstcontroller.h:
8029         * libs/gst/controller/gstinterpolation.c:
8030         * testsuite/controller/.cvsignore:
8031         * testsuite/controller/Makefile.am:
8032         * testsuite/controller/interpolator.c:
8033           merge controller testsuites
8034           fix broken tests
8035           remove mem-chunk from docs
8037 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8039         * gst/gstmemchunk.c:
8040         * gst/gstmemchunk.h:
8041         * gst/gsttrashstack.c:
8042         * gst/gsttrashstack.h:
8043           out.  get out.  you're fired.  to the Attic !
8045 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8047         * gst/gstcaps.c: (gst_caps_intersect):
8048           fix signedness issues in a (hopefully) correct way
8049         * gst/gstelement.c: (gst_element_pads_activate):
8050           some debugging
8051         * gst/gstobject.c: (gst_object_set_parent):
8052           some debugging
8054 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8056         * gst/gstvalue.h: Fix prototypes.
8058 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8060         * docs/gst/gstreamer-sections.txt:
8061         * gst/gst.c: (gst_version_string):
8062         * gst/gst.h:
8063         * gst/gstversion.h.in:
8064         * win32/common/libgstreamer.def:
8065           add gst_version_string ()
8067 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8069         * configure.ac:
8070           clean up further
8071         * gst/gst.c: (init_post):
8072         * win32/common/config.h.in:
8073           it's PLUGINDIR now
8074         * gst/gstcaps.c: (gst_caps_intersect):
8075           use gint64, the range could be bigger than a guint
8077 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8079         * gst/gstclock.h:
8080           document potential problem in 2038
8082 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8084         * gst/gstcaps.c: (gst_caps_intersect):
8085           Fix guint j diving under 0
8087 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8089         * configure.ac:
8090         * win32/common/config.h:
8091         * win32/common/config.h.in:
8092           check for process.h, declares getpid() on Windows
8093         * gst/gstinfo.c:
8094           include process.h if we have it
8095         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8096         * gst/gstmemchunk.h:
8097           fix signedness issues
8098         * win32/common/libgstreamer.def:
8099           fix get_type's
8101 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8103         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8104         fix. Because of unsigned ints, caps intersection was going nuts and
8105         trying to access structures with G_MAXUINT index. That fixes
8106         videotestsrc ! ffmpegcolorspace ! fakesink
8107         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8108         consistency.
8110 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8112         * configure.ac:
8113           use the gettext macro
8114         * gst/elements/gstelements.c:
8115         * gst/gst.c:
8116         * gst/indexers/gstindexers.c:
8117           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8118         * win32/common/config.h:
8119           updated config.h
8120         * win32/common/config.h.in:
8121           add the template to generate config.h
8122         * win32/common/gstenumtypes.c:
8123         * win32/common/gstversion.h:
8124           updated copies
8126 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8128         * gst/gst.c: (gst_version):
8129         * gst/gstversion.h.in:
8130           add the nano
8132 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8134         * gst/gstevent.h:
8135           Oops, add missing closing bracket.
8137 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8139         * configure.ac:
8140           use common m4's for argument checking
8142 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8144         * docs/gst/gstreamer-sections.txt:
8145         * gst/gstevent.h:
8146           Add GST_EVENT_TYPE_NAME() macro.
8148 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8150         * gst/gstinfo.c:
8151         * gst/gstpluginfeature.c:
8152         * gst/gsttask.c:
8153           privatize more symbols
8155 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8157         * configure.ac:
8158           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8159           everything that uses GStreamer API should have the includes
8161 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8163         * docs/gst/gstreamer-sections.txt:
8164         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8165         * gst/gstvalue.h:
8166           give each value a _get_type, removes the DATA exports
8168 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8170         * gst/gst.c:
8171         * gst/gst.h:
8172           remove _gst_registry_auto_load, not used anymore
8173         * gst/gstbin.c: (gst_bin_get_type):
8174         * gst/gstbin.h:
8175         * gst/gstelement.c: (gst_element_get_type):
8176         * gst/gstelement.h:
8177         * gst/gstobject.c: (gst_object_get_type):
8178         * gst/gstobject.h:
8179         * gst/gstpad.c: (gst_pad_get_type):
8180         * gst/gstpad.h:
8181           make _get_type functions similar, fixes data export from library
8183 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8185         * configure.ac:
8186           correctly make conditionals
8187         * gst/elements/Makefile.am:
8188         * gst/elements/gstelements.c:
8189           fix typo causing fdsrc not to build
8191 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8193         * testsuite/Makefile.am:
8194         * testsuite/bytestream/.cvsignore:
8195         * testsuite/bytestream/Makefile.am:
8196         * testsuite/bytestream/filepadsink.c:
8197         * testsuite/bytestream/gstbstest.c:
8198         * testsuite/bytestream/test1.c:
8199         * testsuite/bytestream/testfile1:
8200         * testsuite/caps/normalisation.c:
8201         * testsuite/caps/random.c: (main):
8202         * testsuite/cleanup/.cvsignore:
8203         * testsuite/cleanup/Makefile.am:
8204         * testsuite/cleanup/cleanup1.c:
8205         * testsuite/cleanup/cleanup2.c:
8206         * testsuite/cleanup/cleanup3.c:
8207         * testsuite/cleanup/cleanup4.c:
8208         * testsuite/cleanup/cleanup5.c:
8209         * testsuite/controller/interpolator.c:
8210         * testsuite/debug/printf_extension.c: (main):
8211         * testsuite/elements/tee.c:
8212         * testsuite/negotiation/.cvsignore:
8213         * testsuite/negotiation/Makefile.am:
8214         * testsuite/negotiation/pad_link.c:
8215         * testsuite/pad/Makefile.am:
8216         * testsuite/pad/chainnopull.c:
8217         * testsuite/pad/getnopush.c:
8218         * testsuite/pad/link.c:
8219         * testsuite/refcounting/sched.c: (create_pipeline):
8220         * testsuite/registry/Makefile.am:
8221         * testsuite/registry/gst-print-formats.c:
8222         * testsuite/schedulers/.cvsignore:
8223         * testsuite/schedulers/142183-2.c:
8224         * testsuite/schedulers/142183.c:
8225         * testsuite/schedulers/143777-2.c:
8226         * testsuite/schedulers/143777.c:
8227         * testsuite/schedulers/147713.c:
8228         * testsuite/schedulers/147819.c:
8229         * testsuite/schedulers/147894-2.c:
8230         * testsuite/schedulers/147894.c:
8231         * testsuite/schedulers/Makefile.am:
8232         * testsuite/schedulers/group_link.c:
8233         * testsuite/schedulers/queue_link.c:
8234         * testsuite/schedulers/relink.c:
8235         * testsuite/schedulers/unlink.c:
8236         * testsuite/schedulers/unref.c:
8237         * testsuite/schedulers/useless_iteration.c:
8238         * testsuite/states/bin.c:
8239           clean out/remove some stuff from the testsuite directories
8241 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8243         * configure.ac:
8244           check for some headers
8245         * gst/elements/Makefile.am:
8246         * gst/elements/gstelements.c:
8247           don't compile fdsrc without sys/socket.h
8248         * gst/indexers/Makefile.am:
8249         * gst/indexers/gstindexers.c: (plugin_init):
8250           don't compile fileindex without mmap
8252 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8254         * configure.ac:
8255           reorganize
8256           clean up
8257           document more
8258           remove cruft
8259         * check/Makefile.am:
8260         * docs/gst/Makefile.am:
8261         * examples/helloworld/Makefile.am:
8262         * gst/Makefile.am:
8263         * gst/base/Makefile.am:
8264         * gst/check/Makefile.am:
8265         * gst/elements/Makefile.am:
8266         * gst/indexers/Makefile.am:
8267         * gst/parse/Makefile.am:
8268         * libs/gst/controller/Makefile.am:
8269         * libs/gst/dataprotocol/Makefile.am:
8270         * examples/helloworld/helloworld.c: (event_loop):
8271           compile fixes, though it's not being compiled currently
8273 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8275         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8276           Add some simple tests for the new taglist date API.
8278 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8280         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8281         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8282           Beautify 'last-message' output: print 'none' for buffer timestamps
8283           and durations if none is set; improve alignment with next messages.
8285 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8287         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8288         * gst/gstpluginfeature.h:
8289         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8290         * gst/gstregistry.h:
8291         * docs/gst/gstreamer-sections.txt:
8292           Add new API to check plugin feature version requirements.
8294         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8295           Some basic tests for the above.         
8297 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8299         * gst/gststructure.c: (gst_structure_to_string):
8300           guard against NULL printf - happens when for example
8301           a message structure with GstClock gets serialized
8303 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8305         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8306           Fix presumable copy'n'pasto.
8308 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8310         * gst/elements/gstfakesrc.h:
8311         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8312         * gst/elements/gsttypefindelement.c:
8313           fix some signedness
8314         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8315           I wonder if this could actually write +2GB files before
8317 2005-10-13  Andy Wingo  <wingo@pobox.com>
8319         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8320         Fix Timmeke Waymans bug.
8321         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8322         string of the proper length to gst_caps_from_string. There's a
8323         potential for, before this fix, that this could cause someone
8324         connecting over the network to cause a segfault if the payload is
8325         not NUL-terminated.
8327 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8329         * docs/design/draft-push-pull.txt:
8330         * docs/design/part-overview.txt:
8331         * docs/random/TODO-pre-0.9:
8332         * docs/random/old/ChangeLog.gstreamer:
8333         * gst/base/gstpushsrc.c:
8334         * gst/gstclock.c:
8335           fixed typos
8337 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8339         * gst/glib-compat.c: (gst_flags_get_first_value):
8340         * gst/glib-compat.h:
8341         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8342         (gst_value_compare_double), (gst_value_serialize_flags):
8343           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8344           infinite loop
8346 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8348         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8349         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8350           fix up debugging
8351         * tools/gst-launch.c: (event_loop):
8352           print out clock nicely
8354 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8356         * docs/gst/gstreamer-sections.txt:
8357         * gst/gsttaglist.h:
8358         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8359         (gst_tag_list_get_date_index):
8360           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8361           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8363 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8365         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8366         (gst_collectpads_chain):
8367         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8368         in CollectData.
8370 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8372         * docs/gst/gstreamer-sections.txt:
8373         * gst/gst.c:
8374         * gst/gsterror.h:
8375         * tools/gst-inspect.c: (main):
8376         * tools/gst-launch.c: (main):
8377         * tools/gst-run.c: (main):
8378         * tools/gst-xmlinspect.c: (main):
8379           fix GOption context leaks
8380           doc fixes
8382 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8384         * gst/gstbus.c:
8385           use HAVE_UNISTD_H
8386         * win32/common/config.h:
8387           update config
8388         * win32/vs6/grammar.dsp:
8389         * win32/vs6/libgstelements.dsp:
8390         * win32/vs6/libgstreamer.dsp:
8391           update vs6 files
8393 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8395         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8396         * gst/base/gstbasesrc.c: (gst_base_src_query):
8397           fix more guint64<->gdouble conversions
8399 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8401         * Makefile.am:
8402           add win32-update target
8403         * win32/common/gstconfig.h:
8404         * win32/common/gstenumtypes.c:
8405         * win32/common/gstenumtypes.h:
8406         * win32/common/gstversion.h:
8407           add files that visual studio can't generate
8409 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8411         * Makefile.am:
8412           add a win32-update target
8413         * configure.ac:
8415 2005-10-12  Wim Taymans  <wim@fluendo.com>
8417         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8418         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8419         * gst/gstelement.c: (gst_element_commit_state),
8420         (gst_element_set_state):
8421         Protect flags with proper lock.
8422         unref provided cached clock in dispose.
8424 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8426         * gst/gst.c:
8427         * gst/gstminiobject.h:
8428         * gst/gstpad.h:
8429         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8430           removed unused flags from miniobject
8431           doc fixes
8433 2005-10-12  Wim Taymans  <wim@fluendo.com>
8435         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8436         (gst_file_sink_event), (gst_file_sink_render):
8437         Flush before seeking.
8439 2005-10-12  Andy Wingo  <wingo@pobox.com>
8441         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8442         always been the case.
8444 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8446         * check/gst/gstbin.c: (GST_START_TEST):
8447         * docs/gst/gstreamer-sections.txt:
8448         * gst/base/gstbasesink.c: (gst_base_sink_init):
8449         * gst/base/gstbasesrc.c: (gst_base_src_init),
8450         (gst_base_src_get_range), (gst_base_src_check_get_range),
8451         (gst_base_src_start), (gst_base_src_stop):
8452         * gst/base/gstbasesrc.h:
8453         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8454         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8455         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8456         (bin_bus_handler):
8457         * gst/gstbin.h:
8458         * gst/gstbuffer.h:
8459         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8460         * gst/gstbus.h:
8461         * gst/gstelement.c: (gst_element_is_locked_state),
8462         (gst_element_set_locked_state), (gst_element_commit_state),
8463         (gst_element_set_state):
8464         * gst/gstelement.h:
8465         * gst/gstindex.c: (gst_index_init):
8466         * gst/gstindex.h:
8467         * gst/gstminiobject.h:
8468         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8469         (gst_object_set_parent):
8470         * gst/gstobject.h:
8471         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8472         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8473         * gst/gstpad.h:
8474         * gst/gstpadtemplate.h:
8475         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8476         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8477         * gst/gstpipeline.h:
8478         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8479         (gst_file_index_commit):
8480         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8481         * testsuite/pad/link.c: (gst_test_src_init),
8482         (gst_test_filter_init), (gst_test_sink_init):
8483         * testsuite/states/locked.c: (main):
8484           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8485           moved bitshift from macro to enum definition
8487 2005-10-12  Wim Taymans  <wim@fluendo.com>
8489         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8490         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8491         (gst_file_sink_render):
8492         Some more debugging info.
8494 2005-10-12  Wim Taymans  <wim@fluendo.com>
8496         * docs/design/part-states.txt:
8497         * tools/gst-launch.c: (main):
8498         Some doc updates.
8499         Revert non-intentional change.
8501 2005-10-12  Wim Taymans  <wim@fluendo.com>
8503         * check/gst/gstbin.c: (GST_START_TEST):
8504         * check/gst/gstelement.c: (GST_START_TEST):
8505         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8506         * check/gst/gstghostpad.c: (GST_START_TEST):
8507         * check/gst/gstpipeline.c: (GST_START_TEST):
8508         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8509         * check/states/sinks.c: (GST_START_TEST):
8510         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8511         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8512         (gst_bin_remove_func), (gst_bin_get_state_func),
8513         (gst_bin_recalc_state), (gst_bin_change_state_func),
8514         (bin_bus_handler):
8515         * gst/gstelement.c: (gst_element_get_state_func),
8516         (gst_element_get_state), (gst_element_abort_state),
8517         (gst_element_commit_state), (gst_element_set_state),
8518         (gst_element_change_state), (gst_element_change_state_func):
8519         * gst/gstelement.h:
8520         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8521         (gst_pipeline_provide_clock_func):
8522         * gst/gstutils.c: (gst_element_link_pads_filtered):
8523         * tools/gst-launch.c: (main):
8524         * tools/gst-typefind.c: (main):
8525         Use GstClockTime in _get_state() instead of GTimeVal.
8526         Remove old code in gstutils.c
8528 2005-10-12  Andy Wingo  <wingo@pobox.com>
8530         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8531         removed.
8533         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8534         there is no task. Shouldn't affect any code, as nothing in our
8535         plugins checks this return value.
8536         (gst_pad_stop_task): Also take the stream lock if the pad has no
8537         task. Docs updated.
8539 2005-10-12  Wim Taymans  <wim@fluendo.com>
8541         * gst/gstpad.c: (pre_activate), (post_activate),
8542         (gst_pad_activate_pull), (gst_pad_activate_push):
8543         Cleanup activation code. Reset old state if
8544         activation failed.
8546 2005-10-12  Wim Taymans  <wim@fluendo.com>
8548         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8549         (gst_base_sink_change_state):
8550         No need to prerol after receiving EOS.
8552         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8553         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8554         * gst/elements/gstidentity.c: (gst_identity_event):
8555         Print events more verbosely.
8557 2005-10-12  Wim Taymans  <wim@fluendo.com>
8559         * check/Makefile.am:
8560         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8561         * check/states/sinks2.c:
8562         Moved sinks2 testcode in sinks check.
8564         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8565         (gst_bin_remove_func), (gst_bin_recalc_state),
8566         (gst_bin_change_state_func), (bin_bus_handler):
8567         Fix potential race condition when _get_state() iterated over an
8568         ASYNC element right before it posted a state completion.
8570         * gst/gstclock.h:
8571         Do proper cast here.
8573         * gst/gstevent.c: (gst_event_new_newsegment),
8574         (gst_event_parse_newsegment):
8575         A playback rate of 0.0 is not allowed.
8577 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8579         * win32/common/config.h:
8580         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8581         (_trewinddir), (_ttelldir), (_tseekdir):
8582         * win32/common/dirent.h:
8583         * win32/common/gtchar.h:
8584         * win32/common/libgstbase.def:
8585         * win32/common/libgstreamer.def:
8586         * win32/vs6/grammar.dsp:
8587         * win32/vs6/gst_inspect.dsp:
8588         * win32/vs6/gst_launch.dsp:
8589         * win32/vs6/gstreamer.dsw:
8590         * win32/vs6/libgstbase.dsp:
8591         * win32/vs6/libgstelements.dsp:
8592         * win32/vs6/libgstreamer.dsp:
8593           Visual Studio 6 project files, and a new common directory.
8594           Phear.
8596 2005-10-11  Wim Taymans  <wim@fluendo.com>
8598         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8599         (gst_base_sink_do_sync), (gst_base_sink_query),
8600         (gst_base_sink_change_state):
8601         * gst/base/gstbasesink.h:
8602         Correctly parse newsegment info.
8604 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8606         * gst/gst.c: (init_post):
8607           split plugin paths correctly
8609 2005-10-11  Wim Taymans  <wim@fluendo.com>
8611         * check/gst/gstevent.c: (GST_START_TEST):
8612         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8613         (gst_base_sink_change_state):
8614         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8615         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8616         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8617         * gst/gstevent.c: (gst_event_new_newsegment),
8618         (gst_event_parse_newsegment):
8619         * gst/gstevent.h:
8620         Added extra flag to newsegment for future API freeze.
8621         Updated check and base elements.
8623 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8625         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8626         (gst_collectpads_add_pad), (gst_collectpads_pop),
8627         (gst_collectpads_event), (gst_collectpads_chain):
8628         * gst/base/gstcollectpads.h: Handle EOS correctly.
8630 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8632         * tools/gst-launch.c: (main):
8633           more null protecting
8635 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8637         * gst/gst-i18n-lib.h:
8638           check for ENABLE_NLS, not GETTEXT_PACKAGE
8639         * gst/gstregistry.c: (gst_registry_add_plugin),
8640         (gst_registry_scan_path_level),
8641         (_gst_registry_remove_cache_plugins):
8642           protect possibly NULL strings
8643         * gst/parse/types.h:
8644           config.h already included before
8645         * tools/gst-inspect.c: (main):
8646           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8647           check for ENABLE_NLS, not GETTEXT_PACKAGE
8648         * tools/gst-launch.c: (main):
8649           check for ENABLE_NLS, not GETTEXT_PACKAGE
8651 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8653         * configure.ac:
8654           if we don't have glib, fail before testing 2.8
8655         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8656           fix a leak, should fix plugins-base testsuite
8658 2005-10-11  Andy Wingo  <wingo@pobox.com>
8660         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8661         take the mode we're going to as an arg. Go head and set the mode
8662         and flushing flags now, so that if the activate function starts a
8663         thread all the flags will be in the right state.
8664         (post_activate): Renamed also. Just handle making sure streaming
8665         finishes for the deactivation case, and setting the deactivated
8666         mode.
8667         (gst_pad_set_active): Complain loudly if deactivation fails.
8668         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8669         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8670         remove the terrible hack.
8672 2005-10-11  Wim Taymans  <wim@fluendo.com>
8674         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8675         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8676         (gst_bin_recalc_state), (gst_bin_change_state_func),
8677         (gst_bin_dispose), (bin_bus_handler):
8678         * gst/gstbin.h:
8679         Prepare to make current EOS message queue more generic.
8680         Fix some typos.
8682         * gst/gstevent.c: (gst_event_new_newsegment),
8683         (gst_event_parse_newsegment):
8684         * gst/gstevent.h:
8685         Rename base to stream_time.
8687         * gst/gstmessage.h:
8688         Fix typo in docs.
8690 2005-10-11  Wim Taymans  <wim@fluendo.com>
8692         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8693         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8694         (gst_bin_change_state_func), (bin_bus_handler):
8695         * gst/gstbin.h:
8696         Work on proper clock selection.
8698 2005-10-11  Edward Hervey  <edward@fluendo.com>
8700         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8701         * libs/gst/controller/gstcontroller.h:
8702         Added GList* version of _remove_properties() in order to be able to wrap
8703         it in bindings.
8705 2005-10-11  Wim Taymans  <wim@fluendo.com>
8707         * docs/design/part-states.txt:
8708         Some more docs.
8710         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8711         (gst_bin_change_state_func), (bin_bus_handler):
8712         Doc updates. Don't distribute the same clock over and over again.
8714         * gst/gstclock.c:
8715         * gst/gstclock.h:
8716         Doc updates.
8718         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8719         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8720         (gst_pad_send_event):
8721         * gst/gstpad.h:
8722         Make probe emission threadsafe again.
8723         Register quarks and move _get_name() from utils.
8724         Doc updates.
8726         * gst/gstpipeline.c: (gst_pipeline_class_init),
8727         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8728         Only redistribute the clock of it changed.
8730         * gst/gstsystemclock.h:
8731         Doc updates. 
8733         * gst/gstutils.c:
8734         * gst/gstutils.h:
8735         Moved the _flow_get_name() to GstPad.
8737 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8739         * check/gst-libs/gdp.c: (GST_START_TEST):
8740         * check/gst/gstcaps.c: (GST_START_TEST):
8741         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8742         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8743         (gst_dp_packet_from_caps):
8744           fix more valgrind warnings before turning up the heat
8746 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8748         * gst/parse/grammar.y:
8749           some cleanup before the hacking
8751 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8753         * gst/base/gstbasesrc.c: (gst_base_src_query):
8754           use conversions
8755         * gst/gstutils.c: (gst_guint64_to_gdouble),
8756         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8757         * gst/gstutils.h:
8758           externalize, basesrc uses it
8759           obviously the implementation needs testing
8761 2005-10-10  Wim Taymans  <wim@fluendo.com>
8763         * tests/sched/Makefile.am:
8764         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8765         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8767 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8769         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8770           apparently converting from guint64 to double is not implemented
8771           on MSVC
8773 2005-10-10  Wim Taymans  <wim@fluendo.com>
8775         * check/Makefile.am:
8776         * check/generic/states.c: (GST_START_TEST):
8777         * check/gst/gstbin.c: (GST_START_TEST):
8778         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8779         * check/states/sinks.c: (GST_START_TEST):
8780         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8781         (main):
8782         Check fixes, use API as stated in design docs, remove hacks.
8784         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8785         (gst_base_sink_change_state):
8786         Catch stopping our task while we're shutting down.
8788         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8789         (gst_bin_remove_func), (gst_bin_get_state_func),
8790         (gst_bin_recalc_state), (gst_bin_change_state_func),
8791         (bin_bus_handler):
8792         * gst/gstbin.h:
8793         * gst/gstelement.c: (gst_element_init),
8794         (gst_element_get_state_func), (gst_element_abort_state),
8795         (gst_element_commit_state), (gst_element_lost_state),
8796         (gst_element_set_state), (gst_element_change_state),
8797         (gst_element_change_state_func):
8798         * gst/gstelement.h:
8799         New state change algorithm (see #318116)
8801         * gst/gstpipeline.c: (gst_pipeline_class_init),
8802         (gst_pipeline_init), (gst_pipeline_set_property),
8803         (gst_pipeline_get_property), (do_pipeline_seek),
8804         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8805         * gst/gstpipeline.h:
8806         Remove crude state change hacks.
8808         * gst/gstutils.h:
8809         Remove crude hacks.
8811         * tools/gst-launch.c: (main):
8812         Fixes for state change. Needs some more work to fully use the
8813         new stuff.
8815 2005-10-10  Andy Wingo  <wingo@pobox.com>
8817         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8819         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8820         this flag, but it's not even in GLib 2.6. Odd. Hack around the
8821         issue.
8823 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8825         * gst/gstiterator.c: (gst_iterator_new):
8826           Fix my previous commit: GTypes passed to gst_iterator_new()
8827           can be fundamental types.
8829 2005-10-10  Wim Taymans  <wim@fluendo.com>
8831         * gst/gstelement.c: (gst_element_iterate_pad_list),
8832         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8833         (gst_element_iterate_sink_pads):
8834         Use src/sink pads lists for the respective iterators instead
8835         of filtering.
8837 2005-10-10  Andy Wingo  <wingo@pobox.com>
8839         Merged in popt removal + GOption addition patch from Ronald, bug
8840         #169772.
8842         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
8843         GstElement macros around, remove popt-related symbols, add goption
8844         stuff.
8846         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
8847         
8848         * docs/gst/Makefile.am:
8849         * docs/libs/Makefile.am: No POPT_CFLAGS.
8850         
8851         * examples/manual/Makefile.am:
8852         * docs/manual/basics-init.xml: Doc updates with an example.
8853         
8854         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8855         (gst_init), (parse_one_option), (parse_goption_arg):
8856         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
8857         bit of hand merging and debugging to get the GOption stuff working
8858         tho.
8859         
8860         * tests/Makefile.am:
8861         * tools/Makefile.am:
8862         * tools/gst-inspect.c: (main):
8863         * tools/gst-launch.c: (main):
8864         * tools/gst-run.c: (main):
8865         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
8867 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8869         * gst/gstiterator.c: (gst_iterator_new):
8870           Add assertions to make sure passed GType is likely to really
8871           be a GType (as the compiler won't catch it if the size and
8872           GType arguments get mixed up, see #318447).
8874 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8876         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8878         * gst/gstbin.c: (gst_bin_iterate_sorted):
8879           Pass GType and size arguments to gst_iterator_new() in the right
8880           order (maybe we should make _new() take the GType as first argument
8881           just like _new_list()?) (#318447).
8882           
8884 2005-10-10  Wim Taymans  <wim@fluendo.com>
8886         * gst/gstelement.c: (gst_element_finalize):
8887         And free the GStaticRecMutex too
8889 2005-10-10  Andy Wingo  <wingo@pobox.com>
8891         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8892         Allocate and free the mutex properly.
8894         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8895         New macros.
8896         (GstElement): The state_lock is now recursive. Rebuild your
8897         plugins, suckers. Old macros adapted.
8899         * docs/gst/gstreamer-sections.txt: Doc updates.
8901         * gst/gstutils.h:
8902         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8903         (g_static_rec_cond_wait): Ported from state changes patch, while
8904         we wait on bug #317802 to be solved in a well-distributed GLib.
8906         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8907         gst_element_change_state, variable name changes.
8908         (gst_element_change_state): Split out of gst_element_set_state in
8909         preparation for the state change merge. Doesn't pay attention to
8910         the 'transition' argument.
8911         (gst_element_set_state): Updates, hopefully purely cosmetic.
8912         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8913         state change patch.
8914         (gst_element_get_state_func): Renamed from get_state, cosmetic
8915         changes.
8917 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8919         * gst/elements/gstelements.c:
8920         * win32/GStreamer.vcproj:
8921         * win32/config.h:
8922         * win32/dirent.c: (_tseekdir):
8923         * win32/gst-inspect.vcproj:
8924         * win32/gst-launch.vcproj:
8925         * win32/gstconfig.h:
8926         * win32/gstelements.vcproj:
8927         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8928         * win32/gstreamer.def:
8929         * win32/msvc71.sln:
8930           updates for the win32 build (patch from Sebastien Moutte)
8932 2005-10-10  Andy Wingo  <wingo@pobox.com>
8934         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8935         gst_bin_get_state, cleaned up (but no logic changes).
8936         (bin_element_is_sink): Comment updates.
8937         (sink_iterator_filter): Remove needless cast.
8938         (gst_bin_iterate_sinks): Doc update.
8939         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
8940         cleaned up (but no logic changes).
8942         * check/states/sinks.c (test_src_sink): Cleanups from the state
8943         change patch.
8944         (test_livesrc_sink): Sync on the state.
8946         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
8947         the state change patch.
8949         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
8950         change patch.
8952         * check/gst/gstbin.c: Merge in some style fixes and additional
8953         checks from Wim's state change patch.
8955 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8957         * gst/base/gsttypefindhelper.c: (helper_find_peek),
8958         (gst_type_find_helper):
8959           Check whether we have the requested data already in our list of
8960           cached buffers before pulling a new buffer; also make the buffer
8961           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
8963 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8965         * gst/gstcaps.c:
8966         * gst/gstevent.c:
8967           doc updates
8968         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
8969           don't use long long, it's not portable.  Replacing with
8970           gint64 seems to work; let's hope no skeletons fall out of the closet.
8972 2005-10-10  Andy Wingo  <wingo@pobox.com>
8974         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
8976 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
8978         * docs/gst/gstreamer-sections.txt:
8979         * gst/gstevent.c:
8980         * gst/gstevent.h:
8981         * gst/gstinfo.c:
8982         * gst/gstinfo.h:
8983         * gst/gstmessage.c: (gst_message_parse_state_changed):
8984         * gst/gstpad.c:
8985         * gst/gstpad.h:
8986           more docs, fix compilation
8988 2005-10-09  Philippe Khalaf <burger@speedy.org>
8989         * gst/gstmessage.c:
8990           Fixed a few forgotten variables on previous commit
8992 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8994         * gst/base/gsttypefindhelper.c: (helper_find_peek):
8995           Fix evil typefind crasher: getrange() might return a short
8996           buffer at the end of a file, but gst_type_find_peek() must
8997           either return the full data as requested or NULL, but
8998           never a short buffer.
9000 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9002         * gst/gstmessage.c: (gst_message_new_state_changed),
9003         (gst_message_parse_state_changed):
9004         * gst/gstmessage.h:
9005           don't use "new", it's a C++ keyword
9007 2005-10-08  Wim Taymans  <wim@fluendo.com>
9009         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9010         * gst/gstelement.c: (gst_element_post_message):
9011         * gst/gstpipeline.c: (gst_pipeline_change_state):
9012         Small docs and debug updates.
9014 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9016         * docs/gst/gstreamer-sections.txt:
9017         * gst/gstelementfactory.c:
9018         * gst/gstevent.c:
9019         * gst/gsttaglist.c:
9020           more docs
9022 2005-10-08  Wim Taymans  <wim@fluendo.com>
9024         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9025         (gst_bin_dispose), (bin_bus_handler):
9026         Fix typos, add comments.
9027         Clear EOS list when going to PAUSED from any direction and do it
9028         in a threadsafe way.
9029         Get base time in a threadsafe way too.
9030         Fix confusing debug in the change_state function.
9031         Various other small cleanups.
9032         
9033         * gst/gstelement.c: (gst_element_post_message):
9034         Fix very verbose bus posting code.
9036         * gst/gstpipeline.c: (gst_pipeline_class_init),
9037         (gst_pipeline_set_property), (gst_pipeline_get_property),
9038         (gst_pipeline_change_state):
9039         Small ARG_ -> PROP_ cleanup
9041 2005-10-08  Wim Taymans  <wim@fluendo.com>
9043         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9044         Do a less CPU demanding EOS check because we can.
9046 2005-10-08  Wim Taymans  <wim@fluendo.com>
9048         * libs/gst/dataprotocol/dataprotocol.c:
9049         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9050         (gst_dp_packet_from_event):
9051         * libs/gst/dataprotocol/dataprotocol.h:
9052         * libs/gst/dataprotocol/dp-private.h:
9053         It's about time we bump the version number.
9054         Since event types don't fit in the guint8 anymore describing
9055         the payload type, make payload type 16 bits wide.
9057 2005-10-08  Wim Taymans  <wim@fluendo.com>
9059         * docs/design/part-TODO.txt:
9060         * docs/design/part-clocks.txt:
9061         * docs/design/part-events.txt:
9062         * docs/design/part-gstbin.txt:
9063         * docs/design/part-gstelement.txt:
9064         * docs/design/part-gstpipeline.txt:
9065         * docs/design/part-live-source.txt:
9066         * docs/design/part-messages.txt:
9067         * docs/design/part-overview.txt:
9068         * docs/design/part-states.txt:
9069         Many doc updates.
9071 2005-10-08  Wim Taymans  <wim@fluendo.com>
9073         * gst/gstevent.c:
9074         * gst/gstevent.h:
9075         Fix event quark registration.
9076         Add some space between events so we can insert them in the
9077         right groups.
9079 2005-10-08  Wim Taymans  <wim@fluendo.com>
9081         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9082         (gst_base_sink_handle_buffer):
9083         Better log message.
9085         * gst/gstbus.h:
9086         * gst/gstelement.h:
9087         More docs.
9089         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9090         (gst_queue_set_property), (gst_queue_get_property):
9091         * gst/gstqueue.h:
9092         Remove old unused properties.
9094 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9095         * docs/gst/gstreamer-sections.txt:
9096         * gst/gstmessage.c:
9097         * gst/gstmessage.h:
9098         * gst/gstminiobject.c:
9099         * gst/gstminiobject.h:
9100         * gst/gstobject.h:
9101         * gst/gstpad.h:
9102         * gst/gstutils.h:
9103           lots of new docs and doc fixes
9105 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9107         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9108         * gst/gstplugin.h:
9109         * gst/gstregistry.c: (gst_registry_lookup_locked),
9110         (gst_registry_scan_path_level):
9111         * gst/gstregistryxml.c: (load_plugin):
9112           Only ever load one plugin for a given plugin basename.
9113           This ensures correct overriding of GST_PLUGIN_PATH over
9114           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9115           system installed plugins.
9117 2005-10-08  Wim Taymans  <wim@fluendo.com>
9119         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9120         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9121         Prepare for doing QOS.
9123 2005-10-08  Wim Taymans  <wim@fluendo.com>
9125         * check/gst/gstbin.c: (GST_START_TEST):
9126         * check/pipelines/cleanup.c: (GST_START_TEST):
9127         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9128         Allow new clock message too.
9130 2005-10-08  Wim Taymans  <wim@fluendo.com>
9132         * gst/gstmessage.c: (gst_message_new_error),
9133         (gst_message_new_warning), (gst_message_new_tag),
9134         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9135         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9136         (gst_message_new_segment_start), (gst_message_new_segment_done),
9137         (gst_message_parse_state_changed),
9138         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9139         (gst_message_parse_new_clock):
9140         * gst/gstmessage.h:
9141         Also carry the clock in question.
9143 2005-10-08  Wim Taymans  <wim@fluendo.com>
9145         * gst/gstmessage.c: (gst_message_new_custom),
9146         (gst_message_new_eos), (gst_message_new_error),
9147         (gst_message_new_warning), (gst_message_new_tag),
9148         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9149         (gst_message_new_new_clock), (gst_message_new_segment_start),
9150         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9151         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9152         * gst/gstmessage.h:
9153         Clean up.
9154         Added clock related messages.
9156         * gst/gstpipeline.c: (gst_pipeline_change_state):
9157         Post message when the clock changed.
9159         * tools/gst-launch.c: (event_loop):
9160         Print new clock.
9162 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9164         * tools/gst-inspect.c: (print_element_properties_info):
9165           Can't pass NULL strings to g_print() on windows.
9167 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9169         * docs/Makefile.am:
9170         * docs/gst/Makefile.am:
9171         * docs/gst/gstreamer-docs.sgml:
9172         * docs/gst/running.xml:
9173         * docs/version.entities.in:
9174           add a chapter on running GStreamer.
9175           document GST_DEBUG and GST_PLUGIN* env vars
9177 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9179         * Makefile.am:
9180           remove include dir
9181         * configure.ac:
9182           remove PLUGINS_BUILDDIR stuff
9183         * gst/gst.c: (init_post):
9184           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9185         * idiottest.mak:
9186           remove, it was condescending and not needed
9188 2005-10-08  Wim Taymans  <wim@fluendo.com>
9190         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9191         (gst_base_sink_handle_object), (gst_base_sink_event),
9192         (gst_base_sink_wait), (gst_base_sink_handle_event),
9193         (gst_base_sink_change_state):
9194         * gst/base/gstbasesink.h:
9195         Repost EOS message while going to PLAYING if still EOS.
9196         Make sure that when receiving a FLUSH_START we don't attempt
9197         to sync on the clock anymore.
9199 2005-10-08  Wim Taymans  <wim@fluendo.com>
9201         * tools/gst-launch.c: (event_loop):
9202         Better message printout.
9204 2005-10-08  Wim Taymans  <wim@fluendo.com>
9206         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9207         (gst_bin_child_proxy_get_children_count):
9208         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9209         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9210         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9211         (gst_child_proxy_set_valist):
9212         * gst/parse/grammar.y:
9213         Make ChildProxy threadsafe and fix mem leaks.
9215 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9217         * gst/gst.c: (init_post):
9218           debug the GST_PLUGIN_ env vars
9220 2005-10-08  Wim Taymans  <wim@fluendo.com>
9222         * check/gst/gstbin.c: (GST_START_TEST):
9223         * check/gst/gstmessage.c: (GST_START_TEST):
9224         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9225         * gst/gstelement.c: (gst_element_commit_state),
9226         (gst_element_lost_state):
9227         * gst/gstmessage.c: (gst_message_new_state_changed),
9228         (gst_message_parse_state_changed):
9229         * gst/gstmessage.h:
9230         * tools/gst-launch.c: (event_loop):
9231         Added extra field to STATE_CHANGE message with the pending
9232         state, which will be different from the new state soon.
9234 2005-10-08  Wim Taymans  <wim@fluendo.com>
9236         * gst/gstbus.c: (gst_bus_pop):
9237         * gst/gstclock.c:
9238         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9239         Small cleanups and doc updates.
9241 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9243         * gst/gst.c: (init_pre):
9244         * gst/gstbin.c: (gst_bin_add_func):
9245           log distributing clocks and base time
9246         * gst/gstregistry.c: (gst_registry_add_plugin),
9247         (gst_registry_scan_path_level), (gst_registry_scan_path):
9248           clean up the debugging output a little
9249         * gst/gstutils.c: (gst_element_state_get_name):
9250           warn about a memleak (I've actually seen this be used, though
9251           it was probably a bug)
9253 2005-10-07  Wim Taymans  <wim@fluendo.com>
9255         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9256         (gst_base_src_init), (gst_base_src_default_newsegment),
9257         (gst_base_src_newsegment), (gst_base_src_do_seek),
9258         (gst_base_src_loop), (gst_base_src_start):
9259         * gst/base/gstbasesrc.h:
9260         Make the newsegment event customizable by subclasses.
9262 2005-10-07  Wim Taymans  <wim@fluendo.com>
9264         * gst/gstevent.c: (gst_event_new_buffersize),
9265         (gst_event_parse_buffersize):
9266         * gst/gstevent.h:
9267         New event for future idea.
9269 2005-10-07  Andy Wingo  <wingo@pobox.com>
9271         * gst/gstelement.c (gst_element_post_message): Doc update.
9273         * docs/gst/gstreamer-sections.txt: Update.
9275         * gst/gstmessage.c (gst_message_new_application): Made into a
9276         function like honest API calls.
9277         (gst_message_new_element): New message type.
9279         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9281         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9282         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9283         times.
9285         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9286         NO_PREROLL from gst_element_change_state to fall through.
9288 2005-10-07  Wim Taymans  <wim@fluendo.com>
9290         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9291         (gst_ghost_pad_do_activate_push):
9292         Activating a ghostpad with no internal pad in push mode
9293         is ok.
9295 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9297         * gst/gstobject.h:
9298           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9299           Fixes compilation on Windows.
9301 2005-10-07  Michael Smith <msmith@fluendo.com>
9303         * tools/gst-inspect.c:
9304           Print out feature and plugin count at the end when printing out
9305           all features.
9307 2005-10-04  Michael Smith <msmith@fluendo.com>
9309         * gst/gsterror.c: (_gst_stream_errors_init):
9310           Add another error string used in a few existing plugins.
9312         * gst/gstplugin.c:
9313         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9314         * tools/gst-inspect.c: (print_element_info):
9315           When a feature disappears from a plugin (and the feature exists in
9316           the cached registry file), things went horribly wrong. This isn't a
9317           complete fix, we should actually be removing the 'missing' features
9318           from the features list when we load the actual plugin. That's not
9319           yet implemented. 
9321 2005-10-04  Johan Dahlin  <johan@gnome.org>
9323         * check/gst/gstiterator.c: (GST_START_TEST):
9324         * gst/gstbin.c: (gst_bin_iterate_elements),
9325         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9326         * gst/gstelement.c: (gst_element_iterate_pads):
9327         * gst/gstformat.c: (gst_format_iterate_definitions):
9328         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9329         (gst_iterator_new_list), (gst_iterator_filter):
9330         * gst/gstiterator.h:
9331         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9332         Add a GType to GstIterator, update callsites and tests.
9334 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9336         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9337           give events a chance to be handled by event probes when the pad
9338           is not linked
9340 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9342         * gst/gstevent.c: (gst_event_type_get_name),
9343         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9344         * gst/gstevent.h:
9345           add string representations for event types
9347 2005-10-06  Wim Taymans  <wim@fluendo.com>
9349         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9350         Don't use NULL pointers.
9352 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9354         * gst/gst_private.h:
9355         * gst/gstbus.c:
9356         * gst/gstelement.c:
9357         * gst/gstinfo.c:
9358         * gst/gstpluginfeature.c:
9359           widen the debug category in output to fit the biggest one we have
9360           add a bus category and use it
9361           play with the colors
9362           fix up some categories
9364 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9366         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9367           add push activation of sink ghost pads.
9368           Andye, please verify
9370 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9372         * gst/gstutils.c: (gst_element_link_pads):
9373           fix a bug in the case where neither element has a pad
9374         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9375           add a test for that case
9377 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9379         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9380           emit have-data before checking for peers.  This allows
9381           for probe handlers to connect elements.  This helps autopluggers.
9382         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9383         (gst_pad_suite):
9384           add six checks, linked/unlinked with no/true/false probe
9386 2005-10-04  Wim Taymans  <wim@fluendo.com>
9388         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9389         (gst_fake_sink_event), (gst_fake_sink_preroll),
9390         (gst_fake_sink_render), (gst_fake_sink_change_state):
9391         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9392         (gst_fake_src_get_property), (gst_fake_src_create),
9393         (gst_fake_src_stop):
9394         * gst/elements/gstidentity.c: (gst_identity_stop):
9395         Protect last_message with lock.
9397 2005-10-04  Edward Hervey  <edward@fluendo.com>
9399         * gst/gstformat.h: 
9400         Added precision in the comments for GST_FORMAT_DEFAULT
9402 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9404         * tools/gst-launch.c: (main):
9405           Don't try to run erroneous pipelines.
9407 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9409         * gst/gstbus.c: We don't need this header.
9411 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9413         * configure.ac:
9414           back to development
9416 === release 0.9.3 ===
9418 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9420         * README:
9421         * configure.ac:
9422           Releasing 0.9.3, "Unregistered"
9424 2005-10-03  Andy Wingo  <wingo@pobox.com>
9426         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9427         whereby calling a pad's activatepush() function can start a thread
9428         that starts to push or pull before the pad gets the FLUSHING flag
9429         unset. Hack around it by holding the stream lock until the flag is
9430         set. Need to replace this with a proper solution. Together with
9431         the ghost pad fixes, this fixes mp3 playing/tagreading.
9433         * docs/design/part-gstghostpad.txt: Add a note about activation of
9434         proxy pads outside of ghost pads.
9436         * gst/gstghostpad.c: Implement the ghost pad activation design.
9438 2005-10-02  Andy Wingo  <wingo@pobox.com>
9440         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9441         It is volatile, after all.
9443         * docs/design/part-gstghostpad.txt: Flesh out activation with
9444         ghost pads.
9446         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9447         GST_DEBUG_FUNCPTR.
9449 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9451         * configure.ac:
9452           Fix (unused) AM_CONDITIONAL tests.
9454 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9456         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9458         * gst/gstutils.c: (gst_pad_query_convert):
9459           Add assertion that makes sure src_val is >=0, just like
9460           gst_query_new_convert() has. (#315895)
9462 2005-09-30  Edward Hervey  <edward@fluendo.com>
9464         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9465         Let's not iterate pads we're not interested in, it avoids getting 
9466         sky-high refcounts on sinkpad.
9468 2005-09-30  Wim Taymans  <wim@fluendo.com>
9470         * gst/gstelement.c: (gst_element_set_state),
9471         (gst_element_change_state):
9472         Small tweak, element in ASYNC remains ASYNC.
9474 2005-09-30  Wim Taymans  <wim@fluendo.com>
9476         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9477         Only error is an error.
9479         * gst/gstbin.c: (gst_bin_change_state):
9480         Better debugging.
9482         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9483         Also call pad_block in pad alloc.
9485         * gst/gstutils.c: (gst_flow_get_name):
9486         Better debugging.
9488 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9490         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9491         (gst_base_src_get_range):
9492           Fix documentation typos. Add some more debug info.
9494 2005-09-29  David Schleef  <ds@schleef.org>
9496         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9497           more end-user friendly.
9498         * tools/gst-inspect.c: (main): Check if command-line argument is
9499           a file and attempt to load that file as a plugin.
9501 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9503         * check/gst/gstbin.c:
9504         * check/states/sinks.c:
9505           fix tests for the new warning
9506         * check/gst/gstpipeline.c:
9507           add a test for pipeline and bus interaction
9508         * gst/gstelement.c:
9509           elements should be NULL if they get disposed; add a warning if not
9511 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9513         * gst/gstobject.c:
9514           for 2.6 refcounting, make debug log more correct by printing
9515           the actual refcounts at the time of swap (Wim)
9517 2005-09-29  Andy Wingo  <wingo@pobox.com>
9519         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9520         removes signal watches previously added via
9521         gst_bus_add_signal_watch.
9522         (gst_bus_add_signal_watch): Don't return the source id, just store
9523         it on the bus if there wasn't an id already.
9525         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9526         add_signal_watch and remove_signal_watch.
9528 2005-09-29  Edward Hervey  <edward@fluendo.com>
9530         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9531         Better if we actually iterate the list :)
9533 2005-09-29  Wim Taymans  <wim@fluendo.com>
9535         * check/gst/gstbin.c: (GST_START_TEST):
9536         Change for new bus API.
9538         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9539         (send_messages), (GST_START_TEST), (gstbus_suite):
9540         Change for new bus signal API.
9542         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9543         (gst_bus_source_prepare), (gst_bus_source_check),
9544         (gst_bus_create_watch), (gst_bus_add_watch_full),
9545         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9546         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9547         * gst/gstbus.h:
9548         Remove support for multiple GSources operating on different
9549         message types as it is too complex and unneeded when using
9550         signals.
9551         Added support for receiving signals from the bus.
9553 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9555         * docs/libs/tmpl/gstdataprotocol.sgml:
9556         * docs/manual/advanced-dataaccess.xml:
9557         * gst/elements/gstcapsfilter.c:
9558         * gst/gstutils.c:
9559           rename filter-caps to caps property
9561 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9563         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9564           More robust fraction string parsing.
9566         * docs/pwg/appendix-porting.xml:
9567           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9569 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9571         * gst/gstcaps.c: (gst_caps_do_simplify):
9572           Thou shalt not free a structure and then continue using it
9573           in the next loop iteration.
9575         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9576         (gst_caps_suite):
9577           Add test case for caps simplification.
9579 2005-09-29  Wim Taymans  <wim@fluendo.com>
9581         * check/gst/gstbin.c: (GST_START_TEST):
9582         Oops.
9584 2005-09-29  Wim Taymans  <wim@fluendo.com>
9586         * check/gst/gstbin.c: (GST_START_TEST):
9587         Add bus to bin.
9589         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9590         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9591         (find_element), (gst_bin_sort_iterator_next),
9592         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9593         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9594         (gst_bin_change_state), (gst_bin_dispose):
9595         A bin does not have a bus, it gets the bus from the parent.
9597         * gst/gstelement.c: (gst_element_requires_clock),
9598         (gst_element_provides_clock), (gst_element_is_indexable),
9599         (gst_element_is_locked_state), (gst_element_change_state),
9600         (gst_element_set_bus_func):
9601         Small cleanups.
9603         * gst/gstpipeline.c: (gst_pipeline_class_init),
9604         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9605         The pipeline provides a bus.
9607 2005-09-28  Johan Dahlin  <johan@gnome.org>
9609         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9610         gst_structure_get_enum instead of gst_structure_get_int
9612         * gst/gststructure.c (gst_structure_get_enum): Impl.
9614         * gst/gststructure.h (gst_structure_get_enum): Add
9616         * docs/gst/gstreamer-sections.txt: Ditto
9618         * gst/gstmessage.c (gst_message_new_state_changed): Use
9619         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9620         which does introspection.
9621         Reviewed by Christian Schaller
9623 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9625         * gst/gstinfo.c: (gst_debug_log_default):
9626           don't do dummy g_strdup()s
9627         * libs/gst/controller/gstcontroller.c:
9628         (on_object_controlled_property_changed),
9629         (gst_controlled_property_new), (gst_controller_new_valist),
9630         (gst_controller_new_list),
9631         (gst_controller_remove_properties_valist), (gst_controller_set),
9632         (gst_controller_get), (gst_controller_sync_values),
9633         (gst_controller_get_value_array), (_gst_controller_class_init),
9634         (gst_controller_get_type):
9635         * libs/gst/controller/gstcontroller.h:
9636         * libs/gst/controller/gstinterpolation.c:
9637         (gst_controlled_property_find_timed_value_node):
9638           convert // to /**/ comments
9640 2005-09-28  Wim Taymans  <wim@fluendo.com>
9642         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9643         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9644         (gst_bus_sync_signal_handler):
9645         * gst/gstbus.h:
9646         Added async-message and sync-message signals to the bus.
9647         Added helper BusFunc to emit signals for all posted messages.
9649         * gst/gstmessage.c: (gst_message_type_get_name),
9650         (gst_message_type_to_quark), (gst_message_get_type):
9651         * gst/gstmessage.h:
9652         Register quarks for message names.
9654 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9656         * docs/libs/gstreamer-libs-sections.txt:
9657         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9658         (gst_controller_new_list):
9659         * libs/gst/controller/gstcontroller.h:
9660           added another constructor for language bindings
9662 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9664         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9665           add another check
9666         * gst/gstbus.c:
9667           add some doc
9668         * gst/gstinfo.c: (_gst_debug_init):
9669           slightly more readable color for refcount debugging
9671 2005-09-28  Wim Taymans  <wim@fluendo.com>
9673         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9674         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9675         (find_element), (gst_bin_sort_iterator_next),
9676         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9677         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9678         (gst_bin_change_state), (gst_bin_dispose):
9679         Small doc fixes. get_clock -> provide_clock.
9681         * gst/gstelement.c: (gst_element_class_init),
9682         (gst_element_provides_clock), (gst_element_provide_clock),
9683         (gst_element_get_clock), (gst_element_commit_state),
9684         (gst_element_lost_state):
9685         * gst/gstelement.h:
9686         Make get/set_clock() symetric. Add provide_clock vmethod since
9687         that is actually what this function does.
9689         * gst/gstpipeline.c: (gst_pipeline_class_init),
9690         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9691         (gst_pipeline_get_clock):
9692         get_clock -> provide_clock.
9694 2005-09-28  Andy Wingo  <wingo@pobox.com>
9696         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9697         lieu of real docs...
9699         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9701 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9703         * gst/elements/gstcapsfilter.c:
9704         * gst/elements/gstfakesink.c:
9705         * gst/elements/gstfakesrc.c:
9706         * gst/elements/gstfdsink.c:
9707         * gst/elements/gstfdsrc.c:
9708         * gst/elements/gstfilesink.c:
9709         * gst/elements/gstfilesrc.c:
9710         * gst/elements/gstidentity.c:
9711         * gst/elements/gsttee.c:
9712         * gst/elements/gsttypefindelement.c:
9713           Make element details static.
9715 2005-09-28  Wim Taymans  <wim@fluendo.com>
9717         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9718         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9719         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9720         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9721         (gst_bin_change_state), (gst_bin_dispose):
9722         Some documentation updates.
9723         Clean up dispose handlers.
9725         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9726         * gst/gstpad.c: (gst_pad_dispose):
9727         Clean up dispose handler.
9729         * gst/gstpipeline.c: (gst_pipeline_change_state):
9730         Removed spurious UNLOCK.
9732 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9734         * docs/gst/gstreamer-sections.txt:
9735         * gst/base/gstbasesrc.h:
9736         * gst/gstelement.h:
9737         * gst/gstevent.h:
9738         * gst/gstobject.h:
9739         * gst/gstpad.h:
9740         * gst/gstpipeline.c:
9741         * gst/gstpipeline.h:
9742         * gst/gstutils.h:
9743         * gst/gstxml.h:
9744           added two new functions to the docs
9745                 documents all undocumented GstXXXFlags
9746                 completed some incomplete docs 
9748 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9750         * gst/gstbin.c: (gst_bin_dispose):
9751         * gst/gstelement.c: (gst_element_dispose):
9752           remove now useless and leaky resurrection code in dispose
9753         * gst/base/gstbasesrc.c: (gst_base_src_init):
9754         * gst/gstelementfactory.c: (gst_element_factory_create):
9755         * gst/gstobject.c: (gst_object_set_parent):
9756           add some debugging
9758 2005-09-27  Wim Taymans  <wim@fluendo.com>
9760         * docs/design/part-TODO.txt:
9761         Update TODO.
9763         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9764         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9765         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9766         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9767         (gst_bin_change_state):
9768         * gst/gstelement.h:
9769         Remove element variable, we keep element info in the iterator now.
9771 2005-09-27  Andy Wingo  <wingo@pobox.com>
9773         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9774         values.
9776 2005-09-27  Wim Taymans  <wim@fluendo.com>
9778         * check/gst/gstbin.c: (GST_START_TEST):
9779         Enable check that works now.
9781         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9782         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9783         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9784         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9785         (gst_bin_change_state):
9786         * gst/gstbin.h:
9787         Redid the state change algorithm using a topological sort algo.
9788         Handles all cases correctly.
9789         Exposed iterator for state change order.
9791         * gst/gstelement.h:
9792         Temp storage for state changes. Need to get rid of this soon.
9794 2005-09-27  Wim Taymans  <wim@fluendo.com>
9796         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9797         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9798         (link_fold_func), (gst_pad_proxy_setcaps):
9799         Leak fixes, the fold functions need to unref the passed object and
9800         _get_parent_*() returns ref to parent.
9802 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9804         * check/gst/gstbuffer.c: (test_make_writable):
9805           Plug leak in test case and fix 'make check-valgrind'
9807 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9809         * gst/gstbuffer.c: (gst_subbuffer_init):
9810           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9811           works correctly in all circumstances (we could have just copied
9812           the parent buffer's readonly flag, but conceptually it seems
9813           cleaner to mark all subbuffers as read-only). (based on patch
9814           by Alessandro Decina, #314710).
9815         
9816         * check/gst/gstbuffer.c: (create_read_only_buffer),
9817         (test_make_writable), (test_subbuffer_make_writable),
9818         (gst_test_suite):
9819           Add some tests for gst_buffer_make_writable().
9821 2005-09-27  Wim Taymans  <wim@fluendo.com>
9823         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9824         use gst_object_has_ancestor().
9826         * gst/gstobject.c: (gst_object_has_ancestor):
9827         * gst/gstobject.h:
9828         gst_object_has_ancestor() copied from gstbin.c as it is a
9829         usefull function.
9831         * tests/instantiate/create.c: (create_all_elements):
9832         * tests/lat.c: (handoff_src), (handoff_sink):
9833         * tests/sched/runxml.c: (main):
9834         * tests/seeking/seeking1.c: (main):
9835         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9836         (main):
9837         Fix compilation of some tests.
9839 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9841         * gst/gsterror.h:
9842           Remove comment. GST_TYPE_G_ERROR is here to stay,
9843           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
9844           (#316961, #300610).
9846 2005-09-26  Wim Taymans  <wim@fluendo.com>
9848         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9849         Added check that shows error in state change order.
9851 2005-09-26  Wim Taymans  <wim@fluendo.com>
9853         * gst/gstbin.c: (gst_bin_change_state):
9854         Make state change function use 3 queues again, we were
9855         adding elements in the wrong order.
9857         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9858         Some debug info,
9860         * gst/gstpad.c: (gst_pad_dispose):
9861         Added some debug info first.
9863 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
9865         * docs/design/draft-push-pull.txt:
9866         * docs/design/part-events.txt:
9867         * docs/design/part-overview.txt:
9868         * docs/design/part-scheduling.txt:
9869           Replace all _pull_region() with _pull_range()
9870           
9871 2005-09-26  Andy Wingo  <wingo@pobox.com>
9873         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
9875         * check/gst-libs/controller.c: Update for controller api change.
9877         * configure.ac: 
9878         * tests/Makefile.am:
9879         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9880         over by GLib bug 118439.
9881         
9882         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9883         routines to a function.
9885         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9887         * libs/gst/controller/gsthelper.c:
9888         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9889         (gst_object_sync_values): Renamed from sink_values. Ugh.
9891         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9893         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9894         Renamed from controller_key, as it is exported.
9896         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9898 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9900         * gst/Makefile.am:
9901         * gst/gst.h:
9902         * gst/gstpad.h:
9903         * gst/gstpadtemplate.h:
9904         * gst/gstquery.c:
9905         * gst/gstquery.h:
9906         * gst/gstqueryutils.c:
9907         * gst/gstqueryutils.h:
9908           remove queryutils headers after moving the two used functions
9909           to gstquery.  also fixes build problem for gstsiddec
9911 2005-09-26  Michael Smith <msmith@fluendo.com>
9913         * tools/gst-launch.1.in:
9914         Correct documentation in manpage of debug syntax
9916 2005-09-26  Wim Taymans  <wim@fluendo.com>
9918         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9919         (gst_base_src_is_seekable), (gst_base_src_change_state):
9920         Some more debugging info.
9922 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9924         * docs/gst/gstreamer-sections.txt:
9925         * gst/base/gstbasetransform.h:
9926         * gst/gstindex.h:
9927           added more docs
9929 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9931         * docs/gst/.cvsignore:
9932         * docs/gst/tmpl/.cvsignore:
9933         * docs/gst/tmpl/gstpipeline.sgml:
9934         * docs/gst/tmpl/gstplugin.sgml:
9935         * gst/gstpipeline.c:
9936         * gst/gstplugin.c:
9937         * gst/gstplugin.h:
9938           inlined the last two docs files
9939           removed the tmpl directory from cvs (no more conflicts here!)
9941 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9943         * docs/gst/gstreamer-sections.txt:
9944         * docs/gst/tmpl/.cvsignore:
9945         * docs/gst/tmpl/gstpad.sgml:
9946         * docs/gst/tmpl/gstpadtemplate.sgml:
9947         * gst/Makefile.am:
9948         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9949         (gst_pad_finalize), (gst_pad_set_pad_template):
9950         * gst/gstpad.h:
9951         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
9952         (gst_pad_template_class_init), (gst_pad_template_init),
9953         (gst_pad_template_dispose), (name_is_valid),
9954         (gst_static_pad_template_get), (gst_pad_template_new),
9955         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
9956         (gst_pad_template_pad_created):
9957         * gst/gstpadtemplate.h:
9958           inlined two more docs
9959           factored gstpadtemplate out of gstpad
9961 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
9963         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
9964         (test_children_state_change_order_semi_sink):
9965           Fix test case: we can't rely on a fixed state change order when
9966           going from READY => PAUSED because the sink might commit its 
9967           new state first when the first buffer created by the source 
9968           reaches the sink before the source has finished its change state.
9969           (Test case still fails at times, see #316856, comment 5 onwards)
9971 2005-09-24  Wim Taymans  <wim@fluendo.com>
9973         * docs/design/part-events.txt:
9974         * docs/design/part-gstbus.txt:
9975         * docs/design/part-gstpipeline.txt:
9976         * docs/design/part-messages.txt:
9977         * docs/design/part-overview.txt:
9978         * docs/design/part-segments.txt:
9979         * gst/gstbin.c:
9980         * gst/gstbuffer.c:
9981         * gst/gstclock.c:
9982         * gst/gstelement.c:
9983         * gst/gstevent.c:
9984         * gst/gstfilter.c:
9985         * gst/gstiterator.c:
9986         Various documentation updates.
9988 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9990         * gst/gstclock.h:
9991           Well, that's embarassing.  Luckily we weren't using
9992           GST_CLOCK_DIFF anywhere.
9994 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9996         * common/gtk-doc.mak:
9997           don't fail on building XML, FC4 slave shows a bunch of doc
9998           missing bits that I don't get
9999         * gst/gstpad.c:
10000         * gst/gstpipeline.c:
10001         * gst/gststructure.c:
10002           some doc updates
10004 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10006         * docs/design/part-gstbin.txt:
10007         * docs/design/part-gstbus.txt:
10008         * gst/gstbus.c:
10009           Add blurb about how the bus goes into flushing mode and
10010           drops all messages when its bin goes from READY into NULL 
10011           state.
10013 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10015         * docs/gst/gstreamer-sections.txt:
10016         * gst/gststructure.c: (gst_structure_get_clock_time):
10017         * gst/gststructure.h:
10018           add a method to get a GstClockTime out of a structure
10020 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10022         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10023         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10024           Added test to check state change order in bins (can still be made
10025           to fail here under heavy disk load; bails out with 'Push on pad
10026           fakesink:sink0, but it was not activated in push mode').
10028         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10029           Fix state change order when there is only a semi sink (#316856)
10031         * gst/gstbus.c: (gst_bus_class_init):
10032           Use _class_peek_parent(), not _class_ref(); fix docs to say
10033           'default main context' instead of 'mainloop' where that is
10034           what's meant.
10036         * gst/gstelement.c: (gst_element_commit_state),
10037         (gst_element_set_state):
10038           Fix typos in debug messages
10040 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10042         * docs/README:
10043         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10044         * gst/gstpluginfeature.c:
10045         * gst/gstutils.c:
10046           various doc updates
10047         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10048           change an assert into an error until it gets fixed properly
10050 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10052         * docs/gst/gstreamer-sections.txt:
10053         * docs/gst/tmpl/.cvsignore:
10054         * docs/gst/tmpl/gstelement.sgml:
10055         * docs/gst/tmpl/gstinfo.sgml:
10056         * docs/gst/tmpl/gstobject.sgml:
10057         * gst/gstelement.c:
10058         * gst/gstelement.h:
10059         * gst/gstinfo.c:
10060         * gst/gstinfo.h:
10061         * gst/gstobject.c: (gst_object_class_init):
10062         * gst/gstobject.h:
10063           inlined 3 more biiiig doc files and added some missing docs on the fly
10065 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10067         * check/gst/.cvsignore:
10068         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10069         * gst/gstregistryxml.c: (load_plugin),
10070         (gst_registry_xml_save_plugin):
10071           put back source in registry.  add checks for find_plugin.
10072         * testsuite/states/bin.c: (assert_state), (empty_bin),
10073         (test_adding_one_element), (main):
10074         * testsuite/states/locked.c: (main):
10075           some compile/run fixes
10077 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10079         * check/gst/gstvalue.c: (GST_START_TEST):
10080           fix leaks in the test itself
10082 2005-09-22  Wim Taymans  <wim@fluendo.com>
10084         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10085         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10086         (gst_base_sink_query):
10087         Prepare for more accurate position reporting and query
10088         handling.
10090         * gst/gstelement.c: (gst_element_send_event),
10091         (gst_element_set_state):
10092         Add some comment.
10094 2005-09-22  Wim Taymans  <wim@fluendo.com>
10096         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10097         (gst_query_parse_segment):
10098         * gst/gstquery.h:
10099         More documentation.
10100         Add segment query for future use.
10102 2005-09-22  Wim Taymans  <wim@fluendo.com>
10104         * gst/gstbin.c: (gst_bin_add_func):
10105         Some more debug info.
10107         * gst/gstelement.c: (gst_element_send_event):
10108         Simplify send_event
10110         * gst/gstelement.h:
10111         Don't know how flags got broken.
10113         * gst/gstquery.h:
10114         Added new query.
10116 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10118         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10119           Add simplistic test suite for GST_TYPE_DATE serialisation and
10120           deserialisation.
10122 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10124         * docs/gst/gstreamer-sections.txt:
10125         * gst/gststructure.c: (gst_structure_set_valist),
10126         (gst_structure_get_date):
10127         * gst/gststructure.h:
10128         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10129         (gst_date_copy), (gst_value_compare_date),
10130         (gst_value_serialize_date), (gst_value_deserialize_date),
10131         (gst_value_transform_date_string),
10132         (gst_value_transform_string_date), (_gst_value_initialize):
10133         * gst/gstvalue.h:
10134           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10135           bunch of utility functions along with a hack that checks that
10136           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10137           is required. Part of the grand scheme in #170777.
10139 2005-09-22  Andy Wingo  <wingo@pobox.com>
10141         * gst/gstconfig.h.in: Psych out gtk-doc.
10143         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10145         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10147         * tools/gst-inspect.c (print_element_list): Plug some
10148         inconsequential leaks.
10150         * gst/gstregistry.c (gst_registry_get_default): Doc.
10152         * check/gst/gstplugin.c: 
10153         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10154         * gst/gstelementfactory.c (gst_element_factory_create): 
10155         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10156         refcount changes.
10158         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10159         (gst_plugin_feature_load): Doc, don't eat refs.
10161         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10162         (gst_plugin_list_free): Doc.
10163         (gst_plugin_load_file): Doc updates.
10165         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10166         accessors returning refcounted objects, return a ref.
10168         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10169         accessor for caps. IDEMPOTENCE. Oh yes.
10171 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10173         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10175         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10176         (_gst_debug_register_funcptr):
10177           Add mutex to serialise access to the hash table with
10178           the function pointer => function name string mapping;
10179           make that hash table static scope (#316809).
10181         * gst/registries/.cvsignore:
10182           Remove left-over file.
10184 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10186         * docs/pwg/appendix-porting.xml:
10187           And something about newsegment events and caps-on-buffers to
10188           the porting guide (feel free to improve).
10190 2005-09-21  Andy Wingo  <wingo@pobox.com>
10192         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10193         data and event probes on the same pad.
10194         (test_buffer_probe_once): Test that removing probes from within
10195         the probe functions works.
10197 2005-09-21  Andy Wingo  <wingo@pobox.com>
10199         * check/gst/gstutils.c: New file.
10200         (test_buffer_probe_n_times): A simple buffer probe test. More to
10201         come, foolios.
10203         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10204         have-data::buffer, not have-data.
10205         (gst_pad_add_event_probe): Likewise for have-data::event.
10206         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10207         peer' isn't quite right yet though.
10208         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10209         (gst_pad_remove_data_probe): Change to take the guint handler_id
10210         as their arg, not the function+data, which is more glib-like.
10212         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10213         the signal emission to indicate if the data is a buffer or an
10214         event.
10215         (gst_pad_get_type): Initialize buffer and event quarks.
10216         (gst_pad_class_init): have-data is now a detailed signal, yes it
10217         is.
10219 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10221         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10222         * gst/gstutils.c: (gst_util_set_value_from_string),
10223         (gst_util_set_object_arg):
10224           Don't put functional code in g_return_if_fail() or
10225           g_return_val_if_fail() statements, otherwise things will 
10226           break when G_DISABLE_CHECKS is defined during compilation.
10228 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10230         * docs/gst/tmpl/.cvsignore:
10231         * docs/gst/tmpl/gstvalue.sgml:
10232         * gst/gstvalue.c:
10233         * gst/gstvalue.h:
10234           inlied another one and added  some obvious docs
10236 2005-09-21  Wim Taymans  <wim@fluendo.com>
10238         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10239         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10240         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10241         (gst_fdsrc_get_property), (gst_fdsrc_create):
10242         * gst/elements/gstfdsrc.h:
10243         Properly implement fdsrc. Removed signal and timeout,
10244         better implemented somewhere else.
10246 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10248         * docs/gst/tmpl/.cvsignore:
10249         * docs/gst/tmpl/gstimplementsinterface.sgml:
10250         * gst/gstinterface.c:
10251           inlined more docs
10253 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10255         * docs/gst/gstreamer-sections.txt:
10256         * docs/gst/tmpl/.cvsignore:
10257         * docs/gst/tmpl/gstenumtypes.sgml:
10258           remove obsolete doc file
10260 2005-09-21  David Schleef  <ds@schleef.org>
10262         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10263         little beer, fix a little leak.
10265 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10267         * docs/gst/gstreamer-docs.sgml:
10268         * docs/gst/gstreamer-sections.txt:
10269         * docs/gst/tmpl/.cvsignore:
10270         * gst/Makefile.am:
10271         * gst/gst.h:
10272         * gst/gstbin.c:
10273         * gst/gstelement.h:
10274         * gst/gstindex.c: (gst_index_class_init):
10275         * gst/gstindex.h:
10276         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10277         (gst_index_factory_class_init), (gst_index_factory_init),
10278         (gst_index_factory_finalize), (gst_index_factory_new),
10279         (gst_index_factory_destroy), (gst_index_factory_find),
10280         (gst_index_factory_create), (gst_index_factory_make):
10281         * gst/gstindexfactory.h:
10282         * gst/gstpluginfeature.c:
10283         * gst/gstpluginfeature.h:
10284         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10285           more docs inlined, splitted gstindex.{c,h}
10287 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10289         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10290           fix a leak
10292 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10294         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10295           Set sync to FALSE by default.
10297 2005-09-20  Wim Taymans  <wim@fluendo.com>
10299         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10300         (gst_base_sink_init):
10301         Make sync property settable from subclass.
10303         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10304         (gst_fake_sink_change_state):
10305         Set sync to FALSE by default.
10307 2005-09-20  Wim Taymans  <wim@fluendo.com>
10309         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10310         * tools/gst-launch.c: (main):
10311         The timeout handler should have lower priority than the source
10312         so we don't timeout before popping a message with 0 timeout.
10313         Dump error messages after failed state change.
10315 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10317         * tools/gst-inspect.c: (print_element_properties_info):
10318           Fix two typos.
10320 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10322         * check/gst/gstevent.c:
10323         * gst/elements/gstfakesink.c:
10324         * gst/elements/gstfakesink.h:
10325           remove the sync property from fakesink.
10326           has the side effect of setting sync TRUE
10327           for fakesink, which is a change.  Anyone who knows how
10328           to fix this nicely in a GObject-y way, feel free.
10330 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10332         * docs/gst/gstreamer-docs.sgml:
10333           remove probe refsection
10335 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10337         * check/Makefile.am:
10338           disable valgrinding the controller test again
10339         * docs/gst/gstreamer-sections.txt:
10340           update for api-changes
10342 2005-09-20  Wim Taymans  <wim@fluendo.com>
10344         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10345         (gst_base_sink_set_property), (gst_base_sink_get_property),
10346         (gst_base_sink_do_sync):
10347         * gst/base/gstbasesink.h:
10348         Added sync property to basesink to disable clock sync.
10350 2005-09-20  Andy Wingo  <wingo@pobox.com>
10352         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10353         eating the caller's refcount.
10355         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10356         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10357         refcount.
10359         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10360         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10361         of GLib 2.8 public, so we can know which refcount to check in
10362         tests.
10364         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10365         (gst_object_init): Only set the gst refcount if we're going ahead
10366         with the refcount hack.
10368 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10370         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10371         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10372           more leaks plumbed, added more debug-logging
10373         * gst/gstmacros.h:
10374           whitespace fix
10376 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10378         * gst/gstmessage.c:
10379           remove include of gstmemchunk.h
10381 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10383         * gst/gstclock.c: (_gst_clock_id_free):
10384           Commit from the Political Party For More Atomic CVS Commits,
10385           so that people don't waste too much of their day fishing
10386           out obvious leaks out of massive commits.
10387           Oh, and fix a pretty damn obvious leak in the memchunk
10388           removal code.
10390 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10392         * check/Makefile.am:
10393         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10394           plug mem-leak, re-add to valgrindable tests
10396 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10398         * gst/gstplugin.h:
10399           unbreak the build for those who have chronic arthritis
10400           and typing "make check" is just too taxing on the hands
10402 2005-09-20  Andy Wingo  <wingo@pobox.com>
10404         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10405         really want it out, you should fix plugins at the same time.
10407 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10409         * configure.ac:
10410         * docs/gst/gstreamer-sections.txt:
10411         * gst/gstobject.c:
10412           added missing symbols to api docs
10413           disable ref-count hack if we have glib >= 2.8
10415 2005-09-19  David Schleef  <ds@schleef.org>
10417         * docs/gst/Makefile.am: Ignore a few more internal headers
10418         * docs/gst/gstreamer-docs.sgml: Remove old sections
10419         * docs/gst/gstreamer-sections.txt: Remove old sections
10420         * docs/gst/tmpl/gstobject.sgml: update
10421         * docs/gst/tmpl/gstplugin.sgml: update
10422         * docs/gst/tmpl/gstpluginfeature.sgml: update
10423         * docs/random/ds/0.9-suggested-changes: update.
10424         * gst/Makefile.am: remove memchunk and trashstack, since they're
10425           not used.
10426         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10427         * gst/gst.h: don't include some headers
10428         * gst/gstchildproxy.c: add gstmarshal.h
10429         * gst/gstclock.c: Don't use memchunks
10430         * gst/gstminiobject.c: Add some docs
10431         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10432         * gst/gstobject.h: same
10433         * gst/gstplugin.c: include gstmacros.h
10434         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10435         * gst/gstquery.c: don't use memchunks
10436         * gst/gstregistry.c: rename gst_registry_deinit()
10437         * gst/gstregistry.h: same
10439 2005-09-19  David Schleef  <ds@schleef.org>
10441         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10442         * docs/libs/gstreamer-libs-sections.txt:
10443         * docs/libs/tmpl/gstgetbits.sgml:
10444         * docs/libs/tmpl/gstputbits.sgml:
10446 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10448         * win32/gstenumtypes.c:
10449         * win32/gstenumtypes.h:
10450           Update.
10452 2005-09-19  Wim Taymans  <wim@fluendo.com>
10454         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10455         Automatically PAUSE and RESUME a pipeline when a flushing seek
10456         is performed.
10458 2005-09-19  Andy Wingo  <wingo@pobox.com>
10460         * gst/gstregistry.h: Spacing fixen.
10462 2005-09-19  Wim Taymans  <wim@fluendo.com>
10464         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10465         Handle state change failure more correctly.
10467 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10469         * check/Makefile.am:
10470         * check/pipelines/cleanup.c: (run_pipeline):
10471         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10472         (GST_START_TEST):
10473           enable cleanup again after fixing the leak
10474         * docs/README:
10475           some more info on docs
10477 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10479         * check/Makefile.am:
10480           re-enable tests now that leaks are plugged
10481         * check/gst/gst.c:
10482         * check/gst/gstbin.c:
10483         * check/gst/gstpipeline.c:
10484           add some more tests while fixing leaks
10485         * common/check.mak:
10486           make sure binaries are uptodate when valgrinding/gdbing
10487         * gst/gst.c:
10488         * gst/gstelementfactory.c:
10489           remove a ref too many, and add a FIXME for when we get
10490           round to disposing of classes
10491         * gst/gstplugin.c:
10492           fix the refcounting when loading a plugin from a file and
10493           the code pretends that the pointer is the same even though
10494           of course it can change
10495         * gst/gstpluginfeature.c:
10496           unref plugins marked cached (a bit confusing as a name)
10497           as the docs state should be done
10498           various doc additions to explain refcounting
10499         * gst/gstregistry.c:
10500         * gst/gstregistryxml.c:
10501           debugging
10503 2005-09-19  Wim Taymans  <wim@fluendo.com>
10505         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10506         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10507         (send_messages), (GST_START_TEST), (gstbus_suite):
10508         * check/gst/gstpipeline.c: (GST_START_TEST):
10509         * check/pipelines/cleanup.c: (run_pipeline):
10510         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10511         (GST_START_TEST):
10512         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10513         (gst_bus_source_check), (gst_bus_source_dispatch),
10514         (gst_bus_create_watch), (gst_bus_add_watch_full),
10515         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10516         * gst/gstbus.h:
10517         * tools/gst-launch.c: (event_loop):
10518         * tools/gst-md5sum.c: (event_loop):
10519         GstBusHandler -> GstBusFunc, return value has the same meaning as
10520         any other GSource (FALSE == remove source).
10521         _add_watch() and _add_watch_full() now take a MessageType mask to
10522         only handle specific types of messages.
10523         _poll() returns the GstMessage instead of the message type to avoid
10524         race conditions.
10525         _have_pending() takes a MessageType mask now too.
10526         Added testsuite for multiple bus watches.
10527         Fix testsuites and applications for new bus API.
10529 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10531         * check/Makefile.am:
10532           mark a bunch of the tests as to fix until we fix them
10534 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10536         * common/check.mak:
10537           use GST_PLUGIN settings for valgrind tests as well, so we're
10538           valgrinding the correct thing
10539         * gst/gst.c: (init_post):
10540           plug another leak
10542 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10544         * gst/gst.c: (init_post), (gst_deinit):
10545         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10546         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10547         * gst/gstindex.c: (gst_index_factory_class_init),
10548         (gst_index_factory_finalize):
10549         * gst/gstobject.c: (gst_object_dispose):
10550         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10551         (gst_plugin_load_file), (gst_plugin_desc_free):
10552         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10553         (gst_plugin_feature_finalize):
10554         * gst/gstregistry.c: (gst_registry_class_init),
10555         (gst_registry_init), (gst_registry_finalize),
10556         (gst_registry_get_default), (gst_registry_deinit):
10557         * gst/gstregistry.h:
10558         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10559           various cleanups and memleak plugging.  make valgrind is happy now.
10561 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10563         * common/check.mak:
10564           add a check-valgrind target
10566 2005-09-18  David Schleef  <ds@schleef.org>
10568         * tools/gst-inspect.c: Revert the GOption code.
10570 2005-09-17  David Schleef  <ds@schleef.org>
10572         * check/Makefile.am: Fix environment variables.
10573         * check/gst/gstplugin.c: Fix for API changes.
10574         * tools/gst-inspect.c: Fix for API changes.
10575         * tools/gst-xmlinspect.c: Fix for API changes.
10576         * gst/gstelementfactory.c:
10577         * gst/gstplugin.c:
10578         * gst/gstplugin.h:
10579         * gst/gstpluginfeature.c:
10580         * gst/gstpluginfeature.h:
10581         * gst/gstregistry.c:
10582         * gst/gstregistry.h:
10583         * gst/gstregistryxml.c:
10584         * gst/gsttypefind.c:
10585         * gst/gsttypefindfactory.c:
10586         * gst/indexers/gstfileindex.c:
10587         * gst/indexers/gstmemindex.c:
10588         * gst/schedulers/Makefile.am:
10589           Change registry to keep track of both plugins and features,
10590           removing the feature tracking from plugins themselves.
10592 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10594         * check/Makefile.am:
10595         * tools/gst-register.1.in:
10596           remove gst-register
10598 2005-09-15  David Schleef  <ds@schleef.org>
10600         * check/gst/gstplugin.c:
10601         * gst/gstelementfactory.c:
10602         * gst/gstplugin.c:
10603         * gst/gstpluginfeature.c:
10604         * gst/gstregistry.c:
10605           Getting tired of debugging.  Disabled all the unreffing of
10606           plugins and features, which fixes the segfaults, but of
10607           course leaks like crazy.  At least playbin works.
10609 2005-09-15  David Schleef  <ds@schleef.org>
10611         * check/gst/gstplugin.c: (register_check_elements),
10612         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10613         More testing
10614         * gst/elements/gsttypefindelement.c: Fix refcounting.
10615         * gst/gsttypefind.c:
10616         * gst/gsttypefindfactory.c:
10617         * gst/gsttypefindfactory.h:
10619 2005-09-15  David Schleef  <ds@schleef.org>
10621         * gst/gstindex.c: get refcounting correct.
10622         * gst/gstregistry.c: Handle the case where a feature/plugin is
10623           not found.
10625 2005-09-15  David Schleef  <ds@schleef.org>
10627         * check/Makefile.am:
10628         * check/gst/gstplugin.c: Add test
10629         * gst/gstplugin.c: Fix problems noticed by testsuite
10630         * gst/gstplugin.h:
10631         * gst/gstregistry.c: 
10632         * gst/gstregistry.h:
10634 2005-09-15  David Schleef  <ds@schleef.org>
10636         * gst/gstplugin.c: Implement semi-decent recounting and locking
10637           in plugins and plugin features.
10638         * gst/gstplugin.h:
10639         * gst/gstpluginfeature.c:
10640         * gst/gstpluginfeature.h:
10641         * gst/gstregistry.c:
10643 2005-09-15  Michael Smith <msmith@fluendo.com>
10645         * gst/gstregistry.c: (gst_registry_get_feature_list):
10646           Implement this. Makes oggdemux work; decodebin still broken.
10648 2005-09-14  David Schleef  <ds@schleef.org>
10650         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10651           #316076)
10652         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10653         * gst/check/Makefile.am:
10654         * libs/gst/controller/Makefile.am:
10655         * libs/gst/dataprotocol/Makefile.am:
10657 2005-09-14  David Schleef  <ds@schleef.org>
10659         * configure.ac: Remove getbits library.  Nothing uses it, and
10660           it should be in something like liboil if someone did want
10661           to use it.
10662         * libs/gst/Makefile.am:
10663         * libs/gst/getbits/Makefile.am:
10664         * libs/gst/getbits/gbtest.c:
10665         * libs/gst/getbits/getbits.c:
10666         * libs/gst/getbits/getbits.h:
10667         * libs/gst/getbits/gstgetbits_generic.c:
10668         * libs/gst/getbits/gstgetbits_i386.s:
10669         * libs/gst/getbits/gstgetbits_inl.h:
10671 2005-09-14  David Schleef  <ds@schleef.org>
10673         * gst/Makefile.am: Dist glib-compat.h
10675 2005-09-14  David Schleef  <ds@schleef.org>
10677         * configure.ac: Remove gst/registries, since it's no longer used.
10678         * gst/registries/Makefile.am:
10679         * gst/registries/gstlibxmlregistry.c:
10680         * gst/registries/gstlibxmlregistry.h:
10681         * gst/registries/gstxmlregistry.c:
10682         * gst/registries/gstxmlregistry.h:
10683         * gst/registries/registrytest.c:
10685 2005-09-14  David Schleef  <ds@schleef.org>
10687         * gst/glib-compat.h:
10688         * gst/gstregistryxml.c:
10689           Convergence is near.  Seriously.
10691 2005-09-14  David Schleef  <ds@schleef.org>
10693         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10694         * gst/glib-compat.h:
10695           Attempt #4 to appease the buildbots.
10697 2005-09-14  David Schleef  <ds@schleef.org>
10699         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10700           Attempt #3.
10702 2005-09-14  David Schleef  <ds@schleef.org>
10704         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10705         Attempt #2.
10707 2005-09-14  David Schleef  <ds@schleef.org>
10709         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10710           the new functions.
10712 2005-09-14  David Schleef  <ds@schleef.org>
10714         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10715         * gst/glib-compat.h: Add some functions that are in newer versions
10716           of glib than we care to require.
10717         * gst/gstregistryxml.c: Use them.
10719 2005-09-14  David Schleef  <ds@schleef.org>
10721         * po/POTFILES.in: remove gst-register.c
10723 2005-09-14  David Schleef  <ds@schleef.org>
10725         * docs/gst/gstreamer-docs.sgml:
10726         * docs/gst/gstreamer-sections.txt:
10727         * docs/gst/gstreamer.types:
10728         * docs/gst/tmpl/gstelement.sgml:
10729         * docs/gst/tmpl/gstplugin.sgml:
10730         * docs/gst/tmpl/gstpluginfeature.sgml:
10731           Documentation updates for registry changes.
10733 2005-09-14  David Schleef  <ds@schleef.org>
10735         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10736           because we don't require glib-2.8.
10738 2005-09-14  David Schleef  <ds@schleef.org>
10740         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10741           registries directory.
10743 2005-09-14  David Schleef  <ds@schleef.org>
10745         * check/Makefile.am:
10746         * check/generic/states.c:
10747         * gst/Makefile.am:
10748         * gst/gst.c:
10749         * gst/gst.h:
10750         * gst/gst_private.h:
10751         * gst/gstelementfactory.c:
10752         * gst/gstindex.c:
10753         * gst/gstinfo.c:
10754         * gst/gstplugin.c:
10755         * gst/gstplugin.h:
10756         * gst/gstpluginfeature.c:
10757         * gst/gstpluginfeature.h:
10758         * gst/gstregistry.c:
10759         * gst/gstregistry.h:
10760         * gst/gstregistrypool.c: remove
10761         * gst/gstregistrypool.h: remove
10762         * gst/gsttypefind.c:
10763         * gst/gsttypefindfactory.c:
10764         * gst/gsturi.c:
10765         * tools/Makefile.am:
10766         * tools/gst-compprep.c:
10767         * tools/gst-inspect.c:
10768         * tools/gst-register.c: remove
10769         * tools/gst-xmlinspect.c:
10770           Registry rewrite.  Changes registry from being a file created
10771           by a tool into a simple cache file created automatically by 
10772           libgstreamer.  Removed gst-register (because it's no longer
10773           needed).  Remove registry pools, because we only have one
10774           registry implementation (XML).  Fix up other subsystems as
10775           necessary.
10777 2005-09-13  Michael Smith <msmith@fluendo.com>
10779         * gst/gstconfig.h.in:
10780           Don't Use windows linking attributes for MinGW. Fixes #316157
10782 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10784         * gst/gstutils.c: (set_state_async_thread_func),
10785         (gst_element_set_state_async):
10786           Apparently people think it's better if this function doesn't
10787           try to set the state to whatever state was asked for on the first
10788           call to this function for any object.  Seriously.
10790 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10792         * check/gst/gstpipeline.c: (GST_START_TEST):
10793         * docs/gst/gstreamer-sections.txt:
10794         * gst/gstutils.c: (set_state_async_thread_func),
10795         (gst_element_set_state_async):
10796         * gst/gstutils.h:
10797           add a "gst_element_set_state_async" method that
10798           sets the state and starts a thread to make sure the state
10799           change completes as best as it can
10801 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10803         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10804           codify design+behaviour in testsuite after discussion
10806 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10808         * docs/gst/tmpl/gstelement.sgml:
10809         * docs/manual/appendix-quotes.xml:
10810           add a quote
10811         * gst/gstelement.c: (gst_element_set_state):
10812           add some debug
10814 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
10816         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10817         (gst_base_transform_prepare_output_buf),
10818         (gst_base_transform_handle_buffer):
10819         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10820         (gst_capsfilter_prepare_buf):
10821           Remove the requirement for sub-classes to call the parent
10822           implementation of prepare_output_buffer with a wrapper function.
10823           
10824         * gst/gsttaglist.h:
10825         * gst/gsttagsetter.h:
10826           Fix #define wrapper
10828 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
10830         * docs/gst/gstreamer-sections.txt:
10831           more doc cleanups
10833 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10835         * docs/gst/gstreamer-sections.txt:
10836         * docs/gst/tmpl/gstelement.sgml:
10837         * docs/gst/tmpl/gstplugin.sgml:
10838         * gst/gstminiobject.c:
10839         * gst/gstvalue.h:
10840           docs now stop throwing warnings
10842 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10844         * docs/gst/gstreamer-sections.txt:
10845         * docs/gst/gstreamer.types:
10846         * docs/gst/tmpl/gstpad.sgml:
10847         * docs/gst/tmpl/gsttypes.sgml:
10848         * gst/base/gstadapter.h:
10849         * gst/base/gstbasesink.h:
10850         * gst/base/gstbasesrc.h:
10851         * gst/gstbin.h:
10852         * gst/gstbuffer.h:
10853         * gst/gstbus.h:
10854         * gst/gstcaps.h:
10855         * gst/gstclock.h:
10856         * gst/gstelement.h:
10857         * gst/gstevent.h:
10858         * gst/gstmessage.h:
10859         * gst/gstpad.h:
10860         * gst/gststructure.c:
10861         * gst/registries/gstlibxmlregistry.h:
10862           various documentation fixes
10864 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10866         * docs/gst/gstreamer-sections.txt:
10867         * docs/gst/tmpl/gstvalue.sgml:
10868           rearrange gstvalue section
10869         * gst/gstutils.c: (gst_element_state_get_name):
10870           NONE -> VOID
10871         * gst/gstvalue.c: (_gst_value_initialize):
10872         * gst/gstvalue.h:
10873           doc updates
10875 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10877         * check/gst-libs/controller.c:
10878           Header include fix.
10879         * gst/base/gstbasetransform.c:
10880         (gst_base_transform_default_prepare_buf),
10881         (gst_base_transform_handle_buffer):
10882         * gst/base/gstbasetransform.h:
10883           Some more basetransform changes and fixes to enable sub-classes
10884           that modify buffer metadata only.
10885         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10886         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10887         (gst_capsfilter_prepare_buf):
10888           If the output pad has fixed allowed caps and input buffers 
10889           don't have any, set the fixed caps on outgoing buffers.
10891 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10892         * check/elements/identity.c: (GST_START_TEST):
10893           Make the error a little clearer when the test fails because
10894           identity made a copy of the buffer.
10895         * docs/gst/gstreamer-sections.txt:
10896           New symbols in gstbasetransform.h
10897         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10898         (gst_base_transform_init), (gst_base_transform_transform_size),
10899         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10900         (gst_base_transform_default_prepare_buf),
10901         (gst_base_transform_get_unit_size),
10902         (gst_base_transform_buffer_alloc),
10903         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10904         (gst_base_transform_change_state),
10905         (gst_base_transform_set_passthrough),
10906         (gst_base_transform_set_in_place),
10907         (gst_base_transform_is_in_place):
10908         * gst/base/gstbasetransform.h:
10909           Change BaseTransform to separate in_place operate from same_caps
10910           output. in_place implies that the element can perform the transform
10911           on incoming buffers in-place, even if the caps on the output are
10912           different.
10913           Sub-class elements can now implement special buffer allocation
10914           methods for outgoing buffers if they wish to.
10915           Big documentation addition.
10916         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10917         * gst/elements/gstelements.c:
10918           Changes for basetransform modifications.
10919         * gst/elements/Makefile.am:
10920         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10921           Compile fix. Extra debug output.
10923 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10925         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10926         (gst_pad_suite):
10927           add tests for valid pad naming
10928         * gst/check/gstcheck.c: (gst_check_log_message_func),
10929         (gst_check_log_critical_func):
10930           add ASSERT_WARNING
10931           remove printing of code, it is fragile when the code contains
10932           % and the line number is enough info
10933         * gst/check/gstcheck.h:
10934         * gst/gstpad.c: (gst_pad_template_new):
10935           fix memleaks
10937 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10939         * configure.ac:
10940           say what CHECK flags we use
10941         * docs/libs/gstreamer-libs.types:
10942         * libs/gst/controller/Makefile.am:
10943         * libs/gst/controller/gst-controller.c:
10944         * libs/gst/controller/gst-controller.h:
10945         * libs/gst/controller/gst-helper.c:
10946         * libs/gst/controller/gst-interpolation.c:
10947         * libs/gst/controller/gstcontroller.c:
10948         * libs/gst/controller/gsthelper.c:
10949         * libs/gst/controller/gstinterpolation.c:
10950         * tools/gst-inspect.c: (print_plugin_info):
10951           we don't use dashes in header names
10953 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10955         * check/Makefile.am:
10956         * check/gst/.cvsignore:
10957         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
10958         (gst_pipeline_suite), (main):
10959           adding a test for pipelines and state changes
10960         * gst/gstutils.c: (get_state_func):
10961           add some debugging
10962         * gstreamer.spec.in:
10963           fix up spec file
10965 2005-09-08  Michael Smith <msmith@fluendo.com>
10967         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
10968         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
10969         (gst_file_src_is_seekable), (gst_file_src_get_size),
10970         (gst_file_src_start):
10971         * gst/elements/gstfilesrc.h:
10972           Various fixes for unseekable, unmmapable, and non-normal files, so
10973           that fallback to read() rather than mmap() works.
10974         * gst/gstevent.c: (gst_event_new_newsegment):
10975           Allow newsegment events with segment_start == segment_end, as will
10976           correctly happen if you use filesrc on a zero-size file, for
10977           example.
10979 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
10981         * gst/gstplugin.c: (gst_plugin_load_file):
10982           Call g_module_close when we don't load the module
10984         * gst/registries/gstlibxmlregistry.c:
10985         (gst_xml_registry_get_property):
10986           Port leak fix from 0.8
10988 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
10990         * docs/gst/gstreamer-docs.sgml:
10991         * docs/gst/tmpl/.cvsignore:
10992         * docs/gst/tmpl/gsttrace.sgml:
10993         * docs/gst/tmpl/gsttrashstack.sgml:
10994         * gst/Makefile.am:
10995         * gst/gst.h:
10996         * gst/gstelement.h:
10997         * gst/gstevent.h:
10998         * gst/gstmessage.c:
10999         * gst/gstmessage.h:
11000         * gst/gsttag.c:
11001         * gst/gsttag.h:
11002         * gst/gsttaginterface.c:
11003         * gst/gsttaginterface.h:
11004         * gst/gsttaglist.c:
11005         * gst/gsttaglist.h:
11006         * gst/gsttagsetter.c:
11007         * gst/gsttagsetter.h:
11008         * gst/gsttrace.c:
11009         * gst/gsttrace.h:
11010         * gst/gsttrashstack.c:
11011           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11012           inlined docs for gsttrace, gsttrashstack
11014 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11016         * gst/Makefile.am:
11017         * gst/elements/gstbufferstore.h:
11018         * gst/elements/gsttypefindelement.c:
11019         * gst/elements/gsttypefindelement.h:
11020         * gst/gst.h:
11021         * gst/gsttypefind.c:
11022         * gst/gsttypefind.h:
11023         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11024         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11025         (gst_type_find_factory_dispose),
11026         (gst_type_find_factory_unload_thyself),
11027         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11028         (gst_type_find_factory_get_caps),
11029         (gst_type_find_factory_get_extensions),
11030         (gst_type_find_factory_call_function):
11031         * gst/gsttypefindfactory.h:
11032         * gst/registries/gstlibxmlregistry.c:
11033         * gst/registries/gstxmlregistry.c:
11034           splitted gsttypefind into gsttypefind, gsttypefindfactory
11036 2005-09-07  Andy Wingo  <wingo@pobox.com>
11038         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11039         condition whereby the pad's task function is entered before the
11040         pad_mode variable was set.
11042 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11044         * gst/gstpad.c: (gst_pad_alloc_buffer):
11045           Catch misbehaving pad_alloc functions that don't
11046           set up caps and do it for them.
11048 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11050         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11051           test for pipe!=NULL
11052         * docs/gst/tmpl/.cvsignore:
11053         * docs/gst/tmpl/gstmemchunk.sgml:
11054         * docs/gst/tmpl/gstparse.sgml:
11055         * docs/gst/tmpl/gsttaglist.sgml:
11056         * docs/gst/tmpl/gsttagsetter.sgml:
11057         * docs/gst/tmpl/gsttypefind.sgml:
11058         * docs/gst/tmpl/gsttypefindfactory.sgml:
11059         * gst/gstmemchunk.c:
11060         * gst/gstparse.c:
11061         * gst/gsttag.c:
11062         * gst/gsttaginterface.c:
11063         * gst/gsttypefind.c:
11064         * gst/gsttypefind.h:
11065           inlined more docs
11067 === release 0.9.2 ===
11069 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11071         * NEWS:
11072         * RELEASE:
11073         * configure.ac:
11074           releasing 0.9.2, "South"
11076 2005-09-05  Andy Wingo  <wingo@pobox.com>
11078         * gst/registries/gstxmlregistry.h:
11079         * gst/registries/gstxmlregistry.c: Um... resurrect...
11080         
11081         * gst/registries/gstxmlregistry.h:
11082         * gst/registries/gstxmlregistry.c: and update to newer API.
11083         Incidentally they should be a bit faster now that they don't have
11084         to parse the caps.
11085         
11086 2005-09-05  Andy Wingo  <wingo@pobox.com>
11088         * gst/registries/gstxmlregistry.h:
11089         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11090         replaced by the libxml registry a while back
11092 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11094         * docs/gst/tmpl/gstplugin.sgml:
11095         * gst/elements/gstelements.c:
11096         * gst/gst.c:
11097         * gst/gstplugin.c: (gst_plugin_register_func),
11098         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11099         (gst_plugin_get_source):
11100         * gst/gstplugin.h:
11101         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11102         (gst_xml_registry_save_plugin):
11103         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11104         (gst_xml_registry_save_plugin):
11105         * tools/gst-inspect.c: (print_plugin_info):
11106           add a "source" plugin description field, to represent the source
11107           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11108           will set it to PACKAGE, which is automake's idea of the name of
11109           the source project.
11111 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11113         * Makefile.am:
11114         * autogen.sh:
11115         * configure.ac:
11116         * docs/Makefile.am:
11117         * docs/faq/Makefile.am:
11118         * docs/gst/tmpl/gstelement.sgml:
11119         * docs/gst/tmpl/gsttypes.sgml:
11120         * docs/htmlinstall.mak:
11121         * docs/manual/Makefile.am:
11122         * docs/pwg/Makefile.am:
11123           reorganize doc build a little
11124           split out docbook and gtk-doc stuff
11125           have two separate --enable's and enable them through autogen
11126           but disable by default in configure (to be similar to other
11127           projects)
11128         * gstreamer.spec.in:
11129           clean up docs install
11130         * po/af.po:
11131         * po/az.po:
11132         * po/ca.po:
11133         * po/cs.po:
11134         * po/de.po:
11135         * po/en_GB.po:
11136         * po/fr.po:
11137         * po/it.po:
11138         * po/nb.po:
11139         * po/nl.po:
11140         * po/ru.po:
11141         * po/sq.po:
11142         * po/sr.po:
11143         * po/sv.po:
11144         * po/tr.po:
11145         * po/uk.po:
11146         * po/vi.po:
11147           translation updates
11149 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11151         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11152           Add comment.
11153           
11154         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11155         (gst_fake_sink_change_state):
11156           Make state change function thread-safe.
11157           
11158         * gst/gstpad.c: (gst_pad_alloc_buffer):
11159           Set offset on generic buffer allocated by fallback.
11161 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11163         * docs/gst/gstreamer-sections.txt:
11164         * docs/gst/tmpl/gstelement.sgml:
11165         * gst/gstpad.c:
11166         * libs/gst/controller/gst-controller.c:
11167         (gst_controlled_property_set_interpolation_mode),
11168         (gst_controlled_property_new),
11169         (gst_controller_find_controlled_property):
11170          run the wingo-magic script against the docs
11172 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11174         * docs/gst/gstreamer-docs.sgml:
11175         * docs/gst/gstreamer-sections.txt:
11176         * docs/gst/tmpl/.cvsignore:
11177         * docs/gst/tmpl/gstelementdetails.sgml:
11178         * docs/gst/tmpl/gstelementfactory.sgml:
11179         * gst/gst.c:
11180         * gst/gstbus.c:
11181         * gst/gstelementfactory.c:
11182         * gst/gstelementfactory.h:
11183           merged elementdetails docs into elementfactory docs
11184           inlined both
11186 2005-09-02  Andy Wingo  <wingo@pobox.com>
11188         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11189         consider this enum an enum and not a flags.
11191 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11193         * docs/gst/gstreamer-docs.sgml:
11194         * docs/gst/tmpl/.cvsignore:
11195         * docs/gst/tmpl/gstghostpad.sgml:
11196         * docs/gst/tmpl/gstiterator.sgml:
11197         * docs/gst/tmpl/gstmacros.sgml:
11198         * docs/gst/tmpl/gstrealpad.sgml:
11199         * docs/gst/tmpl/gstregistry.sgml:
11200         * docs/gst/tmpl/gstregistrypool.sgml:
11201         * docs/gst/tmpl/gststructure.sgml:
11202         * docs/gst/tmpl/gstsystemclock.sgml:
11203         * docs/gst/tmpl/gsttrace.sgml:
11204         * gst/gstghostpad.c:
11205         * gst/gstmacros.h:
11206         * gst/gstmemchunk.c:
11207         * gst/gstmemchunk.h:
11208         * gst/gstqueue.c:
11209         * gst/gstregistry.c:
11210         * gst/gstregistrypool.c:
11211         * gst/gststructure.c:
11212         * gst/gstsystemclock.c:
11213           more docs inlined
11215 2005-09-02  Andy Wingo  <wingo@pobox.com>
11217         * gst/gstelement.h (GstState): Renamed from GstElementState,
11218         changed to be a normal enum instead of flags.
11219         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11220         munged to be GST_STATE_CHANGE_*.
11221         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11222         work with the new state representation.
11223         (GstStateChange): New enumeration of possible state transitions.
11224         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11225         (GstElementClass::change_state): Pass the GstStateChange along as
11226         an argument. Helps language bindings, so they don't have to use
11227         tricky lock-needing macros like GST_STATE_CHANGE ().
11229         * scripts/update-states (file): New script. Run it on a file to
11230         update it for state naming and API changes. Updates files in
11231         place.
11233         * All files updated for the new API.
11235 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11237         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11238         * gst/gstutils.c: (gst_util_set_value_from_string),
11239         (gst_util_set_object_arg):
11240           fix a bunch of unchecked return values
11241         * tools/gst-complete.c: (main):
11242         * gstreamer.spec.in:
11243           clean up a little
11245 2005-09-01  Wim Taymans  <wim@fluendo.com>
11247         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11248         (gst_base_sink_event), (gst_base_sink_do_sync),
11249         (gst_base_sink_handle_event):
11250         * gst/base/gstbasesink.h:
11251         Handle newsegments more correctly.
11253         * gst/gstbus.c:
11254         Fix docs.
11256         * gst/gstevent.c: (gst_event_new_newsegment):
11257         A newsegment cannot have a start_time of -1
11259 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11261         * win32/gstenumtypes.c:
11262         * win32/gstenumtypes.h:
11263           Update
11265 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11267         * libs/gst/controller/gst-controller.c:
11268         (gst_controlled_property_set_interpolation_mode),
11269         (gst_controlled_property_new):
11270          fixed boolean again
11272 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11274         * docs/faq/gst-uninstalled:
11275           add -good
11276         * gst/gstevent.c:
11277         * gst/gstevent.h:
11278           remove wrong docs
11279         * gst/gstutils.c: (gst_element_link_filtered):
11280         * gst/gstutils.h:
11281           add gst_element_link_filtered
11283 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11285         * docs/gst/gstreamer-docs.sgml:
11286         * docs/gst/gstreamer-sections.txt:
11287         * docs/gst/tmpl/.cvsignore:
11288         * docs/gst/tmpl/gsterror.sgml:
11289         * docs/gst/tmpl/gstfilter.sgml:
11290         * docs/gst/tmpl/gsturihandler.sgml:
11291         * docs/gst/tmpl/gsturitype.sgml:
11292         * docs/gst/tmpl/gstutils.sgml:
11293         * docs/gst/tmpl/gstxml.sgml:
11294         * gst/gsterror.c:
11295         * gst/gsterror.h:
11296         * gst/gstfilter.c:
11297         * gst/gsturi.c:
11298         * gst/gsturitype.c:
11299         * gst/gstutils.c:
11300         * gst/gstxml.c:
11301           inlined more docs, fixed double id-ref
11303 2005-08-31  Wim Taymans  <wim@fluendo.com>
11305         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11306         (gst_base_transform_handle_buffer):
11307         Passthrough elements don't need the caps as they don't care.
11309 2005-08-31  Wim Taymans  <wim@fluendo.com>
11311         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11312         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11313         Don't leak refcounts on buffers.
11315 2005-08-31  Wim Taymans  <wim@fluendo.com>
11317         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11318         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11319         (gst_base_transform_chain), (gst_base_transform_change_state):
11320         * gst/base/gstbasetransform.h:
11321         Handle the case where we are not negotiated more gracefully.
11323 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11325         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11326         (gst_file_src_map_region):
11327           Set READONLY flag on mmap'ed buffers, otherwise
11328           gst_buffer_make_writable() won't work properly (#314708).
11330 2005-08-31  Wim Taymans  <wim@fluendo.com>
11332         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11333         passthrough elements can even do inplace on non writable
11334         buffers (as they don't touch them).
11336 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11338         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11339         (gst_test_mono_source_set_property),
11340         (gst_test_mono_source_class_init), (GST_START_TEST),
11341         (gst_controller_suite):
11342           more tests (hehe I have the most)
11343         * gst/gstbus.c:
11344           describe popping messages whenusing mulltiple sources
11345         * libs/gst/controller/gst-controller.c:
11346         (gst_controlled_property_set_interpolation_mode),
11347         (gst_controlled_property_new):
11348         * libs/gst/controller/gst-controller.h:
11349         * libs/gst/controller/gst-interpolation.c:
11350           implement boolean properties
11352 2005-08-31  Wim Taymans  <wim@fluendo.com>
11354         * gst/gstminiobject.c: (gst_mini_object_ref):
11355         Cannot assert that the refcount has to be positive
11356         since a disposed object can be resurrected.
11358 2005-08-31  Wim Taymans  <wim@fluendo.com>
11360         * gst/gstpad.c: (gst_pad_init):
11361         Revert change, need to first fix badly behaving 
11362         apps.
11364 2005-08-30  Wim Taymans  <wim@fluendo.com>
11366         * check/elements/fakesrc.c: (setup_fakesrc):
11367         * check/elements/identity.c: (setup_identity):
11368         Activate pads before using them.
11370 2005-08-30  Wim Taymans  <wim@fluendo.com>
11372         * gst/base/gstadapter.c: (gst_adapter_flush):
11373         Flushing out 0 bytes is ok for this function.
11375         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11376         no newsegment gives a warning and sets the start/stop to 
11377         invalid.
11379         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11380         (gst_base_transform_set_passthrough):
11381         Some debug info.
11383         * gst/gstminiobject.c: (gst_mini_object_ref):
11384         Check refcount here too.
11386         * gst/gstpad.c: (gst_pad_init):
11387         Pads are initially flushing and refusing data.
11389         * gst/gstutils.c: (gst_element_link_pads_filtered):
11390         When adding a capsfilter element make sure it has the
11391         same state as the parent bin.
11393 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11395         * docs/gst/tmpl/.cvsignore:
11396         * docs/gst/tmpl/gstformat.sgml:
11397         * docs/gst/tmpl/gstversion.sgml:
11398         * gst/gstbus.h:
11399         * gst/gstformat.c:
11400         * gst/gstformat.h:
11401         * gst/gstversion.h.in:
11402           more docs and two more inlined
11404 2005-08-30  Wim Taymans  <wim@fluendo.com>
11406         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11407         Don't sync to clock.
11409 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11411         * docs/gst/gstreamer-sections.txt:
11412           ultral33t func10ns deserve to appear in the docs actually
11413         * docs/gst/tmpl/.cvsignore:
11414         * docs/gst/tmpl/gstcompat.sgml:
11415         * docs/gst/tmpl/gstconfig.sgml:
11416         * gst/check/gstcheck.c:
11417         * gst/gstcompat.h:
11418         * gst/gstconfig.h.in:
11419           inlined more docs
11421 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11423         * docs/gst/tmpl/.cvsignore:
11424         * docs/gst/tmpl/gstquery.sgml:
11425         * docs/gst/tmpl/gstutils.sgml:
11426         * gst/gstquery.c:
11427         * gst/gstquery.h:
11428           inlined and extended docs
11430 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11432         * check/gst-libs/controller.c: (GST_START_TEST),
11433         (gst_controller_suite):
11434           more tests
11435         * docs/gst/tmpl/gstutils.sgml:
11436         * docs/libs/gstreamer-libs-sections.txt:
11437         * docs/libs/tmpl/gstdataprotocol.sgml:
11438           include path fixes
11439         * examples/controller/audio-example.c: (main):
11440           controller example works now
11441         * gst/gstclock.h:
11442           doc fixes
11443         * tools/gst-inspect.c: (print_element_properties_info):
11444           show param spec flags
11446 2005-08-29  Andy Wingo  <wingo@pobox.com>
11448         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11450 2005-08-28  Andy Wingo  <wingo@pobox.com>
11452         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11453         as having two arguments instead of just one. Allows superclasses
11454         to access information on subclasses -- see the terrible for() loop
11455         in gtype.c:g_type_create_instance for the reason why. All callers
11456         changed.
11458 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11460         * docs/design/part-messages.txt:
11461           update info
11462         * docs/gst/tmpl/.cvsignore:
11463         * docs/gst/tmpl/gstcaps.sgml:
11464         * docs/gst/tmpl/gstclock.sgml:
11465         * gst/gstbus.c:
11466         * gst/gstcaps.c:
11467         * gst/gstcaps.h:
11468         * gst/gstclock.c:
11469         * gst/gstclock.h:
11470         * gst/gstmessage.c:
11471           added descriptions for bus and message
11472           inline caps and clock docs
11474 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11476         * gst/gstmessage.c:
11477         * gst/gstmessage.h:
11478           doc fixes
11480 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11482         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11483           fix div-by-zero
11485 2005-08-26  Andy Wingo  <wingo@pobox.com>
11487         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11488         element_set_state's return val.
11489         (test_2_elements): Add test that's been disabled for months.
11491         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11492         can-activate-pull properties.
11494         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11495         can-activate-pull properties. Implement is_seekable so fakesrc can
11496         operate in pull mode.
11498         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11499         properties.
11500         (gst_base_sink_activate, gst_base_sink_activate_pull)
11501         (gst_base_sink_activate_push): Make activation mode choosing work.
11502         Cleanups.
11503         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11504         is right. Make pull mode work. Post an eos before pausing in pull
11505         mode.
11506         (gst_base_sink_change_state): Pay attention to the core's
11507         change_state() return val.
11508         
11509         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11510         has-getrange properties. Cleanups.
11511         
11512         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11513         has_getrange and replace with can_activate_pull and
11514         can_activate_push.
11516         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11517         locking comments. Remove has_loop, has_chain and replace with
11518         can_activate_pull and can_activate_push.
11520 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11522         * configure.ac:
11523         * examples/Makefile.am:
11524         * examples/metadata/Makefile.am:
11525         * examples/metadata/read-metadata.c: (message_loop),
11526         (have_pad_handler), (make_pipeline), (print_tag), (main):
11527           Add metadata reading example that loops over a list of filenames,
11528           dumping any tags found.
11530         * gst/gstbus.c: (gst_bus_dispose):
11531         * gst/gstelement.c: (gst_element_dispose):
11532           Release a few potentially-held references in dispose.
11534 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11536         * docs/gst/tmpl/gstminiobject.sgml:
11537           do *not* add tmpl/*.sgml files to CVS!
11539 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11541         * libs/gst/bytestream/.cvsignore:
11542         * libs/gst/bytestream/Makefile.am:
11543         * libs/gst/bytestream/adapter.c:
11544         * libs/gst/bytestream/adapter.h:
11545         * libs/gst/bytestream/bytestream.c:
11546         * libs/gst/bytestream/bytestream.h:
11547         * libs/gst/bytestream/filepad.c:
11548         * libs/gst/bytestream/filepad.h:
11549           removing obsolete files
11551 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11553         * docs/gst/gstreamer-docs.sgml:
11554         * docs/libs/gstreamer-libs-docs.sgml:
11555           disabed additional index entries again, as this makes docs-gen just
11556           slow and they aren't useful yet
11557         * docs/libs/gstreamer-libs-sections.txt:
11558           little -section.txt cleanup for libs
11560 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11563         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11564           fix up some debugging
11565         (gst_base_transform_get_unit_size),
11566         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11567         (gst_base_transform_handle_buffer):
11568         * gst/base/gstbasetransform.h:
11569           handle and store timed NEWSEGMENT events so that subclasses that
11570           calculate time by counting samples have a segment_start time they
11571           need to add to their timestamps - see audioresample
11573 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11575         * gst/gstbin.h:
11576           removed ';' from the end of macro defs
11577         * docs/gst/gstreamer-docs.sgml:
11578         * docs/gst/gstreamer-sections.txt:
11579         * docs/gst/tmpl/.cvsignore:
11580         * gst/gstbus.h:
11581         * gst/gstelement.c: (gst_element_class_init),
11582         (gst_element_set_state), (activate_pads),
11583         (gst_element_save_thyself):
11584         * gst/gstevent.c: (gst_event_new_newsegment):
11585         * gst/gstevent.h:
11586         * gst/gstiterator.c:
11587         * gst/gstiterator.h:
11588         * gst/gstpad.c:
11589         * gst/gstprobe.h:
11590         * gst/gstutils.c: (gst_pad_query_convert):
11591         * gst/gstutils.h:
11592           fixed parameter name mismatches between source, header and docs
11593           added some more docs, resolved the last batch of unused elements in
11594           docs (now someone needs to doc them)
11596 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11598         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11599         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11600           don't walk through the plugins backwards.  Where is all this
11601           reversed logic coming from ?
11603 2005-08-25  Wim Taymans  <wim@fluendo.com>
11605         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11606         (gst_base_transform_transform_size),
11607         (gst_base_transform_configure_caps),
11608         (gst_base_transform_get_unit_size),
11609         (gst_base_transform_buffer_alloc),
11610         (gst_base_transform_change_state):
11611         * gst/base/gstbasetransform.h:
11612         Cache caps unit_size.
11613         Make sure we cannot negotiate up and downstream at the
11614         same time.
11616 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11618         * gst/gst.c: (init_pre), (init_post):
11619           register the installed plugin path after the env var
11620         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11621         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11622           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11623           directories, so the tests can prefer uninstalled over installed
11625 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11627         * gst/base/gstbasetransform.h:
11628           comment
11629         * gst/gstpad.c:
11630           add to docs
11632 2005-08-25  Wim Taymans  <wim@fluendo.com>
11634         * gst/gstbin.c: (bin_bus_handler):
11635         Be a bit more conservative about the posted message.
11636         
11637         * gst/gstbus.c: (gst_bus_post):
11638         Some cleanups, warn wrong return values.
11640 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11642         * check/gst/gstbin.c: (GST_START_TEST):
11643         * gst/gstbin.c: (bin_bus_handler):
11644         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11645         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11646         (gst_message_new_warning), (gst_message_new_tag),
11647         (gst_message_new_state_changed), (gst_message_new_segment_start),
11648         (gst_message_new_segment_done), (gst_message_new_custom):
11649         * gst/gstmessage.h:
11650         * tools/gst-launch.c: (event_loop):
11651         * tools/gst-md5sum.c: (event_loop):
11652           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11654 2005-08-25  Wim Taymans  <wim@fluendo.com>
11656         * check/generic/states.c: (GST_START_TEST):
11657         Cleanup can be done at the end.
11659         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11660         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11661         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11662         Oh boy.. Thanks for finding this, Thomas. 
11664 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11666         * docs/gst/gstreamer.types:
11667           added missing types
11669 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11671         * docs/gst/gstreamer-docs.sgml:
11672         * docs/gst/gstreamer-sections.txt:
11673         * docs/gst/tmpl/.cvsignore:
11674         * gst/gstbin.c:
11675         * gst/gstiterator.c:
11676         * gst/gstutils.c:
11677         * gst/registries/gstxmlregistry.h:
11678           added missing classes and symbols (123 more to go)
11679           removed removed symbols from section file
11680           fixed many doc-comments
11682 2005-08-24  Wim Taymans  <wim@fluendo.com>
11684         * check/generic/states.c: (GST_START_TEST):
11685         Make sure all tasks are stopped.
11687         * check/gst/gstbin.c: (GST_START_TEST):
11688         Unref after usage for proper valgrinding.
11690         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11691         Really wait for the task to stop before destroying the
11692         mutex.
11694         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11695         (gst_queue_src_activate_push):
11696         Small cleanups. Don't stop the task when we did not start
11697         it.
11699         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11700         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11701         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11702         (gst_task_join):
11703         * gst/gsttask.h:
11704         Protect the stream lock with the object lock.
11705         Disallow setting the stream lock when running.
11706         Add cleanup_all to wait for the threadpool to finish.
11707         Remove code to autoallocate a mutex if none was provided.
11708         Add _join() to wait for a task to stop.
11709         Protect the thread pool with a global lock.
11711 2005-08-24  Wim Taymans  <wim@fluendo.com>
11713         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11714         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11715         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11716         * gst/base/gstbasesink.h:
11717         Handle newsegment events correctly.
11718         Drop buffers out of the segment range.
11720 2005-08-22  Andy Wingo  <wingo@pobox.com>
11722         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11723         macro, implements an interface and gstimplementsinterface for a
11724         new type.
11726 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11728         * check/Makefile.am:
11729         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11730           add a test that does a bunch of state changes on elements
11731           needs some fixing for valgrind
11732         * check/states/sinks.c: (gst_object_suite):
11733           whitespace
11734         * gst/gstcaps.h:
11735           add prototype for gst_caps_is_equal_fixed
11736         * gst/gstplugin.c:
11737         * gst/gstregistrypool.c:
11738           doc fixes
11740 2005-08-24  Andy Wingo  <wingo@pobox.com>
11742         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11743         convert a negative value. Doesn't make much sense. Mostly this is
11744         here to force callers to ensure -1 maps to -1.
11746 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11748         * docs/pwg/advanced-types.xml:
11749           Well done to Michael for catching my deliberate introduction
11750           of this spelling mistake. 
11751         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11752         * gst/gstelement.h:
11753           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11754           unlink pads before removing the element from the bin.
11756 2005-08-24  Andy Wingo  <wingo@pobox.com>
11758         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11759         the same thing as GST_DEBUG=*:4.
11760         (parse_debug_level, parse_debug_category): New helper parsers.
11762 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11764         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11765         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11766         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11767         (gst_base_transform_buffer_alloc),
11768         (gst_base_transform_handle_buffer):
11769           use gboolean return values and pointers to size so we can use the
11770           full GST_BUFFER_SIZE range (guint) for buffer sizes
11771           use GstPadDirection for transform_caps
11772         * gst/base/gstbasetransform.h:
11773           rename get_size to get_unit_size since that's what it is
11774         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11775           use GstPadDirection for transform_caps
11776         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11777         * gst/gstutils.h:
11778           cleanup and debugging
11780 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11782         * gst/gstelement.c: (gst_element_class_init),
11783         (gst_element_set_state), (activate_pads),
11784         (gst_element_save_thyself):
11785         * tools/gst-compprep.c: (main):
11786         * tools/gst-inspect.c: (print_element_properties_info):
11787         * tools/gst-xmlinspect.c: (print_element_properties):
11788           Fixed long standing mem-leak
11790 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11792         * check/gst/gstbin.c: (GST_START_TEST):
11793         * gst/gstbin.c: (bin_bus_handler):
11794         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11795         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11796         (gst_message_new_warning), (gst_message_new_tag),
11797         (gst_message_new_state_changed), (gst_message_new_segment_start),
11798         (gst_message_new_segment_done), (gst_message_new_custom):
11799         * gst/gstmessage.h:
11800         * tools/gst-launch.c: (event_loop):
11801         * tools/gst-md5sum.c: (event_loop):
11802           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11803           that applications can sensibly post custom messages with references
11804           to their own objects.
11806 2005-08-24  Andy Wingo  <wingo@pobox.com>
11808         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11809         already.
11811 2005-08-24  Wim Taymans  <wim@fluendo.com>
11813         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11814         (gst_base_transform_transform_caps),
11815         (gst_base_transform_transform_size),
11816         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11817         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11818         (gst_base_transform_handle_buffer):
11819         * gst/base/gstbasetransform.h:
11820         Many fixes and new features added by Thomas. Can now also do
11821         transforms with variable sizes and a custom fixate_caps function.
11823 2005-08-24  Wim Taymans  <wim@fluendo.com>
11825         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11826         Some debugging.
11828         * gst/gstclock.h:
11829         Cast to ClockTime before formatting to time.
11831         * gst/gstutils.h:
11832         Cleanups.
11834 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11836         * check/gst-libs/controller.c: (GST_START_TEST),
11837         (gst_controller_suite):
11838         * docs/gst/tmpl/gstcaps.sgml:
11839         * docs/gst/tmpl/gstghostpad.sgml:
11840         * docs/gst/tmpl/gstquery.sgml:
11841         * docs/gst/tmpl/gstutils.sgml:
11842         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
11843         (gst_object_sink_values), (gst_object_get_value_arrays),
11844         (gst_object_get_value_array):
11845           gracefully handle helper method calls to objects that are not beeing
11846           controlled, added test case for that          
11848 2005-08-23  Wim Taymans  <wim@fluendo.com>
11850         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
11851         (gst_event_new_newsegment), (gst_event_parse_newsegment),
11852         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
11853         (gst_event_parse_qos), (gst_event_new_seek),
11854         (gst_event_parse_seek):
11855         * gst/gstevent.h:
11856         Some more debugging output and doc cleanups.
11858         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11859         Fix possible deadlock.
11861 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11863         * docs/gst/gstreamer-docs.sgml:
11864         * docs/gst/gstreamer-sections.txt:
11865         * docs/gst/gstreamer.types:
11866         * docs/gst/tmpl/.cvsignore:
11867         * gst/gstbin.h:
11868         * gst/gstbus.c:
11869         * gst/gstelement.c:
11870         * gst/gstevent.h:
11871           added 100 symbols from gstreamer-unused.txt to the right sections
11872           fixed more broken comments
11873           added GstBus to docs
11875 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11877         * docs/gst/gstreamer-sections.txt:
11878         * docs/gst/tmpl/.cvsignore:
11879         * docs/gst/tmpl/gstbin.sgml:
11880         * docs/gst/tmpl/gstbuffer.sgml:
11881         * gst/base/gstbasesrc.c:
11882         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11883         * gst/gstbuffer.c:
11884         * gst/gstbuffer.h:
11885         * tools/gst-launch.1.in:
11886           inlined more doc comments, added missing comments and fixed comments
11887           fixed typos
11889 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11891         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11892           some debugging
11893         * gst/gstcaps.h:
11894           whitespace fixes
11895         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11896           more debugging
11897         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11898         * gst/gststructure.h:
11899           add a fixate function for booleans; add a FIXME that these func
11900           names should probably be gst_structure_fixate_*
11902 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11904         * docs/gst/gstreamer-docs.sgml:
11905         * docs/gst/gstreamer-sections.txt:
11906         * gst/Makefile.am:
11907         * gst/gstbin.c: (gst_bin_get_type),
11908         (gst_bin_child_proxy_get_child_by_index),
11909         (gst_bin_child_proxy_get_children_count),
11910         (gst_bin_child_proxy_init):
11911         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11912         (gst_child_proxy_get_child_by_index),
11913         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11914         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11915         (gst_child_proxy_get), (gst_child_proxy_set_property),
11916         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11917         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11918         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11919         * gst/gstchildproxy.h:
11920         * gst/parse/grammar.y:
11921         * tools/gst-inspect.c: (print_interfaces),
11922         (print_element_properties_info), (print_element_info):
11923           ported gstchildproxy over from 0.8
11924           ported gst-inspect fixes and enhancements over from 0.8
11926 2005-08-22  Wim Taymans  <wim@fluendo.com>
11928         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11929         (gst_base_transform_handle_buffer):
11930         Also call the transform function if we have ANY caps.
11932         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11933         Fix debug info.
11935 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11937         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
11938           Don't pretend to handle seek events if the source is not seekable
11940 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11942         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11943           Remove extra parameter to debug output
11945         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
11946         (gst_base_src_do_seek), (gst_base_src_activate_push):
11947           Fix seek event handling.
11949         * gst/gstpipeline.c: (gst_pipeline_change_state):
11950         * gst/gstqueue.c: (gst_queue_handle_sink_event),
11951         (gst_queue_src_activate_push):
11952           Don't start the src pad task on FLUSH_STOP if the pad
11953           isn't linked.
11954           Debug changes.
11956 2005-08-22  Wim Taymans  <wim@fluendo.com>
11958         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11959         Added check for gst_static_caps_get() refcounting.
11961 2005-08-22  Wim Taymans  <wim@fluendo.com>
11963         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
11964         Make _static_caps_get() refcounting sane.
11965         
11966         * gst/gstelement.c: (gst_element_set_state):
11967         Add g_return_val_if_fail() to protect against segfaults.
11969 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
11971         * docs/gst/tmpl/gstevent.sgml:
11972         * gst/gstevent.c:
11973         * gst/gstevent.h:
11974           inlined remaining docs, added missing doc comments
11976 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11978         * check/gst/gstbin.c: (GST_START_TEST):
11979           since we don't know when preroll is done, use refcount range
11980           check for the sink
11981         * gst/check/gstcheck.h:
11982           add macro for checking refcount range
11984 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
11986         * check/Makefile.am:
11987           clean up environment for when registry gets built versus
11988           when actual tests are run; valgrind seems to not report
11989           leaks if GST_PLUGIN_PATH is set to some specific values
11990         * check/gst/gstbin.c: (GST_START_TEST):
11991           add more refcounting checks; maybe this exposes a
11992           preroll lock bug ?
11993         * common/check.mak:
11994         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11995         * gst/check/gstcheck.h:
11996         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
11997         (gst_bin_change_state):
11998         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
11999           add/fix debugging/whitespace
12001 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12003         * check/gst/gstevent.c: (event_probe), (test_event),
12004         (GST_START_TEST):
12005          Er, don't call gst_bin_watch_for_state_change you idiot.
12007 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12009         * check/Makefile.am:
12010           Use CHECK_CFLAGS and CHECK_LIBS
12011         * check/gst/gstevent.c: (event_probe), (test_event),
12012         (GST_START_TEST):
12013           Don't leak events.
12014         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12015         (gst_base_src_start), (gst_base_src_stop),
12016         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12017         (gst_base_src_change_state):
12018           Sprinkle gst_base_src_stop liberally around error paths to fix
12019           problems reusing a source after failed state changes.
12020         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12021         (helper_find_suggest), (gst_type_find_helper):
12022           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12023         * gst/gstevent.h:
12024         * docs/gst/tmpl/gstevent.sgml:
12025           Migrate part of the docs from the SGML file. Wait for ensonic to
12026           tell me how I did it wrong ;)
12027         * tools/gst-typefind.c: (main):
12028           Extra robustness to state changes between files.
12030 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12032         * check/Makefile.am:
12033           don't valgrind the controller test - it's leaking - Stefan, HELP
12034         * gst/check/gstcheck.c: (gst_check_message_error),
12035         (gst_check_chain_func), (gst_check_setup_element),
12036         (gst_check_teardown_element), (gst_check_setup_src_pad),
12037         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12038         (gst_check_teardown_sink_pad):
12039         * gst/check/gstcheck.h:
12040           add a bunch of methods to set up elements, and src and sink pads
12041         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12042         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12043         (GST_START_TEST):
12044           use them
12045         * gst/gstmessage.c:
12046         * gst/gsttag.h:
12047           whitespace/doc fixes
12049 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12051         * gst/gstelement.h:
12052           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12053           be handled by the application and not always printed as well
12055 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12057         * check/Makefile.am:
12058           set GST_TOOLS_DIR
12059         * gst/check/gstcheck.c: (gst_check_message_error):
12060         * gst/check/gstcheck.h:
12061           add a fail_unless_equals_int
12062           add fail_unless for error messages
12064 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12066         * check/Makefile.am:
12067         * check/gst.supp:
12068         * common/Makefile.am:
12069         * common/check.mak:
12070         * common/gst.supp:
12071           factor out some of the common stuff so we can use it
12073 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12075         * check/Makefile.am:
12076         * check/gst/gstiterator.c: (GST_START_TEST):
12077         * check/gst/gstsystemclock.c: (GST_START_TEST),
12078         (gst_systemclock_suite):
12079         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12080         * gst/gstclock.c:
12081           valgrind more tests
12083 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12085         * check/elements/.cvsignore:
12086         * check/elements/gstfakesrc.c:
12087           rename to name of element
12088         * check/elements/identity.c: (chain_func), (event_func),
12089         (setup_identity), (cleanup_identity), (GST_START_TEST),
12090         (identity_suite), (main):
12091           add a test for identity
12092         * check/Makefile.am:
12093         * pkgconfig/Makefile.am:
12094         * pkgconfig/gstreamer-check.pc.in:
12095         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12096         * gst/check:
12097         * gst/Makefile.am:
12098         * configure.ac:
12099           move the check stuff to a library that gets installed
12100         * check/gst-libs/controller.c: (GST_START_TEST):
12101         * check/gst-libs/gdp.c:
12102         * check/gst/gst.c: (GST_START_TEST):
12103         * check/gst/gstbin.c:
12104         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12105         * check/gst/gstbus.c:
12106         * check/gst/gstcaps.c: (GST_START_TEST):
12107         * check/gst/gstelement.c:
12108         * check/gst/gstghostpad.c:
12109         * check/gst/gstiterator.c:
12110         * check/gst/gstmessage.c:
12111         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12112         * check/gst/gstobject.c:
12113         * check/gst/gstpad.c: (GST_START_TEST):
12114         * check/gst/gststructure.c: (GST_START_TEST):
12115         * check/gst/gstsystemclock.c: (GST_START_TEST),
12116         (gst_systemclock_suite):
12117         * check/gst/gsttag.c: (gst_tag_suite):
12118         * check/gst/gstvalue.c:
12119         * check/pipelines/cleanup.c:
12120         * check/pipelines/simple_launch_lines.c:
12121         * check/states/sinks.c:
12122           change include statement
12124         * docs/gst/gstreamer-sections.txt:
12125         * docs/gst/tmpl/gstpad.sgml:
12126           document more pad stuff
12127         * gst/gstminiobject.c: (gst_mini_object_ref),
12128         (gst_mini_object_unref):
12129           debug refcounting
12131 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12133         * docs/gst/tmpl/gst.sgml:
12134         * gst/gst.c:
12135           eliminate another tmpl file, fix spelling in the long-description
12137 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12139         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12140         (test_event), (timediff), (gstevents_suite):
12141           Should fix build on 64-bit arch's
12143 2005-08-18  Andy Wingo  <wingo@pobox.com>
12145         Make sure that when a pipeline goes to PLAYING, that data has
12146         actually hit the sink.
12148         * check/states/sinks.c (test_sink): A sink that doesn't get any
12149         data shouldn't return SUCCESS for going to either PLAYING or
12150         PAUSED. Test also the return values on the way back down.
12152         * gst/gstelement.c (gst_element_set_state): When changing the
12153         state of an element currently changing state asynchronously, go to
12154         lost-state after commiting the pending state. Makes future calls
12155         to get_state continue to return ASYNC.
12157         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12158         ASYNC when going to PLAYING if we still don't have preroll, as can
12159         happen with live sources.
12161 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12163         * docs/pwg/advanced-types.xml:
12164           Hack long paragraph into 2 chunks as a workaround for buggy
12165           jadetex version in sid and breezy that loops infinitely and
12166           eats all RAM.
12168 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12170         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12171         (test_event), (timediff), (gstevents_suite):
12172           Provide more error margin in clock measurements to allow for 
12173           g_get_current_time inaccuracies.
12175 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12177         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12178         (test_event), (timediff), (gstevents_suite):
12179            Fix error message output so I might be able to tell why the
12180            test works here but fails on the build farm.
12182 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12184         * check/Makefile.am:
12185         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12186         (test_event), (timediff), (gstevents_suite), (main):
12187           I wrote a test!
12189         * docs/design/part-seeking.txt:
12190           Spelling correction
12192         * docs/gst/tmpl/gstevent.sgml:
12193         * docs/gst/tmpl/gstfakesrc.sgml:
12194           Docs updates.
12196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12197           Treat a buffer-without-newsegment the same as a receiving 
12198           a newsegment not in time format, and disable syncing to the clock
12199           with a warning.
12201         * gst/gstbus.c: (gst_bus_set_sync_handler):
12202           Assert if anyone tries to replace the existing sync_handler for bus, 
12203           as only the owner should be setting it.
12205         * gst/gstevent.h:
12206           Have a fixed set of custom event enums with events identified by
12207           their structure name (as in 0.8), rather than a free-for-all
12208           allowing collisions between enum values from different plugins.
12210         * gst/gstpad.c: (gst_pad_class_init):
12211           Docs change.
12212           
12213         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12214           Handle out-of-band downstream events from the sending thread.
12216 2005-08-17  Andy Wingo  <wingo@pobox.com>
12218         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12219         play-timeout==0 to mean no timeout at all. In that case, don't
12220         bother with a get_state or a warning, just return directly, even
12221         if it's ASYNC.
12223         * gst/base/gstbasetransform.c: Debug changes.
12225         * gst/gstutils.h:
12226         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12227         ensure bins post state change messages. A bit of a hack but I can't
12228         think of a way to avoid it.
12230         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12232 2005-08-16  Andy Wingo  <wingo@pobox.com>
12234         * gst/base/gstadapter.h:
12235         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12236         peek() but you own the data. Not terribly efficient atm.
12238 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12240         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12241         (gst_element_found_tags):
12242         * gst/gstutils.h:
12243           Add two utility functions for tag handling.
12245 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12247         * docs/manual/advanced-dataaccess.xml:
12248         * docs/manual/basics-helloworld.xml:
12249           Fix docs to use _bin_add() before _link(), which fixes the examples
12250           with recent core versions (reported by Madhan Raj M
12251           <raj_madan@rediffmail.com>, #313199).
12253 2005-08-16  Wim Taymans  <wim@fluendo.com>
12255         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12256         Added subtract checks.
12258         * docs/design/part-events.txt:
12259         Some more docs about newsegment
12261         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12262         Fix FIXME
12264         * gst/gstcaps.c: (gst_caps_to_string):
12265         Add comments, cleanups.
12266         
12267         * gst/gstelement.c: (gst_element_save_thyself):
12268         cleanups
12269         
12270         * gst/gstvalue.c: (gst_value_collect_int_range),
12271         (gst_string_unwrap), (gst_value_union_int_int_range),
12272         (gst_value_union_int_range_int_range),
12273         (gst_value_intersect_int_int_range),
12274         (gst_value_intersect_int_range_int_range),
12275         (gst_value_intersect_double_double_range),
12276         (gst_value_intersect_double_range_double_range),
12277         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12278         (gst_value_subtract_int_range_int),
12279         (gst_value_subtract_double_range_double),
12280         (gst_value_subtract_double_range_double_range),
12281         (gst_value_subtract_from_list), (gst_value_subtract_list),
12282         (gst_value_can_compare), (gst_value_compare_fraction):
12283         Cleanups, add comments, remove unneeded asserts.
12285 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12287         * tools/gst-launch.c: (event_loop):
12288           don't convert NULL structures to strings
12290 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12292         * docs/gst/gstreamer-sections.txt:
12293           made some defines private
12294         * docs/gst/tmpl/gstconfig.sgml:
12295         * docs/gst/tmpl/gstqueue.sgml:
12296         * docs/gst/tmpl/gsttaglist.sgml:
12297         * docs/gst/tmpl/gsttypes.sgml:
12298         * docs/gst/tmpl/gstutils.sgml:
12299         * docs/pwg/appendix-porting.xml:
12300         * gst/base/gstbasesink.h:
12301         * gst/base/gstbasesrc.c:
12302         * gst/base/gstbasesrc.h:
12303         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12304         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12305         * gst/gstelement.c: (gst_element_class_init):
12306         * gst/gstpad.c: (gst_pad_class_init):
12307         * gst/gstqueue.c: (gst_queue_class_init):
12308         * gst/gstxml.c: (gst_xml_class_init):
12309           documented all undocumented signal inline
12310         * libs/gst/controller/gst-controller.h:
12311           added padding
12313 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12315         * docs/pwg/appendix-porting.xml:
12316           Document _set_link_function -> _set_setcaps_function.
12318 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12320         * check/Makefile.am:
12321           add a .check target for running the check
12322         * check/gst-libs/controller.c: (GST_START_TEST):
12323           cosmetic fixups
12324         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12325           complete checks for gstbuffer; would be nice if I could get the
12326           gcov stuff to work so I can see if I actually completed gstbuffer.c
12327         * check/gstcheck.h:
12328           add ASSERT_BUFFER_REFCOUNT
12330 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12332         * docs/gst/gstreamer-sections.txt:
12333         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12334         * gst/gsttag.h:
12335           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12336           spew out a warning if a tag that is already registered
12337           is re-registered, unless it is re-registered with a 
12338           different type (#308438).
12340 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12342         * docs/pwg/appendix-porting.xml:
12343         * docs/pwg/building-state.xml:
12344           Add some paragraphs about state changes in 0.9 to the PWG
12345           and the porting guide, in particular about the new meaning
12346           of GST_STATE_PAUSED and how to write state change functions
12347           with concurrent access by multiple threads in mind.
12349 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12351         * docs/gst/gstreamer-docs.sgml:
12352         * docs/libs/gstreamer-libs-docs.sgml:
12353           added deprecation and since indexes
12354         * libs/gst/controller/gst-controller.c:
12355         * libs/gst/controller/gst-helper.c:
12356           added since tags
12359 2005-08-11  Wim Taymans  <wim@fluendo.com>
12361         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12362         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12363         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12364         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12365         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12366         (gst_ghost_pad_set_target):
12367         Actually implement (re)setting the target on a ghostpad
12368         as described in the docs.
12370 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12372         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12373           Check whether GST_DEBUG_NO_COLOR environment variable is
12374           set and disable coloured debug output if that is the case.
12376 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12378         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12379         (gst_type_find_helper):
12380           The memory returned by gst_type_find_peek() needs to
12381           stay valid until the end of a typefind function, and
12382           typefind functions may keep results from different 
12383           offsets around, so we can't just unref the buffer from
12384           the previous _peek(), but have to save all buffers 
12385           returned by _peek() until typefinding is done and only
12386           free them then.
12388 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12390         * docs/gst/gstreamer-sections.txt:
12391         * gst/gstutils.h:
12392           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12394 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12396         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12397           Fix a pretty good memleak.
12399 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12401         * gst/gstiterator.h:
12402           Fix wrong include and 'make distcheck'.
12404 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12406         * gst/gstbin.c: (bin_bus_handler):
12407           Use gst_element_post_message() instead.
12409 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12411         * gst/base/gstadapter.h:
12412         * gst/base/gstbasesink.h:
12413         * gst/base/gstbasesrc.h:
12414         * gst/base/gstbasetransform.h:
12415         * gst/base/gstcollectpads.h:
12416         * gst/base/gstpushsrc.h:
12417         * gst/gstiterator.h:
12418           Add padding to our base elements' class and instance structs and
12419           to GstIterator (you will need to rebuild all plugins and apps!)
12421 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12423         * gst/gstbin.c: (bin_bus_handler):
12424           Make default message forwarding from child->bus to bin->bus
12425           threadsafe and make it not emit warnings if the parent has no bus.
12427 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12429         * gst/gstelement.c: (activate_pads):
12430           On paused->ready, set pad->caps to NULL, as is the documented
12431           behaviour in this state change. Fixes playback of series of
12432           media files when visualization is enabled in Totem.
12434 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12436         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12437           Allow NULL as filter-caps (which means "any").
12439 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12441         * docs/libs/gstreamer-libs-sections.txt:
12442         * libs/gst/controller/gst-controller.c:
12443         * libs/gst/controller/gst-controller.h:
12444         * libs/gst/controller/gst-helper.c:
12445           adding more entries to the docs and fix small doc-bugs
12447 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12449         * docs/gst/gstreamer-docs.sgml:
12450         * docs/gst/gstreamer-sections.txt:
12451         * docs/gst/gstreamer.types:
12452         * docs/gst/tmpl/gstbasesink.sgml:
12453         * docs/gst/tmpl/gstbasesrc.sgml:
12454         * docs/gst/tmpl/gstbasetransform.sgml:
12455         * docs/gst/tmpl/gstfakesrc.sgml:
12456         * gst/base/gstcollectpads.c:
12457         * gst/base/gstcollectpads.h:
12458         * libs/gst/controller/gst-controller.c:
12459         * libs/gst/controller/gst-controller.h:
12460         * libs/gst/controller/gst-helper.c:
12461         * libs/gst/controller/gst-interpolation.c:
12462         * libs/gst/controller/lib.c:
12463           added long/short desc for controller docs
12464           added collectpads base class docs
12465           added correct includes to base-class docs
12467 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12469         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12470         (gst_test_mono_source_set_property),
12471         (gst_test_mono_source_class_init), (GST_START_TEST),
12472         (gst_controller_suite):
12473         * docs/gst/gstreamer-docs.sgml:
12474         * docs/gst/gstreamer-sections.txt:
12475         * docs/gst/gstreamer.types:
12476         * docs/libs/gstreamer-libs-docs.sgml:
12477         * docs/libs/gstreamer-libs-sections.txt:
12478         * gst/base/gstadapter.c:
12479         * libs/gst/controller/gst-controller.c:
12480         (gst_controlled_property_new), (gst_controlled_property_free),
12481         (gst_controller_new_valist),
12482         (gst_controller_remove_properties_valist),
12483         (gst_controller_sink_values), (_gst_controller_finalize):
12484         * libs/gst/controller/gst-controller.h:
12485         * libs/gst/controller/gst-helper.c:
12486         (gst_object_control_properties), (gst_object_uncontrol_properties),
12487         (gst_object_get_controller), (gst_object_set_controller),
12488         (gst_object_sink_values), (gst_object_get_value_arrays),
12489         (gst_object_get_value_array):
12490           more tests (and fixes) for the controller
12491           more docs for the controller
12492           integrated companies docs for the adapter 
12494 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12496         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12497         (GST_START_TEST), (fakesrc_suite):
12498           add tests for sizetype
12500 2005-08-04  Andy Wingo  <wingo@pobox.com>
12502         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12503         fixes buffer_alloc proxying among other things.
12505         * gst/base/gstbasetransform.c:
12506         * gst/base/gstbasetransform.h:
12507         Revert patch to gstbasetransform from 7-28 removing
12508         delay_configure.
12510         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12511         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12512         Semantics changed, should return not the size of the output buffer
12513         but the byte size of a buffer with a given caps.
12515         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12516         debug object.
12517         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12518         out) are not the pad caps until setcaps finishes.
12519         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12520         not-in-place case as well. Deal with changing from in-place to
12521         not-in-place within calling pad_alloc_buffer. Still a bit
12522         concerned about the overhead here...
12524 2005-08-03  Andy Wingo  <wingo@pobox.com>
12526         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12527         fixating is an error.
12529 2005-08-04  Edward Hervey  <edward@fluendo.com>
12531         * gst/base/gstadapter.h: 
12532         Added gst_adapter_get_type() to the header
12534 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12536         * check/Makefile.am:
12537         * check/gst-libs/controller.c:
12538         * libs/gst/controller/gst-controller.c:
12539         (gst_controller_new_valist):
12540           added check test suite for the controller
12541         * gst/base/gstpushsrc.c:
12542           fixed a doc typo
12544 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12546         * docs/gst/Makefile.am:
12547         * docs/gst/gstreamer-docs.sgml:
12548         * docs/gst/gstreamer-sections.txt:
12549         * docs/gst/gstreamer.types:
12550         * docs/gst/tmpl/gstfakesrc.sgml:
12551         * gst/base/README:
12552         * gst/base/gstbasesink.c:
12553         * gst/base/gstbasesink.h:
12554         * gst/base/gstbasesrc.c:
12555         * gst/base/gstbasesrc.h:
12556         * gst/base/gstbasetransform.c:
12557         * gst/base/gstpushsrc.c:
12558         * gst/base/gstpushsrc.h:
12559           add short/long description docs to base classes
12560           add pushsrc to the docs
12561           remove consolidated doc fragments
12563 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12565         * configure.ac:
12566         * docs/libs/Makefile.am:
12567         * docs/libs/gstreamer-libs-docs.sgml:
12568         * docs/libs/gstreamer-libs-sections.txt:
12569         * docs/libs/gstreamer-libs.types:
12570         * examples/Makefile.am:
12571         * examples/controller/.cvsignore:
12572         * examples/controller/Makefile.am:
12573         * examples/controller/audio-example.c: (main):
12574         * libs/gst/Makefile.am:
12575         * libs/gst/controller/.cvsignore:
12576         * libs/gst/controller/Makefile.am:
12577         * libs/gst/controller/gst-controller.c:
12578         (on_object_controlled_property_changed), (gst_timed_value_compare),
12579         (gst_timed_value_find),
12580         (gst_controlled_property_set_interpolation_mode),
12581         (gst_controlled_property_new), (gst_controlled_property_free),
12582         (gst_controller_find_controlled_property),
12583         (gst_controller_new_valist), (gst_controller_new),
12584         (gst_controller_remove_properties_valist),
12585         (gst_controller_remove_properties), (gst_controller_set),
12586         (gst_controller_set_from_list), (gst_controller_unset),
12587         (gst_controller_get), (gst_controller_get_all),
12588         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12589         (gst_controller_get_value_array),
12590         (gst_controller_set_interpolation_mode),
12591         (_gst_controller_finalize), (_gst_controller_init),
12592         (_gst_controller_class_init), (gst_controller_get_type):
12593         * libs/gst/controller/gst-controller.h:
12594         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12595         (g_object_uncontrol_properties), (g_object_get_controller),
12596         (g_object_set_controller), (g_object_sink_values),
12597         (g_object_get_value_arrays), (g_object_get_value_array):
12598         * libs/gst/controller/gst-interpolation.c:
12599         (gst_controlled_property_find_timed_value_node),
12600         (interpolate_none_get), (interpolate_trigger_get),
12601         (interpolate_trigger_get_value_array):
12602         * libs/gst/controller/lib.c: (gst_controller_init):
12603         * pkgconfig/Makefile.am:
12604         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12605         * pkgconfig/gstreamer-control.pc.in:
12606         * testsuite/Makefile.am:
12607         * testsuite/controller/.cvsignore:
12608         * testsuite/controller/Makefile.am:
12609         * testsuite/controller/interpolator.c: (main):
12610           added controller code
12611           removed dparam pc files
12613 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12614         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12615         (gst_collectpads_stop):
12616           Broadcast the condition when shutting down, to make sure we wake all
12617           threads up. Shut down pads on finalize, for safety.
12619 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12620         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12621         (gst_base_transform_handle_buffer),
12622         (gst_base_transform_change_state):
12623           Handle PAUSED->READY->PAUSED transition after negotiation
12624           occurred already.
12625         * gst/gstmessage.c: (gst_message_init):
12626           Extra piece of debug for new messages.
12628 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12630         * configure.ac:
12631         * docs/gst/tmpl/gstbasesrc.sgml:
12632         * docs/gst/tmpl/gstelement.sgml:
12633         * docs/gst/tmpl/gstevent.sgml:
12634         * docs/gst/tmpl/gstfakesrc.sgml:
12635         * docs/gst/tmpl/gstformat.sgml:
12636         * docs/gst/tmpl/gstghostpad.sgml:
12637         * docs/gst/tmpl/gstpad.sgml:
12638         * docs/gst/tmpl/gstquery.sgml:
12639         * docs/gst/tmpl/gststructure.sgml:
12640         * docs/gst/tmpl/gsttaglist.sgml:
12641         * docs/gst/tmpl/gstvalue.sgml:
12642         * docs/libs/gstreamer-libs-docs.sgml:
12643         * docs/libs/gstreamer-libs-sections.txt:
12644         * docs/libs/gstreamer-libs.types:
12645         * libs/gst/Makefile.am:
12646         * libs/gst/control/.cvsignore:
12647         * libs/gst/control/Makefile.am:
12648         * libs/gst/control/control.c:
12649         * libs/gst/control/control.h:
12650         * libs/gst/control/dparam.c:
12651         * libs/gst/control/dparam.h:
12652         * libs/gst/control/dparam_smooth.c:
12653         * libs/gst/control/dparam_smooth.h:
12654         * libs/gst/control/dparamcommon.h:
12655         * libs/gst/control/dparammanager.c:
12656         * libs/gst/control/dparammanager.h:
12657         * libs/gst/control/dplinearinterp.c:
12658         * libs/gst/control/dplinearinterp.h:
12659         * libs/gst/control/unitconvert.c:
12660         * libs/gst/control/unitconvert.h:
12661         * testsuite/Makefile.am:
12662         * testsuite/dynparams/.cvsignore:
12663         * testsuite/dynparams/Makefile.am:
12664         * testsuite/dynparams/dparamstest.c:
12665         * tools/Makefile.am:
12666         * tools/gst-inspect.c: (print_element_info), (main):
12667         * tools/gst-xmlinspect.c: (print_element_info), (main):
12668           deactivate and remove dparams (libgstcontrol)
12670 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12672         * gst/elements/gsttypefindelement.c:
12673         (gst_type_find_element_have_type), (gst_type_find_element_init),
12674         (stop_typefinding), (gst_type_find_element_handle_event),
12675         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12676         * gst/elements/gsttypefindelement.h:
12677           Set caps on all outgoing buffers, not just the first one.
12679 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12681         * gst/elements/gsttypefindelement.c:
12682         (gst_type_find_element_have_type),
12683         (gst_type_find_element_check_set_buffer_caps),
12684         (gst_type_find_element_init), (stop_typefinding),
12685         (gst_type_find_element_handle_event),
12686         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12687         * gst/elements/gsttypefindelement.h:
12688           Set caps on first outgoing buffer when we've found the type.
12690 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12692         * docs/gst/gstreamer-docs.sgml:
12693         * docs/gst/gstreamer-sections.txt:
12694         * docs/gst/tmpl/gstscheduler.sgml:
12695         * docs/gst/tmpl/gstschedulerfactory.sgml:
12696           Remove some old cruft from docs.
12698 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12700         * gst/gstpad.h:
12701           Fix inline docs for GstPadLinkReturn.
12702           
12703         * gst/gststructure.c: (gst_structure_has_name):
12704         * gst/gststructure.h:
12705         * docs/gst/gstreamer-sections.txt:
12706           New API: gst_structure_has_name().
12708 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12710         * configure.ac:
12711           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12712           and _LARGEFILE_SOURCE in config.h as required. Do not 
12713           export those flags in our .pc files any longer (#142209).
12715           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12717         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12718         (gst_file_sink_do_seek), (gst_file_sink_event),
12719         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12720           Redo seek/tell calls with large file support in mind; add some
12721           debugging messages; add log message that tells us when large
12722           file support is unavailable or not enabled for some reason.
12724         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12725           Add log message that tells us when large file support 
12726           is unavailable or not enabled for some reason.
12728 2005-07-29  Wim Taymans  <wim@fluendo.com>
12730         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12731         Added test for removing an element with ghostpad from a bin.
12732         Fixed test as current implementation does the right thing.
12734         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12735         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12736         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12737         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12738         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12739         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12740         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12741         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12742         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12743         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12744         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12745         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12746         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12747         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12748         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12749         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12750         * gst/gstghostpad.h:
12751         Clean up ghostpads, remove properties for internal stuff.
12752         Make threadsafe.
12753         Fix refcounting.
12754         Prepare for switching targets, not all use cases work yet.
12756 2005-07-29  Wim Taymans  <wim@fluendo.com>
12758         * docs/design/part-gstghostpad.txt:
12759         Small update.
12761         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12762         (gst_bin_remove_func):
12763         Unlinking pads while holding the bin LOCK is not a good
12764         idea.
12766         * gst/gstpad.c: (gst_pad_class_init),
12767         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12768         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12769         No prob setting template after creating the pad.
12771 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12773         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12774         (gst_bus_peek), (gst_bus_source_dispatch),
12775         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12776         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12777           gst_bus_poll may be called from other threads. Handle
12778           this nicely by not making poll_data disappear off the
12779           stack once gst_bus_poll returns.
12780           gst_bus_peek now increments the refcount on the returned
12781           message.
12783 2005-07-29  Wim Taymans  <wim@fluendo.com>
12785         * docs/design/part-gstghostpad.txt:
12786         Overview of current GhostPad datastructures and use
12787         cases for changing the target.
12789 2005-07-28  Wim Taymans  <wim@fluendo.com>
12791         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12792         Added checks for hierarchy consistency whan adding linked
12793         elements to bins.
12795         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12796         Added check to test element scheduling without bin/pipeline.
12798         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12799         First add elements to bin, then link.
12800         
12801         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12802         (gst_bin_remove_func):
12803         Unlink pads from elements added/removed from bin to maintain
12804         hierarchy consistency.
12806 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12808         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12809         (gst_base_transform_handle_buffer):
12810         * gst/base/gstbasetransform.h:
12811           Remove broken delay_configure (fixes renegotiation of software
12812           scaling pipelines); remove some leftover printf()s.
12814 2005-07-28  Wim Taymans  <wim@fluendo.com>
12816         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12817         Added some more tests for wrong hierarchy
12819         * docs/design/part-overview.txt:
12820         Some updates.
12822         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12823         Cleanups.
12825         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12826         (gst_element_dispose):
12827         Some more cleanups.
12829         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12830         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12831         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12832         (gst_pad_set_caps), (gst_pad_send_event):
12833         Check for correct hierarchy when linking pads. Moving to
12834         strict requirement for ghostpads when linking elements in
12835         different bins.
12837         * gst/gstpad.h:
12838         Clean ups. Added WRONG_HIERARCHY return value.
12840 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12842         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12843           Better debug if no transform is possible.
12845 2005-07-27  Wim Taymans  <wim@fluendo.com>
12847         * docs/random/wtay/network-transp:
12848         Some old doc I had.
12850 2005-07-27  Wim Taymans  <wim@fluendo.com>
12852         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12853         (gst_dp_event_from_packet):
12854         Fix serialization of seek events.
12856 2005-07-27  Wim Taymans  <wim@fluendo.com>
12858         * check/gst-libs/gdp.c: (GST_START_TEST):
12859         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12860         Fix compilation and fix event serialization.
12862 2005-07-27  Wim Taymans  <wim@fluendo.com>
12864         * CHANGES-0.9:
12865         * docs/design/part-TODO.txt:
12866         * docs/design/part-events.txt:
12867         Some docs updates
12869         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12870         (gst_base_sink_event), (gst_base_sink_do_sync),
12871         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12872         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12873         (gst_base_src_do_seek), (gst_base_src_event_handler),
12874         (gst_base_src_loop):
12875         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12876         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12877         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12878         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12879         (gst_base_transform_set_passthrough),
12880         (gst_base_transform_is_passthrough):
12881         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12882         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12883         Event updates.
12885         * gst/gstbuffer.h:
12886         Use faster casts.
12888         * gst/gstelement.c: (gst_element_seek):
12889         * gst/gstelement.h:
12890         Update gst_element_seek.
12892         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12893         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12894         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12895         (gst_event_new_eos), (gst_event_new_newsegment),
12896         (gst_event_parse_newsegment), (gst_event_new_tag),
12897         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12898         (gst_event_parse_qos), (gst_event_new_seek),
12899         (gst_event_parse_seek), (gst_event_new_navigation):
12900         * gst/gstevent.h:
12901         Make GstEvent use GstStructure. Add parsing code, make sure the
12902         API is sufficiently generic.
12903         Mark possible directions of events and serialization.
12905         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12906         (_gst_message_copy), (gst_message_new_segment_start),
12907         (gst_message_new_segment_done), (gst_message_new_custom),
12908         (gst_message_parse_segment_start),
12909         (gst_message_parse_segment_done):
12910         Small cleanups.
12912         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12913         (gst_pad_set_caps), (gst_pad_send_event):
12914         Update for new events. 
12915         Catch events sent in wrong directions.
12917         * gst/gstqueue.c: (gst_queue_link_src),
12918         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12919         (gst_queue_handle_src_query):
12920         Event updates.
12922         * gst/gsttag.c:
12923         * gst/gsttag.h:
12924         Remove event code from this file.
12926         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12927         (gst_dp_event_from_packet):
12928         Event updates.
12930 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12932         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12933         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12934         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12935           Make debugging actually useful.
12937 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12939         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
12940         (gst_pad_fixate_caps):
12941           Implement default fixation once again, so that gst_pad_fixate()
12942           actually does anything at all. This probably needs to be some
12943           sort of a last resort, and use profile-based fixation first, but
12944           since that doesn't exist yet, this is the best we have. Fixes
12945           visualization in Totem.
12947 2005-07-22  Wim Taymans  <wim@fluendo.com>
12949         * docs/design/part-events.txt:
12950         Small update.
12952         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12953         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
12954         (gst_base_sink_activate_pull):
12955         Some more comments.
12957         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
12958         (gst_fake_src_create):
12959         Fix handoff marshall.
12961         * gst/elements/gstidentity.c: (gst_identity_class_init),
12962         (gst_identity_transform_ip):
12963         We're a real inplace element.
12965         * gst/gstbus.c: (gst_bus_post):
12966         Added some comments.
12968         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
12969         * tests/muxing/case1.c: (main):
12970         * tests/sched/dynamic-pipeline.c: (main):
12971         * tests/sched/interrupt1.c: (main):
12972         * tests/sched/interrupt2.c: (main):
12973         * tests/sched/interrupt3.c: (main):
12974         * tests/sched/runxml.c: (main):
12975         * tests/sched/sched-stress.c: (main):
12976         * tests/seeking/seeking1.c: (event_received), (main):
12977         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12978         (main):
12979         * tests/threadstate/threadstate3.c: (main):
12980         * tests/threadstate/threadstate4.c: (main):
12981         * tests/threadstate/threadstate5.c: (main):
12982         Fix the tests.
12984 2005-07-21  Wim Taymans  <wim@fluendo.com>
12986         * docs/design/part-seeking.txt:
12987         Some small additions.
12989         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12990         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12991         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12992         * gst/base/gstbasesink.h:
12993         discont values are gint64, handle the math correctly.
12995         * gst/base/gstbasesrc.c: (gst_base_src_loop):
12996         Make the basesrc report error if the source pad is not linked.
12998         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
12999         (gst_queue_loop), (gst_queue_handle_src_query),
13000         (gst_queue_src_activate_push):
13001         Make queue collect data even if the srcpad is not linked.
13002         Start pushing out data as soon as it is linked.
13004         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13005         * gst/gstutils.h:
13006         Added gst_flow_get_name() to ease error reporting.
13008 2005-07-20  Wim Taymans  <wim@fluendo.com>
13010         * gst/gstmessage.c: (gst_message_new_segment_start),
13011         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13012         (gst_message_parse_segment_done):
13013         * gst/gstmessage.h:
13014         Added a bunch of messages for advanced seeking.
13016         * gst/parse/grammar.y:
13017         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13018         (gst_dpman_state_changed):
13019         Fix some new-pad -> pad-added signals
13021 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13023         * docs/manual/appendix-porting.xml:
13024         * docs/pwg/appendix-porting.xml:
13025           Document new-pad/state-change signal renames and the FixedList
13026           type rename.
13028 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13030         * docs/manual/advanced-autoplugging.xml:
13031         * docs/manual/basics-helloworld.xml:
13032         * docs/manual/basics-pads.xml:
13033         * docs/random/ds/0.9-suggested-changes:
13034         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13035         * gst/gstelement.h:
13036         * gst/gstevent.h:
13037         * gst/gstformat.h:
13038         * gst/gstquery.h:
13039         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13040         (gst_structure_parse_array), (gst_structure_parse_value):
13041         * gst/gstvalue.c: (gst_type_is_fixed),
13042         (gst_value_list_prepend_value), (gst_value_list_append_value),
13043         (gst_value_list_get_size), (gst_value_list_get_value),
13044         (gst_value_transform_array_string), (gst_value_serialize_array),
13045         (gst_value_deserialize_array), (gst_value_intersect_array),
13046         (gst_value_is_fixed), (_gst_value_initialize):
13047         * gst/gstvalue.h:
13048           GstElement::new-pad -> pad-added, GstElement::state-change ->
13049           state-changed, GstValueFixedList -> GstValueArray, add format and
13050           flags as their own arguments in gst_element_seek() (should improve
13051           "bindeability"), remove function generators since they don't work
13052           under a whole bunch of compilers (they were deprecated already
13053           anyway).
13055 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13057         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13058         (_gst_debug_register_funcptr):
13059         * gst/gstinfo.h:
13060           Fix illegal cast on some platforms (#309253).
13062 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13064         * gst/gstmessage.c: (gst_message_new_custom):
13065         * gst/gstmessage.h:
13066           Add _new_custom, make _new_application a macro to _new_custom.
13068 2005-07-20  Wim Taymans  <wim@fluendo.com>
13070         * gst/base/gstbasesrc.c: (gst_base_src_init),
13071         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13072         * gst/base/gstbasesrc.h:
13073         Add a gboolean to decide when to push out a discont.
13075         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13076         (gst_queue_loop), (gst_queue_handle_src_query),
13077         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13078         (gst_queue_set_property), (gst_queue_get_property):
13079         Some cleanups.
13081         * tests/threadstate/threadstate1.c: (main):
13082         Make a thread test compile and run... very silly..
13085 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13087         * docs/manual/appendix-porting.xml:
13088           Mention removal of libgstgconf-0.9.la and existence of gconf
13089           elements.
13091 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13093         * docs/pwg/advanced-clock.xml:
13094         * docs/pwg/appendix-porting.xml:
13095         * docs/pwg/intro-preface.xml:
13096         * docs/pwg/other-base.xml:
13097         * docs/pwg/other-manager.xml:
13098         * docs/pwg/other-nton.xml:
13099         * docs/pwg/other-ntoone.xml:
13100         * docs/pwg/other-oneton.xml:
13101         * docs/pwg/pwg.xml:
13102           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13103           demuxer), remove n-to-n (was never written), fix some code examples
13104           and links and update the porting section to include all this.
13106 2005-07-19  Wim Taymans  <wim@fluendo.com>
13108         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13109         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13110         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13111         (gst_queue_src_activate_push), (gst_queue_change_state),
13112         (gst_queue_get_property):
13113         * gst/gstqueue.h:
13114         Propagate GstFlowReturn more intelligently upstream and output
13115         an ERROR/EOS when streaming stopped due to fatal error.
13117 2005-07-19  Wim Taymans  <wim@fluendo.com>
13119         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13120         Don't block forever for the state change to complete, the
13121         pipeline already did with a sensible timeout.
13123 2005-07-19  Wim Taymans  <wim@fluendo.com>
13125         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13126         Make sure we never call the create function is we
13127         got deactivated.
13129 2005-07-19  Andy Wingo  <wingo@pobox.com>
13131         * gst/parse/parse.l: Attempt to solve bug #172815.
13133 2005-07-19  Wim Taymans  <wim@fluendo.com>
13135         * docs/design/part-clocks.txt:
13136         * docs/design/part-events.txt:
13137         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13138         Small docs updates.
13139         Only update the seeking values when we are not
13140         busy streaming.
13142 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13144         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13145           Oops, ignore the result of gst_pad_push_event here.
13147 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13149         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13150         (gst_base_src_activate_push):
13151           Send discont event from the loop function, as pads
13152           aren't activated yet in the activate_push handler.
13154         * gst/gstbin.c: (bin_bus_handler):
13155           Don't leak element name.
13157 2005-07-18  Andy Wingo  <wingo@pobox.com>
13159         * configure.ac: Use AS_LIBTOOL_TAGS.
13161 2005-07-18  Wim Taymans  <wim@fluendo.com>
13163         * docs/gst/gstreamer.types:
13164         Remove deleted types.
13166 2005-07-18  Wim Taymans  <wim@fluendo.com>
13168         * check/elements/gstfakesrc.c: (GST_START_TEST):
13169         * configure.ac:
13170         * gst/Makefile.am:
13171         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13172         (init_popt_callback):
13173         * gst/gst.h:
13174         * gst/gst_private.h:
13175         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13176         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13177         * gst/gstbin.h:
13178         * gst/gstbus.h:
13179         * gst/gstconfig.h.in:
13180         * gst/gstelement.c: (gst_element_class_init),
13181         (gst_element_set_base_time), (gst_element_get_base_time),
13182         (iterator_fold_with_resync), (gst_element_change_state),
13183         (gst_element_dispose), (gst_element_get_bus):
13184         * gst/gstelement.h:
13185         * gst/gstelementfactory.h:
13186         * gst/gsterror.c: (_gst_core_errors_init):
13187         * gst/gsterror.h:
13188         * gst/gstevent.h:
13189         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13190         * gst/gstindex.c:
13191         * gst/gstinfo.c: (_gst_debug_init):
13192         * gst/gstmessage.c: (_gst_message_copy):
13193         * gst/gstmessage.h:
13194         * gst/gstminiobject.h:
13195         * gst/gstobject.c:
13196         * gst/gstobject.h:
13197         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13198         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13199         * gst/gstpad.h:
13200         * gst/gstparse.h:
13201         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13202         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13203         (gst_pipeline_get_last_stream_time):
13204         * gst/gstpipeline.h:
13205         * gst/gstpluginfeature.h:
13206         * gst/gstquery.h:
13207         * gst/gstscheduler.c:
13208         * gst/gstscheduler.h:
13209         * gst/gststructure.h:
13210         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13211         (gst_task_finalize), (gst_task_func), (gst_task_create),
13212         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13213         (gst_task_stop), (gst_task_pause):
13214         * gst/gsttask.h:
13215         * gst/gsttypefind.h:
13216         * gst/gsttypes.h:
13217         * gst/registries/gstlibxmlregistry.c: (load_feature),
13218         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13219         * gst/registries/gstxmlregistry.c:
13220         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13221         * gst/schedulers/threadscheduler.c:
13222         * libs/gst/control/dparammanager.h:
13223         * tools/gst-inspect.c: (print_element_list),
13224         (print_plugin_features), (print_element_features):
13225         * tools/gst-xmlinspect.c: (print_element_list),
13226         (print_plugin_info), (main):
13227         Removed plugable schedulers.
13228         Removed Scheduler/Manager from elements.
13229         Removed gsttypes.h, rearranged includes.
13230         Removed dependency pad<->element, element<>pipeline, and
13231         various others,  fix includes.
13232         implement gst_pad_get_parent() with gst_object_get_parent()
13233         Make GstTask sefcontained.
13234         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13235         timeout.
13236         Fix endless loop in iterator_fold_with_resync.
13239 2005-07-18  Wim Taymans  <wim@fluendo.com>
13241         * gst/Makefile.am:
13242         * gst/gstarch.h:
13243         Remove old file.
13245 2005-07-18  Wim Taymans  <wim@fluendo.com>
13247         * gst/Makefile.am:
13248         No more cothreads.h
13250 2005-07-18  Wim Taymans  <wim@fluendo.com>
13252         * gst/cothreads.c:
13253         * gst/cothreads.h:
13254         Let's remove these.
13256 2005-07-18  Wim Taymans  <wim@fluendo.com>
13258         * docs/design/part-dynamic.txt:
13259         * docs/design/part-events.txt:
13260         * docs/design/part-seeking.txt:
13261         Some more docs in the works.
13263         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13264         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13265         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13266         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13267         (gst_base_transform_handle_buffer),
13268         (gst_base_transform_sink_activate_push),
13269         (gst_base_transform_src_activate_pull),
13270         (gst_base_transform_set_passthrough),
13271         (gst_base_transform_is_passthrough):
13272         Refcounting fixes.
13274         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13275         Cleanups.
13277         * gst/gstevent.c: (gst_event_finalize):
13278         Set SRC to NULL.
13280         * gst/gstutils.c: (gst_element_unlink),
13281         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13282         (gst_pad_proxy_setcaps):
13283         * gst/gstutils.h:
13284         Add _get_parent_element() to get a pads parent as an element.
13286 2005-07-18  Wim Taymans  <wim@fluendo.com>
13288         * check/gst/gstbin.c: (GST_START_TEST):
13289         Remove bogus test.
13291 2005-07-18  Wim Taymans  <wim@fluendo.com>
13293         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13294         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13295         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13296         (gst_base_sink_event), (gst_base_sink_do_sync),
13297         (gst_base_sink_chain), (gst_base_sink_loop),
13298         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13299         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13300         Refcounting fixes.
13301         Fix logic for returning ASYNC when not prerolled.
13303 2005-07-18  Wim Taymans  <wim@fluendo.com>
13305         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13306         Fix nasty refcount bug.
13308 2005-07-16 Philippe Khalaf <burger@speedy.org>
13310         * gst/elements/gstfdsrc.c:
13311         * gst/elements/gstfdsrc.h:
13312         * gst/elements/gstelements.c:
13313         * gst/elements/Makefile.am:
13314         Ported fdsrc to 0.9.
13316 2005-07-16  Wim Taymans  <wim@fluendo.com>
13318         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13319         (gst_base_sink_do_sync):
13320         Fix compile error.
13322 2005-07-16  Wim Taymans  <wim@fluendo.com>
13324         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13325         (gst_base_sink_event), (gst_base_sink_get_times),
13326         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13327         * gst/base/gstbasesink.h:
13328         Store and use discont values when syncing buffers as described
13329         in design docs.
13330         
13331         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13332         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13333         (gst_base_src_activate_push):
13334         Push discont event when starting.
13336         * gst/elements/gstidentity.c: (gst_identity_transform):
13337         Small cleanups.
13339         * gst/gstbin.c: (gst_bin_change_state):
13340         Small cleanups in base_time  distribution.
13342         * gst/gstelement.c: (gst_element_set_base_time),
13343         (gst_element_get_base_time), (gst_element_change_state):
13344         * gst/gstelement.h:
13345         Added methods for the base_time of the element.
13346         Some MT fixes.
13348         * gst/gstpipeline.c: (gst_pipeline_send_event),
13349         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13350         (gst_pipeline_get_last_stream_time):
13351         * gst/gstpipeline.h:
13352         MT fixes.
13353         Handle seeking as described in design doc, remove stream_time
13354         hack.
13355         Cleanups clock and stream_time selection code. Added accessors
13356         for the stream_time.
13357         
13359 2005-07-16  Andy Wingo  <wingo@pobox.com>
13361         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13362         (#305291).
13364 2005-07-16  Wim Taymans  <wim@fluendo.com>
13366         * check/gst/gstbin.c: (GST_START_TEST):
13367         Make elements silent as the deep_notify refs the
13368         parent, which might make the test fail.
13370         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13371         Don't hold the lock for too long.
13373 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13375         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13376           Don't unref the caps we passed to gst_caps_make_writable() after
13377           passing them. gst_caps_make_writable() will do that for us.
13379 2005-07-15  Andy Wingo  <wingo@pobox.com>
13381         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13382         (#157311).
13384         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13385         own marshalling function for the handoff signal. Properly type the
13386         buffer as a buffer. Fixes some warnings. Should do a more general
13387         solution.
13388         (gst_identity_class_init): Plug into the right marshaller.
13390 2005-07-15  Wim Taymans  <wim@fluendo.com>
13392         * docs/design/part-TODO.txt:
13393         * docs/design/part-clocks.txt:
13394         * docs/design/part-element-sink.txt:
13395         * docs/design/part-events.txt:
13396         * docs/design/part-gstpipeline.txt:
13397         Updated docs, mostly DISCONT related.
13399 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13401         * docs/pwg/building-pads.xml:
13402           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13404 2005-07-15  Andy Wingo  <wingo@pobox.com>
13406         * tools/gst-typefind.c: Update, add copyright block.
13408         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13409         Normalize and truncate caps before fixation.
13411         * gst/gstcaps.h:
13412         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13413         discards all but the first structure from its argument.
13415 2005-07-15  Wim Taymans  <wim@fluendo.com>
13417         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13418         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13419         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13420         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13421         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13422         (gst_base_transform_chain), (gst_base_transform_change_state),
13423         (gst_base_transform_set_passthrough),
13424         (gst_base_transform_is_passthrough):
13425         * gst/base/gstbasetransform.h:
13426         Make passthrough work using the bufferpools.
13427         Changed API a bit, subclasses have to write into a buffer
13428         provided by the base class.
13429         More debug info in nego functions.
13430         
13431         * gst/elements/gstidentity.c: (gst_identity_init),
13432         (gst_identity_transform):
13433         Port to new base class.
13435 2005-07-15  Wim Taymans  <wim@fluendo.com>
13437         * gst/gstmessage.c: (gst_message_new_state_changed):
13438         * tools/gst-launch.c: (event_loop), (main):
13439         Totally dump messages in -launch with the -m option.
13440         Fix message name for State messages,
13442 2005-07-14  Wim Taymans  <wim@fluendo.com>
13444         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13445         Post error messages on errors.
13447 2005-07-14  Wim Taymans  <wim@fluendo.com>
13449         * gst/gstcaps.c: (gst_caps_do_simplify):
13450         Remove debug info.
13452         * gst/gsterror.h:
13453         Define error for stream stopped.
13455         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13456         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13457         Do proper return values.
13459         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13460         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13461         (gst_pad_get_range):
13462         Better return values.
13464         * gst/gstpad.h:
13465         Reorganise return values, add macro to check for fatal errors.
13467         * gst/gstqueue.c: (gst_queue_chain):
13468         Return proper GstFlowReturn values,
13470 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13472         * docs/gst/gstreamer-sections.txt:
13473         * docs/gst/gstreamer.types:
13474         * docs/gst/tmpl/gst.sgml:
13475         * docs/gst/tmpl/gstbasesink.sgml:
13476         * docs/gst/tmpl/gstbasesrc.sgml:
13477         * docs/gst/tmpl/gstbasetransform.sgml:
13478         * docs/gst/tmpl/gstbin.sgml:
13479         * docs/gst/tmpl/gstbuffer.sgml:
13480         * docs/gst/tmpl/gstcaps.sgml:
13481         * docs/gst/tmpl/gstclock.sgml:
13482         * docs/gst/tmpl/gstcompat.sgml:
13483         * docs/gst/tmpl/gstconfig.sgml:
13484         * docs/gst/tmpl/gstelement.sgml:
13485         * docs/gst/tmpl/gstelementdetails.sgml:
13486         * docs/gst/tmpl/gstelementfactory.sgml:
13487         * docs/gst/tmpl/gstenumtypes.sgml:
13488         * docs/gst/tmpl/gsterror.sgml:
13489         * docs/gst/tmpl/gstevent.sgml:
13490         * docs/gst/tmpl/gstfakesink.sgml:
13491         * docs/gst/tmpl/gstfakesrc.sgml:
13492         * docs/gst/tmpl/gstfilesink.sgml:
13493         * docs/gst/tmpl/gstfilesrc.sgml:
13494         * docs/gst/tmpl/gstfilter.sgml:
13495         * docs/gst/tmpl/gstformat.sgml:
13496         * docs/gst/tmpl/gstghostpad.sgml:
13497         * docs/gst/tmpl/gstimplementsinterface.sgml:
13498         * docs/gst/tmpl/gstindex.sgml:
13499         * docs/gst/tmpl/gstindexfactory.sgml:
13500         * docs/gst/tmpl/gstinfo.sgml:
13501         * docs/gst/tmpl/gstiterator.sgml:
13502         * docs/gst/tmpl/gstmacros.sgml:
13503         * docs/gst/tmpl/gstmemchunk.sgml:
13504         * docs/gst/tmpl/gstminiobject.sgml:
13505         * docs/gst/tmpl/gstobject.sgml:
13506         * docs/gst/tmpl/gstpad.sgml:
13507         * docs/gst/tmpl/gstpadtemplate.sgml:
13508         * docs/gst/tmpl/gstparse.sgml:
13509         * docs/gst/tmpl/gstpipeline.sgml:
13510         * docs/gst/tmpl/gstplugin.sgml:
13511         * docs/gst/tmpl/gstpluginfeature.sgml:
13512         * docs/gst/tmpl/gstquery.sgml:
13513         * docs/gst/tmpl/gstqueue.sgml:
13514         * docs/gst/tmpl/gstregistry.sgml:
13515         * docs/gst/tmpl/gstregistrypool.sgml:
13516         * docs/gst/tmpl/gstscheduler.sgml:
13517         * docs/gst/tmpl/gstschedulerfactory.sgml:
13518         * docs/gst/tmpl/gststructure.sgml:
13519         * docs/gst/tmpl/gstsystemclock.sgml:
13520         * docs/gst/tmpl/gsttaglist.sgml:
13521         * docs/gst/tmpl/gsttagsetter.sgml:
13522         * docs/gst/tmpl/gsttrace.sgml:
13523         * docs/gst/tmpl/gsttrashstack.sgml:
13524         * docs/gst/tmpl/gsttypefind.sgml:
13525         * docs/gst/tmpl/gsttypefindfactory.sgml:
13526         * docs/gst/tmpl/gsttypes.sgml:
13527         * docs/gst/tmpl/gsturihandler.sgml:
13528         * docs/gst/tmpl/gsturitype.sgml:
13529         * docs/gst/tmpl/gstutils.sgml:
13530         * docs/gst/tmpl/gstvalue.sgml:
13531         * docs/gst/tmpl/gstversion.sgml:
13532         * docs/gst/tmpl/gstxml.sgml:
13533         * docs/libs/tmpl/gstcontrol.sgml:
13534         * docs/libs/tmpl/gstdataprotocol.sgml:
13535         * docs/libs/tmpl/gstdparam.sgml:
13536         * docs/libs/tmpl/gstdplinint.sgml:
13537         * docs/libs/tmpl/gstdpman.sgml:
13538         * docs/libs/tmpl/gstdpsmooth.sgml:
13539         * docs/libs/tmpl/gstgetbits.sgml:
13540         * docs/libs/tmpl/gstunitconvert.sgml:
13541         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13542         (gst_push_src_base_init), (gst_push_src_class_init),
13543         (gst_push_src_init), (gst_push_src_create):
13544         * gst/base/gstpushsrc.h:
13545         * gst/elements/gstelements.c:
13546         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13547         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13548         (gst_fake_sink_init), (gst_fake_sink_set_property),
13549         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13550         (gst_fake_sink_event), (gst_fake_sink_preroll),
13551         (gst_fake_sink_render), (gst_fake_sink_change_state):
13552         * gst/elements/gstfakesink.h:
13553         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13554         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13555         (gst_fake_src_base_init), (gst_fake_src_class_init),
13556         (gst_fake_src_init), (gst_fake_src_event_handler),
13557         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13558         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13559         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13560         (gst_fake_src_create_buffer), (gst_fake_src_create),
13561         (gst_fake_src_start), (gst_fake_src_stop):
13562         * gst/elements/gstfakesrc.h:
13563         * gst/elements/gstfilesink.c: (_do_init),
13564         (gst_file_sink_base_init), (gst_file_sink_class_init),
13565         (gst_file_sink_init), (gst_file_sink_dispose),
13566         (gst_file_sink_set_location), (gst_file_sink_set_property),
13567         (gst_file_sink_get_property), (gst_file_sink_open_file),
13568         (gst_file_sink_close_file), (gst_file_sink_query),
13569         (gst_file_sink_event), (gst_file_sink_render),
13570         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13571         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13572         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13573         * gst/elements/gstfilesink.h:
13574         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13575         (gst_file_src_class_init), (gst_file_src_init),
13576         (gst_file_src_finalize), (gst_file_src_set_location),
13577         (gst_file_src_set_property), (gst_file_src_get_property),
13578         (gst_file_src_map_region), (gst_file_src_map_small_region),
13579         (gst_file_src_create_mmap), (gst_file_src_create_read),
13580         (gst_file_src_create), (gst_file_src_is_seekable),
13581         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13582         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13583         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13584         (gst_file_src_uri_handler_init):
13585         * gst/elements/gstfilesrc.h:
13586           more autistic cleanliness in functions/names/defines
13588 2005-07-13  Andy Wingo  <wingo@pobox.com>
13590         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13591         source couldn't negotiate.
13593         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13594         connections again.
13596         * gst/gstutils.h:
13597         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13598         function. I am channeling Hades. Put your boots on suckers!!!
13600 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13602         * testsuite/caps/Makefile.am:
13603         * testsuite/caps/value_compare.c:
13604         * testsuite/caps/value_intersect.c:
13605         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13606           move two testsuite apps over to the check dir
13608 2005-07-12  Wim Taymans  <wim@fluendo.com>
13610         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13611         Added more debug info in the negotiate process.
13613         * gst/gstmessage.h:
13614         Prepare for segment playback.
13616         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13617         Better debugging.
13619         * gst/gstutils.c:
13620         Some more docs.
13622         * tools/gst-launch.c: (main):
13623         NULL pipeline on errors.
13625 2005-07-12  Andy Wingo  <wingo@pobox.com>
13627         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13628         not it comes from a malloc region. Make sure our copy gets freed.
13630 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13632         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13633         * check/gst/gstmessage.c: (GST_START_TEST):
13634         * check/gst/gststructure.c: (GST_START_TEST),
13635         (gst_structure_suite), (main):
13636           more testing
13637         * gst/gstelement.c: (gst_element_message_full):
13638           clean up GError and debug string now that they get copied
13639         * gst/gstmessage.c: (gst_message_new_error),
13640         (gst_message_new_warning), (gst_message_parse_error),
13641         (gst_message_parse_warning):
13642           use GST_TYPE_G_ERROR for structure_new, and take copies of
13643           arguments, so that we don't mess up refcounting
13645 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13647         * check/Makefile.am:
13648           add per-test valgrind targets
13649         * check/gst-libs/gdp.c: (GST_START_TEST),
13650         (gst_data_protocol_suite), (main):
13651           clean up
13653 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13655         * check/Makefile.am:
13656           instate more valgrindable tests
13657         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13658         (GST_START_TEST), (fakesrc_suite):
13659         * check/gst/gstpad.c: (GST_START_TEST):
13660         * check/gst/gststructure.c: (GST_START_TEST):
13661           fix test leaks
13662         * docs/gst/tmpl/gstminiobject.sgml:
13663         * gst/gstpad.c: (gst_pad_finalize):
13664           fix the static mutex leak
13666 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13668         * check/Makefile.am:
13669           add two more tests for valgrinding
13670         * check/gst/gstvalue.c: (GST_START_TEST):
13671           test refcount of deserialized buffer, found a leak
13672         * docs/gst/gstreamer-docs.sgml:
13673         * docs/gst/gstreamer-sections.txt:
13674         * docs/gst/gstreamer.types:
13675         * docs/gst/tmpl/gstminiobject.sgml:
13676           add miniobject to docs
13677         * gst/gstminiobject.c:
13678           add some docs
13679         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13680         (gst_string_unwrap):
13681           fix a hard-to-find invalid write for one of the tests
13682           fix a leak for deserialized buffers
13684 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13686         * docs/pwg/advanced-events.xml:
13687         * docs/pwg/advanced-request.xml:
13688         * docs/pwg/advanced-scheduling.xml:
13689         * docs/pwg/appendix-porting.xml:
13690         * docs/pwg/building-boiler.xml:
13691         * docs/pwg/intro-preface.xml:
13692         * docs/pwg/other-ntoone.xml:
13693           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13694           of example code and explanation for pad activation, loop() and
13695           getrange() functions and a bit more. Remove old comments pointing
13696           to loop-functions.
13697         * examples/pwg/Makefile.am:
13698           Add loop/getrange examples.
13700 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13702         * configure.ac:
13703           check for valgrind binary + some fixes
13704         * check/gst.supp:
13705           valgrind suppressions for the tests
13706         * check/Makefile.am:
13707           add a valgrind: target that valgrinds the unit tests
13708         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13709         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13710         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13711         * check/gst/gstghostpad.c:
13712           added some cleanup
13713         * check/gst/gstdata.c:
13714           removed
13715         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13716         (thread_unref), (gst_mini_object_suite), (main):
13717           added
13718         * gst/gst.c: (gst_deinit):
13719         * gst/gst.h:
13720           add a method to clean up.
13721         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13722         (gst_system_clock_obtain):
13723           allow for disposing the system clock.
13724         * tools/gst-launch.c: (main):
13725           deinit
13727 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13729         * docs/gst/tmpl/gstbasesrc.sgml:
13730         * docs/gst/tmpl/gstfakesrc.sgml:
13731         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13732         (gst_base_src_init), (gst_base_src_set_property),
13733         (gst_base_src_get_property), (gst_base_src_get_range),
13734         (gst_base_src_start):
13735         * gst/base/gstbasesrc.h:
13736           add num-buffers property
13737         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13738         (gst_fakesrc_init), (gst_fakesrc_set_property),
13739         (gst_fakesrc_get_property), (gst_fakesrc_create),
13740         (gst_fakesrc_start):
13741           remove num-buffers property
13743 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13745         * docs/gst/gstreamer-sections.txt:
13746         * docs/gst/tmpl/gstbasesink.sgml:
13747         * docs/gst/tmpl/gstbasesrc.sgml:
13748         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13749         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13750         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13751         (gst_base_sink_set_property), (gst_base_sink_get_property),
13752         (gst_base_sink_handle_object), (gst_base_sink_event),
13753         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13754         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13755         (gst_base_sink_loop), (gst_base_sink_deactivate),
13756         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13757         (gst_base_sink_change_state):
13758         * gst/base/gstbasesink.h:
13759         * gst/base/gstbasesrc.h:
13760         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13761         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13762         (gst_filesink_init):
13763           more macro splitting
13765 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13767         * gst/gstelement.c: (gst_element_get_bus):
13768           add debug
13769         * tools/gst-launch.c: (check_intr), (event_loop):
13770           fix bus leaks
13772 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13774         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13775           fix a caps leak
13777 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13779         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13780         (gst_base_src_finalize):
13781           add finalize method and clean up properly
13782         * gst/gstpipeline.c: (gst_pipeline_dispose):
13783           add debug
13785 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13787         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13788         (gst_bin_suite):
13789           add more things to check
13790         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13791         * gst/gstelement.c:
13792           more debug
13794 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13796         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13797         (GST_START_TEST), (fakesrc_suite):
13798         * check/gst-libs/gdp.c: (GST_START_TEST):
13799         * check/gst/gst.c: (GST_START_TEST):
13800         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13801         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13802         * check/gst/gstbus.c: (GST_START_TEST):
13803         * check/gst/gstcaps.c: (GST_START_TEST):
13804         * check/gst/gstdata.c: (GST_START_TEST):
13805         * check/gst/gstelement.c: (GST_START_TEST):
13806         * check/gst/gstghostpad.c: (GST_START_TEST):
13807         * check/gst/gstiterator.c: (GST_START_TEST):
13808         * check/gst/gstmessage.c: (GST_START_TEST):
13809         * check/gst/gstobject.c: (GST_START_TEST):
13810         * check/gst/gstpad.c: (GST_START_TEST):
13811         * check/gst/gststructure.c: (GST_START_TEST):
13812         * check/gst/gstsystemclock.c: (GST_START_TEST),
13813         (gst_systemclock_suite):
13814         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13815         * check/gst/gstvalue.c: (GST_START_TEST):
13816         * check/pipelines/cleanup.c: (GST_START_TEST):
13817         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13818         * check/states/sinks.c: (GST_START_TEST):
13819         * check/gstcheck.c: (gst_check_init):
13820         * check/gstcheck.h:
13821           add debugging category
13822           use GST_START_TEST now, so we add a debug line
13824 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13826         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13827           add test for state change message on a bin
13828         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13829           add another test
13830         * gst/gstbin.c: (gst_bin_init):
13831         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13832         * gst/gstelement.c: (gst_element_post_message),
13833         (gst_element_set_state):
13834         * gst/gstelementfactory.c: (gst_element_factory_create):
13835         * gst/gstmessage.c: (gst_message_new):
13836         * gst/gstscheduler.c:
13837           various debugging additions and cleanups
13839 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13841         * check/Makefile.am:
13842         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
13843         (main):
13844           adding tests for elements
13845         * gst/gstelement.c: (gst_element_dispose):
13847 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13849         * gst/registries/gstlibxmlregistry.c: (load_feature):
13850           plug more leaks.  A simple gst_init() now is leakfree, yay.
13852 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13854         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
13855         (gst_xml_registry_load):
13856           plug another memleak
13858 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13860         * configure.ac:
13861           use GST_SET_ERROR_CFLAGS
13862         * docs/faq/cvs.xml:
13863           change to ERROR_CFLAGS
13865 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13867         * configure.ac:
13868           make GST_ERROR_CFLAGS overridable and re-enable Werror
13869         * docs/faq/cvs.xml:
13870           add a note about error CFLAGS
13871         * docs/gst/tmpl/gstfakesrc.sgml:
13872         * gst/elements/gstfakesrc.c:
13873           comment out some unused code
13874         * gst/gst.c: (split_and_iterate):
13875         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13876         (load_feature):
13877           plug some memleaks
13879 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13881         * common/Makefile.am:
13882         * common/gtk-doc.mak:
13883         * docs/gst/Makefile.am:
13884           factor out gtk-doc.mak
13886 2005-07-07  Wim Taymans  <wim@fluendo.com>
13888         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13889         (gst_thread_scheduler_dispose):
13890         Unlock the STREAM_LOCK completely.
13892 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13894         * check/Makefile.am:
13895         * check/elements/.cvsignore:
13896         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13897         (START_TEST), (fakesrc_suite), (main):
13898         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13899         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13900         (gst_fakesrc_create), (gst_fakesrc_start):
13901         * gst/elements/gstfakesrc.h:
13902           adding a first element test
13904 2005-07-07  Andy Wingo  <wingo@pobox.com>
13906         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13907         debug message.
13909 2005-07-07  Wim Taymans  <wim@fluendo.com>
13911         * gst/gstquery.c:
13912         * gst/gstquery.h:
13913         Remove old types
13915 2005-07-07  Wim Taymans  <wim@fluendo.com>
13917         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13918         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13919         Allow subclasses to implement their own negotiation.
13921 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13923         * docs/design/part-gstbin.txt:
13924         * docs/design/part-gstpipeline.txt:
13925           Update design notes to reflect the movement of
13926           responsibility for bus handling from GstPipeline to
13927           GstBin
13929 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13931         * configure.ac:
13932           Remove unnecessary queue2/3/4 examples.
13934 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13936         * examples/Makefile.am:
13937         * examples/helloworld/helloworld.c: (event_loop), (main):
13938         * examples/queue/queue.c: (event_loop), (main):
13939         * examples/queue2/queue2.c: (main):
13940           Update a couple of the examples to work again.
13942         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13943         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
13944          Spelling corrections and extra debug.
13945         
13946         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
13947         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
13948         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
13949         * gst/gstbin.h:
13950         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13951         (gst_pipeline_change_state):
13952         * gst/gstpipeline.h:
13953           Move the bus handler for children to the GstBin, and create a
13954           separate bus for receiving messages from children to the one the
13955           bus sends 'upwards' on.
13957 2005-07-06  Wim Taymans  <wim@fluendo.com>
13959         * gst/base/README:
13960         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
13961         (gst_base_sink_handle_object), (gst_base_sink_loop),
13962         (gst_base_sink_change_state):
13963         * gst/base/gstbasesink.h:
13964         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13965         (gst_base_src_init), (gst_base_src_setcaps),
13966         (gst_base_src_getcaps), (gst_base_src_loop),
13967         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
13968         (gst_base_src_start), (gst_base_src_change_state):
13969         * gst/base/gstbasesrc.h:
13970         Make basesrc negotiate.
13971         Handle the case where preroll fails in basesink.
13972         Update README.
13974 2005-07-06  Wim Taymans  <wim@fluendo.com>
13976         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
13977         Implement the fixate function.
13978         Clean up acceptcaps.
13980 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13982         * docs/pwg/building-filterfactory.xml:
13983         * docs/pwg/pwg.xml:
13984           Remove never-written filter-factory chapter; I'll add the various
13985           base classes to part 4 ("other element types") later on.
13987 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13989         * docs/pwg/advanced-negotiation.xml:
13990         * docs/pwg/building-boiler.xml:
13991         * docs/pwg/building-pads.xml:
13992         * docs/pwg/pwg.xml:
13993         * examples/pwg/Makefile.am:
13994           Add a chapter on caps negotiation, simplify the original code
13995           samples a bit w.r.t. caps negotiation, add link to the advanced
13996           section. Add a bunch of examples showing different use cases of
13997           different types of caps negotiation. Upstream renegotiation isn't
13998           fully documented yet since nobody knows how that works.
14000 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14002         * check/gst/gstpad.c:
14003         * check/gstcheck.c:
14004         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14005           if pad has no parent, return NULL as list of internal links
14007 2005-07-05  Andy Wingo  <wingo@pobox.com>
14009         * gst/elements/gstfilesrc.c:
14010         * gst/elements/gstfakesrc.c: 
14011         * gst/base/gstpushsrc.c:
14012         * gst/base/gstbasesrc.h: 
14013         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14014         
14015 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14017         * Makefile.am:
14018           better report generation target (lcov needs a patch)
14020 2005-07-05  Andy Wingo  <wingo@pobox.com>
14022         * gst/elements, testsuite: Null if we got it...
14024 2005-07-05  Wim Taymans  <wim@fluendo.com>
14026         * configure.ac:
14027         * libs/gst/dataprotocol/Makefile.am:
14028         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14029         * libs/gst/dataprotocol/dataprotocol.h:
14030         * pkgconfig/Makefile.am:
14031         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14032         * pkgconfig/gstreamer-dataprotocol.pc.in:
14033         Ported dataprotol to 0.9. 
14034         Added pkgconfig files.
14036 2005-07-05  Andy Wingo  <wingo@pobox.com>
14038         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14039         Default to returning TRUE for the case when tranform_caps returns
14040         a fixed caps, like for identity or volume.
14042         * check/gst/gstbus.c (pound_bus_with_messages): 
14043         * check/gst/gstmessage.c (START_TEST): 
14044         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14045         message API change.
14047         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14048         logic weaks here: always run transform_caps, trying passthrough
14049         operation only if the original caps intersects with the transform.
14051         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14052         source and sink caps.
14054         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14055         Intersect the peer caps with the pad template before going into
14056         transform_caps.
14057         (gst_base_transform_transform_caps): More debugging.
14059         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14060         src argument.
14062 2005-07-04  Edward Hervey  <edward@fluendo.com>
14064         * gst/gstutils.c:
14065         * gst/gstutils.h:
14066         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14067         in bindings.
14069 2005-07-04  Andy Wingo  <wingo@pobox.com>
14071         * check/gst/gstpad.c: Only set explicit caps on pads.
14073 2005-07-01  Andy Wingo  <wingo@pobox.com>
14075         * tests/network-clock.scm: Commentary update.
14077         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14078         Didn't really make sense, not implementable with basetransform,
14079         etc.
14080         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14081         attempt at implementing the sync property, needs an unlock method.
14083         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14084         New func, by default returns the same caps (the identity
14085         transformation).
14086         (gst_base_transform_getcaps): Uses transform_caps to return
14087         something sensible.
14088         (gst_base_transform_setcaps): Complicated logic to get caps on
14089         both pads, even if they are different, and to call set_caps once
14090         for every time both pads get their caps set.
14091         (gst_base_transform_handle_buffer): Give the ref to the transform
14092         function. Allows in-place modification of the buffer.
14094         * gst/base/gstbasetransform.h (transform_caps): New class method.
14095         Given caps on one side, what can I do on the other.
14096         (set_caps): Take two caps, one for each side of the element.
14098         * gst/gstpad.h:
14099         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14100         caps in place. This is safe because we can check the mutability of
14101         the caps, and a good idea because fixate functions are just called
14102         as a matter of last resort. (Not actually implemented.)
14103         (gst_pad_set_caps): If the caps we're setting is actually the same
14104         as the existing pad caps, just update the pointer without calling
14105         setcaps. Assert that caps is either NULL or fixed, as per the
14106         docs.
14108         * gst/gstghostpad.c: Update for fixate changes.
14110 2005-07-02  Andy Wingo  <wingo@pobox.com>
14112         * gst/gstcaps.c:
14113         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14114         two refcounts makes it immutable, which is enough. Doc more.
14116 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14118         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14119           Put the mini_object into GValue as a mini_object,
14120           not a gpointer, since that's how we declared
14121           the signal.
14123 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14125         * examples/pwg/Makefile.am:
14126           Fix buildbot again.
14128 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14130         * docs/pwg/building-testapp.xml:
14131           Add extra check.
14132         * examples/pwg/Makefile.am:
14133           Fix buildbot.
14135 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14137         * configure.ac:
14138         * examples/Makefile.am:
14139         * examples/pwg/Makefile.am:
14140         * examples/pwg/extract.pl:
14141           Enable building the PWG examples.
14142         * docs/pwg/advanced-interfaces.xml:
14143           Add URI interface stub.
14144         * docs/pwg/advanced-types.xml:
14145         * docs/pwg/other-autoplugger.xml:
14146         * docs/pwg/appendix-porting.xml:
14147         * docs/pwg/pwg.xml:
14148           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14149         * docs/pwg/building-boiler.xml:
14150         * docs/pwg/building-chainfn.xml:
14151         * docs/pwg/building-pads.xml:
14152         * docs/pwg/building-props.xml:
14153         * docs/pwg/building-state.xml:
14154         * docs/pwg/building-testapp.xml:
14155           Update the building-*.xml parts for 0.9 changes. All examples
14156           code blocks compile in examples/pwg/*.
14158 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14160         * docs/manual/advanced-autoplugging.xml:
14161         * docs/manual/appendix-checklist.xml:
14162         * docs/manual/appendix-integration.xml:
14163         * docs/manual/highlevel-components.xml:
14164           Fix playbin/decodebin examples, update docs a bit, mention bus
14165           instead of signals in various places, mention kmplayer and
14166           kaffeine since they have a working GStreamer backend in the KDE
14167           section.
14169 2005-06-30  Wim Taymans  <wim@fluendo.com>
14171         * CHANGES-0.9:
14172         * docs/design/draft-ghostpads.txt:
14173         * docs/design/draft-push-pull.txt:
14174         * docs/design/draft-query.txt:
14175         * docs/design/part-TODO.txt:
14176         * docs/design/part-query.txt:
14177         Added CHANGES-0.9 doc, updated status of other docs.
14178         
14179         * gst/gstquery.h:
14180         Remove "hmm" macro
14182 2005-06-30  Wim Taymans  <wim@fluendo.com>
14184         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14185         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14186         (gst_base_sink_change_state):
14187         * gst/base/gstbasesink.h:
14188         Some tweaks, only EOS and a buffer complete a preroll.
14190 2005-06-30  Andy Wingo  <wingo@pobox.com>
14192         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14193         activate_push down to the internal pad as well.
14195 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14197         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14199         * gst/gsttaginterface.c:
14200           Some documentation fixes (#307394 and #307397).
14202 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14204         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14206         * gst/gstvalue.c: (gst_value_intersect_list):
14207           Fix memleak (#309125).
14209 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14211         * docs/manual/advanced-dataaccess.xml:
14212           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14213         * docs/manual/basics-pads.xml:
14214           Add reference for filtered caps to above chapter.
14216 2005-06-30  Wim Taymans  <wim@fluendo.com>
14218         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14219         (gst_bin_change_state):
14220         Probes are gone.
14221         Lame attempt at making the state change function a bit
14222         more readable.
14224 2005-06-30  Wim Taymans  <wim@fluendo.com>
14226         * docs/design/part-clocks.txt:
14227         * docs/design/part-element-sink.txt:
14228         * docs/design/part-events.txt:
14229         * docs/design/part-preroll.txt:
14230         * docs/design/part-states.txt:
14231         Some more tweeks and additions to the docs.
14233 2005-06-30  Wim Taymans  <wim@fluendo.com>
14235         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14236         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14237         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14238         (gst_pad_check_pull_range), (gst_pad_get_range),
14239         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14240         * gst/gstpad.h:
14241         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14242         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14243         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14244         (gst_pad_remove_buffer_probe):
14245         Removed atomic operations, use existing LOCK.
14246         Move exception handling out of main code path.
14248 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14250         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14251         (silly_return_true_function), (gst_pad_class_init),
14252         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14253         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14254         (gst_pad_send_event):
14255           Fix accumulator, add default value by using _emitv() instead
14256           of _emit() for signal emission.
14258 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14260         * docs/manual/advanced-dataaccess.xml:
14261         * examples/manual/Makefile.am:
14262           Add probe example.
14263         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14264           Make work (??).
14266 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14268         * gst/elements/gstfilesink.c: (gst_filesink_render):
14269           Simplify code so that we don't have to handle short
14270           writes and return GST_FLOW_ERROR if an error occured.
14272 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14274         * docs/gst/gstreamer-docs.sgml:
14275           Remove probes more.
14277 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14279         * docs/gst/gstreamer-sections.txt:
14280         * docs/gst/tmpl/gstpad.sgml:
14281         * docs/gst/tmpl/gstprobe.sgml:
14282         * gst/Makefile.am:
14283         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14284         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14285         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14286         (gst_pad_push_event), (gst_pad_send_event):
14287         * gst/gstpad.h:
14288         * gst/gstutils.c: (gst_pad_add_data_probe),
14289         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14290         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14291         (gst_pad_remove_buffer_probe):
14292         * gst/gstutils.h:
14293           Remove old probes, add new g-signal-based probes and some utility
14294           functions.
14296 2005-06-29  Edward Hervey  <edward@fluendo.com>
14298         * gst/gstelementfactory.c:
14299         * gst/gstutils.h:
14300         * gst/gstutils.c:
14301         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14302         the definition to the header file.
14304 2005-06-29  Andy Wingo  <wingo@pobox.com>
14306         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14307         plugins from the source directory.
14309 2005-06-29  Wim Taymans  <wim@fluendo.com>
14311         * docs/gst/tmpl/gstbuffer.sgml:
14312         * docs/gst/tmpl/gstclock.sgml:
14313         Some fixings for blantently wrong text.
14315 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14317         * check/Makefile.am:
14318         * gst/gst.c: (add_path_func), (init_pre):
14319         * gst/gstregistry.c: (gst_registry_add_path):
14320           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14321           only scan the GST_PLUGIN_PATH locations, and not add
14322           system locations
14324 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14326         * docs/gst/gstreamer-sections.txt:
14327         * docs/gst/tmpl/gstbasesrc.sgml:
14328         * gst/gstelement.c:
14329         * gst/gstelement.h:
14330         * gst/gstevent.c:
14331         * gst/gstutils.c:
14332           doc fixes
14334 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14336         * docs/manual/advanced-autoplugging.xml:
14337           Fix autoplugging example.
14339 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14341         * docs/manual/advanced-autoplugging.xml:
14342         * docs/manual/mime-world.fig:
14343           Try to get autoplugging working, fix type detection. Fix text
14344           in hello-world image.
14346 2005-06-29  Wim Taymans  <wim@fluendo.com>
14348         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14349         (gst_base_sink_change_state):
14350         Small debug line.
14352         * gst/gstclock.h:
14353         map SIGNAL and BROADCAST to the right function.
14355         * gst/gstobject.h:
14356         Remove redundant braces.
14358         * gst/gstpad.c: (gst_pad_set_caps):
14359         Don't call setcaps function when reseting caps to NULL.
14361         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14362         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14363         (gst_system_clock_id_unschedule):
14364         Use BROADCAST as this is what we do.
14366 2005-06-29  Wim Taymans  <wim@fluendo.com>
14368         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14369         We are actually prerolling before commiting the state
14370         change. 
14372 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14374         * docs/manual/advanced-clocks.xml:
14375         * docs/manual/advanced-interfaces.xml:
14376         * docs/manual/advanced-metadata.xml:
14377         * docs/manual/advanced-position.xml:
14378         * docs/manual/advanced-schedulers.xml:
14379         * docs/manual/advanced-threads.xml:
14380         * docs/manual/appendix-porting.xml:
14381         * docs/manual/basics-bins.xml:
14382         * docs/manual/basics-bus.xml:
14383         * docs/manual/basics-elements.xml:
14384         * docs/manual/basics-helloworld.xml:
14385         * docs/manual/basics-pads.xml:
14386         * docs/manual/highlevel-components.xml:
14387         * docs/manual/manual.xml:
14388         * docs/manual/thread.fig:
14389           Update (until threads/scheduling) Application Development Manual;
14390           remove GstThread, add GstBus, add simple porting checklist, add
14391           documentation for tag writing, clocks, make all examples until this
14392           part compile and run.
14393         * examples/manual/Makefile.am:
14394           Update from changes to Application Development Manual; add bus
14395           example, remove thread example.
14397 2005-06-28  Wim Taymans  <wim@fluendo.com>
14399         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14400         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14401         (gst_bus_source_dispatch):
14402         Add debugging messages.
14403         Make internal methods static.
14404         Handle the case where the bus is flushed in the handler.
14405         
14406         * gst/gstelement.c: (gst_element_get_bus):
14407         Fix refcount in _get_bus();
14409         * gst/gstpipeline.c: (gst_pipeline_change_state),
14410         (gst_pipeline_get_clock_func):
14411         Clock refcounting fixes.
14412         Handle the case where preroll timed out more gracefully.
14413         
14414         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14415         Clean up the internal thread in dispose. This is needed
14416         for subclasses that actually get disposed.
14417         
14418         * gst/schedulers/threadscheduler.c:
14419         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14420         (gst_thread_scheduler_dispose):
14421         Free thread pool in dispose.
14423 2005-06-28  Andy Wingo  <wingo@pobox.com>
14425         * tests/network-clock-utils.scm (debug, print-event): New utils.
14427         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14428         (*packet-loss*): Unified loss probability.
14429         (network-time): Report out-of-band events.
14431         * tests/plot-data: Add support for out-of-band events. Hack it
14432         into this script instead of passing it down the pipe; should fix
14433         this later.
14435 2005-06-28  Wim Taymans  <wim@fluendo.com>
14437         * docs/gst/gstreamer.types:
14438         * docs/gst/tmpl/gstbasesrc.sgml:
14439         * docs/gst/tmpl/gstpad.sgml:
14440         Docs fixes.
14442 2005-06-28  Wim Taymans  <wim@fluendo.com>
14444         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14445         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14446         (gst_proxy_pad_do_fixatecaps):
14447         Correctly proxy the check_pull_range function.
14449 2005-06-28  Andy Wingo  <wingo@pobox.com>
14451         * tests/network-clock.scm: Removed need for slib.
14452         
14453 2005-06-28  Wim Taymans  <wim@fluendo.com>
14455         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14456         (gst_basesink_preroll_queue_flush):
14457         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14458         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14459         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14460         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14461         (gst_proxy_pad_set_property):
14462         * gst/gstpad.c:
14463         * gst/gstpad.h:
14464         * gst/gstqueue.c: (gst_queue_init):
14465         The deprecated pad loop function is removed now.
14467 2005-06-28  Andy Wingo  <wingo@pobox.com>
14469         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14470         New parameters, simulate network packet loss.
14472         * tests/network-clock-utils.scm: Initialize the RNG.
14474 2005-06-28  Wim Taymans  <wim@fluendo.com>
14476         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14477         (gst_basesink_event), (gst_basesink_deactivate):
14478         Flushing the preroll queue always needs to unlock the waiters.
14480 2005-06-28  Edward Hervey  <edward@fluendo.com>
14482         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14483         Wheen a seek was successful on a pipeline, set the stream_time to the
14484         seek offset in order to have a synchronized stream_time.
14486 2005-06-28  Wim Taymans  <wim@fluendo.com>
14488         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14489         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14490         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14491         (gst_proxy_pad_do_fixatecaps):
14492         Call wrapper function instead of just calling the function
14493         pointers. This takes care of any locking and whatmore.
14495 2005-06-28  Wim Taymans  <wim@fluendo.com>
14497         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14498         (gst_pad_pull_range):
14499         * gst/gstpad.h:
14500         CONNECTED -> LINKED.
14502 2005-06-28  Andy Wingo  <wingo@pobox.com>
14504         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14505         source-munging commit!!!
14507         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14508         (gst_object_sink): Take gpointer arguments, not GstObject --
14509         avoids casts. Like GLib.
14511         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14512         activate.
14514 2005-06-27  Andy Wingo  <wingo@pobox.com>
14516         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14517         remaining buffer.
14519         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14520         returns a sorted copy of the trace list.
14521         (gst_alloc_trace_print_live): New API, only prints traces with
14522         live objects. Sort the list.
14523         (gst_alloc_trace_print_all): Sort the list.
14524         (gst_alloc_trace_print): Align columns.
14526         * gst/elements/gstttypefindelement.c:
14527         * gst/elements/gsttee.c:
14528         * gst/base/gstbasesrc.c:
14529         * gst/base/gstbasesink.c:
14530         * gst/base/gstbasetransform.c:
14531         * gst/gstqueue.c: Adapt for pad activation changes.
14533         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14534         sched.
14535         (gst_pipeline_dispose): Drop ref on sched.
14537         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14538         (gst_pad_activate_default): Push mode by default.
14539         (pre_activate_switch, post_activate_switch): New stubs, things to
14540         do before and after switching activation modes on pads.
14541         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14542         the pad's activate function to choose which mode to activate.
14543         Shortcut on deactivation and call the right function directly.
14544         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14545         mode.
14546         (gst_pad_activate_push): New API, same for push mode.
14547         (gst_pad_set_activate_function) 
14548         (gst_pad_set_activatepull_function) 
14549         (gst_pad_set_activatepush_function): Setters for new API.
14551         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14552         Trace all miniobjects.
14553         (gst_mini_object_make_writable): Unref the arg if we copy, like
14554         gst_caps_make_writable.
14556         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14558         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14559         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14560         Adapt for new pad API.
14562         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14564         * gst/gstelement.h:
14565         * gst/gstelement.c (gst_element_iterate_src_pads) 
14566         (gst_element_iterate_sink_pads): New API functions.
14567         
14568         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14569         should fold into gstiterator.c in some form.
14570         (gst_element_pads_activate): Simplified via use of fold and
14571         delegation of decisions to gstpad->activate.
14573         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14574         help in debugging.
14576         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14577         class once in init, like gstmessage. Didn't run into this issue
14578         but it seems correct. Don't initialize a trace, gstminiobject does
14579         that.
14581         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14582         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14583         to the bus.
14584         (assert_live_count): New util function, uses alloc traces to check
14585         cleanup.
14587         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14588         To be modified when unlink drops the internal pad.
14590 2005-06-27  Wim Taymans  <wim@fluendo.com>
14592         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14593         (gst_bin_change_state):
14594         Cleanup the get_state() function a little, make sure it
14595         iterates the same set of elements.
14596         Added stub iterate_state_order().
14598 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14600         * docs/gst/gstreamer-docs.sgml:
14601         * docs/gst/gstreamer-sections.txt:
14602         * docs/gst/gstreamer.types:
14603         * docs/gst/tmpl/gstbasesink.sgml:
14604         * docs/gst/tmpl/gstbasesrc.sgml:
14605         * docs/gst/tmpl/gstbasetransform.sgml:
14606         * docs/gst/tmpl/gstelement.sgml:
14607         * docs/gst/tmpl/gstiterator.sgml:
14608         * gst/base/gstbasesrc.c:
14609         * gst/base/gstbasesrc.h:
14610         * gst/base/gstbasetransform.h:
14611         * gst/gstelement.c:
14612         * gst/gstiterator.h:
14613           adding basetransform and iterator docs
14615 2005-06-27  Andy Wingo  <wingo@pobox.com>
14617         * docs/design/part-activation.txt: Notes on how activation should
14618         work -- not quite implemented yet.
14620 2005-06-25  Wim Taymans  <wim@fluendo.com>
14622         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14623         At least get the chain function correct, needs more
14624         fixing.
14626 2005-06-25  Wim Taymans  <wim@fluendo.com>
14628         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14629         (gst_basesink_handle_object), (gst_basesink_event),
14630         (gst_basesink_do_sync), (gst_basesink_handle_event),
14631         (gst_basesink_change_state):
14632         * gst/gsttask.h:
14633         Right, two problems here: ghostpads don't take locks and
14634         glib _rec_mutex_lock_full() with depth==0 still locks.
14635         Catch illegal locking and g_warn them.
14637 2005-06-25  Wim Taymans  <wim@fluendo.com>
14639         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14640         Have to check for completion now...
14642 2005-06-25  Wim Taymans  <wim@fluendo.com>
14644         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14645         (gst_basesink_handle_object), (gst_basesink_event),
14646         (gst_basesink_do_sync), (gst_basesink_handle_event),
14647         (gst_basesink_change_state):
14648         * gst/gstpad.h:
14649         Unlock STREAM_LOCK whatever the recursion was.
14651 2005-06-25  Wim Taymans  <wim@fluendo.com>
14653         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14654         (gst_basesink_preroll_queue_empty),
14655         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14656         (gst_basesink_event), (gst_basesink_do_sync),
14657         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14658         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14659         (gst_basesink_change_state):
14660         Reworked the base sink, handle event and buffer serialisation
14661         correctly and removed possible deadlock.
14662         Handle EOS correctly.
14664 2005-06-25  Wim Taymans  <wim@fluendo.com>
14666         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14667         (gst_pipeline_change_state):
14668         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14669         Allow elements to post EOS in the state change function.
14670         Fix up -launch, make it exit the poll loop when the
14671         pipeline actually changed state.
14672         Fix up warning parsing in -launch.
14674 2005-06-25  Wim Taymans  <wim@fluendo.com>
14676         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14677         (gst_tee_sink_activate):
14678         Core takes STREAM_LOCK for us now.
14680 2005-06-25  Wim Taymans  <wim@fluendo.com>
14682         * gst/gstelement.c: (gst_element_get_state_func),
14683         (gst_element_set_state):
14684         * gst/gstelement.h:
14685         * gst/gstmessage.c: (gst_message_parse_error),
14686         (gst_message_parse_warning):
14687         Keep track of current target state while performing a state
14688         change so that subclasses can do something interesting.
14689         Fix parsing of warning/error messages when GError is NULL.
14691 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14693         * docs/gst/Makefile.am:
14694         * docs/gst/gstreamer-docs.sgml:
14695         * docs/gst/gstreamer-sections.txt:
14696         * docs/gst/gstreamer.types:
14697         * docs/gst/tmpl/gstbasesink.sgml:
14698         * docs/gst/tmpl/gstbasesrc.sgml:
14699         * docs/gst/tmpl/gstbin.sgml:
14700         * docs/gst/tmpl/gstcompat.sgml:
14701         * docs/gst/tmpl/gstfakesink.sgml:
14702         * docs/gst/tmpl/gstfakesrc.sgml:
14703         * docs/gst/tmpl/gstfilesink.sgml:
14704         * docs/gst/tmpl/gstfilesrc.sgml:
14705         * docs/gst/tmpl/gstindex.sgml:
14706         * docs/manual/appendix-quotes.xml:
14707         * gst/base/gstbasesrc.h:
14708         * gst/elements/gstfakesrc.h:
14709         * gst/gstmessage.h:
14710           start pulling in base classes and elements in our docs
14712 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14714         * docs/gst/Makefile.am:
14715         * docs/libs/Makefile.am:
14716           fixed make distcheck with gtk-doc 1.3
14718 2005-06-23  Wim Taymans  <wim@fluendo.com>
14720         * gst/gstelement.c: (gst_element_get_state_func),
14721         (gst_element_set_state), (gst_element_change_state):
14722         When the state did not change, also report NO_PREROLL
14723         when it matters.
14725 2005-06-23  Wim Taymans  <wim@fluendo.com>
14727         * gst/gstpad.c: (gst_pad_event_default):
14728         * gst/gstqueue.c: (gst_queue_loop):
14729         No unsafe task pausing please.
14731 2005-06-23  Wim Taymans  <wim@fluendo.com>
14733         * gst/schedulers/threadscheduler.c:
14734         (gst_thread_scheduler_task_start),
14735         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14736         Ref the task before pushing it on the threadpool. This
14737         makes sure that we have a ref when the threadfunction is
14738         actually called.
14740 2005-06-23  Andy Wingo  <wingo@pobox.com>
14742         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14743         offset is greater than the file's size.
14745         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14746         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14747         * gst/gstobject.c (gst_object_class_init): Make the class lock
14748         recursive. Wim won't let me drop deep_notify. Decodebin works
14749         again, whoopdy doo.
14751         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14752         internal pad, and hacks accordingly. Doesn't do it on the target
14753         pad because we change its caps. Probably catches all cases of
14754         interest tho.
14755         (gst_ghost_pad_set_property): Connect to notify::caps as
14756         appropritate.
14758         * tests/network-clock.scm (plot-simulation): Pipe data to the
14759         elite python skript.
14761         * tests/network-clock-utils.scm (define-parameter): New macro,
14762         defines a parameter that can be set via the command line.
14763         (set-parameter!, parse-parameter-arguments): Command line args
14764         parser.
14766         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14767         stdin.
14769 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14771         * gst/elements/gsttypefindelement.c:
14772         (gst_type_find_element_handle_event):
14773           Don't restart typefinding on a discont.
14774         * gst/gstelement.c: (gst_element_set_state):
14775           Debug spelling fix.
14776         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14777           Allow changing mode of an active pad.
14778           Debug output fixes.
14779         * gst/registries/gstlibxmlregistry.c: (load_feature):
14780           Don't cast a static pad template to a normal pad template.
14782 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14784         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14785         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14786           remove gst_strtoll completely, since it didn't actually do
14787           anything more than what g_ascii_strtoull already does.
14788           check for range errors when deserializing
14789           do a cast for the unsigned cases; but further fixing needs
14790           a decision on what the interpretation of "(int)" and
14791           deserialization should be for values that fall outside the
14792           type's boundaries (ie, refuse, or interpret as casting)
14794 2005-06-23  Wim Taymans  <wim@fluendo.com>
14796         * check/Makefile.am:
14797         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14798         * docs/design/part-live-source.txt:
14799         * docs/design/part-states.txt:
14800         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14801         (gst_basesrc_set_live), (gst_basesrc_is_live),
14802         (gst_basesrc_get_range), (gst_basesrc_activate),
14803         (gst_basesrc_change_state):
14804         * gst/base/gstbasesrc.h:
14805         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14806         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14807         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14808         * gst/gstelement.c: (gst_element_get_state_func),
14809         (gst_element_set_state):
14810         * gst/gstelement.h:
14811         * gst/gsttypes.h:
14812         * tools/gst-launch.c: (event_loop), (main):
14813         Added support for live sources and other elements that
14814         cannot do preroll.
14815         Updated design docs, added live-source design doc.
14816         Implemented live source functionality in basesrc
14817         Fix error condition in _bin_get_state()
14818         Implement live source handling in -launch.
14819         Added check for live sources.
14820         Fixed case in GstBin where elements were changed state
14821         multiple times.
14824 2005-06-23  Andy Wingo  <wingo@pobox.com>
14826         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14827         borken refcounting.
14829         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14830         gst_caps_replace takes care of this for us.
14832         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14833         gst_pad_set_caps on the target, not just its setcaps() function.
14835         * tests/network-clock.scm: 
14836         * tests/network-clock-utils.scm: A network clock simulator.
14837         Something of an algorithmic testbed before doing something in C.
14839 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14841         * check/Makefile.am:
14842         * check/gst/capslist.h:
14843           copy over from 0.8, and add two with bitmasks specified with
14844           (int) 0xFF...
14845         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14846           add test to parse everything from capslist.h
14847         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
14848         (main):
14849           add test for structure deserialization
14850         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14851           add tests for deserialization of strings to int types
14852         * gst/gststructure.c: (gst_structure_nth_field_name):
14853         * gst/gststructure.h:
14854           add a way to get the name of a field referenced by index
14855         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14856           instead of checking if the resulting long long lies between
14857           min and max, we check if the long long would fit into
14858           a number of bytes for the final type.
14859           This fixes cases where a string represents 2^32 - 1, which
14860           when cast to int would be the (valid) -1, but is bigger than
14861           G_MAXINT
14863 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14865         * gst/parse/grammar.y:
14866           add a log line for type deserialization
14868 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14870         * check/gst/gstvalue.c: (START_TEST):
14871         * gst/gstvalue.c: (gst_value_deserialize):
14872           return long long, not int, so gint64 deserialization actually
14873           works.  Is there any flag that makes the compiler check this ?
14874           Fixes #308559
14876 2005-06-22  Wim Taymans  <wim@fluendo.com>
14878         * gst/gstbuffer.h:
14879         Added convenience macros for setting buffers in GValue.
14881 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14883         * check/gst/.cvsignore:
14884         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14885           add a test deserializing int64, and comment part out because
14886           it fails, yay !
14888 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14890         * check/Makefile.am:
14891         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14892         * testsuite/Makefile.am:
14893         * testsuite/caps/Makefile.am:
14894         * testsuite/caps/value_serialize.c:
14895         * testsuite/test_gst_init.c:
14896           move a value_serialize test over
14898 2005-06-20  Wim Taymans  <wim@fluendo.com>
14900         * gst/gstpad.c:
14901         Small doc updates.
14902         
14903         * gst/gstvalue.c: (gst_value_compare_buffer),
14904         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14905         (gst_value_compare_flags), (gst_value_serialize_flags),
14906         (gst_value_deserialize_flags), (_gst_value_initialize):
14907         Fix serialisation of buffers, they are not boxed types anymore
14909 2005-06-20  Wim Taymans  <wim@fluendo.com>
14911         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14912         Testcase to show error in buffer-on-caps serialisation.
14914 2005-06-20  Andy Wingo  <wingo@pobox.com>
14916         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14917         will be adding to later.
14919         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14920         if its socks fill with rocks.
14921         (gst_system_clock_obtain): Set the name on object construction.
14922         Avoid double-checked locking.
14924 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14926         * gst/gsturi.c: (gst_element_make_from_uri):
14927           Fix potential endless loop.
14929 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14931         * check/Makefile.am:
14932           add gsttag
14933         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14934         (main):
14935           move over from testsuite dir and clean up
14936         * configure.ac:
14937         * gst/gsttag.c:
14938         * testsuite/Makefile.am:
14939         * testsuite/tags/.cvsignore:
14940         * testsuite/tags/Makefile.am:
14941         * testsuite/tags/merge.c:
14942           remove testsuite/tags
14944 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14946         * docs/gst/gstreamer-sections.txt:
14947         * docs/gst/tmpl/gstenumtypes.sgml:
14948         * win32/gstenumtypes.c:
14949           clean up documentation build a little
14951 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14953         * check/gstcheck.h:
14954           add macros for checking refcounts on objects and caps
14955         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
14956           add some more unit tests
14957         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14958         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
14959           fix leaked refcounts (I hope :)) so unittest works
14960         * gst/gstpad.h:
14961           whitespace removal
14963 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14965         * configure.ac: back to HEAD
14967 === release 0.9.1 ===
14969 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
14971         * NEWS:
14972         * RELEASE:
14973           updated
14975 2005-06-17  Andy Wingo  <wingo@pobox.com>
14977         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
14978         assert; it's always possible that the pad gets deactivated in
14979         between the checks in gstpad.c and the implementation. Rely on
14980         finish_preroll() to return a FLUSHING or similar instead of on the
14981         assert.
14982         
14983         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
14984         clock and post an EOS message if we come out of finish_preroll in
14985         the playing state.
14987 2005-06-16  David Schleef  <ds@schleef.org>
14989         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
14990         (gst_capsfilter_set_property): Allow NULL as possible value
14991         for filter_caps property, indicating GST_CAPS_ANY.
14993 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14995         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
14996           fix debug output
14997         * gst/schedulers/Makefile.am:
14998           use libgst prefix
14999         * gstreamer.spec.in:
15000           fix spec for it
15002 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15004         * gstreamer.spec.in:
15005           clean up
15007 2005-06-08  Andy Wingo  <wingo@pobox.com>
15009         * gst/gstutils.c: RPAD fixes all around.
15010         (gst_element_link_pads): Refcounting fixes.
15012         * tools/gst-inspect.c:
15013         * tools/gst-xmlinspect.c:
15014         * parse/grammar.y:
15015         * gst/base/gsttypefindhelper.c:
15016         * gst/base/gstbasesink.c:
15017         * gst/gstqueue.c: RPAD fixes.
15019         * gst/gstghostpad.h:
15020         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15021         pads. The tricky thing is they provide both source and sink
15022         interfaces, since they proxy the internal pad for the external
15023         pad, and vice versa. Implement with lower-level ProxyPad objects,
15024         with the interior proxy pad as a child of the exterior ghost pad.
15025         Should write a doc on this.
15026         
15027         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15028         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15029         gst_object API.
15030         
15031         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15032         pads are real pads. No ghost pads in this file. Not documenting
15033         the myriad s/RPAD/PAD/ and REALIZE fixes.
15034         (gst_pad_class_init): Add properties for "direction" and
15035         "template". Both are construct-only, so they can't change during
15036         the life of the pad. Fixes properly deriving from GstPad.
15037         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15038         derived objects, just set properties when creating the objects via
15039         g_object_new.
15040         (gst_pad_get_parent): Implement as a function, return NULL if the
15041         parent is not an element.
15042         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15043         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15044         
15045         * gst/gstobject.c (gst_object_class_init): Make name a construct
15046         property. Don't set it in the object init.
15048         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15049         with UNKNOWN direction.
15050         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15051         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15052         (gst_element_remove_pad): Remove ghost-pad special cases.
15053         (gst_element_pads_activate): Remove rpad cruft.
15055         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15056         catch the pad's-parent-not-an-element case.
15058         * gst/gst.h: Include gstghostpad.h.
15060         * gst/gst.c (init_post): No more real, ghost pads.
15062         * gst/Makefile.am: Add gstghostpad.[ch].
15064         * check/Makefile.am:
15065         * check/gst/gstbin.c:
15066         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15067         into a bin creates ghost pads, and that the refcounts are right.
15068         Partly moved from gstbin.c.
15070 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15072         * check/gst-libs/.cvsignore:
15073         * check/gst/.cvsignore:
15074         * check/pipelines/.cvsignore:
15075           ignore more
15076         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15077         (START_TEST), (cleanup_suite), (main):
15078           add some tests related to cleanup after running pipelines
15080 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15082         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15083           add a testsuite for GstBuffer
15085 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15087         * gst/gstminiobject.h:
15088           add defines for accessing the refcount
15090 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15092         * Makefile.am: added support for html unit test coverage reports
15094 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15096         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15097           Free existing caps if the capsfilter changes. Add a FIXME about
15098           setting those caps on the pads.
15100         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15101           Before adding a ghost pad to a parent bin, check that there isn't
15102           already one for the element on the bin. Prevents infinite recursion
15103           when using decodebin in parse pipelines. Andy says he'll rewrite the
15104           way this works anyway, so ignore the hack.
15106 2005-06-02  Andy Wingo  <wingo@pobox.com>
15108         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15109         file size, pass it on to the type find helper.
15111         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15112         segment_start and segment_end properly according to the seek
15113         method. Segment_end is still a bit flaky because offset can be
15114         negative for CUR and END cases, but it takes -1 as an "unset"
15115         value.
15117 2005-06-02  Wim Taymans  <wim@fluendo.com>
15119         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15120         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15121         (gst_basesink_activate):
15122         * gst/base/gstbasesink.h:
15123         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15124         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15125         (gst_pad_query), (gst_pad_start_task):
15126         * gst/gstpad.h:
15127         * gst/gstqueue.c: (gst_queue_bufferalloc),
15128         (gst_queue_handle_sink_event), (gst_queue_chain):
15129         Bufferalloc: return GstFlowReturn to more accuratly report
15130         why allocation failed.
15132 2005-06-02  Wim Taymans  <wim@fluendo.com>
15134         * gst/gstpipeline.c: (gst_pipeline_send_event):
15135         Take snapshot of state without blocking.
15137 2005-06-02  Wim Taymans  <wim@fluendo.com>
15139         * docs/design/part-TODO.txt:
15140         * docs/design/part-caps.txt:
15141         * docs/design/part-clocks.txt:
15142         * docs/design/part-negotiation.txt:
15143         * docs/design/part-preroll.txt:
15144         Small doc updates 
15146 2005-05-30  Wim Taymans  <wim@fluendo.com>
15148         * gst/elements/gstidentity.c: (gst_identity_event),
15149         (gst_identity_transform), (gst_identity_get_property):
15150         Protect last_message property as it is accessed from
15151         multiple threads.
15153 2005-05-30  Wim Taymans  <wim@fluendo.com>
15155         * gst/gstelement.c: (gst_element_init),
15156         (gst_element_pads_activate), (gst_element_change_state):
15157         Slicker pad activation code.
15159 2005-05-30  Wim Taymans  <wim@fluendo.com>
15161         * gst/Makefile.am:
15162         * gst/gstelement.h:
15163         * gst/gstelementfactory.h:
15164         * gst/gsttypes.h:
15165         Move elementfactory methods to separate .h file.
15167 2005-05-30  Wim Taymans  <wim@fluendo.com>
15169         * docs/design/part-overview.txt:
15170         * gst/gstsystemclock.h:
15171         Small typo fixes, doc updates.
15173 2005-05-30  Wim Taymans  <wim@fluendo.com>
15175         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15176         (init_popt_callback):
15177         Remove cpu-opt flag.
15179 2005-05-30  Wim Taymans  <wim@fluendo.com>
15181         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15182         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15183         * gst/gstbuffer.h:
15184         Avoid typechecking in places where not needed.
15185         Added accessor for malloc_data.
15187 2005-05-30  Wim Taymans  <wim@fluendo.com>
15189         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15190         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15191         (gst_pad_configure_sink), (gst_pad_configure_src),
15192         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15193         (gst_pad_start_task):
15194         Propagate errors from _set_caps() in configure_src/sink
15195         functions instead of returning TRUE.
15196         FLUSH events can travel up and downstream
15199 2005-05-30  Wim Taymans  <wim@fluendo.com>
15201         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15202         (gst_basesink_activate):
15203         Handle EOS in preroll.
15205 2005-05-30  Wim Taymans  <wim@fluendo.com>
15207         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15208         (gst_queue_loop), (gst_queue_handle_src_event):
15209         Remove old pieces of code
15210         Flushing the queue in an upstream event is a very bad idea.
15212 2005-05-26  Andy Wingo  <wingo@pobox.com>
15214         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15215         gst_value_set_mini_object so as to add a ref on the object (which
15216         will be removed when the value is unset).
15218         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15219         arg type in ::handoff.
15221         * gst/gstelement.c (gst_element_change_state): Also deactivate
15222         pads in READY->NULL, just in case the element didn't make it to
15223         PAUSED. Wingo tested, Wim approved.
15225 2005-05-26  Wim Taymans  <wim@fluendo.com>
15227         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15228         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15229         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15230         A flushing pad cannot be used to alloc_buffer from.
15232 2005-05-26  Wim Taymans  <wim@fluendo.com>
15234         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15235         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15236         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15237         (gst_bus_create_watch), (gst_bus_add_watch_full):
15238         * gst/gstbus.h:
15239         Implement a real GSource and use g_main_context_wakeup() to
15240         signal new messages instead of the socketpair.
15242 2005-05-25  Wim Taymans  <wim@fluendo.com>
15244         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15245         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15246         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15247         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15248         (gst_pad_send_event), (gst_pad_start_task):
15249         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15250         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15251         (gst_queue_sink_activate), (gst_queue_src_activate),
15252         (gst_queue_change_state):
15253         * gst/gstqueue.h:
15254         Fix state changes for non sinks. We now change sinks, then elements
15255         with unconnected srcpads, then the rest.
15256         More efficient queue unlocking in flush and state changes.
15257         Set the pad activate mode even if it does not have an activate
15258         function.
15260 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15262         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15263           Don't go in pull mode for non-seekable sources.
15264         * gst/elements/gsttypefindelement.h:
15265         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15266         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15267         (free_entry), (stop_typefinding),
15268         (gst_type_find_element_handle_event), (find_peek),
15269         (gst_type_find_element_chain), (do_pull_typefind),
15270         (gst_type_find_element_change_state):
15271           Allow typefinding (w/o seeking) in push-mode, simplified version
15272           of what was in 0.8.
15273         * gst/gstutils.c: (gst_buffer_join):
15274         * gst/gstutils.h:
15275           gst_buffer_join() from 0.8.
15277 2005-05-25  Wim Taymans  <wim@fluendo.com>
15279         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15280         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15281         (gst_pad_send_event), (gst_pad_start_task):
15282         Disable attempt at mode switching until it is figured out.
15284 2005-05-25  Wim Taymans  <wim@fluendo.com>
15286         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15287         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15288         (gst_basesink_finish_preroll), (gst_basesink_chain),
15289         (gst_basesink_loop), (gst_basesink_activate),
15290         (gst_basesink_change_state):
15291         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15292         (gst_basesrc_get_range), (gst_basesrc_loop),
15293         (gst_basesrc_activate):
15294         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15295         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15296         (gst_real_pad_init), (gst_real_pad_set_property),
15297         (gst_real_pad_get_property), (gst_pad_set_active),
15298         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15299         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15300         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15301         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15302         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15303         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15304         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15305         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15306         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15307         (gst_pad_stop_task):
15308         * gst/gstpad.h:
15309         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15310         (gst_queue_loop), (gst_queue_src_activate):
15311         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15312         (gst_task_get_state):
15313         * gst/gsttask.h:
15314         * gst/schedulers/threadscheduler.c:
15315         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15316         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15317         in task function.
15318         Remove ACTIVE pad flag, use FLUSHING everywhere
15319         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15320         functions.
15321         Add locks around IS_FLUSHING when reading.
15322         Take STREAM lock in chain(), get_range() functions so plugins
15323         don't need to take it anymore.
15324         
15327 2005-05-25  Wim Taymans  <wim@fluendo.com>
15329         * tools/gst-launch.c: (event_loop):
15330         Unref message after using its contents instead of
15331         before.
15333 2005-05-24  Wim Taymans  <wim@fluendo.com>
15335         * docs/design/draft-ghostpads.txt:
15336         * docs/design/draft-push-pull.txt:
15337         * docs/design/draft-query.txt:
15338         * docs/design/part-overview.txt:
15339         Docs updates, added general overview doc.
15341 2005-05-21  David Schleef  <ds@schleef.org>
15343         * docs/gst/tmpl/old/GstBin.sgml:
15344         * docs/gst/tmpl/old/GstBuffer.sgml:
15345         * docs/gst/tmpl/old/GstCaps.sgml:
15346         * docs/gst/tmpl/old/GstClock.sgml:
15347         * docs/gst/tmpl/old/GstCompat.sgml:
15348         * docs/gst/tmpl/old/GstData.sgml:
15349         * docs/gst/tmpl/old/GstElement.sgml:
15350         * docs/gst/tmpl/old/GstEvent.sgml:
15351         * docs/gst/tmpl/old/GstIndex.sgml:
15352         * docs/gst/tmpl/old/GstStructure.sgml:
15353         * docs/gst/tmpl/old/GstTag.sgml:
15354         * docs/gst/tmpl/old/cothreads.sgml:
15355         * docs/gst/tmpl/old/cothreads_compat.sgml:
15356         * docs/gst/tmpl/old/gettext.sgml:
15357         * docs/gst/tmpl/old/gobject2gtk.sgml:
15358         * docs/gst/tmpl/old/grammar.tab.sgml:
15359         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15360         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15361         * docs/gst/tmpl/old/gst_private.sgml:
15362         * docs/gst/tmpl/old/gstaggregator.sgml:
15363         * docs/gst/tmpl/old/gstarch.sgml:
15364         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15365         * docs/gst/tmpl/old/gstbufferstore.sgml:
15366         * docs/gst/tmpl/old/gstdata_private.sgml:
15367         * docs/gst/tmpl/old/gstdisksink.sgml:
15368         * docs/gst/tmpl/old/gstdisksrc.sgml:
15369         * docs/gst/tmpl/old/gstelementfactory.sgml:
15370         * docs/gst/tmpl/old/gstextratypes.sgml:
15371         * docs/gst/tmpl/old/gstfakesink.sgml:
15372         * docs/gst/tmpl/old/gstfakesrc.sgml:
15373         * docs/gst/tmpl/old/gstfdsink.sgml:
15374         * docs/gst/tmpl/old/gstfdsrc.sgml:
15375         * docs/gst/tmpl/old/gstfilesink.sgml:
15376         * docs/gst/tmpl/old/gstfilesrc.sgml:
15377         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15378         * docs/gst/tmpl/old/gstidentity.sgml:
15379         * docs/gst/tmpl/old/gstindexfactory.sgml:
15380         * docs/gst/tmpl/old/gstmarshal.sgml:
15381         * docs/gst/tmpl/old/gstmd5sink.sgml:
15382         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15383         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15384         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15385         * docs/gst/tmpl/old/gstpipefilter.sgml:
15386         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15387         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15388         * docs/gst/tmpl/old/gstshaper.sgml:
15389         * docs/gst/tmpl/old/gstspider.sgml:
15390         * docs/gst/tmpl/old/gstspideridentity.sgml:
15391         * docs/gst/tmpl/old/gststatistics.sgml:
15392         * docs/gst/tmpl/old/gsttee.sgml:
15393         * docs/gst/tmpl/old/gsttimecache.sgml:
15394         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15395         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15396         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15397         * docs/gst/tmpl/old/types.sgml:
15398           I didn't intend to add these or check them in.
15400 2005-05-19  David Schleef  <ds@schleef.org>
15402         * configure.ac: Use -no-common everywhere.  In a sane world, it
15403           would be the default in libtool, because without it, you can't
15404           build DLLs on Windows.
15405         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15406         * docs/gst/gstreamer-sections.txt:
15407         * docs/gst/tmpl/gstcpu.sgml:
15408         * docs/gst/tmpl/gstdata.sgml:
15409         * docs/gst/tmpl/gstthread.sgml:
15411 2005-05-19  David Schleef  <ds@schleef.org>
15413         * gst/gstminiobject.c: (gst_value_set_mini_object),
15414         (gst_value_take_mini_object), (gst_value_get_mini_object):
15415         * gst/gstminiobject.h: Add GValue set/get functions.
15417 2005-05-19  Wim Taymans  <wim@fluendo.com>
15419         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15420         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15421         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15422         * gst/gstbuffer.h:
15423         * gst/gstbus.c: (gst_bus_post):
15424         * gst/gstelement.c: (gst_element_get_random_pad):
15425         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15426         Make subbufer unref the parent in finalize.
15427         some more debugging info.
15430 2005-05-19  Wim Taymans  <wim@fluendo.com>
15432         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15433         (gst_basesink_init), (gst_basesink_finalize),
15434         (gst_basesink_activate), (gst_basesink_change_state):
15435         Don't free preroll queue too early.
15437 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15439         * gst/Makefile.am:
15440         * gst/ROADMAP:
15441           Hi, I'm outdated. Please shoot me.
15443 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15445         * gst/gstpipeline.c: (gst_pipeline_send_event):
15446           Do not access variables after they have been deleted.
15448 2005-05-19  Wim Taymans  <wim@fluendo.com>
15450         * tools/gst-inspect.c: (print_plugin_features):
15451         A plugin feature does unfortunatly not use the
15452         object name yet...
15454 2005-05-18  Wim Taymans  <wim@fluendo.com>
15456         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15457         Port _span() functions to new subbuffers.
15459 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15461         * gst/gstbin.c: (gst_bin_add_func):
15462           Fix clock settery in bins when adding kids after the clock has
15463           been selected.
15465 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15467         * gst/elements/gstidentity.c: (gst_identity_class_init):
15468           Workaround until signals support GstMiniObject.
15470 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15472         * gst/gstbuffer.c:
15473         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15475 2005-05-18  Wim Taymans  <wim@fluendo.com>
15477         * gst/base/Makefile.am:
15478         * gst/base/gstadapter.c: (gst_adapter_base_init),
15479         (gst_adapter_class_init), (gst_adapter_init),
15480         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15481         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15482         (gst_adapter_flush), (gst_adapter_available),
15483         (gst_adapter_available_fast):
15484         * gst/base/gstadapter.h:
15485         Ported and added adapter to the base classes.
15487 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15489         * gst/gst.c:
15490         * gst/gstmessage.c:
15491           Make sure the class is reffed/unreffed once before threads can be
15492           used.  Fixes #304551.
15494 2005-05-17  Wim Taymans  <wim@fluendo.com>
15496         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15497         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15498         * gst/gstminiobject.c: (gst_mini_object_get_type),
15499         (gst_mini_object_free):
15500         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15501         (gst_pad_push), (gst_pad_push_event):
15502         * gst/gstqueue.c: (gst_queue_change_state):
15503         Don't queue buffers in basesink when we are flushing.
15504         Unref buffer when flushing in basesink.
15505         Flush queue when going to READY
15506         Unref buffer when _push() returns an error.
15507         Don't free MiniObject instance when refcount is incremented
15508         in _finalize() so that we can recover objects.
15510 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15512         * docs/manual/advanced-schedulers.xml:
15513         * docs/manual/appendix-checklist.xml:
15514         * docs/pwg/advanced-clock.xml:
15515         * docs/pwg/advanced-interfaces.xml:
15516         * docs/pwg/advanced-request.xml:
15517         * docs/pwg/advanced-types.xml:
15518         * docs/pwg/intro-preface.xml:
15519         * examples/plugins/example.c: (gst_example_get_type),
15520         (gst_example_class_init), (gst_example_chain),
15521         (gst_example_set_property), (gst_example_get_property),
15522         (gst_example_change_state), (plugin_init):
15523         * examples/plugins/example.h:
15524           small doc fixes
15526 2005-05-17  Wim Taymans  <wim@fluendo.com>
15528         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15529         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15530         * gst/gstqueue.c: (gst_queue_change_state):
15531         Clear queue when going to READY.
15532         Remove IN_SETCAPS flag too.
15534 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15536         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15537           Remove implicit cast from gboolean to GstElementStateReturn;
15538           make sure we still return failure in paused => ready case if
15539           the parent class fails to change state and our own stop 
15540           vfunc succeeds.
15542 2005-05-17  Wim Taymans  <wim@fluendo.com>
15544         * tools/gst-launch.c: (event_loop):
15545         Message was unreffed too soon.
15547 2005-05-16  Andy Wingo  <wingo@pobox.com>
15549         * gst/gstbin.c (sink_iterator_filter): Err... um...
15551         * check/gst/gstbin.c (test_ghost_pads): New test for the
15552         ghosting-if-elements-not-in-same-bin behavior.
15554 2005-05-16  David Schleef  <ds@schleef.org>
15556         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15557         accessing refcount directly.
15559 2005-05-15  David Schleef  <ds@schleef.org>
15561         * check/Makefile.am: remove GstData checks
15562         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15563         * gst/Makefile.am: add miniobject, remove data
15564         * gst/gst.h: add miniobject, remove data
15565         * gst/gstdata.c: remove
15566         * gst/gstdata.h: remove
15567         * gst/gstdata_private.h: remove
15568         * gst/gsttypes.h: remove GstEvent and GstMessage
15569         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15570         * gst/gstmarshal.list: change BOXED -> OBJECT
15572         Implement GstMiniObject.
15573         * gst/gstminiobject.c:
15574         * gst/gstminiobject.h:
15576         Modify to be subclasses of GstMiniObject.
15577         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15578         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15579         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15580         (gst_subbuffer_get_type), (gst_subbuffer_init),
15581         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15582         (gst_buffer_span):
15583         * gst/gstbuffer.h:
15584         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15585         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15586         (_gst_event_copy), (gst_event_new):
15587         * gst/gstevent.h:
15588         * gst/gstmessage.c: (_gst_message_initialize),
15589         (gst_message_get_type), (gst_message_class_init),
15590         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15591         (gst_message_new), (gst_message_new_error),
15592         (gst_message_new_warning), (gst_message_new_tag),
15593         (gst_message_new_state_changed), (gst_message_new_application):
15594         * gst/gstmessage.h:
15595         * gst/gstprobe.c: (gst_probe_perform),
15596         (gst_probe_dispatcher_dispatch):
15597         * gst/gstprobe.h:
15598         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15599         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15600         (_gst_query_copy), (gst_query_new):
15602         Update elements for GstData -> GstMiniObject changes
15603         * gst/gstquery.h:
15604         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15605         (gst_queue_chain), (gst_queue_loop):
15606         * gst/elements/gstbufferstore.c:
15607         (gst_buffer_store_add_buffer_func),
15608         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15609         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15610         (gst_fakesink_render):
15611         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15612         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15613         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15614         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15615         (gst_filesrc_create_read):
15616         * gst/elements/gstidentity.c: (gst_identity_class_init):
15617         * gst/elements/gsttypefindelement.c:
15618         (gst_type_find_element_src_event), (free_entry_buffers),
15619         (gst_type_find_element_handle_event):
15620         * libs/gst/dataprotocol/dataprotocol.c:
15621         (gst_dp_header_from_buffer):
15622         * libs/gst/dataprotocol/dataprotocol.h:
15623         * libs/gst/dataprotocol/dp-private.h:
15625 2005-05-15  David Schleef  <ds@schleef.org>
15627         * gst/elements/gstelements.c: Don't include headers that were
15628         just removed.
15630 2005-05-15  David Schleef  <ds@schleef.org>
15632         * gst/elements/Makefile.am: Remove some elements that don't
15633         need to be in the core (or even exist at all).
15634         * gst/elements/gstaggregator.c:
15635         * gst/elements/gstaggregator.h:
15636         * gst/elements/gstmd5sink.c:
15637         * gst/elements/gstmd5sink.h:
15638         * gst/elements/gstmultifilesrc.c:
15639         * gst/elements/gstmultifilesrc.h:
15640         * gst/elements/gstpipefilter.c:
15641         * gst/elements/gstpipefilter.h:
15642         * gst/elements/gstshaper.c:
15643         * gst/elements/gstshaper.h:
15644         * gst/elements/gststatistics.c:
15645         * gst/elements/gststatistics.h:
15646         * po/POTFILES.in: Remove above files.
15648 2005-05-14  Andy Wingo  <wingo@pobox.com>
15650         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15651         so as to get the refs right.
15652         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15653         unreffing objects that don't pass the filter.
15655         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15656         gst_element_set_bus.
15657         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15658         normal cases, this will destroy the bus.
15660         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15661         object.
15663         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15664         has no sinks.
15666 2005-05-13  Andy Wingo  <wingo@pobox.com>
15668         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15669         gst_pad_link, call pad_link_maybe_ghosting,
15670         (pad_link_maybe_ghosting): Links pads, making sure that the
15671         elements being linked are in the same bin.
15672         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15673         Helpers for pad_link_maybe_ghosting.
15675 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15677         * configure.ac:
15678           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15680 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15682         * docs/design/part-element-source.txt:
15683           Mention GstPushSrc
15685 2005-05-12  Wim Taymans  <wim@fluendo.com>
15687         * gst/base/gstbasesink.c: (gst_basesink_init),
15688         (gst_basesink_activate):
15689         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15690         (gst_basesrc_is_seekable):
15691         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15692         (bin_element_is_sink), (gst_bin_change_state):
15693         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15694         * gst/gstelement.h:
15695         Identify sinks by their flag to avoid overly complicated
15696         checks (fow now).
15697         Do state changes even for elements not reachable from the
15698         sinks.
15699         BaseSink is a sink now :)
15700         Some more debugging info in the basesrc.
15703 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15705         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15706           Implement _query on a bin, similar to _send_event.
15708 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15710         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15711           Discont event offset format should be GST_FORMAT_BYTES,
15712           not GST_FORMAT_TIME.
15714 2005-05-12  Wim Taymans  <wim@fluendo.com>
15716         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15717         Same fix as Ronald's but without the signal. 
15719 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15721         * gst/gstutils.c: (gst_element_query_position):
15722           No, an element is not a pad.
15724 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15726         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15727         (gst_bin_get_state):
15728           If a child is removed from a bin while we remove the child from
15729           the bin and while we're retrieving its state, signal this to the
15730           get_state function so we abort the wait (instead of waiting for
15731           a timeout) and can immediately re-iterate over all other elements.
15733 2005-05-12  Wim Taymans  <wim@fluendo.com>
15735         * gst/base/Makefile.am:
15736         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15737         (gst_basesrc_start):
15738         * gst/base/gstbasesrc.h:
15739         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15740         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15741         (gst_pushsrc_init), (gst_pushsrc_create):
15742         * gst/base/gstpushsrc.h:
15743         Added is_seekable to BaseSrc
15744         Added simple PushSrc.
15746 2005-05-11  Wim Taymans  <wim@fluendo.com>
15748         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15749         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15750         (gst_element_link_pads), (gst_element_query_position),
15751         (gst_element_query_convert), (intersect_caps_func),
15752         (gst_pad_query_position), (gst_pad_query_convert):
15753         Fix refcounting in utils function.
15754         No point in trying to activate a pad when it's added, it could
15755         be added from the state change function and then we deadlock, the
15756         element has to decide what to do.
15758 2005-05-10  Andy Wingo  <wingo@pobox.com>
15760         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15761         *all* the arguments.
15763         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15764         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15765         lock (according to the docs -- if this is wrong change the docs).
15767         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15768         flush messages in the NULL state.
15770         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15771         message immediately and return.
15772         (gst_bus_set_flushing): New function. If a bus is flushing, it
15773         flushes out any queued messages and immediately unrefs new
15774         messages. This is so when an element goes to NULL, all of the
15775         unhandled messages coming from it can be freed, and their
15776         references to the element dropped. In other words: message source
15777         ref considered harmful :P
15779         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15780         we're finished with it.
15782         * gst/gstmessage.c (gst_message_new_state_changed): 
15784 2005-05-10  Wim Taymans  <wim@fluendo.com>
15786         * gst/gstvalue.c: (gst_value_compare_flags),
15787         (gst_value_serialize_flags), (gst_value_deserialize_flags),
15788         (_gst_value_initialize):
15789         Added flags serialize/deserialize/compare code.
15791 2005-05-09  Andy Wingo  <wingo@pobox.com>
15793         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15794         Intersect the peer's caps with our caps.
15796 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15798         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15799         * gst/elements/gsttypefindelement.c: (find_peek):
15800           Handle negative offsets better. Fixes decodebin.
15802 2005-05-09  Wim Taymans  <wim@fluendo.com>
15804         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15805         (gst_base_transform_event):
15806         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15807         Implement accept_caps.
15808         Fix silly lock/unlock mismatch in base class.
15810 2005-05-09  Wim Taymans  <wim@fluendo.com>
15812         * docs/design/draft-push-pull.txt:
15813         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15814         * gst/elements/gstfilesink.c: (gst_filesink_init),
15815         (gst_filesink_query):
15816         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15817         (gst_type_find_handle_src_query), (find_element_get_length):
15818         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15819         * gst/gstelement.h:
15820         * gst/gstmessage.c:
15821         * gst/gstmessage.h:
15822         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15823         (gst_real_pad_get_caps_unlocked),
15824         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15825         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15826         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15827         (gst_real_pad_dispose), (gst_real_pad_finalize),
15828         (gst_pad_load_and_link), (gst_pad_save_thyself),
15829         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15830         (gst_pad_check_pull_range), (gst_pad_pull_range),
15831         (gst_pad_template_get_type), (gst_pad_template_class_init),
15832         (gst_pad_template_init), (gst_pad_template_dispose),
15833         (name_is_valid), (gst_static_pad_template_get),
15834         (gst_pad_template_new), (gst_static_pad_template_get_caps),
15835         (gst_pad_template_get_caps), (gst_pad_set_element_private),
15836         (gst_pad_get_element_private), (gst_pad_start_task),
15837         (gst_pad_pause_task), (gst_pad_stop_task),
15838         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
15839         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
15840         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
15841         (gst_ghost_pad_new):
15842         * gst/gstpad.h:
15843         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
15844         (gst_query_new_position), (gst_query_set_position),
15845         (gst_query_parse_position), (gst_query_new_convert),
15846         (gst_query_set_convert), (gst_query_parse_convert):
15847         * gst/gstquery.h:
15848         * gst/gstqueryutils.c:
15849         * gst/gstqueryutils.h:
15850         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15851         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15852         (gst_queue_handle_src_query):
15853         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15854         (gst_element_query_position), (gst_element_query_convert),
15855         (intersect_caps_func), (gst_pad_query_position),
15856         (gst_pad_query_convert):
15857         * gst/gstutils.h:
15858         * tools/gst-inspect.c: (print_pad_info):
15859         * tools/gst-xmlinspect.c: (print_element_info):
15860         Remove old query functions. Ported old code.
15861         Added position/convert helper functions to gstutils.
15862         Reordered gstpad.c code, grouping relevant things.
15863         Remove gst_message_new(), always need to speficy a specific
15864         message.
15867 2005-05-09  Andy Wingo  <wingo@pobox.com>
15869         * gst/gstiterator.h: Add some includes.
15871         * gst/gstqueryutils.h: Include more headers.
15873         * gst/gstpad.h:
15874         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15875         some uses of gst_pad_query.
15877         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15878         NULL out parameters.
15879         (gst_query_new_position): New proc, allocates a new position
15880         query.
15882         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15883         gstqueryutils.c to the build.
15885         * gst/gststructure.c (gst_structure_set_valist): Implement with
15886         the generic G_VALUE_COLLECT.
15887         
15888 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15890         * gst/Makefile.am: (gst_headers):
15891         Added gstqueryutils.h to the list of headers to install, that was
15892         a 'nachty' move wingo :)
15894 2005-05-06  Andy Wingo  <wingo@pobox.com>
15896         * gst/gstquery.h
15897         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15898         GstData, init a memchunk.
15899         (standard_definitions): Add a few query types, deprecate a few.
15900         (gst_query_get_type): New proc.
15901         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15902         implementation.
15903         (gst_query_new_application, gst_query_get_structure): New public
15904         procs.
15906         * docs/design/draft-query.txt: Removed LINKS from the query types,
15907         because all the rest can be dispatched to other pads -- seemed
15908         ugly to have a query that couldn't be dispatched. internal_links
15909         is fine as a pad method.
15911         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15912         in gstpad.c, but maintain binary compatibility for the moment.
15913         Will fix before 0.9 is out.
15915         * gst/gstqueryutils.c: 
15916         * gst/gstqueryutils.h: New files, implement 3 methods for each
15917         query type: parse_query, parse_response, and set. Probably need an
15918         allocator as well.
15920         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15922         * gst/elements/gstfilesink.c (gst_filesink_query2):
15923         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15924         query_types, and formats methods.
15926         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15927         (gst_pad_set_query2_function): New functions.
15928         (gst_real_pad_init): Set query2_default as the default query2
15929         function. Basically just dispatches to internally linked pads.
15931         Needs review!
15932         
15933         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15934         without using the atomic operations. Only one thread can possibly
15935         be accessing the data at this point. Changed so as to avoid
15936         gst_atomic operations.
15938 2005-05-06  Wim Taymans  <wim@fluendo.com>
15940         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
15941         Also set caps if we use the fallback buffer alloc.
15943 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
15945         * docs/gst/Makefile.am:
15946         * docs/gst/gstreamer-docs.sgml:
15947         * docs/gst/gstreamer-sections.txt:
15948         * docs/gst/tmpl/gstatomic.sgml:
15949         * docs/gst/tmpl/gstmemchunk.sgml:
15950         * testsuite/elements/struct_i386.h:
15951         * win32/GStreamer.vcproj:
15952         * win32/Makefile:
15953           Purge GstAtomic stuff from docs and win32 makefiles as well
15955 2005-05-06  Wim Taymans  <wim@fluendo.com>
15957         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
15958         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
15959         * gst/gstpad.c: (gst_pad_peer_get_caps):
15960         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15961         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15962         (gst_queue_src_activate), (gst_queue_change_state):
15963         * gst/gstqueue.h:
15964         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15965         (intersect_caps_func):
15966         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
15967         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
15968         Some fixes for the peer_get_caps() change.
15970 2005-05-06  Wim Taymans  <wim@fluendo.com>
15972         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15973         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
15974         (gst_basesink_activate):
15975         Actually do something with error codes returned from the push
15976         functions.
15978 2005-05-06  Wim Taymans  <wim@fluendo.com>
15980         * docs/design/part-element-sink.txt:
15981         * docs/design/part-element-source.txt:
15982         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15983         (gst_basesink_event), (gst_basesink_activate):
15984         * gst/base/gstbasesink.h:
15985         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
15986         (gst_basesrc_activate):
15987         * gst/base/gstbasesrc.h:
15988         * gst/gstelement.c: (gst_element_pads_activate):
15989         Some more documentation.
15990         Fixed scheduling decision in _pads_activate().
15992 2005-05-05  Andy Wingo  <wingo@pobox.com>
15994         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
15995         the test suite.
15997 2005-05-05  Wim Taymans  <wim@fluendo.com>
15999         * gst/base/Makefile.am:
16000         * gst/base/gstbasesink.h:
16001         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16002         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16003         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16004         (gst_collectpads_class_init), (gst_collectpads_init),
16005         (gst_collectpads_finalize), (gst_collectpads_new),
16006         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16007         (find_pad), (gst_collectpads_remove_pad),
16008         (gst_collectpads_is_active), (gst_collectpads_collect),
16009         (gst_collectpads_collect_range), (gst_collectpads_start),
16010         (gst_collectpads_stop), (gst_collectpads_peek),
16011         (gst_collectpads_pop), (gst_collectpads_available),
16012         (gst_collectpads_read), (gst_collectpads_flush),
16013         (gst_collectpads_chain):
16014         * gst/base/gstcollectpads.h:
16015         * gst/elements/Makefile.am:
16016         * gst/elements/gstelements.c:
16017         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16018         (gst_fakesink_get_times), (gst_fakesink_event),
16019         (gst_fakesink_preroll), (gst_fakesink_render):
16020         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16021         (gst_filesink_init), (gst_filesink_set_location),
16022         (gst_filesink_open_file), (gst_filesink_close_file),
16023         (gst_filesink_pad_query), (gst_filesink_event),
16024         (gst_filesink_render), (gst_filesink_change_state):
16025         * gst/elements/gstfilesink.h:
16026         Added object to help in making collect pad based elements.
16027         Ported filesink.
16028         Make event function in sink baseclass return gboolean.
16030 2005-05-05  Wim Taymans  <wim@fluendo.com>
16032         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16033         (gst_bin_get_by_name):
16034         * gst/gstbuffer.h:
16035         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16036         (gst_clock_finalize):
16037         * gst/gstdata.c: (gst_data_replace):
16038         * gst/gstdata.h:
16039         * gst/gstelement.c: (gst_element_request_pad),
16040         (gst_element_pads_activate):
16041         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16042         (gst_object_unref):
16043         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16044         (gst_pad_set_checkgetrange_function),
16045         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16046         (gst_pad_check_pull_range), (gst_pad_pull_range),
16047         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16048         (gst_pad_pause_task), (gst_pad_stop_task):
16049         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16050         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16051         Fix name lookup in GstBin.
16052         Added _data_replace() function and _buffer_replace()
16053         Use finalize method to clean up clock.
16054         Fix refcounting on request pads.
16055         Fix pad schedule mode error.
16056         Some more object refcounting debug info,
16059 2005-05-04  Andy Wingo <wingo@pobox.com>
16061         * check/Makefile.am:
16062         * docs/gst/tmpl/gstatomic.sgml:
16063         * docs/gst/tmpl/gstplugin.sgml:
16064         * gst/base/gstbasesink.c: (gst_basesink_activate):
16065         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16066         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16067         (gst_basesrc_query), (gst_basesrc_set_property),
16068         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16069         (gst_basesrc_activate):
16070         * gst/base/gstbasesrc.h:
16071         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16072         (gst_base_transform_src_activate):
16073         * gst/elements/gstelements.c:
16074         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16075         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16076         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16077         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16078         (gst_type_find_element_checkgetrange),
16079         (gst_type_find_element_activate):
16080         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16081         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16082         (gst_caps_load_thyself):
16083         * gst/gstelement.c: (gst_element_pads_activate),
16084         (gst_element_save_thyself), (gst_element_restore_thyself):
16085         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16086         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16087         * gst/gstpad.h:
16088         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16089         (gst_xml_parse_file), (gst_xml_parse_memory),
16090         (gst_xml_get_element), (gst_xml_make_element):
16091         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16092         (_file_index_id_save_xml), (gst_file_index_commit):
16093         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16094         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16095         (load_paths):
16096         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16097         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16098         * tools/gst-complete.c: (main):
16099         * tools/gst-compprep.c: (main):
16100         * tools/gst-inspect.c: (print_element_properties_info):
16101         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16102         * tools/gst-xmlinspect.c: (print_element_properties):
16103         GCC 4 fixen.
16104         
16105 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16107         * gst/gstplugin.c: (gst_plugin_check_module),
16108         (gst_plugin_check_file), (gst_plugin_load_file):
16109             apply patch from #172526 to make register work on MacOSX
16111 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16113         * docs/gst/tmpl/gstconfig.sgml:
16114         * gst/gstconfig.h.in:
16115           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16116         * testsuite/debug/printf_extension.c: (main):
16117           Do not use GST_PTR_FORMAT on pointers to types with
16118           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16119         * testsuite/elements/property.h:
16120           use correct printf format
16122 2005-05-02  Wim Taymans  <wim@fluendo.com>
16124         * docs/design/draft-push-pull.txt:
16125         * docs/design/draft-query.txt:
16126         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16127         (gst_basesrc_start):
16128         Added draft for new query API.
16129         Added draft for better selecting scheduling methods.
16130         Make basesrc ignore length if the subclass does not support
16131         it.
16133 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16135         * gst/Makefile.am:
16136           possible fixes for automake-1.5 - _LIBADD is reserved
16138 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16140         * docs/faq/Makefile.am:
16141         * docs/manual/Makefile.am:
16142         * docs/manuals.mak:
16143         * docs/pwg/Makefile.am:
16144         * gst/Makefile.am:
16145           possible fixes for automake-1.5
16147 2005-04-28  Wim Taymans  <wim@fluendo.com>
16149         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16150         (gst_basesink_pad_getcaps), (gst_basesink_init),
16151         (gst_basesink_do_sync):
16152         * gst/gstclock.c: (gst_clock_entry_new):
16153         * gst/gstevent.c: (gst_event_discont_get_value):
16154         * gst/gstpipeline.c: (pipeline_bus_handler),
16155         (gst_pipeline_change_state):
16156         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16157         Better debugging of clocking info.
16158         Allow NULL values when getting discont values.
16160 2005-04-27  Wim Taymans  <wim@fluendo.com>
16162         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16163         * check/gst/gstpad.c: (gst_pad_suite):
16164         Increase timeout for checks.
16166 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16168         * check/Makefile.am:
16169           fix the broken rule for cleanup.  Apparently this rule is
16170           only needed on FC2, so maybe this warrants further autotool
16171           inspection.
16173 2005-04-26  Wim Taymans  <wim@fluendo.com>
16175         * gst/gsttrashstack.h:
16176         Ooohh. a nasty one! After having a failed pop() from the stack,
16177         it's possible that the stack is empty. In that case, don't
16178         follow the NULL pointer.
16180 2005-04-25  Wim Taymans  <wim@fluendo.com>
16182         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16183         (gst_pad_set_checkgetrange_function),
16184         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16185         (gst_pad_check_pull_range), (gst_pad_pull_range),
16186         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16187         (gst_pad_pause_task), (gst_pad_stop_task):
16188         * gst/gstplugin.c: (gst_plugin_load):
16189         * gst/gstplugin.h:
16190         Remove gst_library_load as it does more harm than good with
16191         the new g_module flags.
16192         Revert bogus caps template check in pad linking, pad caps
16193         are important when linking not the template, which is more
16194         general than the current caps.
16196 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16198         * gst/autoplug/.cvsignore:
16199         * gst/autoplug/Makefile.am:
16200         * gst/autoplug/gstsearchfuncs.c:
16201         * gst/autoplug/gstsearchfuncs.h:
16202         * gst/autoplug/gstspider.c:
16203         * gst/autoplug/gstspider.h:
16204         * gst/autoplug/gstspideridentity.c:
16205         * gst/autoplug/gstspideridentity.h:
16206         * gst/autoplug/spidertest.c:
16207           Die, spider, die.
16209 2005-04-25  Wim Taymans  <wim@fluendo.com>
16211         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16212         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16213         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16214         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16215         * gst/gstpad.h:
16216         Added stubs for unimplemented functions. 
16218 2005-04-24  David Schleef  <ds@schleef.org>
16220         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16221         please fix.
16223 2005-04-24  David Schleef  <ds@schleef.org>
16225         Convert everything from GstAtomicInt to g_atomic_int_*, and
16226         remove gstatomic.
16227         * gst/Makefile.am:
16228         * gst/gstatomic.c:
16229         * gst/gstatomic.h:
16230         * gst/gstatomic_impl.h:
16231         * gst/gstbuffer.c:
16232         * gst/gstcaps.c:
16233         * gst/gstcaps.h:
16234         * gst/gstclock.c:
16235         * gst/gstclock.h:
16236         * gst/gstdata.c:
16237         * gst/gstdata.h:
16238         * gst/gstdata_private.h:
16239         * gst/gstevent.c:
16240         * gst/gstinfo.c:
16241         * gst/gstinfo.h:
16242         * gst/gstmessage.c:
16243         * gst/gstobject.c:
16244         * gst/gstobject.h:
16245         * gst/gststructure.c:
16246         * gst/gststructure.h:
16247         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16248         * gst/gstutils.h:
16250 2005-04-24  David Schleef  <ds@schleef.org>
16252         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16253         make the regressions tests work.  Remove some code that is no
16254         longer true.
16255         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16256         Disable warning for pads without templates.
16258 2005-04-24  David Schleef  <ds@schleef.org>
16260         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16261         functions that handle filtered links.
16262         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16263         removed functions.
16264         * gst/gstutils.c: Fix/remove utility functions that handle
16265         filtered caps.
16266         * gst/gstutils.h:
16267         * gst/gstvalue.c: Add serialization/deserialization of caps
16268         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16269         requires fixing so that the filter caps notation creates
16270         a capsfilter element and sets the filter_caps property.  I
16271         think everyone probably wants to keep the shorthand notation.
16272         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16273         * docs/gst/tmpl/gstpad.sgml:
16275         * gst/elements/gstelements.c: Register capsfilter element.
16276         * gst/Makefile.am: fix spacing
16277         * docs/random/ds/0.9-suggested-changes: random
16279 2005-04-23  David Schleef  <ds@schleef.org>
16281         * gst/elements/Makefile.am:
16282         * gst/elements/gstcapsfilter.c: New element that acts like an
16283         identity, but filters caps.  Will eventually replace filtered
16284         caps in pad linking.
16285         * gst/gstutils.c: (gst_element_create_all_pads): New function
16286         to create all the ALWAYS pads that are registered with an
16287         element class.  This functionality should eventually be
16288         merged in with GstElement initialization.
16289         * gst/gstutils.h:
16290         * testsuite/trigger/README: part of trigger test code that should
16291         have been checked in a long time ago.
16293 2005-04-23  David Schleef  <ds@schleef.org>
16295         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16296         needed with new versions of libtool (nobody will confirm this),
16297         and hard to carry around.
16298         * gst/autoplug/Makefile.am:
16299         * gst/base/Makefile.am:
16300         * gst/elements/Makefile.am:
16301         * gst/indexers/Makefile.am:
16302         * gst/schedulers/Makefile.am:
16303         * libs/gst/bytestream/Makefile.am:
16304         * libs/gst/control/Makefile.am:
16305         * libs/gst/dataprotocol/Makefile.am:
16306         * libs/gst/getbits/Makefile.am:
16308 2005-04-21  Wim Taymans  <wim@fluendo.com>
16310         * docs/design/draft-push-pull.txt:
16311         * docs/design/part-MT-refcounting.txt:
16312         * docs/design/part-TODO.txt:
16313         * docs/design/part-caps.txt:
16314         * docs/design/part-events.txt:
16315         * docs/design/part-gstbus.txt:
16316         * docs/design/part-gstpipeline.txt:
16317         * docs/design/part-messages.txt:
16318         * docs/design/part-push-pull.txt:
16319         * docs/design/part-query.txt:
16320         Some more docs.
16322 2005-04-21  Wim Taymans  <wim@fluendo.com>
16324         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16325         (gst_message_new), (gst_message_new_error),
16326         (gst_message_new_warning), (gst_message_new_tag),
16327         (gst_message_new_state_changed), (gst_message_new_application),
16328         (gst_message_get_structure):
16329         * gst/gstmessage.h:
16330         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16331         (gst_structure_copy_conditional):
16332         Use parent refcount in GstMessage to ensure GstStructure
16333         consistency.
16334         Cleaned up headers a bit.
16335         
16337 2005-04-20  Wim Taymans  <wim@fluendo.com>
16339         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16340         (gst_basesink_pad_getcaps), (gst_basesink_init),
16341         (gst_basesink_chain_unlocked):
16342         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16343         (gst_type_find_helper):
16344         * gst/elements/gsttypefindelement.c:
16345         (gst_type_find_element_have_type), (gst_type_find_element_init),
16346         (stop_typefinding), (gst_type_find_element_handle_event),
16347         (find_suggest), (gst_type_find_element_chain),
16348         (gst_type_find_element_checkgetrange),
16349         (gst_type_find_element_getrange), (do_typefind),
16350         (gst_type_find_element_activate):
16351         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16352         (gst_buffer_default_free), (gst_buffer_default_copy),
16353         (gst_buffer_set_caps):
16354         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16355         (gst_caps_replace):
16356         * gst/gstmessage.c: (gst_message_new),
16357         (gst_message_new_state_changed):
16358         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16359         (gst_pad_set_checkgetrange_function),
16360         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16361         (gst_pad_set_caps), (gst_pad_check_pull_range),
16362         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16363         * gst/gstpad.h:
16364         * gst/gsttypefind.c: (gst_type_find_register):
16365         Make gst_caps_replace() work like other _replace() functions.
16366         Use _caps_replace() where possible.
16367         Make sure _message_new() initialises its field.
16368         Add gst_static_pad_template_get_caps()
16371 2005-04-18  Andy Wingo  <wingo@pobox.com>
16373         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16374         on the peer, not the pad. I think that was a typo. Pass an extra
16375         arg to see if random access is possible. Activate the pads as
16376         PULL_RANGE if possible.
16378         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16380         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16381         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16382         to PROP_....
16384 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16386         * docs/faq/using.xml:
16387           Add note on gstreamer-properties (#154996).
16389 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16391         * docs/random/bbb/optional-properties:
16392           Some analysis on optional properties.
16394 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16396         * docs/gst/tmpl/gstelementfactory.sgml:
16397         * gst/gstelement.h:
16398         * gst/gstelementfactory.c: (gst_element_factory_init),
16399         (gst_element_factory_cleanup), (gst_element_register),
16400         (__gst_element_factory_add_static_pad_template),
16401         (gst_element_factory_get_static_pad_templates),
16402         (gst_element_factory_can_src_caps),
16403         (gst_element_factory_can_sink_caps):
16404         * gst/registries/Makefile.am:
16405         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16406         (gst_xml_registry_class_init), (gst_xml_registry_init),
16407         (gst_xml_registry_new), (gst_xml_registry_set_property),
16408         (gst_xml_registry_get_property), (get_time), (make_dir),
16409         (gst_xml_registry_get_perms_func),
16410         (plugin_times_older_than_recurse), (plugin_times_older_than),
16411         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16412         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16413         (add_to_char_array), (read_string), (read_uint), (read_enum),
16414         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16415         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16416         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16417         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16418         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16419         (gst_xml_registry_rebuild):
16420         * gst/registries/gstlibxmlregistry.h:
16421         * tools/gst-compprep.c: (main):
16422         * tools/gst-inspect.c: (print_pad_templates_info):
16423         * tools/gst-xmlinspect.c: (print_element_info):
16424           Use libxml2 for registry parsing, use staticpadtemplates in
16425           elementfactories. Makes gst_init() +/- 10x faster.
16427 2005-04-12  Wim Taymans  <wim@fluendo.com>
16429         * gst/base/Makefile.am:
16430         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16431         (gst_basesink_pad_getcaps), (gst_basesink_init),
16432         (gst_basesink_event), (gst_basesink_change_state):
16433         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16434         (gst_basesrc_init), (gst_basesrc_query),
16435         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16436         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16437         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16438         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16439         (gst_basesrc_stop), (gst_basesrc_activate),
16440         (gst_basesrc_change_state):
16441         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16442         (helper_find_suggest), (gst_type_find_helper):
16443         * gst/base/gsttypefindhelper.h:
16444         * gst/elements/Makefile.am:
16445         * gst/elements/gstelements.c:
16446         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16447         (gst_fakesink_get_times), (gst_fakesink_event),
16448         (gst_fakesink_preroll), (gst_fakesink_render):
16449         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16450         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16451         (gst_fakesrc_get_property), (gst_fakesrc_create),
16452         (gst_fakesrc_start), (gst_fakesrc_stop):
16453         * gst/elements/gstfakesrc.h:
16454         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16455         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16456         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16457         (gst_filesrc_create_read), (gst_filesrc_create),
16458         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16459         (gst_filesrc_start):
16460         * gst/elements/gsttypefindelement.c:
16461         (gst_type_find_element_have_type), (gst_type_find_element_init),
16462         (start_typefinding), (stop_typefinding), (push_buffer_store),
16463         (gst_type_find_element_handle_event),
16464         (gst_type_find_element_chain),
16465         (gst_type_find_element_checkgetrange),
16466         (gst_type_find_element_getrange), (do_typefind),
16467         (gst_type_find_element_activate),
16468         (gst_type_find_element_change_state):
16469         * gst/elements/gsttypefindelement.h:
16470         * gst/gstpipeline.c: (pipeline_bus_handler):
16471         Added typefind helper.
16472         Small preroll fix in the base sink.
16473         Disable typefind code in basesrc.
16474         Crude port of typefindelement.
16475         Fakesrc cleanups.
16478 2005-04-11  Wim Taymans  <wim@fluendo.com>
16480         * check/gst/gstbus.c: (gstbus_suite):
16481         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16482         * check/gstcheck.h:
16483           Fix up the timeout so that the test does not fail.
16485 2005-04-06  Wim Taymans  <wim@fluendo.com>
16487         * gst/base/README:
16488         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16489         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16490         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16491         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16492         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16493         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16494         (gst_basesrc_stop), (gst_basesrc_activate),
16495         (gst_basesrc_change_state), (basesrc_find_peek),
16496         (basesrc_find_suggest), (gst_basesrc_type_find):
16497         * gst/base/gstbasesrc.h:
16498         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16499         (gst_filesrc_class_init), (gst_filesrc_init),
16500         (gst_filesrc_finalize), (gst_filesrc_set_location),
16501         (gst_filesrc_set_property), (gst_filesrc_get_property),
16502         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16503         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16504         (gst_filesrc_create_read), (gst_filesrc_create),
16505         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16506         * gst/elements/gstfilesrc.h:
16507         * gst/gstelement.c: (gst_element_get_state_func),
16508         (gst_element_lost_state), (gst_element_pads_activate):
16509         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16510         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16511         (gst_pad_pull_range):
16512         * gst/gstpad.h:
16513         More work on the generic source base class, implement seeking,
16514         query.
16515         Make filesrc extend the base source class.
16516         Added gst_pad_set_checkgetrange_function to GstPad.
16518 2005-04-06  Andy Wingo  <wingo@pobox.com>
16520         * pkgconfig/gstreamer-base.pc.in:
16521         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16523         * pkgconfig/Makefile.am:
16524         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16526 2005-04-04  Wim Taymans  <wim@fluendo.com>
16528         * gst/base/Makefile.am:
16529         * gst/base/README:
16530         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16531         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16532         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16533         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16534         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16535         (gst_basesrc_base_init), (gst_basesrc_class_init),
16536         (gst_basesrc_init), (gst_basesrc_get_formats),
16537         (gst_basesrc_get_query_types), (gst_basesrc_query),
16538         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16539         (gst_basesrc_set_property), (gst_basesrc_get_property),
16540         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16541         (gst_basesrc_loop), (gst_basesrc_activate),
16542         (gst_basesrc_change_state):
16543         * gst/base/gstbasesrc.h:
16544         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16545         (gst_fakesrc_class_init), (gst_fakesrc_init),
16546         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16547         (gst_fakesrc_get_property), (gst_fakesrc_create):
16548         * gst/elements/gstfakesrc.h:
16549         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16550         (gst_filesrc_open_file), (gst_filesrc_loop),
16551         (gst_filesrc_activate), (filesrc_find_peek),
16552         (gst_filesrc_type_find):
16553         Made base source class, make fakesrc extend it.
16554         Add comments to basesink class.
16555         Some filesrc cleanup.
16557 2005-03-31  David Schleef  <ds@schleef.org>
16559         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16560         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16561         expected to link against libgstreamer.
16562         * gst/base/Makefile.am: link against libgstreamer
16563         * gst/elements/Makefile.am: same
16565 2005-03-31  Andy Wingo  <wingo@pobox.com>
16567         * tests/instantiate/Makefile.am:
16568         * tests/instantiate/caps.c: Add test to test speed of caps copy
16569         and free.
16571         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16572         GMemChunk to be fair.
16574         * gst/gsttrashstack.h: Remove warning about using the fallback
16575         trash stack implementation, it's still faster than malloc.
16577 2005-03-30  Andy Wingo  <wingo@pobox.com>
16579         * tests/complexity.c: Add a copyright.
16581 2005-03-31  Wim Taymans  <wim@fluendo.com>
16583         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16584         (gst_base_transform_class_init), (gst_base_transform_init),
16585         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16586         (gst_base_transform_get_property),
16587         (gst_base_transform_sink_activate),
16588         (gst_base_transform_src_activate),
16589         (gst_base_transform_change_state):
16590         * gst/base/gstbasetransform.h:
16591         * gst/elements/gstidentity.c: (gst_identity_class_init),
16592         (gst_identity_event), (gst_identity_check_perfect),
16593         (gst_identity_transform), (gst_identity_start),
16594         (gst_identity_stop):
16595         Added start/stop methods to transform base class so subclasses 
16596         don't need to deal with state changes even.
16598 2005-03-31  Wim Taymans  <wim@fluendo.com>
16600         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16601         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16602         * gst/gstevent.h:
16603         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16604         (gst_pad_pull_range):
16605         Added rate to the discont event to prepare for variable speed
16606         and reverse playback.
16608 2005-03-29  David Schleef  <ds@schleef.org>
16610         * configure.ac:
16611         * testsuite/trigger/Makefile.am:
16612         * testsuite/trigger/trigger.c: A little example program to show
16613         how trigger-based elements can work.
16615 2005-03-29  Wim Taymans  <wim@fluendo.com>
16617         * gst/base/Makefile.am:
16618         * gst/base/README:
16619         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16620         (gst_basesink_base_init), (gst_basesink_class_init),
16621         (gst_basesink_pad_getcaps), (gst_basesink_init),
16622         (gst_basesink_activate), (gst_basesink_change_state):
16623         * gst/base/gstbasesink.h:
16624         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16625         (gst_base_transform_base_init), (gst_base_transform_finalize),
16626         (gst_base_transform_class_init), (gst_base_transform_init),
16627         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16628         (gst_base_transform_event), (gst_base_transform_getrange),
16629         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16630         (gst_base_transform_set_property),
16631         (gst_base_transform_get_property),
16632         (gst_base_transform_sink_activate),
16633         (gst_base_transform_src_activate),
16634         (gst_base_transform_change_state):
16635         * gst/base/gstbasetransform.h:
16636         * gst/elements/gstidentity.c: (gst_identity_finalize),
16637         (gst_identity_class_init), (gst_identity_init),
16638         (gst_identity_event), (gst_identity_check_perfect),
16639         (gst_identity_transform), (gst_identity_set_property),
16640         (gst_identity_get_property), (gst_identity_change_state):
16641         * gst/elements/gstidentity.h:
16642         * gst/gstelement.c: (gst_element_get_state_func),
16643         (gst_element_lost_state), (gst_element_pads_activate):
16644         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16645         (gst_pad_check_pull_range), (gst_pad_pull_range):
16646         * gst/gstpad.h:
16647         Simplify pad activation.
16648         Added function to check if pull_range can be performed.
16649         Error out when pulling inactive or flushing pads.
16650         Removed const from refcounted types as it does not make sense.
16651         Simplify pad templates in basesink
16652         Added base class for simple 1-to-1 transforms.
16653         Make identity subclass the base transform.
16655 2005-03-29  Andy Wingo  <wingo@pobox.com>
16657         * docs/libs/gstreamer-libs-overrides.txt: 
16658         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16659         really don't understand what's going on, but like whatever. I want
16660         green buildbot!
16662         * docs/gst/Makefile.am:
16663         * docs/libs/Makefile.am: Dist the overrides files.
16665         * check/Makefile.am (clean-local): Remove .libs directories.
16667         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16668         elements to EXTRA_DIST, so po/ files are happy.
16670         * po/POTFILES.in: Er, remove it here.
16672         * po/POTFILES: Remove gstspider.c.
16674         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16676         * docs/libs/gstreamer-libs-docs.sgml: 
16677         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16678         bytestream.
16680         * tests/complexity.c (main): Set the length of the preroll queue
16681         on the sinks to prevent a lockup.
16683         * libs/gst/dataprotocol/Makefile.am: 
16684         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16685         the same as the one in check/gst-libs/gdp.c.
16687         * po/, docs/gst/: Commit automatic changes to docs and po files.
16689         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16690         the versioned libgstbase.
16692         * check/Makefile.am: Depend on an unversioned gst-register, seems
16693         to make autoconf happier.
16695         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16697 2005-03-28  Wim Taymans  <wim@fluendo.com>
16699         * configure.ac:
16700         * docs/design/part-gstelement.txt:
16701         * docs/design/part-negotiation.txt:
16702         * docs/design/part-preroll.txt:
16703         * docs/design/part-scheduling.txt:
16704         * docs/design/part-states.txt:
16705         * gst/Makefile.am:
16706         * gst/base/Makefile.am:
16707         * gst/base/README:
16708         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16709         (gst_basesink_base_init), (gst_basesink_class_init),
16710         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16711         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16712         (gst_basesink_set_pad_functions),
16713         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16714         (gst_basesink_set_property), (gst_basesink_get_property),
16715         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16716         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16717         (gst_basesink_preroll_queue_push),
16718         (gst_basesink_preroll_queue_empty),
16719         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16720         (gst_basesink_event), (gst_basesink_get_times),
16721         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16722         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16723         (gst_basesink_loop), (gst_basesink_activate),
16724         (gst_basesink_change_state):
16725         * gst/base/gstbasesink.h:
16726         * gst/elements/Makefile.am:
16727         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16728         (gst_fakesink_class_init), (gst_fakesink_init),
16729         (gst_fakesink_set_property), (gst_fakesink_get_property),
16730         (gst_fakesink_get_times), (gst_fakesink_event),
16731         (gst_fakesink_preroll), (gst_fakesink_render),
16732         (gst_fakesink_change_state):
16733         * gst/elements/gstfakesink.h:
16734         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16735         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16736         * gst/gstelement.c: (gst_element_add_pad),
16737         (gst_element_get_state_func), (gst_element_abort_state),
16738         (gst_element_commit_state), (gst_element_lost_state),
16739         (gst_element_set_state), (gst_element_pads_activate):
16740         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16741         * gst/gstpipeline.c: (gst_pipeline_send_event),
16742         (gst_pipeline_change_state):
16743         Added state change code.
16744         Added/updated docs.
16745         Added sink base class, make fakesink extend the base class.
16746         Small cleanups in GstPipeline.
16748 2005-03-26  David Schleef  <ds@schleef.org>
16750         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16751         is broken and should be implemented in a different library.
16752         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16753         * gst/gst.h: remove gstcpu.h
16754         * gst/gstcpu.c: remove
16755         * gst/gstcpu.h: remove
16756         * gst/Makefile.am.future: Remove this file.  It's ancient.
16758 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16760         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16761         (gst_bin_send_event):
16762           Add default event/set_manager handlers. The set_manager handler
16763           takes care that the manager is distributed over kids that were
16764           already in the bin before the manager was set. The event handler
16765           is a utility virtual function that sends the event over all sinks,
16766           so that gst_element_send_event (bin, event); has the expected
16767           behaviour.
16768         * gst/gstpad.c: (gst_pad_event_default):
16769           Re-install default event handling for discontinuities, so that
16770           seeking works without requiring hacks in applications or extra
16771           code in sinks.
16772         * gst/gstpipeline.c: (gst_pipeline_class_init),
16773         (gst_pipeline_send_event):
16774           Half hack, half utility: set a pipeline to PAUSED for seek events,
16775           since that is the only way we can guarantee a/v sync. Means that
16776           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16777           and it "just works".
16779 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16781         * gst/gstpipeline.c: (gst_pipeline_use_clock):
16782           Lock/unlock mismatch.
16784 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16786         * docs/faq/gst-uninstalled:
16787           add gst-plugins-base
16788         * docs/gst/Makefile.am:
16789           don't error out until docs are fixed
16790         * docs/gst/gstreamer.types:
16791           remove thread
16793 2005-03-22  Wim Taymans  <wim@fluendo.com>
16795         * check/Makefile.am:
16796         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16797         * gst/gststructure.c: (gst_structure_set_valist),
16798         (gst_structure_copy_conditional):
16799         Activated more tests.
16800         Added message test.
16801         Added G_TYPE_POINTER to GstStructure.
16802         
16804 2005-03-22  Wim Taymans  <wim@fluendo.com>
16806         * docs/design/part-TODO.txt:
16807         * docs/design/part-events.txt:
16808         * docs/design/part-gstbin.txt:
16809         * docs/design/part-gstbus.txt:
16810         * docs/design/part-gstpipeline.txt:
16811         * docs/design/part-messages.txt:
16812         * gst/gstbus.c:
16813         * gst/gstmessage.c:
16814         Docs updates
16816 2005-03-21  Wim Taymans  <wim@fluendo.com>
16818         * gst/gstbus.c: (gst_bus_post):
16819         Fix copy-and-paste error.
16821 2005-03-21  Wim Taymans  <wim@fluendo.com>
16823         * check/Makefile.am:
16824         * gst/Makefile.am:
16825         * gst/elements/Makefile.am:
16826         * gst/elements/gstelements.c:
16827         * gst/elements/gstfakesink.c: (gst_fakesink_init),
16828         (gst_fakesink_event), (gst_fakesink_chain):
16829         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16830         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16831         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16832         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16833         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16834         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16835         (gst_fakesrc_loop), (gst_fakesrc_activate),
16836         (gst_fakesrc_change_state):
16837         * gst/elements/gstfakesrc.h:
16838         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
16839         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
16840         (gst_filesrc_open_file), (gst_filesrc_loop),
16841         (gst_filesrc_activate), (gst_filesrc_change_state),
16842         (filesrc_find_peek), (filesrc_find_suggest),
16843         (gst_filesrc_type_find):
16844         * gst/elements/gstidentity.c: (gst_identity_finalize),
16845         (gst_identity_class_init), (gst_identity_init),
16846         (gst_identity_proxy_getcaps), (identity_queue_push),
16847         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
16848         (gst_identity_getrange), (gst_identity_chain),
16849         (gst_identity_sink_loop), (gst_identity_src_loop),
16850         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
16851         (gst_identity_set_property), (gst_identity_get_property),
16852         (gst_identity_change_state):
16853         * gst/elements/gstidentity.h:
16854         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
16855         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
16856         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
16857         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
16858         (gst_tee_sink_activate):
16859         * gst/elements/gsttee.h:
16860         * gst/gst.c: (gst_register_core_elements), (init_post):
16861         * gst/gst.h:
16862         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
16863         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
16864         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
16865         (gst_bin_change_state):
16866         * gst/gstbin.h:
16867         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
16868         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
16869         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
16870         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
16871         (gst_bus_set_sync_handler), (gst_bus_create_watch),
16872         (bus_watch_callback), (bus_watch_destroy),
16873         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
16874         (poll_timeout), (gst_bus_poll):
16875         * gst/gstbus.h:
16876         * gst/gstcaps.h:
16877         * gst/gstdata.h:
16878         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16879         (gst_element_post_message), (gst_element_message_full),
16880         (gst_element_get_state_func), (gst_element_get_state),
16881         (gst_element_abort_state), (gst_element_commit_state),
16882         (gst_element_lost_state), (gst_element_set_state),
16883         (gst_element_pads_activate), (gst_element_change_state),
16884         (gst_element_dispose), (gst_element_set_manager_func),
16885         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16886         (gst_element_set_manager), (gst_element_get_manager),
16887         (gst_element_set_bus), (gst_element_get_bus),
16888         (gst_element_set_scheduler), (gst_element_get_scheduler):
16889         * gst/gstelement.h:
16890         * gst/gstevent.c: (gst_event_new_segment_seek),
16891         (gst_event_new_flush):
16892         * gst/gstevent.h:
16893         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16894         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16895         (gst_message_new_eos), (gst_message_new_error),
16896         (gst_message_new_warning), (gst_message_new_tag),
16897         (gst_message_new_state_changed), (gst_message_new_application),
16898         (gst_message_get_structure), (gst_message_parse_tag),
16899         (gst_message_parse_state_changed), (gst_message_parse_error),
16900         (gst_message_parse_warning):
16901         * gst/gstmessage.h:
16902         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16903         (gst_real_pad_set_property), (gst_pad_set_active),
16904         (gst_pad_is_active), (gst_pad_set_blocked_async),
16905         (gst_pad_set_blocked), (gst_pad_is_blocked),
16906         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16907         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16908         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16909         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16910         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16911         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16912         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16913         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16914         (gst_pad_set_caps), (gst_pad_configure_sink),
16915         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16916         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16917         (gst_real_pad_dispose), (gst_real_pad_finalize),
16918         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16919         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16920         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16921         * gst/gstpad.h:
16922         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16923         (pipeline_bus_handler), (gst_pipeline_change_state),
16924         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16925         * gst/gstpipeline.h:
16926         * gst/gstprobe.h:
16927         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16928         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16929         (gst_queue_link_src), (gst_queue_bufferalloc),
16930         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16931         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16932         (gst_queue_loop), (gst_queue_handle_src_event),
16933         (gst_queue_handle_src_query), (gst_queue_src_activate),
16934         (gst_queue_change_state):
16935         * gst/gstqueue.h:
16936         * gst/gstscheduler.c: (gst_scheduler_init),
16937         (gst_scheduler_dispose), (gst_scheduler_create_task),
16938         (gst_scheduler_factory_create):
16939         * gst/gstscheduler.h:
16940         * gst/gststructure.c: (gst_structure_get_type),
16941         (gst_structure_copy_conditional):
16942         * gst/gststructure.h:
16943         * gst/gsttaginterface.h:
16944         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16945         (gst_task_init), (gst_task_dispose), (gst_task_create),
16946         (gst_task_get_state), (gst_task_start), (gst_task_stop),
16947         (gst_task_pause):
16948         * gst/gsttask.h:
16949         * gst/gstthread.c:
16950         * gst/gstthread.h:
16951         * gst/gsttypes.h:
16952         * gst/schedulers/Makefile.am:
16953         * gst/schedulers/cothreads_compat.h:
16954         * gst/schedulers/entryscheduler.c:
16955         * gst/schedulers/faircothreads.c:
16956         * gst/schedulers/faircothreads.h:
16957         * gst/schedulers/fairscheduler.c:
16958         * gst/schedulers/gstbasicscheduler.c:
16959         * gst/schedulers/gstoptimalscheduler.c:
16960         * gst/schedulers/gthread-cothreads.h:
16961         * gst/schedulers/threadscheduler.c:
16962         (gst_thread_scheduler_task_get_type),
16963         (gst_thread_scheduler_task_class_init),
16964         (gst_thread_scheduler_task_init),
16965         (gst_thread_scheduler_task_start),
16966         (gst_thread_scheduler_task_stop),
16967         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
16968         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16969         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
16970         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
16971         (plugin_init):
16972         * libs/gst/Makefile.am:
16973         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
16974         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
16975         (gst_file_pad_parent_set):
16976         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16977         (gst_dp_event_from_packet):
16978         * tests/complexity.c: (main):
16979         * tests/mass_elements.c: (main):
16980         * testsuite/states/locked.c: (message_received), (main):
16981         * testsuite/states/parent.c: (main):
16982         * tools/gst-inspect.c: (print_element_flag_info),
16983         (print_implementation_info), (print_pad_info):
16984         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
16985         (main):
16986         * tools/gst-md5sum.c: (event_loop), (main):
16987         * tools/gst-typefind.c: (main):
16988         * tools/gst-xmlinspect.c: (print_element_info):
16989         Next big merge.
16990         Added GstBus for mainloop integration.
16991         Added GstMessage for sending notifications on the bus.
16992         Added GstTask as an abstraction for pipeline entry points.
16993         Removed GstThread.
16994         Removed Schedulers.
16995         Simplified GstQueue for multithreaded core.
16996         Made _link threadsafe, removed old capsnego.
16997         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
16998         Added pad blocking functions.
16999         Reworked scheduling functions in GstPad to prepare for
17000         scheduling updates soon.
17001         Moved events out of data stream.
17002         Simplified GstEvent types.
17003         Added return values to push/pull.
17004         Removed clocking from GstElement.
17005         Added prototypes for state change function for next merge.
17006         Removed iterate from bins and state change management.
17007         Fixed some elements, disabled others for now.
17008         Fixed -inspect and -launch.
17009         Added check for GstBus.
17011 2005-03-10  Wim Taymans  <wim@fluendo.com>
17013         * docs/design/part-MT-refcounting.txt:
17014         * docs/design/part-clocks.txt:
17015         * docs/design/part-gstelement.txt:
17016         * docs/design/part-gstobject.txt:
17017         * docs/design/part-standards.txt:
17018         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17019         (gst_bin_remove_func), (gst_bin_remove):
17020         * gst/gstbin.h:
17021         * gst/gstbuffer.c:
17022         * gst/gstcaps.h:
17023         * testsuite/clock/clock1.c: (main):
17024         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17025         (main):
17026         * testsuite/dlopen/loadgst.c: (do_test):
17027         * testsuite/refcounting/bin.c: (add_remove_test1),
17028         (add_remove_test2), (main):
17029         * testsuite/refcounting/element.c: (main):
17030         * testsuite/refcounting/element_pad.c: (main):
17031         * testsuite/refcounting/pad.c: (main):
17032         * tools/gst-launch.c: (sigint_handler_sighandler):
17033         * tools/gst-typefind.c: (main):
17034         Doc updates.
17035         Added doc about clock.
17036         removed gst_bin_iterate_recurse_up(), marked methods
17037         for removal.
17038         Fix more testsuites.
17040 2005-03-09  Wim Taymans  <wim@fluendo.com>
17042         * gst/gstpad.c: (gst_pad_get_direction),
17043         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17044         (gst_pad_collect_valist):
17045         * testsuite/bins/interface.c: (main):
17046         * testsuite/caps/audioscale.c: (test_caps):
17047         * testsuite/caps/caps.c: (test1), (test2), (test3):
17048         * testsuite/caps/deserialize.c: (main):
17049         * testsuite/caps/enumcaps.c: (main):
17050         * testsuite/caps/filtercaps.c: (main):
17051         * testsuite/caps/intersect2.c: (main):
17052         * testsuite/caps/random.c: (main):
17053         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17054         * testsuite/caps/sets.c: (check_caps):
17055         * testsuite/caps/simplify.c: (check_caps), (main):
17056         * testsuite/caps/subtract.c: (check_caps):
17057         Fix _pad_get_direction wrt ghostpads.
17058         Fix caps testsuite.
17060 2005-03-09  Wim Taymans  <wim@fluendo.com>
17062         * check/Makefile.am:
17063         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17064         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17065         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17066         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17067         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17068         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17069         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17070         (bin_element_is_sink), (gst_bin_iterate_sinks),
17071         (gst_bin_iterate_all_by_interface):
17072         * gst/gstbin.h:
17073         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17074         (gst_element_change_state), (gst_element_dispose),
17075         (gst_element_finalize), (gst_element_set_loop_function):
17076         * gst/gstelement.h:
17077         * gst/gstiterator.c: (find_custom_fold_func):
17078         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17079         (gst_pad_collectv), (gst_pad_collect_valist),
17080         (gst_pad_template_new):
17081         * gst/gstpipeline.c: (gst_pipeline_class_init),
17082         (gst_pipeline_dispose), (gst_pipeline_set_property),
17083         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17084         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17085         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17086         * gst/gstutils.h:
17087         * gst/schedulers/entryscheduler.c:
17088         * gst/schedulers/gstbasicscheduler.c:
17089         (gst_basic_scheduler_cothreaded_chain),
17090         (gst_basic_scheduler_chain_add_element):
17091         * testsuite/bins/interface.c: (main):
17092         Added GstBin test.
17093         Added GstSystemClock test.
17094         Implemented clock distribution code in GstBin.
17095         Implemented iterate sinks method for future use.
17096         Rearranged gstelement.h
17097         Fix GstIterator comparison bug.
17098         Moved some code to GstPipeline, mostly clocking related.
17100 2005-03-09  Wim Taymans  <wim@fluendo.com>
17102         * configure.ac:
17103         * gst/gst_private.h:
17104         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17105         (gst_bin_remove_func), (gst_bin_remove),
17106         (gst_bin_get_by_name_recurse_up):
17107         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17108         (gst_clock_id_compare_func), (gst_clock_id_wait),
17109         (gst_clock_id_wait_async), (gst_clock_init),
17110         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17111         * gst/gstelement.h:
17112         * gst/gstinfo.c: (_gst_debug_init):
17113         * gst/gstobject.h:
17114         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17115         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17116         * gst/gstpad.h:
17117         Bump version number, we're now 0.9.0
17118         Add future debugging category.
17119         Fix NULL _unref() in _get_by_name_recurse_up
17120         Rearrange gstpad.h.
17121         Update some docs.
17123 2005-03-08  Wim Taymans  <wim@fluendo.com>
17125         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17126         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17127         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17128         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17129         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17130         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17131         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17132         * gst/elements/gstidentity.c: (gst_identity_class_init):
17133         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17134         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17135         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17136         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17137         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17138         (gst_tee_link):
17139         * gst/gstelement.c: (gst_element_class_init),
17140         (gst_element_base_class_init), (gst_element_init),
17141         (gst_element_get_random_pad), (gst_element_wait_state_change),
17142         (gst_element_change_state), (gst_element_dispose),
17143         (gst_element_finalize), (gst_element_set_loop_function):
17144         * gst/gstelement.h:
17145         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17146         * gst/gstthread.c: (gst_thread_class_init),
17147         (gst_thread_release_children_locks), (gst_thread_change_state):
17148         * gst/schedulers/gstbasicscheduler.c:
17149         (gst_basic_scheduler_loopfunc_wrapper),
17150         (gst_basic_scheduler_chain_wrapper),
17151         (gst_basic_scheduler_src_wrapper),
17152         (gst_basic_scheduler_remove_element):
17153         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17154         Remove threadsafe properties. Fix elements because GObject
17155         complains when installing a property before declaring a
17156         set/get_property handler.
17157         Rearrange gstelement.h file, use STATE macros for state locks.
17158         Free mutexes in the finalize method instead of dispose.
17160 2005-03-08  Wim Taymans  <wim@fluendo.com>
17162         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17163         * gst/gstthread.c: (gst_thread_release_children_locks):
17164         Added parentage check.
17165         Fix build og GstThread again.
17167 2005-03-08  Wim Taymans  <wim@fluendo.com>
17169         * docs/design/part-MT-refcounting.txt:
17170         * docs/design/part-conventions.txt:
17171         * docs/design/part-gstobject.txt:
17172         * docs/design/part-relations.txt:
17173         * docs/design/part-standards.txt:
17174         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17175         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17176         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17177         (gst_bin_iterate_all_by_interface):
17178         * gst/gstbuffer.h:
17179         * gst/gstclock.h:
17180         * gst/gstelement.c: (gst_element_class_init),
17181         (gst_element_change_state), (gst_element_set_loop_function):
17182         * gst/gstelement.h:
17183         * gst/gstiterator.c:
17184         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17185         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17186         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17187         (gst_object_set_parent), (gst_object_unparent),
17188         (gst_object_check_uniqueness):
17189         * gst/gstobject.h:
17190         Docs updates, clean up some headers.
17192 2005-03-07  Wim Taymans  <wim@fluendo.com>
17194         * check/.cvsignore:
17195         * check/Makefile.am:
17196         * check/gst-libs/.cvsignore:
17197         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17198         * check/gst/.cvsignore:
17199         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17200         (START_TEST), (gstbus_suite), (main):
17201         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17202         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17203         (gst_data_suite), (main):
17204         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17205         (add_fold_func), (gstiterator_suite), (main):
17206         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17207         (thread_name_object), (thread_name_object_default),
17208         (gst_object_name_compare), (gst_object_suite), (main):
17209         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17210         (gst_pad_suite), (main):
17211         * check/gstcheck.c: (gst_check_log_message_func),
17212         (gst_check_log_critical_func), (gst_check_init):
17213         * check/gstcheck.h:
17214         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17215         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17216         Added checks.
17218 2005-03-07  Wim Taymans  <wim@fluendo.com>
17220         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17221         (gst_list_iterator_next), (gst_list_iterator_resync),
17222         (gst_list_iterator_free), (gst_iterator_new_list),
17223         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17224         (gst_iterator_free), (gst_iterator_push), (filter_next),
17225         (filter_resync), (filter_uninit), (filter_free),
17226         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17227         (gst_iterator_foreach), (find_custom_fold_func),
17228         (gst_iterator_find_custom):
17229         * gst/gstiterator.h:
17230         Added missing files.
17232 2005-03-07  Wim Taymans  <wim@fluendo.com>
17234         * Makefile.am:
17235         * configure.ac:
17236         * docs/design/part-MT-refcounting.txt:
17237         * docs/design/part-conventions.txt:
17238         * docs/design/part-gstobject.txt:
17239         * docs/design/part-relations.txt:
17240         * examples/mixer/mixer.c: (main):
17241         * examples/thread/thread.c: (eos), (main):
17242         * gst/Makefile.am:
17243         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17244         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17245         (gst_spider_plug_from_srcpad):
17246         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17247         (gst_spider_identity_change_state),
17248         (gst_spider_identity_sink_loop_type_finding):
17249         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17250         * gst/elements/gstidentity.c: (gst_identity_init):
17251         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17252         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17253         * gst/elements/gsttypefindelement.c: (free_entry):
17254         * gst/gst.c:
17255         * gst/gst.h:
17256         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17257         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17258         (gst_bin_set_index), (gst_bin_set_element_sched),
17259         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17260         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17261         (gst_bin_iterate_elements), (iterate_child_recurse),
17262         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17263         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17264         (compare_interface), (gst_bin_get_by_interface),
17265         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17266         * gst/gstbin.h:
17267         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17268         (gst_buffer_default_free), (gst_buffer_default_copy),
17269         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17270         (gst_buffer_create_sub):
17271         * gst/gstbuffer.h:
17272         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17273         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17274         (gst_caps_unref), (gst_static_caps_get),
17275         (gst_caps_remove_and_get_structure), (gst_caps_append),
17276         (gst_caps_append_structure), (gst_caps_remove_structure),
17277         (gst_caps_copy_nth), (gst_caps_set_simple),
17278         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17279         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17280         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17281         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17282         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17283         (gst_caps_structure_figure_out_union),
17284         (gst_caps_switch_structures), (gst_caps_do_simplify),
17285         (gst_caps_replace), (gst_caps_from_string),
17286         (gst_caps_copy_conditional):
17287         * gst/gstcaps.h:
17288         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17289         (_gst_clock_id_free), (gst_clock_id_unref),
17290         (gst_clock_id_compare_func), (gst_clock_id_wait),
17291         (gst_clock_id_wait_async), (gst_clock_class_init),
17292         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17293         (gst_clock_get_time), (gst_clock_set_time_adjust),
17294         (gst_clock_set_property), (gst_clock_get_property):
17295         * gst/gstclock.h:
17296         * gst/gstcompat.h:
17297         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17298         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17299         * gst/gstdata.h:
17300         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17301         (gst_element_requires_clock), (gst_element_provides_clock),
17302         (gst_element_set_clock), (gst_element_clock_wait),
17303         (gst_element_wait), (gst_element_set_time_delay),
17304         (gst_element_is_indexable), (gst_element_add_pad),
17305         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17306         (pad_compare_name), (gst_element_get_static_pad),
17307         (gst_element_request_pad), (gst_element_get_request_pad),
17308         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17309         (gst_element_class_get_pad_template_list),
17310         (gst_element_class_get_pad_template), (gst_element_error_func),
17311         (gst_element_get_random_pad), (gst_element_get_event_masks),
17312         (gst_element_send_event), (gst_element_seek),
17313         (gst_element_get_query_types), (gst_element_query),
17314         (gst_element_get_formats), (gst_element_convert),
17315         (gst_element_is_locked_state), (gst_element_set_locked_state),
17316         (gst_element_sync_state_with_parent), (gst_element_change_state),
17317         (gst_element_finalize), (gst_element_yield),
17318         (gst_element_interrupt), (gst_element_set_scheduler),
17319         (gst_element_get_scheduler), (gst_element_set_loop_function):
17320         * gst/gstelement.h:
17321         * gst/gstevent.h:
17322         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17323         (gst_format_get_by_nick), (gst_format_get_details),
17324         (gst_format_iterate_definitions):
17325         * gst/gstformat.h:
17326         * gst/gstindex.c: (gst_index_gtype_resolver):
17327         * gst/gstinfo.c:
17328         * gst/gstinfo.h:
17329         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17330         (gst_mem_chunk_free):
17331         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17332         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17333         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17334         (gst_object_dispatch_properties_changed),
17335         (gst_object_set_name_default), (gst_object_set_name),
17336         (gst_object_get_name), (gst_object_set_name_prefix),
17337         (gst_object_get_name_prefix), (gst_object_set_parent),
17338         (gst_object_get_parent), (gst_object_unparent),
17339         (gst_object_check_uniqueness), (gst_object_save_thyself),
17340         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17341         (gst_object_set_property), (gst_object_get_property),
17342         (gst_object_get_path_string):
17343         * gst/gstobject.h:
17344         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17345         (gst_real_pad_init), (gst_real_pad_get_property),
17346         (gst_pad_custom_new), (gst_pad_get_direction),
17347         (gst_pad_set_active), (gst_pad_is_active),
17348         (gst_pad_set_event_function), (gst_pad_is_linked),
17349         (gst_pad_link_free), (gst_pad_link_intersect),
17350         (gst_pad_link_fixate), (gst_pad_set_caps),
17351         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17352         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17353         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17354         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17355         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17356         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17357         (gst_pad_realize), (gst_pad_get_allowed_caps),
17358         (gst_real_pad_dispose), (gst_real_pad_finalize),
17359         (gst_pad_collectv), (gst_pad_collect_valist),
17360         (gst_pad_template_dispose), (gst_pad_template_new),
17361         (gst_pad_get_internal_links):
17362         * gst/gstpad.h:
17363         * gst/gstpipeline.c: (gst_pipeline_dispose),
17364         (gst_pipeline_change_state):
17365         * gst/gstpipeline.h:
17366         * gst/gstplugin.c:
17367         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17368         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17369         * gst/gstpluginfeature.h:
17370         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17371         * gst/gstquery.c: (_gst_query_type_initialize),
17372         (gst_query_type_register), (gst_query_type_get_by_nick),
17373         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17374         * gst/gstquery.h:
17375         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17376         * gst/gstscheduler.c: (gst_scheduler_add_element),
17377         (gst_scheduler_factory_create):
17378         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17379         (gst_structure_free), (gst_structure_set_name),
17380         (gst_structure_id_set_value), (gst_structure_set_value),
17381         (gst_structure_set_valist), (gst_structure_remove_field),
17382         (gst_structure_remove_fields),
17383         (gst_structure_remove_fields_valist),
17384         (gst_structure_remove_all_fields), (gst_structure_foreach),
17385         (gst_structure_map_in_place),
17386         (gst_caps_structure_fixate_field_nearest_int),
17387         (gst_caps_structure_fixate_field_nearest_double):
17388         * gst/gststructure.h:
17389         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17390         (gst_system_clock_init), (gst_system_clock_dispose),
17391         (gst_system_clock_async_thread),
17392         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17393         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17394         * gst/gstsystemclock.h:
17395         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17396         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17397         * gst/gsttaginterface.c:
17398         * gst/gstthread.c: (gst_thread_dispose),
17399         (gst_thread_release_children_locks), (gst_thread_change_state),
17400         (gst_thread_main_loop):
17401         * gst/gsttrashstack.h:
17402         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17403         * gst/gsttypes.h:
17404         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17405         (gst_element_request_pad), (gst_element_get_pad_from_template),
17406         (gst_element_request_compatible_pad),
17407         (gst_element_get_compatible_pad_filtered),
17408         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17409         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17410         (gst_element_link_many), (gst_element_link),
17411         (gst_element_link_pads), (gst_element_unlink_pads),
17412         (gst_element_unlink_many), (gst_element_unlink),
17413         (gst_pad_can_link_filtered), (gst_pad_can_link),
17414         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17415         (gst_object_default_error), (gst_bin_add_many),
17416         (gst_bin_remove_many), (gst_element_populate_std_props),
17417         (gst_element_class_install_std_props), (gst_buffer_merge),
17418         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17419         (link_fold_func), (gst_pad_proxy_setcaps):
17420         * gst/gstutils.h:
17421         * gst/gstvalue.c: (gst_value_deserialize_string):
17422         * gst/parse/grammar.y:
17423         * gst/schedulers/gstbasicscheduler.c:
17424         (gst_basic_scheduler_cothreaded_chain),
17425         (gst_basic_scheduler_chain_recursive_add),
17426         (gst_basic_scheduler_pad_link):
17427         * gst/schedulers/gstoptimalscheduler.c:
17428         (get_group_schedule_function),
17429         (gst_opt_scheduler_state_transition),
17430         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17431         * libs/gst/bytestream/bytestream.c:
17432         * libs/gst/dataprotocol/dataprotocol.c:
17433         (gst_dp_header_from_buffer):
17434         * po/nb.po:
17435         * po/ru.po:
17436         * tests/threadstate/threadstate2.c: (eos):
17437         * tools/gst-compprep.c: (main):
17438         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17439         (print_pad_info), (print_children_info):
17440         * tools/gst-launch.c: (idle_func), (main):
17441         * tools/gst-md5sum.c: (idle_func), (main):
17442         * tools/gst-xmlinspect.c: (print_element_info):
17443         First THREADED backport attempt, focusing on adding locks and
17444         making sure the API is threadsafe. Needs more work. More docs
17445         follow this week.
17447 2005-02-24  Andy Wingo  <wingo@pobox.com>
17449         * tests/bench-complexity.scm:
17450         * tests/complexity.gnuplot: New files, good for running complexity
17451         benchmarks.
17453         * tests/Makefile.am:
17454         * tests/complexity.c: New test, sets up N elements, at each level
17455         teeing into M streams per element. Eeeenteresting.
17457         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17458         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17459         running bench-mass_elements.scm.
17461         * tests/bench-mass_elements.scm: New script, runs mass_elements
17462         for various numbers of identities, outputting the results to a
17463         file. Requires guile 1.6. Just for testing.
17465 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17467         * gst/schedulers/fairscheduler.c:
17468           compile with debug disabled
17470 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17472         * configure.ac:
17473           hunting season on 0.9 is now OPEN