gst/: Use _CAST macros to avoid unneeded type checking.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-12  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gst.c: (gst_debug_help):
4         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6         (gst_plugin_feature_list_free):
7         * gst/gstregistry.c: (gst_registry_add_plugin),
8         (gst_registry_add_feature), (gst_registry_plugin_filter),
9         (gst_registry_feature_filter), (gst_registry_find_plugin),
10         (gst_registry_find_feature), (gst_registry_get_plugin_list),
11         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
12         * gst/gstregistryxml.c: (load_feature),
13         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14         * gst/gstminiobject.c: (gst_mini_object_unref),
15         (gst_mini_object_replace), (gst_value_mini_object_free),
16         (gst_value_mini_object_copy):
17         Use _CAST macros to avoid unneeded type checking.
18         Added some more G_UNLIKELY.
19
20 2006-06-12  Wim Taymans  <wim@fluendo.com>
21
22         * gst/gstbuffer.h:
23         Avoid unneeded type checking.
24         API: GST_BUFFER_IS_DISCONT
25
26         * gst/gstminiobject.h:
27         Avoid type check in flag accessor.
28
29         * gst/gstelementfactory.h:
30         * gst/gstplugin.h:
31         * gst/gstpluginfeature.h:
32         Add _CAST macros.
33         API: GST_ELEMENT_FACTORY_CAST
34         API: GST_PLUGIN_CAST
35         API: GST_PLUGIN_FEATURE_CAST
36
37 2006-06-12  Wim Taymans  <wim@fluendo.com>
38
39         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
40         (gst_object_unref):
41         Add G_UNLIKELY in type registration.
42         Avoid type check in _ref/_unref since that is also
43         done in glib.
44
45 2006-06-12  Wim Taymans  <wim@fluendo.com>
46
47         * gst/gsterror.c: (gst_g_error_get_type):
48         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
49         (gst_static_pad_template_get_type):
50         * gst/gsttaglist.c: (gst_tag_list_get_type):
51         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
52         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
53         * gst/gsturi.c: (gst_uri_handler_get_type):
54         * gst/gstvalue.c: (gst_date_get_type):
55         * gst/gstxml.c: (gst_xml_get_type):
56         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
57         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
58         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
59         Add G_UNLIKELY in type registration.
60
61 2006-06-12  Wim Taymans  <wim@fluendo.com>
62
63         * tools/gst-inspect.c: (print_signal_info):
64         Properly print enum values.
65
66 2006-06-12  Wim Taymans  <wim@fluendo.com>
67
68         * gst/gstinfo.c: (gst_debug_set_active),
69         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
70         * gst/gstinfo.h:
71         Add some G_[UN]LIKELY.
72         Maintain __gst_debug_min to avoid formatting the arguments of
73         debug messages that will be dropped anyway to avoid a lot of 
74         overhead from the debugging system.
75
76 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
77
78         * po/POTFILES.in:
79         * po/POTFILES.skip:
80           add missing files containing translatable strings, tell intltool about
81           one exception
82
83 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
84
85         * tests/check/libs/.cvsignore:
86         add test-binary to ignore list
87
88 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
89
90         * docs/libs/gstreamer-libs-docs.sgml:
91         reorder (put dp into a chapter) and indent
92
93 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
94
95         * configure.ac:
96           back to HEAD
97
98 === release 0.10.8 ===
99
100 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
101
102         * configure.ac:
103           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
104
105 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
106
107         * gst/gst.c: (init_post):
108           move pid declaration to declaration block
109
110 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
111
112         * gst/gst.c: (init_post):
113           use _exit() instead of exit() in our forked child; this ensures
114           that none of the registered exit handlers from whatever is using
115           GStreamer get executed.  This fixes gnome-mixer-applet failing
116           to load, because ORBit would shut down.
117           Spotted by: Edward Hervey  <edward@fluendo.com>
118           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
119           Fixes #344474
120
121 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
122
123         * configure.ac:
124           back to TRUNK
125
126 === release 0.10.7 ===
127
128 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
129
130         * configure.ac:
131           releasing 0.10.7, "Soepeke, ik zie ou"
132
133 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
134
135         * configure.ac:
136         * po/af.po:
137         * po/az.po:
138         * po/bg.po:
139         * po/ca.po:
140         * po/cs.po:
141         * po/de.po:
142         * po/en_GB.po:
143         * po/fr.po:
144         * po/it.po:
145         * po/nb.po:
146         * po/nl.po:
147         * po/ru.po:
148         * po/sq.po:
149         * po/sr.po:
150         * po/sv.po:
151         * po/tr.po:
152         * po/uk.po:
153         * po/vi.po:
154         * po/zh_CN.po:
155         * po/zh_TW.po:
156         * win32/common/config.h:
157           0.10.6.2 prerelease
158
159 2006-06-07  Wim Taymans  <wim@fluendo.com>
160
161         * gst/gstindex.c: (gst_index_gtype_resolver):
162         * tools/gst-xmlinspect.c: (print_plugin_info):
163         Fix leak spotted by coverity checker. Fixes #343827
164         Fix another other leak found by paolo borelli.
165
166 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
167
168         * libs/gst/dataprotocol/dataprotocol.c:
169         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
170         (gst_dp_version_get_type), (gst_dp_init),
171         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
172         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
173         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
174         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
175         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
176         (gst_dp_packetizer_free):
177         * libs/gst/dataprotocol/dataprotocol.h:
178           API: add a GstDPPacketizer object, and create/free functions
179           API: add GstDPVersion enum
180           Add 1.0 event function that uses the string serialization
181           Serialize more useful buffer flags
182           Fixes #343988
183
184 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
185
186         * tests/check/Makefile.am:
187         * tests/check/gst/gstabi.c:
188         * tests/check/gst/struct_ppc64.h:
189         * tests/check/libs/libsabi.c:
190         * tests/check/libs/struct_ppc64.h:
191           add ppc64 structure sizes
192
193 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
194
195         * tests/check/Makefile.am:
196         * tests/check/gst/gstabi.c:
197         * tests/check/gst/struct_x86_64.h:
198         * tests/check/libs/libsabi.c:
199         * tests/check/libs/struct_x86_64.h:
200           generate and add structure size lists for x86_64
201
202 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
203
204         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
205         * libs/gst/check/gstcheck.h:
206           factor out the method from tests that checks size of structures,
207           and add code to generate the header containing these sizes
208         * tests/check/gst/gstabi.c: (GST_START_TEST):
209         * tests/check/gst/struct_i386.h:
210         * tests/check/libs/libsabi.c: (GST_START_TEST):
211         * tests/check/libs/struct_i386.h:
212           use it
213
214 2006-06-06  Michael Smith  <msmith@fluendo.com>
215
216         * gst/gstsegment.h:
217           Don't use c++-style comments, fixes #343929
218
219 2006-06-05  Edward Hervey  <edward@fluendo.com>
220
221         * gst/gst.c:
222         plugin_paths is not used if we build without registry support.
223
224         * gst/gstsegment.c: (gst_segment_copy): 
225         _copy() was always returning NULL...
226
227 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
228
229         * libs/gst/dataprotocol/dataprotocol.c:
230         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
231         (gst_dp_packet_from_event):
232           factor out CRC code
233
234 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
235
236         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
237           make sure we unset caps
238
239 2006-06-02  Michael Smith  <msmith@fluendo.com>
240
241         * libs/gst/check/gstcheck.c: (gst_check_init),
242         (gst_check_chain_func):
243         * libs/gst/check/gstcheck.h:
244           Add a cond/mutex to the check support lib, signal this whenever we
245           add to the buffers list. This will allow tests to not busy-wait on
246           the buffer-list.
247
248 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
249
250         * libs/gst/dataprotocol/dataprotocol.c:
251         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
252         (gst_dp_packet_from_event):
253           factor out some common header init code
254
255 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
256
257         * docs/libs/gstreamer-libs-sections.txt:
258         * docs/libs/tmpl/gstdataprotocol.sgml:
259         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
260         * libs/gst/dataprotocol/dataprotocol.h:
261           API: make gst_dp_crc() public
262
263 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
264
265         * plugins/indexers/gstindexers.c: (plugin_init):
266         conditionally register fileindexer (fixes #343598)
267
268 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
269
270         * gst/gsttagsetter.h:
271         Can't cast ifaces to a class
272
273         * libs/gst/net/gstnetclientclock.h:
274         * libs/gst/net/gstnettimeprovider.h:
275         * plugins/elements/gstfakesink.h:
276         * plugins/elements/gstfakesrc.h:
277         * plugins/elements/gstfdsink.h:
278         * plugins/elements/gstfdsrc.h:
279         * plugins/elements/gstfilesink.h:
280         * plugins/elements/gstfilesrc.h:
281         * plugins/elements/gstidentity.h:
282         * plugins/elements/gstqueue.h:
283         * plugins/elements/gsttee.h:
284         * plugins/indexers/gstfileindex.c:
285         * plugins/indexers/gstmemindex.c:
286         * tests/old/examples/plugins/example.h:
287         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
288
289 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
290
291         * libs/gst/dataprotocol/dataprotocol.c:
292         (gst_dp_header_from_buffer):
293           make sure we zero the whole ABI-compatible area
294
295 2006-06-01  Wim Taymans  <wim@fluendo.com>
296
297         Patch by: Alessandro Decina <alessandro at nnva dot org>
298
299         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
300         Make sure the EOS flag is cleared from pads after a flush
301         or stop. Fixes #343538.
302
303         * tests/check/libs/collectpads.c: (GST_START_TEST),
304         (gst_collect_pads_suite):
305         Added test for collectpads reusage after EOS.
306
307 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
308
309         * gst/gst.c:
310          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
311         * win32/common/libgstbase.def:
312          export gst_collect_pads_set_flushing
313         * win32/common/libgstreamer.def:
314          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
315          gst_value_fraction_multiply
316         * win32/vs6/gst_inspect.dsp:
317          add a link to intl.lib
318
319 2006-05-30  Wim Taymans  <wim@fluendo.com>
320
321         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
322         (gst_collect_pads_chain):
323         Handle the case where a pad is removed from the collection
324         that could cause the other pads to become collectable.
325
326 2006-05-30  Wim Taymans  <wim@fluendo.com>
327
328         * gst/gstelement.c:
329         Clarify the use of _release_request_pad() and
330         _get_request_pad() a bit better.
331
332         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
333         (gst_adapter_take_buffer):
334         Fix some doc and comment typos.
335
336 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
337
338         * docs/gst/gstreamer-sections.txt:
339         * docs/libs/gstreamer-libs-sections.txt:
340           add declared symbols
341
342 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
343
344         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
345         Add debug that can be enabled using a #define at the top of the file,
346         for dumping stats about how late/early we were when waking up from
347         waiting on the clock.
348
349 2006-05-30  Wim Taymans  <wim@fluendo.com>
350
351         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
352         When rebuilding the pad list, don't leak the previous list.
353
354 2006-05-30  Wim Taymans  <wim@fluendo.com>
355
356         Patch by: Lutz Mueller <lutz at topfrose dot de>
357
358         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
359         (gst_base_src_get_query_types), (gst_base_src_update_length):
360         Publish supported query types.
361         Update last_stop field in get_range mode so the position
362         query works. Fixes #342321.
363
364 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
365
366         * docs/gst/gstreamer-sections.txt:
367         * gst/gsttaglist.c: (_gst_tag_initialize):
368         * gst/gsttaglist.h:
369           API: add GST_TAG_PREVIEW_IMAGE (#343341).
370
371 2006-05-30  Wim Taymans  <wim@fluendo.com>
372
373         Patch by: Alessandro Decina <alessandro at nnva dot org>
374
375         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
376         Unlock mutex when removing an unknown pad.
377         Fixes #343334.
378
379         * tests/check/Makefile.am:
380         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
381         (push_event), (setup), (teardown), (GST_START_TEST),
382         (gst_collect_pads_suite), (main):
383         Added collecpads check, disabled for now as check crashes for
384         some reason.
385
386 2006-05-29  Wim Taymans  <wim@fluendo.com>
387
388         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
389         Don't leak pads lists.
390
391 2006-05-29  Wim Taymans  <wim@fluendo.com>
392
393         * docs/libs/gstreamer-libs-sections.txt:
394         * libs/gst/base/gstcollectpads.c:
395         (gst_collect_pads_set_flushing_unlocked),
396         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
397         (gst_collect_pads_stop):
398         * libs/gst/base/gstcollectpads.h:
399         API: gst_collect_pads_set_flushing()
400         Added api to set the pads to flushing, useful for seeking
401         code in elements using collectpads.
402         Clear segment when receiving a flush.
403
404 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
405
406         * gst/gst.c: (add_path_func), (init_post):
407           Don't scan registry paths passed via --gst-plugin-path immediately
408           (will crash, because absolutely nothing is set up and no types are
409           registered etc.); do this later in init_post(). Fixes #343057.
410
411 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
412
413         * gst/gst.c: (init_post):
414           if we have fork, fork while reading/rebuilding the registry
415           so the parent doesn't take the hit of having all plugins loaded
416           in memory.  Fixes #342777.
417         * configure.ac:
418           Check if we have fork()
419         * win32/common/config.h.in:
420           no fork() on win32
421
422 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
423
424         * plugins/elements/gstelements.c:
425         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
426         (gst_file_src_init), (gst_file_src_set_property),
427         (gst_file_src_get_property), (gst_file_src_start):
428         * plugins/elements/gstfilesrc.h:
429           API: GstFileSrc::use-mmap
430
431         Add a use-mmap property to enable easier testing of all code paths.
432         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
433         in the absence of gnomevfssrc. (Closes #340501)
434
435 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
436
437         * tools/gst-inspect.c:
438         Add missing include, removes warning of ngettext not being defined on
439         some arches.
440
441 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
442
443         * gst/gstvalue.c: (gst_value_deserialize_fraction):
444         Handle NULL input and output pointers silently as a failed conversion,
445         rather than g_warnings.
446
447 2006-05-25  Wim Taymans  <wim@fluendo.com>
448
449         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
450         Initialize variable before using. Fixes #342820.
451
452 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
453
454         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
455           Fix off-by-one bug that would only allow peeks of N-1 bytes
456           from the start even if the buffer to typefind on contains
457           in fact N bytes of data (makes vorbis typefinding from a
458           vorbis identification header buffer work).
459
460         * tests/check/Makefile.am:
461         * tests/check/libs/.cvsignore:
462         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
463         (gst_typefindhelper_suite), (main), (foobar_typefind),
464         (plugin_init):
465           Add very basic unit test for gst_type_find_helper_for_buffer()
466           that checks for the problem fixed above.
467
468 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
469
470         * tools/gst-inspect.c: (print_interfaces),
471         (print_element_properties_info), (print_element_list), (main):
472           add more translatable strings
473
474 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
475
476         Patch by: Julien Moutte  <julien at moutte net>
477
478         * docs/gst/gstreamer-sections.txt:
479           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
480           
481         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
482         (gst_fake_sink_preroll):
483         * plugins/elements/gstfakesink.h:
484           API: Add new GstFakeSink::preroll-handoff signal (#337100).
485
486 2006-05-23  Wim Taymans  <wim@fluendo.com>
487
488         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
489         * gst/gstpad.h:
490         Added _CUSTOM error and success GstFlowReturn that can be
491         used be elements internally. 
492         Added macro to check for SUCCESS flowreturns.
493         API: GST_FLOW_CUSTOM_SUCCESS
494         API: GST_FLOW_CUSTOM_ERROR
495         API: GST_FLOW_IS_SUCCESS
496
497         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
498         Added check for GstFlowReturn sanity.
499
500 2006-05-23  Wim Taymans  <wim@fluendo.com>
501
502         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
503
504         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
505         (gst_collect_pads_event):
506         clear/reset segment info in FLUSH_STOP.
507         Fixes #336929.
508
509 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
510
511         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
512         (gst_collect_pads_check_collected):
513         Flush queued buffer on _stop(), fixes playing again (#342454)
514
515 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
516
517         * tests/check/gst/gststructure.c: (GST_START_TEST),
518         (gst_structure_suite):
519           add a test for a complete structure
520
521 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
522
523         * docs/faq/developing.xml:
524         * docs/faq/faq.xml:
525         * docs/faq/troubleshooting.xml:
526         * docs/faq/using.xml:
527           Some minor FAQ updates that won't change the fact that
528           our FAQ is badly structured, full of information hardly
529           anyone new to GStreamer needs to know and lacking lots
530           of information people constantly ask for.
531           
532 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
533
534         * gst/gstpad.c: (gst_pad_set_caps):
535           Short-circuit gst_pad_set_caps if setting the existing
536           caps pointer again, and avoid printing debug and 
537           reffing/unreffing the caps.
538
539         * plugins/elements/gstqueue.c: (gst_queue_push_one):
540           There's actually no need to set the caps before pushing -
541           the acceptcaps method will handle it anyway.
542
543 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
544
545         * docs/gst/gstreamer-sections.txt:
546         * win32/common/libgstreamer.def:
547         * gst/gstutils.c: (gst_element_seek_simple):
548         * gst/gstutils.h:
549           API: add gst_element_seek_simple() (#342238).
550
551 2006-05-18  Edward Hervey  <edward@fluendo.com>
552
553         * gst/gsttypefind.c: (gst_type_find_get_type):
554         * gst/gsttypefind.h:
555         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
556         registered for GstTypeFind pointers. This allows wrapping the structure
557         in bindings (i.e. gst-python).
558
559 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
560
561         * gst/gsttagsetter.c:
562           Docs additions and fixes (see #339918).
563
564 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
565
566         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
567         The caps intersection algorithm can produce multiple copies of the
568         caps. Until that is fixed, we need to simplify the result to be
569         sure whether the allowed caps are fixed or not.
570
571         * plugins/elements/gstqueue.c: (gst_queue_init),
572         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
573         (gst_queue_push_one):
574         Proxied buffer alloc should not set the caps on the source pad.
575         When pushing buffers, we always accept the caps change that triggers.
576         This prevents negotiation errors caused by caps changing mid-stream 
577         and then being refused on our source pad (because upstream is now
578         refusing those caps).
579
580 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
581
582         * tests/examples/helloworld/helloworld.c: (main):
583           Must plug audioconvert and audioresample between decoder
584           and audio sink.
585
586 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
587
588         * gst/gstregistryxml.c: (read_string), (load_pad_template),
589         (load_feature), (load_plugin):
590         Allow empty strings for some of the plugin fields so we don't 
591         drop valid plugin entries that were written out correctly
592         (Fixes #341479)
593
594 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
595         
596         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
597           Use g_remove and g_rename instead of remove and rename that don't 
598           handle utf8 characters. rename was failing for users who had specific
599           characters in their name then the registry was built at each 
600           gstreamer init.
601         * win32/vs6/gst_inspect.dsp:
602         * win32/vs6/gst_launch.dsp:
603         * win32/vs6/libgstbase.dsp:
604         * win32/vs6/libgstcoreelements.dsp:
605         * win32/vs6/libgstreamer.dsp:
606           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
607           build of libgstreamer and clean unused libraries in projects link 
608           settings.
609
610 2006-05-17  Edward Hervey  <edward@fluendo.com>
611
612         * plugins/elements/gstqueue.c: (gst_queue_push_one):
613         The queue is not responsible for pushing an EOS when receiving a fatal
614         flow error. It's up to the real element driving the pipeline to do that.
615
616 2006-05-16  Edward Hervey  <edward@fluendo.com>
617
618         * plugins/elements/gstqueue.c: (gst_queue_push_one):
619         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
620         buffer returned a fatal error. It should just send an EOS and stop
621         its task.
622         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
623         when pushing buffers on the queue and will be able to handle the event.
624
625 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
626
627         * docs/manual/basics-bins.xml:
628         * docs/manual/basics-init.xml:
629           Fix typos and minor errors in sample code (#341856).
630
631 2006-05-16  Wim Taymans  <wim@fluendo.com>
632
633         * docs/design/part-qos.txt:
634         Fix indexes in formulas to make more sense.
635
636 2006-05-15  Wim Taymans  <wim@fluendo.com>
637
638         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
639         Don't report POSITION based on clock time if sync is
640         disabled in a sink.
641
642 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
643
644         * gst/gstobject.h:
645           Add cast to make compiler happy - refcount variable was a gint
646           in GstObject but is a guint in GObject and g_atomic_int_get()
647           wants a gint *.
648
649 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
650
651         * gst/parse/Makefile.am:
652           chain commands using &&, which also makes parallel make work
653
654 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
655
656         * docs/gst/gstreamer-sections.txt:
657         * gst/gstevent.c:
658         * gst/gstevent.h:
659         * gst/gstmessage.h:
660           Minor docs fixes.
661
662 === release 0.10.6 ===
663
664 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
665
666         * configure.ac:
667           releasing 0.10.6, "Take the cannoli"
668
669 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
670
671         * tools/gst-launch.c: (print_tag):
672           Fix use of uninitialized variable in the hypothetical
673           case that some broken plugin creates a GST_TAG_IMAGE
674           tag containing a NULL buffer (#341667).
675
676 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
677
678         * tools/gst-launch.c: (print_tag):
679           Print something more intelligible for image tags when
680           using the -t switch (#341556).
681
682 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
683
684         * Makefile.am:
685           updates for win32
686         * configure.ac:
687           define GST_MAJORMINOR so we have it available in win32/common/config.h
688           Possibly remove it from our Makefile.am files later
689         * win32/common/config.h:
690         * win32/common/config.h.in:
691           added GST_MAJORMINOR
692         * win32/common/gstenumtypes.c: (register_gst_resource_error):
693         * win32/common/gstversion.h:
694           updated
695
696 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
697
698         * win32/MANIFEST:
699           Update win32 files listing.
700         * win32/common/gstversion.h:
701           Add GST_MAJORMINOR definition.
702         * win32/common/libgstreamer.def:
703           Add new exported functions.
704           
705 2006-05-12  Michael Smith  <msmith@fluendo.com>
706
707         * gst/gstplugin.c: (gst_plugin_load_file):
708           If an so file has no plugin entry point, unload the module.
709
710 2006-05-11  Wim Taymans  <wim@fluendo.com>
711
712         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
713         (gst_queue_set_property):
714         Don't forget to signal the _chain or _loop function 
715         when the queue size or thresholds change since that might
716         cause them to make progres again.
717
718 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
719
720         * gst/gstclock.c: (gst_clock_class_init):
721         * gst/gstindex.c: (gst_index_class_init):
722         * gst/gstobject.c: (gst_object_class_init):
723         * gst/gstpad.c: (gst_pad_class_init):
724         * gst/gstpipeline.c: (gst_pipeline_class_init):
725         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
726         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
727         * libs/gst/base/gstbasetransform.c:
728         (gst_base_transform_class_init):
729         * libs/gst/net/gstnetclientclock.c:
730         (gst_net_client_clock_class_init):
731         * libs/gst/net/gstnettimeprovider.c:
732         (gst_net_time_provider_class_init):
733         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
734         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
735         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
736         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
737         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
738         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
739         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
740         * plugins/elements/gstidentity.c: (gst_identity_class_init):
741         * plugins/elements/gsttee.c: (gst_tee_class_init):
742         * tests/old/examples/plugins/example.c: (gst_example_class_init):
743         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
744           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
745
746 2006-05-11  Wim Taymans  <wim@fluendo.com>
747
748         * gst/gstbuffer.c: (_gst_buffer_initialize):
749         Register subbufer along with the buffer type so that
750         it does not accidentally gets registered from N
751         different streaming threads in a non threadsafe way.
752
753 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
754
755         * gst/gstbuffer.h:
756         * gst/gstevent.h:
757         * gst/gstmessage.h:
758           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
759           gst_event_ref() and gst_message_ref() functions again
760           (ugly hack, please do fix if there's a better way besides
761           overrides.txt, which doesn't seem to work).
762
763 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
764
765         * libs/gst/check/gstcheck.h:
766           add an assert for setting state to avoid lots of repetitive code
767           in the future
768
769 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
770
771         * gst/gstvalue.c: (gst_value_serialize_flags):
772           fix a leak if no flags are set
773         * tests/check/gst/gstvalue.c: (GST_START_TEST):
774           fix leak in tests
775
776 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
777
778         * docs/manual/basics-pads.xml:
779           Expand a bit on caps and filtered links and update
780           examples that were still using the no longer existing
781           gst_pad_link_filtered() (#338206).
782
783 2006-05-10  Wim Taymans  <wim@fluendo.com>
784
785         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
786         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
787         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
788         (gst_collect_pads_stop):
789         * libs/gst/base/gstcollectpads.h:
790         No need to call _stop in _finalize.
791         Iterate the main pad list in _finalize.
792         Added some more debug.
793         Free lists and data in the right order.
794         Also free data whem doing _remove_pad when stopped for
795         backward compatibility protect ::started with PAD_LOCK as
796         well.
797
798 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
799
800         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
801         (gst_structure_parse_value):
802           add some comments
803           rename a method so that it actually says what it does better
804
805 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
806
807         * gst/gstevent.c: (_gst_event_initialize):
808         * gst/gstformat.c: (_gst_format_initialize):
809           make sure some essential types used by events are registered
810           as part of gst_init()
811         * gst/gstvalue.c: (gst_value_serialize_flags):
812           if no flags are set, serialize them to a value that represents NONE
813           so that deserializing them works
814         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
815           add tests for serialization and deserialization of flags
816
817 2006-05-10  Wim Taymans  <wim@fluendo.com>
818
819         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
820         (gst_collect_pads_collect_range), (gst_collect_pads_available),
821         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
822         (gst_collect_pads_event), (gst_collect_pads_chain):
823         Update docs.
824         Better debug info.
825         Catch and return errors from the collect function
826         Refuse data on eos pads.
827
828 2006-05-10  Edward Hervey  <edward@fluendo.com>
829
830         * gst/gstinterface.h:
831         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
832         GInterface type checking.
833         They were previously using non-defined macros.
834
835 2006-05-09  Wim Taymans  <wim@fluendo.com>
836
837         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
838         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
839         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
840         (gst_collect_pads_start), (gst_collect_pads_stop),
841         (gst_collect_pads_peek), (gst_collect_pads_pop),
842         (gst_collect_pads_available), (gst_collect_pads_read),
843         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
844         (gst_collect_pads_is_collected), (gst_collect_pads_event),
845         (gst_collect_pads_chain):
846         * libs/gst/base/gstcollectpads.h:
847         Clean up the mess that is collectpads, add comments and
848         FIXMEs where needed.
849         Maintain a separate pad list so we can add pads while
850         collecting the other ones. For this we need a new separate 
851         lock (see comics).
852         Fix memory leak in finalize.
853         Refactor some weird code to set/unset pad flushing flags, mark
854         with comments.
855         Don't crash in _available, _read, _flush when we're EOS.
856
857         * tests/check/libs/.cvsignore:
858         Ignore adapter check binary.
859
860 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
861
862         * gst/gstindex.c: (gst_index_resolver_get_type):
863         * plugins/elements/gstfakesink.c:
864         (gst_fake_sink_state_error_get_type):
865         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
866         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
867         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
868           Const-ify GEnumValue arrays.
869
870 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
873           Add test case for flags + gst_buffer_make_metadata_writable().
874
875 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
876
877         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
878           gst_buffer_make_metadata_writable() should maintain the
879           buffer flags (those that make sense at least) (see #340859).
880
881 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
882
883         * tools/gst-inspect.c:
884         * tools/gst-launch.c:
885         * tools/gst-typefind.c:
886         * tools/gst-xmlinspect.c:
887         * tools/tools.h:
888           Fix up includes: need to include stdlib.h in tools.h for exit().
889
890 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
891
892         * gst/gsttaglist.c: (_gst_tag_initialize):
893         * gst/gsttaglist.h:
894           API: add GST_TAG_IMAGE tag (#340721).
895
896 2006-05-08  Wim Taymans  <wim@fluendo.com>
897
898         * gst/gstquery.c:
899         Added some docs for the segment query.
900
901 2006-05-08  Wim Taymans  <wim@fluendo.com>
902
903         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
904         (gst_base_src_loop), (gst_base_src_change_state):
905         Always push non-flushing serialized events in the streaming 
906         thread.
907
908 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
909
910         * gst/gsterror.c: (_gst_stream_errors_init):
911           Add a missing error string.
912
913 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
914
915         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
916         Add applied_rate to the debug
917
918         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
919         Copy applied_rate into the outgoing NEWSEGMENT event
920
921 2006-05-08  Wim Taymans  <wim@fluendo.com>
922
923         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
924
925         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
926         (gst_base_sink_change_state):
927         call ::unlock before taking the PREROLL_LOCK so we can safely
928         handle elements that lock in ::render.
929         Fixes #340174.
930
931 2006-05-08  Edward Hervey  <edward@fluendo.com>
932
933         * autogen.sh: (CONFIGURE_DEF_OPT): 
934         Darwin's libtoolize is in fact called glibtoolize.
935         Adding glibtoolize to the list of accepted names for libtoolize.
936
937 2006-05-08  Wim Taymans  <wim@fluendo.com>
938
939         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
940         Unify error handling, don't post an error message
941         when a push() returns EOS but perform our normal EOS
942         handling code. Fixes #340772.
943
944 2006-05-08  Wim Taymans  <wim@fluendo.com>
945
946         * docs/design/part-overview.txt:
947         Make upsteam/downstream concepts more clear.
948         Give an example of serialized/non-serialized events.
949
950         * docs/design/part-events.txt:
951         * docs/design/part-streams.txt:
952         Mention applied_rate.
953
954         * docs/design/part-trickmodes.txt:
955         Mention applied rate, flesh out some more use cases.
956
957         * gst/gstevent.c: (gst_event_new_new_segment),
958         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
959         (gst_event_parse_new_segment_full), (gst_event_new_tag),
960         (gst_event_parse_tag), (gst_event_new_buffer_size),
961         (gst_event_parse_buffer_size), (gst_event_new_qos),
962         (gst_event_parse_qos), (gst_event_parse_seek),
963         (gst_event_new_navigation):
964         * gst/gstevent.h:
965         Add applied_rate field to NEWSEGMENT event.
966         API: gst_event_new_new_segment_full()
967         API: gst_event_parse_new_segment_full()
968
969         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
970         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
971         (gst_segment_to_stream_time), (gst_segment_to_running_time):
972         * gst/gstsegment.h:
973         Add applied_rate to GstSegment structure.
974         Make calculation of stream_time and running_time more correct
975         wrt rate/applied_rate.
976         Add some more docs.
977         API: GstSegment::applied_rate field
978         API: gst_segment_set_newsegment_full();
979
980         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
981         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
982         * libs/gst/base/gstbasetransform.c:
983         (gst_base_transform_sink_eventfunc),
984         (gst_base_transform_handle_buffer):
985         Parse and use applied_rate in the GstSegment field.
986
987         * tests/check/gst/gstevent.c: (GST_START_TEST):
988         Add check for applied_rate field.
989
990         * tests/check/gst/gstsegment.c: (GST_START_TEST),
991         (gstsegments_suite):
992         Add more checks for various GstSegment operations.
993
994 2006-05-08  Wim Taymans  <wim@fluendo.com>
995
996         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
997         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
998         (gst_base_sink_get_position), (gst_base_sink_change_state):
999         Store the sync time of the buffer end position separatly in a
1000         new variable eos_rtime so we can properly sync the EOS event.
1001         Fixes #340697.
1002         Fix the docs for gst_base_sink_set_qos_enabled().
1003         Don't set segment start to invalid value when we receive a 
1004         non TIME newsegment.
1005         get closer to handling position reporting for negative rates 
1006         correctly.
1007
1008 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1009
1010         * gst/gstcaps.c:
1011         Docs about how to print caps for debug purposes.
1012
1013         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1014         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1015
1016 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1017
1018         * gst/gstelement.c:
1019           use full enum names and preprend a '%' in docs strings to make recent 
1020           gtk-doc turn that into a link
1021
1022 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1023
1024         * docs/manual/basics-bins.xml:
1025         * docs/manual/basics-bus.xml:
1026         * docs/manual/basics-pads.xml:
1027           Some typo fixes, some additions, some clarifications. 
1028
1029 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1030
1031         * tools/gst-inspect.c: (main):
1032         * tools/gst-launch.c: (main):
1033         * tools/gst-run.c: (main):
1034         * tools/gst-typefind.c: (main):
1035         * tools/gst-xmlinspect.c: (main):
1036           Use the string passed to g_option_context_new() for
1037           what it's intended for - the program name is already
1038           printed elsewhere.
1039
1040 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1041
1042         * tools/Makefile.am:
1043         * tools/gst-inspect.c: (main):
1044         * tools/gst-launch.c: (main):
1045         * tools/gst-xmlinspect.c: (main):
1046         * tools/tools.h:
1047           Add back --version command line option (#340460).
1048
1049         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1050           Add --version option and use GOption for argument parsing; refactor a
1051           bit; accept directories as arguments and recurse into them; lastly,
1052           print a decent error message when things go wrong.
1053
1054 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1055
1056         * docs/manual/basics-bins.xml:
1057         Don't mention GstThread (#340611)
1058         * docs/manual/basics-elements.xml:
1059         Update link to GObject tutorial (#340607)
1060         
1061 2006-05-05  Wim Taymans  <wim@fluendo.com>
1062
1063         * gst/gstbuffer.h:
1064         * gst/gstminiobject.c:
1065         Add note about refcounting and miniobject/buffer writeability
1066         to docs. Fixes #340604
1067
1068         * gst/gstelementfactory.h:
1069         Added some explanation about @klass.
1070
1071 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1072
1073         * docs/manual/intro-motivation.xml:
1074         * docs/manual/manual.xml:
1075         Avoid CORBA & Bonobo references (#340598)
1076
1077 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1078
1079         * docs/manual/basics-bus.xml:
1080         * docs/manual/basics-pads.xml:
1081         Fix up some inaccuracies and omissions (#340609)
1082         
1083 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1084
1085         * gst/gstghostpad.c:
1086           Small typo in docs (#340625)
1087
1088 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1089
1090         * gst/parse/Makefile.am:
1091           Make 'make -j' proof (see #340698).
1092
1093 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1094
1095         * configure.ac:
1096           Require GLib-2.8 here as well.
1097
1098 2006-05-05  Wim Taymans  <wim@fluendo.com>
1099
1100         * gst/glib-compat.c:
1101         * gst/gst.c: (init_pre):
1102         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1103         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1104         (gst_object_dispatch_properties_changed):
1105         * gst/gstobject.h:
1106         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1107         * gst/gststructure.c: (gst_structure_set_valist):
1108         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1109         Remove pre glib2.8 compatibility, fixes #340508
1110
1111 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1112
1113         * gst/gsttaglist.h:
1114           Mention type of tags in doc blurbs.
1115
1116 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1117
1118         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1119         (gst_pad_configure_src), (gst_pad_push):
1120         Restore acceptcaps checking behaviour now that good plugins have
1121         been released.
1122
1123 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1124
1125         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1126
1127         * gst/gst.c:
1128         * gst/gstbus.c:
1129         * gst/gstclock.c:
1130         * gst/gstevent.c:
1131         * gst/gstformat.c:
1132         * gst/gstmessage.c:
1133         * gst/gstparse.c:
1134         * gst/gstquery.c:
1135         * gst/gstutils.c:
1136         * gst/parse/Makefile.am:
1137         * libs/gst/base/gstadapter.c:
1138         * libs/gst/base/gstbasesrc.c:
1139         * libs/gst/base/gstpushsrc.c:
1140         * libs/gst/base/gsttypefindhelper.c:
1141         * plugins/elements/gstfakesrc.c:
1142         * plugins/elements/gstidentity.c:
1143           Make sure gstprivate.h and/or config.h are
1144           always included first, otherwise some of our
1145           defines (like _FILE_OFFSET_BITS) might be
1146           redefined in the system headers. Fixes build
1147           on opensolaris (#340016).
1148
1149 2006-05-04  Wim Taymans  <wim@fluendo.com>
1150
1151         * docs/libs/gstreamer-libs-sections.txt:
1152         API: addition: gst_adapter_take_buffer()
1153         
1154         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1155         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1156         (gst_adapter_available_fast):
1157         * libs/gst/base/gstadapter.h:
1158         Prepare for optimizing the hell out of this hugely inefficient
1159         piece of code. 
1160         Added gst_adapter_take_buffer() so we can at least start thinking
1161         about subbuffering and merging.
1162         Added some comments.
1163
1164         * tests/check/Makefile.am:
1165         * tests/check/libs/adapter.c: (GST_START_TEST),
1166         (gst_adapter_suite), (main):
1167         Added GstAdapter check.
1168
1169 2006-05-04  Wim Taymans  <wim@fluendo.com>
1170
1171         * docs/design/part-overview.txt:
1172         Fix some typos, add blurb about buffer flags.
1173
1174 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1175
1176         * docs/libs/gstreamer-libs-sections.txt:
1177           make sure GstBaseTransformClass shows up in the docs
1178         * libs/gst/base/gstbasetransform.c:
1179         * libs/gst/base/gstbasetransform.h:
1180           move docs so gtk-doc picks it up now
1181
1182 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1183
1184         * docs/libs/gstreamer-libs-sections.txt:
1185           add missing symbols to docs
1186
1187 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1188
1189         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1190           back out the newsegment handling change, see #340060 for ongoing
1191           discussion
1192
1193 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1194
1195         * tools/gst-run.c: (get_candidates), (main):
1196           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1197           work); fix typo in error message. Fixes #340079.
1198
1199 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1200
1201         * common/Makefile.am:
1202         * docs/Makefile.am:
1203         * docs/faq/Makefile.am:
1204         * docs/gst/Makefile.am:
1205         * docs/libs/Makefile.am:
1206         * docs/manual/Makefile.am:
1207         * docs/plugins/Makefile.am:
1208         * docs/pwg/Makefile.am:
1209         * docs/slides/Makefile.am:
1210         * docs/upload.mak:
1211         * common/upload.mak:
1212           move upload.mak to common
1213
1214 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1215
1216         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1217           add more asserts on refcounts
1218           do more cleanup at end of tests
1219           fix test leaks showing in FC5
1220
1221 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1222
1223         * plugins/elements/gsttypefindelement.c:
1224         (gst_type_find_element_handle_event):
1225         reverted wrong change and reflowed code to avoid others falling into
1226         this trap
1227
1228 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1229
1230         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1231           fix changelog entry about last collectpads change,
1232           add notes about proper fix
1233
1234 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1235
1236         * gst/gst.c:
1237         * gst/gstregistry.c: (gst_registry_scan_path_level),
1238         (gst_registry_scan_path):
1239         * gst/gstregistry.h:
1240           only write out registry if it has changed, fixes #338339
1241
1242 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1243
1244         * gst/gstbin.c:
1245         * gst/gstpipeline.c:
1246         * plugins/elements/gstcapsfilter.c:
1247         * plugins/elements/gstfakesink.c:
1248         * plugins/elements/gstfakesrc.c:
1249         * plugins/elements/gstfdsink.c:
1250         * plugins/elements/gstfdsrc.c:
1251         * plugins/elements/gstfilesink.c:
1252         * plugins/elements/gstfilesrc.c:
1253         * plugins/elements/gstidentity.c:
1254         * plugins/elements/gstqueue.c:
1255         * plugins/elements/gsttee.c:
1256         * plugins/elements/gsttypefindelement.c:
1257         (gst_type_find_element_handle_event):
1258           make GstElementDetails const
1259
1260 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1261
1262         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1263         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1264         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1265           more detailed debug and formatting cleanup,
1266           forward newsegments to src-pad (so that e.g. adder not eats them)
1267
1268 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1269
1270         * gst/gstutils.c: (gst_element_link_pads):
1271           cleanup double code
1272
1273 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1274
1275         * libs/gst/controller/gstcontroller.c:
1276         (gst_controller_sync_values):
1277           some little tuning
1278         * tests/check/libs/controller.c: (GST_START_TEST),
1279         (gst_controller_suite):
1280           a new test for live value handling
1281
1282 2006-04-28  Wim Taymans  <wim@fluendo.com>
1283
1284         * gst/gstutils.c: (push_and_ref):
1285         Added some more docs.
1286         Fix refcount issue whith gst_element_found_tags() helper 
1287         function. Fixes #338335
1288
1289         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1290         Added testsuite for gst_element_found_tags().
1291
1292 2006-04-28  Michael Smith  <msmith@fluendo.com>
1293
1294         * gst/gstvalue.c: (gst_value_serialize_flags):
1295           Avoid NULL dereference when trying to serialize flags containing
1296           invalid values.
1297
1298 2006-04-28  Michael Smith  <msmith@fluendo.com>
1299
1300         * plugins/elements/gsttypefindelement.c:
1301         (gst_type_find_element_handle_event):
1302           If we get EOS before any data is accumulated, don't use
1303           uninitialised local variables.
1304
1305 2006-04-28  Michael Smith  <msmith@fluendo.com>
1306
1307         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1308         (gst_dp_event_from_packet):
1309           Fixes in reading/writing events over GDP (not currently used?) - 
1310           dereferencing NULL events for unknown/invalid event types, memory
1311           leak, and change g_warning to GST_WARNING.
1312
1313 2006-04-28  Wim Taymans  <wim@fluendo.com>
1314
1315         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1316         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1317         (gst_base_sink_get_position), (gst_base_sink_change_state):
1318         When frame dropping is enabled, we should not ignore frames
1319         without a duration.
1320         Update some documentation.
1321
1322 2006-04-28  Wim Taymans  <wim@fluendo.com>
1323
1324         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1325         (gst_base_src_send_event), (gst_base_src_change_state):
1326         Documentation updates.
1327
1328 2006-04-28  Wim Taymans  <wim@fluendo.com>
1329
1330         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1331         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1332         handle EAGAIN, EINTR and short writes correctly. Also clean
1333         up some error cases, avoid a deadlock on bad file descriptors and
1334         use GST_DEBUG_OBJECT.
1335         Fixes #339843
1336
1337 2006-04-28  Wim Taymans  <wim@fluendo.com>
1338
1339         * gst/gstvalue.c: (gst_value_serialize_buffer),
1340         (gst_value_deserialize_buffer):
1341         Don't try to serialize a GValue with a NULL buffer. 
1342         Fixes #339821.
1343
1344         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1345         Added check for serialisation of NULL buffers.
1346
1347 2006-04-28  Wim Taymans  <wim@fluendo.com>
1348
1349         * gst/gstminiobject.c: (gst_value_take_mini_object):
1350         Taking a NULL miniobject is valid, fix the case where
1351         we try to unref the NULL miniobject.
1352
1353 2006-04-28  Wim Taymans  <wim@fluendo.com>
1354
1355         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1356
1357         * gst/gstbin.c: (gst_bin_handle_message_func):
1358         Update docs.
1359         Don't leak bin refcount when a state recalc is
1360         in progress and we delay another one #339808.
1361
1362 2006-04-28  Wim Taymans  <wim@fluendo.com>
1363
1364         * docs/design/part-TODO.txt:
1365         Mention QoS as an ongoing work item.
1366
1367         * docs/design/part-buffering.txt:
1368         New doc about buffering that needs to be fleshed out
1369         at some point.
1370
1371         * docs/design/part-qos.txt:
1372         More QoS policy for decoders/demuxers/transforms
1373
1374         * docs/design/part-trickmodes.txt:
1375         Small update.
1376
1377 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1378
1379         * configure.ac:
1380           back to HEAD
1381
1382 === release 0.10.5 ===
1383
1384 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1385
1386         * configure.ac:
1387           releasing 0.10.5, "Fogo"
1388
1389 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1390
1391         patch by: Wim Taymans
1392
1393         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1394         (gst_pad_configure_src), (gst_pad_push):
1395         * gst/gstpipeline.c: (gst_pipeline_init):
1396           Fix internal data flow errors.  Fixes #338711.
1397
1398 2006-04-12  Wim Taymans  <wim@fluendo.com>
1399
1400         * tests/check/gst/gstelement.c: (GST_START_TEST):
1401         Don't leak the factory.
1402
1403 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1404
1405         * configure.ac:
1406         * win32/common/config.h:
1407           prerelease
1408
1409 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1410
1411         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1412         (gst_controller_unset_all):
1413           Free allocated GstTimedValues when freeing list nodes.
1414           Should fix leaks 'make check-valgrind' complains about.
1415
1416         * win32/common/libgstcontroller.def:
1417           Add gst_controller_unset_all.
1418
1419 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1420
1421         * docs/libs/gstreamer-libs-sections.txt:
1422         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1423         (gst_controller_unset_all):
1424         * libs/gst/controller/gstcontroller.h:
1425         API: Added new method gst_controller_unset_all()
1426         fixed gst_controller_unset()
1427         * tests/check/libs/controller.c: (GST_START_TEST),
1428         (gst_controller_suite):
1429         Added two testcases for new and fixed method
1430
1431 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1432
1433         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1434           MSG_DONTWAIT is not defined on Cygwin, so work
1435           around that (fixes #317048).
1436           
1437 2006-04-11  Wim Taymans  <wim@fluendo.com>
1438
1439         * gst/gstelementfactory.c: (gst_element_register),
1440         (gst_element_factory_create), (gst_element_factory_make):
1441         Some cleanups.
1442         Fixed a FIXME.
1443         Updated docs (Fixes #131079)
1444
1445         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1446         Small cleanups.
1447
1448         * tests/check/gst/gstelement.c: (GST_START_TEST),
1449         (gst_element_suite):
1450         Added testcase for elementfactory class field.
1451
1452 2006-04-10  Wim Taymans  <wim@fluendo.com>
1453
1454         * gst/gstsegment.c:
1455         Added some more docs.
1456
1457         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1458         (gst_base_sink_reset_qos):
1459         Calculate more accurate rate values.
1460
1461 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1462
1463         * gst/gst_private.h:
1464           add a new #ifdef to use __declspec(dllimport) only for
1465           other modules and not for gstreamer core
1466         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1467           use gst_guint64_to_gdouble for conversion
1468         * win32/common/libgstreamer.def:
1469           add new exported functions
1470         * win32/vs6/gst_inspect.dsp:
1471         * win32/vs6/gst_launch.dsp:
1472         * win32/vs6/libgstbase.dsp:
1473         * win32/vs6/libgstcontroller.dsp:
1474         * win32/vs6/libgstcoreelements.dsp:
1475         * win32/vs6/libgstdataprotocol.dsp:
1476         * win32/vs6/libgstnet.dsp:
1477           update project files
1478
1479 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1480
1481         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1482         * gst/gstclock.c: (gst_clock_class_init):
1483         * gst/gstelement.c: (gst_element_class_init):
1484         * gst/gstindex.c: (gst_index_class_init):
1485         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1486         * gst/gstobject.c: (gst_object_class_init),
1487         (gst_signal_object_class_init):
1488         * gst/gstpad.c: (gst_pad_class_init):
1489         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1490         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1491         * gst/gstregistry.c: (gst_registry_class_init):
1492         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1493         * gst/gsttask.c: (gst_task_class_init):
1494         * gst/gstxml.c: (gst_xml_class_init):
1495         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1496         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1497         (gst_base_src_loop):
1498         * libs/gst/controller/gstcontroller.c:/
1499         (_gst_controller_class_init):
1500         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1501         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1502         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1503         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1504         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1505         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1506
1507 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1508
1509         * gst/gstpad.c: (gst_pad_link):
1510           Must set peer pads before calling the link function, otherwise
1511           a task started from a link function might get a flow-not-linked
1512           result when trying to push because the other thread where the
1513           linking happens hasn't had a chance to set the peers yet. This
1514           might happen for example when a queue gets linked to a downstream
1515           element, as queue starts a streaming task when its source pad
1516           gets linked. Happens in real life when playing back flac/musepack
1517           files in playbin (#332390).
1518           
1519 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1520
1521         * gst/gstindex.h:
1522         * gst/gstxml.h:
1523         * libs/gst/base/gstadapter.h:
1524         * libs/gst/base/gstbasesink.h:
1525         * libs/gst/base/gstbasesrc.h:
1526         * libs/gst/base/gstbasetransform.h:
1527         * libs/gst/base/gstcollectpads.h:
1528         * libs/gst/base/gstpushsrc.h:
1529         Fix broken GObject macros
1530
1531 2006-04-07  Wim Taymans  <wim@fluendo.com>
1532
1533         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1534         Initialize start and stop times, thanks valgrind.
1535
1536 2006-04-07  Wim Taymans  <wim@fluendo.com>
1537
1538         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1539         Be a bit nicer to badly behaving upstream elements that expect
1540         us to deal with non TIME segments and timestamps (such as fakesrc
1541         in the testsuite).
1542
1543 2006-04-07  Wim Taymans  <wim@fluendo.com>
1544
1545         * gst/gstbus.c:
1546         Small documentation clarification about the signal watch.
1547
1548         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1549         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1550         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1551         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1552         (gst_base_sink_get_position_last),
1553         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1554         Convert and store timestamps in stream time and running time, the
1555         raw timestamps are not usefull, also document this better.
1556         Use different window sizes for good and bad QoS observations so
1557         we react to badness a little quicker.
1558         Keep track of the amount of rendered and dropped buffers.
1559         Send QoS timestamps in running time.
1560
1561         * libs/gst/base/gstbasetransform.c:
1562         (gst_base_transform_sink_eventfunc),
1563         (gst_base_transform_handle_buffer):
1564         Compare QoS timestamps against running time.
1565
1566 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1567
1568         * gst/gstpad.c:
1569           Typo fixes in docs.
1570
1571 2006-04-06  Michael Smith  <msmith@fluendo.com>
1572
1573         * gst/gstpad.c: (gst_pad_set_property):
1574           Use g_value_get_object() instead of g_value_dup_gst_object(),
1575           to avoid double-reffing the pad template (which we then sink,
1576           so this worked previously if (and only if) the pad template
1577           was floating.
1578
1579         * gst/gstpadtemplate.c: (gst_pad_template_init),
1580         (gst_pad_template_pad_created):
1581           Never return floating references to pad templates, create
1582           them as initially-sunken.
1583
1584           Document an extra function (and make this stop sinking our
1585           pad template, since that is now guaranteed to do nothing,
1586           since we created it sunken).
1587
1588         * gst/gstghostpad.c:
1589           Fix docs typo.
1590
1591 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1592
1593         * gst/gstinfo.c: (__gst_in_valgrind):
1594           Add some newlines.
1595
1596         * plugins/elements/gsttypefindelement.c:
1597         (gst_type_find_element_chain):
1598           Don't leak buffer caps.
1599
1600 2006-04-06  Michael Smith  <msmith@fluendo.com>
1601
1602         * gst/parse/grammar.y:
1603           Fix a leak in parse-launch for any source-or-sink named element 
1604           references used.
1605
1606         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1607           Unref the pipeline if it exists after we've failed parsing.
1608
1609 2006-04-05  Michael Smith  <msmith@fluendo.com>
1610
1611         * gst/gstpipeline.c: (gst_pipeline_init):
1612           When we create a pipeline bus, initially create it in flushing mode.
1613           Fixes leaks in at least one test, and makes a new pipeline work the
1614           same as one that has gone to READY and then back to NULL.
1615
1616         * gst/gstelement.c:
1617           Typo fix in docs.
1618
1619 2006-04-05  Michael Smith  <msmith@fluendo.com>
1620
1621         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1622           Unref a pad we reffed.
1623         * tests/check/gst/gstutils.c: (GST_START_TEST):
1624           Unref bins
1625
1626 2006-04-05  Michael Smith  <msmith@fluendo.com>
1627
1628         * gst/gstquery.c: (gst_query_set_formats),
1629         (gst_query_set_formatsv):
1630           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1631
1632 2006-04-05  Michael Smith  <msmith@fluendo.com>
1633
1634         * tests/check/generic/sinks.c: (GST_START_TEST):
1635           Fix a variety of memleaks in sinks check, which are only sometimes 
1636           shown by running the tests under valgrind (weird?).
1637
1638 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1639
1640         * docs/version.entities.in:
1641           Fix the substituted entity name after thomas' changes on the
1642           weekend.
1643
1644 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1645
1646         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1647         VALGRIND_PRINTF
1648         
1649 2006-04-05  Andy Wingo  <wingo@pobox.com>
1650
1651         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1652
1653         * libs/gst/base/gstbasetransform.c
1654         (gst_base_transform_sink_eventfunc): When resetting our segment on
1655         FLUSH_STOP, also update the flag saying we haven't seen a
1656         newsegment.
1657
1658 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1659
1660         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1661
1662         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1663         (gst_plugin_check_license):
1664           minor clean-ups: G_DEFINE_TYPE already takes care of the
1665           parent_class stuff, no need to do it twice. Mark array of
1666           license strings as constant. (#337103)
1667           
1668 2006-04-04  Michael Smith  <msmith@fluendo.com>
1669
1670         * tools/gst-inspect.c: (print_element_list):
1671           Free the right plugin list; fixes a memory leak.
1672
1673 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1674
1675         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1676
1677         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1678           Don't error out on empty buffers (#336945).
1679           
1680 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1681
1682         * docs/libs/gstreamer-libs-sections.txt:
1683         * gst/gsttaglist.c:
1684         * libs/gst/base/gstbasesink.c:
1685         * libs/gst/base/gstbasesink.h:
1686         * libs/gst/base/gstbasesrc.c:
1687         * libs/gst/base/gstbasesrc.h:
1688           Documentation updates. Make BaseSink and BaseSrc docs contain the
1689           class structure so that people can actually see the prototypes for
1690           virtual functions they're supposed to be overriding.
1691
1692 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1693
1694         * plugins/elements/gsttypefindelement.c:
1695         (gst_type_find_element_chain):
1696           More debug info; when skipping typefinding, send cached
1697           events in all cases.
1698
1699 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1700
1701         * configure.ac:
1702           use new AS_VERSION and AS_NANO macros
1703         * gst/gst-i18n-lib.h:
1704         * gst/gst.c:
1705         * gst/gsterror.c:
1706         * gst/gstversion.h.in:
1707         * win32/common/config.h:
1708         * win32/common/config.h.in:
1709           update accordingly
1710
1711 2006-03-31  Michael Smith  <msmith@fluendo.com>
1712
1713         * plugins/elements/gsttypefindelement.c:
1714         (gst_type_find_element_chain):
1715           Do not typefind content if the buffers already have caps.
1716           Neccesary for icydemux (#333657), and the right thing to do anyway.
1717
1718 2006-03-30  Wim Taymans  <wim@fluendo.com>
1719
1720         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1721         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1722         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1723         (gst_base_sink_record_qos_observation),
1724         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1725         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1726         (gst_base_sink_change_state):
1727         More QoS measurements as described in the design doc.
1728         Get rid of ringbuffer with observations, running average is
1729         more simple and equally good.
1730         Calculates valid proportion now.
1731         Added beginning of flood measurement.
1732
1733 2006-03-29  Wim Taymans  <wim@fluendo.com>
1734
1735         * docs/design/part-qos.txt:
1736         * gst/gstclock.c:
1737         Small documentation updates and additions.
1738
1739 2006-03-29  Wim Taymans  <wim@fluendo.com>
1740
1741         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1742         (gst_base_src_send_event), (gst_base_src_loop),
1743         (gst_base_src_change_state):
1744         Perform the EOS logic when we reach the segment stop position.
1745         Fix compilation on gcc4.1
1746
1747 2006-03-29  Wim Taymans  <wim@fluendo.com>
1748
1749         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1750
1751         * plugins/elements/gstqueue.c: (gst_queue_init),
1752         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1753         (gst_queue_set_property):
1754         * plugins/elements/gstqueue.h:
1755         In queue, when EOS is received, if minimum threshold > max_size -
1756         current_level, there is chance that queue blocks forever in conditional
1757         item del wait. This is because the queue is not emptied completely due
1758         to minimum threshold.  Here is another approach. Instead of setting
1759         cur_levels to max in EOS, just zero all minimum threshold levels. This
1760         should make sure that queue gives out all data. When going to READY
1761         (stop) state, just reset the original minimum threshold levels.
1762         Fixes #336336.
1763
1764 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1765
1766         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1767         (gst_type_find_element_handle_event),
1768         (gst_type_find_element_send_cached_events),
1769         (gst_type_find_element_change_state):
1770         * plugins/elements/gsttypefindelement.h:
1771           When typefinding is done in push mode, we should cache
1772           events we receive during typefinding instead of just
1773           dropping them (e.g. newsegment, custom events from
1774           dvdreadsrc etc.) and then send them out once we've
1775           determined the type of the stream (and decodebin
1776           has had a chance to plug in a decoder/demuxer).
1777           
1778 2006-03-27  Wim Taymans  <wim@fluendo.com>
1779
1780         * docs/design/part-qos.txt:
1781         First QoS ideas.
1782
1783 2006-03-27  Wim Taymans  <wim@fluendo.com>
1784
1785         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1786
1787         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1788         (gst_base_src_send_event), (gst_base_src_change_state):
1789         Handle element seek correctly when we are streaming.
1790         Fixes #326998.
1791
1792 2006-03-24  Michael Smith  <msmith@fluendo.com>
1793
1794         * docs/faq/gst-uninstalled:
1795           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1796           allow you to correctly run intalled applications built against old 
1797           core, using plugins that require updated core (e.g. running
1798           installed totem against a full uninstalled gstreamer stack)
1799
1800 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1801
1802         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1803         more debug details
1804
1805 2006-03-24  Wim Taymans  <wim@fluendo.com>
1806
1807         * docs/gst/gstreamer-sections.txt:
1808         Rearrange the order of the methods so that related methods
1809         are grouped together in sections.
1810
1811 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1812
1813         * gst/gstelement.c:
1814           Little clarification in the docs
1815
1816 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1817
1818         * docs/README:
1819         formatting fix
1820         * plugins/elements/gstidentity.c:
1821         * plugins/elements/gstqueue.c:
1822         * plugins/elements/gsttee.c:
1823         * plugins/elements/gsttypefindelement.c:
1824         GST_ELEMENT_DETAILS formatting
1825
1826 2006-03-24  Wim Taymans  <wim@fluendo.com>
1827
1828         * libs/gst/base/gstbasesink.h:
1829         Only add fields, not insert or we break ABI.
1830
1831 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1832
1833         * win32/common/libgstbase.def:
1834         * win32/common/libgstreamer.def:
1835           Update, add recently added functions.
1836
1837 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1838
1839         * docs/gst/gstreamer-sections.txt:
1840         * gst/gstutils.c: (gst_pad_query_peer_position),
1841         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1842         * gst/gstutils.h:
1843           API: add some new utility functions:
1844            - gst_pad_query_peer_position()
1845            - gst_pad_query_peer_duration()
1846            - gst_pad_query_peer_convert()
1847           
1848 2006-03-23  Wim Taymans  <wim@fluendo.com>
1849
1850         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1851         (gst_base_sink_init), (gst_base_sink_finalize),
1852         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1853         (gst_base_sink_set_property), (gst_base_sink_get_property),
1854         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1855         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1856         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1857         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1858         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1859         (gst_base_sink_preroll_object), (gst_base_sink_event),
1860         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1861         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1862         (gst_base_sink_query), (gst_base_sink_change_state):
1863         Decouple max-lateness and the fact that QoS messages are generated
1864         with a new property (qos).
1865         added API: GstBaseSink::async_play()
1866         Add vmethod so subclasses can be notified of ASYNC playing
1867         state changes.
1868         Collect timestamp start and stop to report better current
1869         position in EOS/PLAYING/PAUSED/READY/NULL.
1870         Refactor QoS/frame dropping and other measurements.
1871         API: GstBaseSrc::qos
1872         Fixes #326311
1873
1874         * libs/gst/base/gstbasesink.h:
1875         Added Private struct.
1876         API: gst_base_sink_set_qos_enabled()
1877         API: gst_base_sink_is_qos_enabled()
1878
1879 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1880
1881         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1882           If compiling against GLib-2.8 or newer, try to read the
1883           registry file using GMappedFile first before falling back
1884           to fopen() + fread() (#332151).
1885
1886 2006-03-22  Wim Taymans  <wim@fluendo.com>
1887
1888         * gst/gstinfo.c: (gst_debug_set_active),
1889         (gst_debug_category_set_threshold):
1890         Disable debugging unless explicitly activated.
1891         Fixes #335480.
1892
1893 2006-03-22  Wim Taymans  <wim@fluendo.com>
1894
1895         * gst/gstelement.c: (gst_element_set_locked_state),
1896         (gst_element_dispose):
1897         Cleanup the error case.
1898
1899         * gst/gstobject.c: (gst_object_dispose):
1900         print a critical when some object was disposed with
1901         a parent, also revive the object since it might
1902         crash the parent.
1903
1904 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1905
1906         * tools/gst-launch.1.in:
1907           Fix another typo.
1908
1909 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1910
1911         * configure.ac:
1912         * tests/check/Makefile.am:
1913           disable some tests when we don't have a registry
1914         * tests/check/gst/gstutils.c: (gst_utils_suite):
1915           don't build the part that needs parsing
1916
1917 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1918
1919         * gst/Makefile.am
1920         * tests/examples/Makefile.am:
1921           fix --disable-parse build
1922
1923 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1924
1925         * tools/gst-feedback.1.in:
1926           Fix typo: s/feeback/feedback/ (#133494).
1927
1928 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1929
1930         * tools/Makefile.am:
1931         * tools/gst-launch.1.in:
1932           Add FILES section and correct entry about GST_REGISTRY_PATH
1933           environment variable (#133495; #133494).
1934
1935 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1936
1937         * tools/Makefile.am:
1938         * tools/gst-md5sum.1.in:
1939         * tools/gst-md5sum.c:
1940           Remove gst-md5sum and man page (the md5sink element
1941           required was removed ages ago)
1942
1943 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1944
1945         * gst/gststructure.c: (gst_structure_id_set_value):
1946           Make sure that string fields in structures/taglists
1947           contain valid UTF-8 - we don't want to pass rubbish to
1948           applications because of a buggy plugin (cp. #334167).
1949
1950 2006-03-21  Edward Hervey  <edward@fluendo.com>
1951
1952         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1953         (gst_bin_handle_message_func):
1954         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1955         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1956         (gst_element_set_bus_func):
1957         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1958         * gst/gstminiobject.c: (gst_value_set_mini_object),
1959         (gst_value_take_mini_object):
1960         * gst/gstpad.c: (gst_pad_set_pad_template):
1961         * gst/gstpipeline.c: (gst_pipeline_dispose),
1962         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1963         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1964         (gst_collect_pads_chain):
1965         * libs/gst/net/gstnettimeprovider.c:
1966         (gst_net_time_provider_set_property):
1967         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1968         It's in fact all issues with gst_*object_replace().
1969
1970 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1971
1972         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1973         
1974         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1975         * pkgconfig/gstreamer-check.pc.in:
1976           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1977
1978 2006-03-21  Edward Hervey  <edward@fluendo.com>
1979
1980         * gst/gstbuffer.h:
1981         * gst/gstevent.h:
1982         * gst/gstmessage.h:
1983         gst_[buffer|event|message]_ref() macros are replaced by a static
1984         inline functions because gcc-4.1 will about if the return value
1985         isn't used.
1986         * tests/check/gst/gstevent.c: (event_probe):
1987         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1988
1989 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1990
1991         * gst/gstutils.h:
1992         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1993         the type' case. (Closes: #335195 for now). In the future, when we
1994         depend on GLib 2.10, we could also intern the type name using
1995         g_intern_static_string()
1996
1997 2006-03-20  Wim Taymans  <wim@fluendo.com>
1998
1999         * gst/gstbin.c: (gst_bin_handle_message_func),
2000         (bin_query_max_init), (bin_query_position_fold),
2001         (bin_query_position_done), (gst_bin_query):
2002         Position query should also take max of all streams.
2003
2004 2006-03-20  Wim Taymans  <wim@fluendo.com>
2005
2006         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2007         (gst_fake_src_finalize):
2008         Fix leaks in fakesrc.
2009
2010         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2011         Fix leaks in the testcase.
2012
2013 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2014
2015         * gst/gst_private.h:
2016           add win32 specific import decoration(__declspec(dllimport)) 
2017           for all extern GstDebugCategory * variables
2018         * win32/common/libgstbase.def:
2019         * win32/common/libgstcontroller.def:
2020         * win32/common/libgstreamer.def:
2021           Add some exports, remove empty lines
2022         * win32/common/libgstdataprotocol.def:
2023         * win32/common/libgstdataprotocol.dsp:
2024         * win32/common/libgstnet.def:
2025         * win32/common/libgstnet.dsp:
2026           new project files and exportation files added
2027         
2028 2006-03-19  Wim Taymans  <wim@fluendo.com>
2029
2030         * tests/check/libs/basesrc.c: (eos_event_counter):
2031         Use proper return value for probe.
2032
2033 2006-03-17  Wim Taymans  <wim@fluendo.com>
2034
2035         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2036         (gst_pad_push):
2037         Don't leak buffers, caps and pads on negotiation errors.
2038
2039 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2040
2041         * docs/faq/cvs.xml:
2042         * docs/faq/dependencies.xml:
2043         * docs/faq/developing.xml:
2044         * docs/faq/faq.xml:
2045         * docs/faq/general.xml:
2046         * docs/faq/getting.xml:
2047         * docs/faq/legal.xml:
2048         * docs/faq/troubleshooting.xml:
2049         * docs/faq/using.xml:
2050         Faq review and update.
2051
2052 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2053
2054         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2055         (gst_pad_push):
2056         Don't pound the cpu to pieces by checking get_caps when accept_caps
2057         is called with the same caps as the pad already has.
2058         Use GST_DEBUG_OBJECT when outputting caps change information.
2059
2060 2006-03-15  Wim Taymans  <wim@fluendo.com>
2061
2062         * gst/gstclock.c: (gst_clock_class_init):
2063         Fix docs.
2064
2065 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2066
2067         * gst/gstbuffer.h:
2068         Documentation fix.
2069
2070         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2071         (gst_pad_accept_caps), (gst_pad_configure_sink),
2072         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2073         Make the default acceptcaps behaviour be to check the requested 
2074         caps against the gst_pad_get_caps output. 
2075
2076         Ensure that gst_pad_accept_caps is used to check caps when a pad
2077         doesn't have a setcaps function, so that pads automatically refuse 
2078         caps that they don't allow in their pad template. (Fixes #332986)
2079
2080         When a buffer with attached caps is pushed, ensure that the source 
2081         pad receives those caps even if the element didn't call
2082         gst_pad_set_caps first.
2083
2084 2006-03-15  Wim Taymans  <wim@fluendo.com>
2085
2086         * libs/gst/base/gstadapter.c:
2087         Add some docs.
2088
2089 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2090
2091         * win32/common/libgstbase.def:
2092         * win32/common/libgstcontroller.def:
2093         * win32/common/libgstreamer.def:
2094           Add a whole bunch of missing functions (#334434).
2095
2096 2006-03-14  Wim Taymans  <wim@fluendo.com>
2097
2098         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2099         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2100         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2101         Better debug info when we receive a segment event.
2102         Reorganize a bit so we can pass the get_times() results around.
2103         Use the segment format when calculating the running time.
2104         Don't do QoS is sync is disabled or we have no clock or the
2105         element does not want us to sync to the clock.
2106         Don't drop buffers if QoS is disabled for now.
2107
2108 2006-03-14  Wim Taymans  <wim@fluendo.com>
2109
2110         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2111         Marked the stats property as unimplemented so people don't get
2112         wild ideas.
2113         Add debug message when regression goes wrong.
2114         Added some more docs.
2115
2116 2006-03-14  Wim Taymans  <wim@fluendo.com>
2117
2118         * gst/gstsegment.c: (gst_segment_to_stream_time):
2119         Return correct return type in case of errors.
2120
2121 2006-03-14  Wim Taymans  <wim@fluendo.com>
2122
2123         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2124           Don't segfault on invalid formats.
2125
2126 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2127
2128         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2129           Can't use gst_segment_to_running_time() when the segment
2130           is not in GST_TIME_FORMAT (like with filesink, for example).
2131           Stops flac encoding pipelines from spewing critical warnings
2132           at EOS (#331248).
2133           
2134 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2135
2136         * gst/gstpipeline.c: (gst_pipeline_class_init):
2137           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2138
2139         * plugins/elements/gsttypefindelement.c:
2140         (gst_type_find_element_handle_event):
2141           Don't try to typefind empty streams.
2142
2143 2006-03-14  Wim Taymans  <wim@fluendo.com>
2144
2145         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2146         (gst_base_sink_do_qos):
2147         Separate QoS calculation.
2148         Only drop buffers when lateness is bigger than the 
2149         duration of the buffer.
2150
2151 2006-03-13  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/gstpipeline.c: (gst_pipeline_set_property),
2154         (gst_pipeline_get_property), (do_pipeline_seek),
2155         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2156         (gst_pipeline_get_delay):
2157         Don't deadlock when reading properties.
2158
2159 2006-03-13  Wim Taymans  <wim@fluendo.com>
2160
2161         * libs/gst/base/gstbasetransform.c:
2162         (gst_base_transform_class_init), (gst_base_transform_init),
2163         (gst_base_transform_sink_event),
2164         (gst_base_transform_sink_eventfunc),
2165         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2166         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2167         (gst_base_transform_set_property),
2168         (gst_base_transform_get_property),
2169         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2170         (gst_base_transform_set_qos_enabled),
2171         (gst_base_transform_is_qos_enabled):
2172         * libs/gst/base/gstbasetransform.h:
2173         Make basetransform virtual method for src events too.
2174         Handle QOS in basetransform.
2175         API: gst_base_transform_update_qos()
2176         API: gst_base_transform_set_qos_enabled()
2177         API: gst_base_transform_is_qos_enabled()
2178
2179 2006-03-13  Wim Taymans  <wim@fluendo.com>
2180
2181         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2182         (gst_base_sink_do_sync):
2183         Small cleanups.
2184         Use QOS debug category.
2185
2186 2006-03-13  Wim Taymans  <wim@fluendo.com>
2187
2188         * plugins/elements/gstqueue.c:
2189         Very small doc update.
2190
2191 2006-03-13  Wim Taymans  <wim@fluendo.com>
2192
2193         * gst/gst_private.h:
2194         * gst/gstinfo.c: (_gst_debug_init):
2195         Added QOS debug category
2196
2197 2006-03-13  Wim Taymans  <wim@fluendo.com>
2198
2199         * docs/gst/gstreamer-sections.txt:
2200         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2201         * gst/gstbin.h:
2202         * gst/gstbus.c: (gst_bus_class_init):
2203         * gst/gstbus.h:
2204         * gst/gstclock.c:
2205         * gst/gstelement.c: (gst_element_set_locked_state):
2206         * gst/gstsegment.c:
2207         Documentation updates.
2208
2209         * gst/gstpipeline.c: (gst_pipeline_get_type),
2210         (gst_pipeline_class_init), (gst_pipeline_init),
2211         (gst_pipeline_dispose), (gst_pipeline_set_property),
2212         (gst_pipeline_get_property), (do_pipeline_seek),
2213         (gst_pipeline_send_event), (gst_pipeline_change_state),
2214         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2215         (gst_pipeline_get_delay):
2216         * gst/gstpipeline.h:
2217         Added methods for setting the delay.
2218         API: gst_pipeline_set_delay()
2219         API: gst_pipeline_get_delay()
2220         Add pipeline debug category
2221         Various cleanups.
2222         Updated docs.
2223         Don't reset stream time when seek failed.
2224
2225 2006-03-13  Wim Taymans  <wim@fluendo.com>
2226
2227         * docs/design/draft-klass.txt:
2228         * docs/design/part-clocks.txt:
2229         * docs/design/part-events.txt:
2230         * docs/design/part-gstbin.txt:
2231         * docs/design/part-gstpipeline.txt:
2232         * docs/design/part-messages.txt:
2233         * docs/design/part-negotiation.txt:
2234         * docs/design/part-overview.txt:
2235         * docs/design/part-preroll.txt:
2236         * docs/design/part-seeking.txt:
2237         * docs/design/part-states.txt:
2238         * docs/design/part-streams.txt:
2239         Documentation updates.
2240
2241 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2242
2243         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2244         us to leak strings...
2245
2246 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2247
2248         * libs/gst/net/gstnettimeprovider.c:
2249           fix docs
2250         * win32/common/config.h:
2251           update
2252
2253 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2254
2255         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2256
2257         * configure.ac:
2258           Don't check for libgnomeui (leftover from old examples
2259           that aren't built or disted any longer) (#334303).
2260           
2261 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2262
2263         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2264         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2265           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2266           there's no space left on the device.
2267
2268 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2269
2270         * gst/gstclock.h:
2271           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2272           to cast the input to GstClockTime before comparing with
2273           another GstClockTime value.
2274
2275 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2276
2277         * configure.ac:
2278           back to trunk
2279
2280 === release 0.10.4 ===
2281
2282 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2283
2284         * configure.ac:
2285           releasing 0.10.4, "Light"
2286
2287 2006-03-10  Michael Smith  <msmith@fluendo.com>
2288
2289         * libs/gst/dataprotocol/dataprotocol.c:
2290           Fix docs for dataprocotol to not get the return types completely
2291           wrong for a few functions.
2292
2293 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2294
2295         * docs/gst/gstreamer-sections.txt:
2296         * gst/gstpipeline.c: (gst_pipeline_class_init),
2297         (gst_pipeline_init), (gst_pipeline_set_property),
2298         (gst_pipeline_get_property), (gst_pipeline_change_state),
2299         (gst_pipeline_set_auto_flush_bus),
2300         (gst_pipeline_get_auto_flush_bus):
2301         * gst/gstpipeline.h:
2302           Add new API: gst_pipeline_set_auto_flush_bus() and
2303           gst_pipeline_get_auto_flush_bus() to disable automatic
2304           flushing of the pipeline's GstBus when going from READY
2305           to NULL state (#332045).
2306
2307 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2308
2309         * docs/gst/gstreamer-sections.txt:
2310         * gst/gsturi.c: (gst_uri_has_protocol):
2311         * gst/gsturi.h:
2312            Add new API: gst_uri_has_protocol() (#333779).
2313
2314 2006-03-09  Wim Taymans  <wim@fluendo.com>
2315
2316         * gst/gstclock.c: (gst_clock_entry_new),
2317         (gst_clock_id_compare_func), (gst_clock_id_wait),
2318         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2319         (gst_clock_init), (gst_clock_get_internal_time),
2320         (gst_clock_set_master), (do_linear_regression),
2321         (gst_clock_add_observation), (gst_clock_set_property):
2322         * gst/gstclock.h:
2323         Review docs.
2324         Small cleanups.
2325         Fix a possible segfault when the window-size is made smaller.
2326         Calculate jitter before performing the clock wait. Ideally
2327         the clock implementation should calculate jitter but we need
2328         API breakage for that.
2329
2330         * gst/gstsystemclock.c: (gst_system_clock_init):
2331         Docs review.
2332         
2333         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2334         Remove leftover else
2335
2336         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2337         (gst_systemclock_suite):
2338         Added check to test GST_CLOCK_DIFF.
2339
2340 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2341
2342         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2343         (gst_type_find_helper_get_range):
2344           If we are provided with the size, we should implement
2345           GstTypeFind::get_length, so that typefind functions who
2346           want to can actually peek at the middle of a file.
2347
2348 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2349
2350         * docs/manual/advanced-dataaccess.xml:
2351           Add some very very basic error checking.
2352
2353         * docs/pwg/appendix-checklist.xml:
2354           Some updates to the list of things to check when writing an element.
2355
2356 2006-03-08  Wim Taymans  <wim@fluendo.com>
2357
2358         * docs/design/part-element-transform.txt:
2359         Added some docs about the design of tranform elements.
2360
2361         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2362         (gst_base_src_loop), (gst_base_src_change_state):
2363         Mark buffers with the DISCONT flag.
2364
2365 2006-03-08  Michael Smith  <msmith@fluendo.com>
2366
2367         * gst/gstregistry.h:
2368         * gst/gstregistryxml.c: (gst_registry_save),
2369         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2370         (gst_registry_xml_save_pad_template),
2371         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2372         (gst_registry_xml_write_cache):
2373           Rewrite registry-saving to avoid race conditions and check for
2374           failed writes.
2375
2376 2006-03-08  Wim Taymans  <wim@fluendo.com>
2377
2378         * libs/gst/base/gstbasetransform.c:
2379         (gst_base_transform_transform_caps),
2380         (gst_base_transform_transform_size),
2381         (gst_base_transform_prepare_output_buffer),
2382         (gst_base_transform_get_unit_size),
2383         (gst_base_transform_buffer_alloc),
2384         (gst_base_transform_handle_buffer),
2385         (gst_base_transform_change_state):
2386         Cleanups, separate normal flow from errors, add sensible
2387         DEBUG lines.
2388         Don't try to renegotiate when allocating an output buffer.
2389         Also copy DISCONT buffer flag when copying a buffer.
2390         Reset the transform after we finish streaming, not during.
2391
2392 2006-03-08  Wim Taymans  <wim@fluendo.com>
2393
2394         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2395         Use last buffer timestamp in qos message.
2396
2397 2006-03-07  Wim Taymans  <wim@fluendo.com>
2398
2399         Patch by: Christophe Fergeau
2400
2401         * docs/pwg/advanced-tagging.xml:
2402         * docs/pwg/building-pads.xml:
2403           fixes #333416
2404
2405 2006-03-07  Wim Taymans  <wim@fluendo.com>
2406
2407         * docs/libs/gstreamer-libs-sections.txt:
2408         Added basesink new methods.
2409
2410         * gst/gstevent.c:
2411         * gst/gstevent.h:
2412         Docs updates. Flesh out the QoS docs.
2413
2414         * libs/gst/base/gstadapter.c:
2415         Small doc clarification about ownership and flushing.
2416
2417         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2418         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2419         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2420         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2421         * libs/gst/base/gstbasesink.h:
2422         API additions: 
2423         Added new methods to allow subclass to control max-lateness 
2424         and sync.
2425         Generate very basic QoS events based on last sync observation.
2426         Updated docs, fix typo, added some QoS blurb.
2427
2428         * libs/gst/base/gstbasesrc.c:
2429         Remove obsolete _get_state() calls from docs.
2430
2431 2006-03-07  Wim Taymans  <wim@fluendo.com>
2432
2433         * docs/libs/gstreamer-libs-sections.txt:
2434         * libs/gst/base/gstbasetransform.h:
2435         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2436         Fix docs for GstBaseSrc.
2437
2438 2006-03-07  Wim Taymans  <wim@fluendo.com>
2439
2440         * docs/gst/gstreamer-sections.txt:
2441         * gst/gstbuffer.h:
2442         * gst/gstvalue.c:
2443         * libs/gst/base/gstbasetransform.h:
2444         Small documentation fixes.
2445
2446 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2447
2448         * gst/gstvalue.c:
2449           Document thread-unsafety of gst_value_register_foo_func()
2450           when used at the same time as gst_value_foo() (#322628).
2451
2452 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2453
2454         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2455         (gst_push_src_check_get_range):
2456           Push sources don't support pull mode by default.
2457
2458 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2459
2460         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2461         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2462         (gst_base_src_default_check_get_range):
2463         * libs/gst/base/gstbasesrc.h:
2464           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2465           provide default implementation, and rename
2466           gst_base_src_check_get_range() to
2467           gst_base_src_pad_check_get_range() for clarity.
2468
2469 2006-03-06  Wim Taymans  <wim@fluendo.com>
2470
2471         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2472         Make property overridable.
2473
2474 2006-03-06  Wim Taymans  <wim@fluendo.com>
2475
2476         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2477         (gst_base_sink_init), (gst_base_sink_set_property),
2478         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2479         * libs/gst/base/gstbasesink.h:
2480         API addition: Make max-lateness a property.
2481
2482 2006-03-06  Wim Taymans  <wim@fluendo.com>
2483
2484         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2485         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2486         Don't ever draw a frame that is >10ms late.
2487
2488 2006-03-06  Michael Smith  <msmith@fluendo.com>
2489
2490         * gst/gstmessage.c: (_gst_message_copy):
2491           When copying a message, set the parent_refcount of the enclosed
2492           structure to point at the copy, not the original message.
2493
2494 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2495
2496         Patch by: Christophe Fergeau
2497
2498         * gst/gstutils.h:
2499           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2500           usable in c++ code (#333417)
2501
2502 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2503
2504         * gst/gstclock.h:
2505           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2506
2507 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2508
2509         * libs/gst/base/gstbasetransform.c:
2510         (gst_base_transform_transform_caps):
2511           Make sure caps are writable before passing them to
2512           gst_caps_append().
2513
2514 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         * gst/gsterror.h:
2517           Fix some minor docs errors.
2518
2519 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2520
2521           Patch by: Ross Burton <ross at burtonini dot com>
2522
2523         * gst/gsterror.c: (_gst_resource_errors_init):
2524         * gst/gsterror.h:
2525           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2526
2527 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2528
2529         * gst/gst.c:
2530         Add a check and output a g_warning when GStreamer is built
2531         against GLib 2.6 but running against 2.8 or higher, and vice 
2532         versa. (Closes: #323542)
2533
2534 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2535
2536         * gst/parse/parse.l:
2537           Commit patch for parse_launch syntax from #331255. Removes 
2538           support for quoted strings and mimetypes when writing filtered 
2539           caps. See the bug report for more details - I'm pretty sure this
2540           obscure feature is not in use by _anyone_ anywhere.
2541
2542           With this simple change, the size of the gstreamer.so here 
2543           drops from 2193KB to 1565KB.
2544
2545 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2546
2547         * plugins/elements/gsttypefindelement.h:
2548         * plugins/elements/gsttypefindelement.c:
2549         (gst_type_find_element_src_event), (start_typefinding),
2550         (stop_typefinding), (gst_type_find_element_handle_event),
2551         (gst_type_find_element_chain),
2552         (gst_type_find_element_chain_do_typefinding):
2553           Use gst_type_find_helper_for_buffer() for chain-based
2554           typefinding.
2555
2556 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2557
2558         * plugins/elements/gsttypefindelement.c:
2559         (gst_type_find_element_class_init),
2560         (gst_type_find_element_set_property),
2561         (gst_type_find_element_get_property):
2562           Deprecate "maximum" property (not only was it only taken into
2563           account for typefinding in push-mode anyway, it also was never
2564           actually possible to set it in the first place because the
2565           property was registered with the numeric property ID for the
2566           "minimum" property). Register "maximum" property correctly,
2567           for the sake of future copy'n'pasters. Remove some cruft
2568           from property get/set functions.
2569
2570 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2571
2572         * plugins/elements/gsttypefindelement.c:
2573         (gst_type_find_element_activate):
2574           Use gst_type_find_helper_get_range() here, so we
2575           can honour the "minimum" property and also emit
2576           the signal with the correct probability of the found caps.
2577
2578 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2579
2580         * docs/libs/gstreamer-libs-sections.txt:
2581         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2582         (helper_find_suggest), (gst_type_find_helper_get_range),
2583         (gst_type_find_helper):
2584         * libs/gst/base/gsttypefindhelper.h:
2585           New API: gst_type_find_helper_get_range() (#333042).
2586
2587 2006-03-02  Michael Smith  <msmith@fluendo.com>
2588
2589         * gst/gstregistryxml.c: (load_feature):
2590           Asserting on a failure to read part of the registry is Not Cool.
2591           Just log a warning and return NULL (which is already handled)
2592
2593 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2594
2595         * win32/common/libgstbase.def:
2596           added export of gst_type_find_helper_for_buffer
2597         * win32/common/libgstbase.def:
2598           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2599           gst_ghost_pad_get_target
2600
2601 2006-02-28  Wim Taymans  <wim@fluendo.com>
2602
2603         * docs/design/draft-klass.txt:
2604         We use Filter now.
2605         Added Connector to mark elements that are only used to
2606         allow pipeline connections.
2607         Moved Debug to extra feature since most of them are 
2608         functionally something else.
2609
2610 2006-02-28  Wim Taymans  <wim@fluendo.com>
2611
2612         * docs/design/draft-klass.txt:
2613         Some updates and clarifications.
2614
2615 2006-02-28  Wim Taymans  <wim@fluendo.com>
2616
2617         * docs/design/draft-klass.txt:
2618         Proposal for klass field values.
2619
2620         * docs/design/part-streams.txt:
2621         Start of a doc describing stream anatomy.
2622
2623 2006-02-28  Wim Taymans  <wim@fluendo.com>
2624
2625         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2626         Help the compiler a bit with type registration.
2627         Use existing forward cod path instead of duplicating it when 
2628         handling a message.
2629         
2630         * gst/gstbus.c: (gst_bus_get_type):
2631         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2632         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2633         * gst/gstclock.c: (gst_clock_get_type):
2634         * gst/gstelement.c: (gst_element_get_type),
2635         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2636         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2637         * gst/gstminiobject.c: (gst_mini_object_get_type):
2638         * gst/gstpad.c: (gst_pad_get_type):
2639         * gst/gstsegment.c: (gst_segment_get_type):
2640         * gst/gststructure.c: (gst_structure_get_type):
2641         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2642         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2643         * gst/gstvalue.c:
2644         Help compiler with type registration.
2645
2646         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2647         Small doc update.
2648
2649 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2650
2651         * plugins/elements/gsttypefindelement.c:
2652         (gst_type_find_element_handle_event):
2653           When we get an EOS event and have not found a type yet
2654           (most likely because we had not yet accumulated
2655           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2656           type given the data we have so far. Fixes typefinding
2657           for very short streams again, most notably quicktime
2658           redirections as used on Apple's trailer site (#331701).
2659
2660 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2661
2662         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2663         (gst_type_find_helper):
2664           Try typefinding factories with the highest rank first.
2665
2666 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2667
2668         * docs/libs/gstreamer-libs-docs.sgml:
2669         * docs/libs/gstreamer-libs-sections.txt:
2670         * libs/gst/base/gsttypefindhelper.c:
2671           Add section for typefind helper and add documentation
2672           for the old and the new function.
2673
2674 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2675
2676         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2677         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2678         (gst_type_find_helper_for_buffer):
2679         * libs/gst/base/gsttypefindhelper.h:
2680           New API: gst_type_find_helper_for_buffer() (#332723).
2681           
2682 2006-02-27  Michael Smith  <msmith@fluendo.com>
2683
2684         Patch by: Loïc Minier
2685
2686         * configure.ac:
2687         * docs/Makefile.am:
2688         * docs/slides/Makefile.am:
2689           prevent CVS directories getting disted.
2690
2691 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2692
2693         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2694           Use the REFCOUNTING category for caps refcounting.
2695           
2696 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2697
2698         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2699           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2700
2701 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2702
2703         * plugins/elements/gsttypefindelement.c:
2704         (gst_type_find_element_activate):
2705           Use gst_pad_check_pull_range() before _activate_pull()
2706           to avoid unnecessary open/close (see #331690).
2707
2708 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2709
2710         * gst/gstutils.c:
2711           Docs enhancement: make it crystal clear what the
2712           gst_pad_add_*_probe() callbacks should look like.
2713
2714 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2715
2716         * libs/gst/base/gstbasesrc.c:
2717           Document how applications can stop recording from
2718           live sources (see #330996).
2719
2720 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2721
2722         * tests/check/Makefile.am:
2723         * tests/check/libs/basesrc.c: (eos_event_counter),
2724         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2725         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2726         (gst_basesrc_suite), (main):
2727           ... and add some tests for the base source EOS stuff.
2728
2729 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2730
2731         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2732           Test case originally showed the problem fixed below,
2733           but was then amended. Add checks back at the place
2734           where they used to be.
2735
2736 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2737
2738         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2739         (gst_base_src_init), (gst_base_src_loop),
2740         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2741         (gst_base_src_change_state):
2742         * libs/gst/base/gstbasesrc.h:
2743           Don't unconditionally send EOS when going from PAUSED to
2744           READY state, esp. make sure we don't send two EOS events
2745           in some cases (e.g. one when reaching EOS and one when
2746           going from PAUSED to READY). Also, we don't want to send
2747           EOS events when operating in pull mode. However, we do
2748           want to send an EOS event when shutting down a live
2749           source explicitly, for example (fixes #330996).
2750           
2751 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2752
2753         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2754           Update src->read_position after a seek when not using mmap.
2755           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2756
2757 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2758
2759         * gst/Makefile.am:
2760         * gst/gstparse.h:
2761         * gst/gstutils.c:
2762         * gst/gstutils.h:
2763         Make things work with --disable-parse as they do with 
2764         --disable-load-save - the symbols involved disappear, but the
2765         header is still installed and GST_DISABLE_PARSE is included via
2766         gstconfig.h
2767
2768 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2769
2770         * libs/gst/base/gstbasetransform.c:
2771         (gst_base_transform_change_state): Fix a stupid bug. I was 
2772         sure I compiled that.
2773
2774 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2775
2776         * gst/gstpad.c: (gst_pad_set_blocked_async):
2777         * gst/gstutils.c: (gst_pad_add_data_probe),
2778         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2779         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2780         (gst_pad_remove_buffer_probe): Make those function act on the
2781         ghostpad target when it's a ghostpad. (Closes #331727)
2782
2783 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2784
2785         * libs/gst/base/gstbasetransform.c:
2786         (gst_base_transform_change_state): Make basetransform reusable.
2787         (Closes #331898)
2788
2789 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2790
2791         * docs/random/release:
2792         Move the current documentation of how to do a release to the top
2793         of the file.
2794
2795         * gst/gstbin.c: (gst_bin_class_init),
2796         (gst_bin_handle_message_func):
2797         Allow multiple state-recalculation threads. (Closes #328873)
2798
2799 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2800
2801         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2802         * gst/gstpad.c: (gst_pad_set_event_function),
2803         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2804         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2805         2 strings. You can't use the STR_NULL macro on that.
2806
2807 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2808
2809         * gst/gstpad.c: (gst_pad_set_event_function),
2810         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2811         (gst_pad_set_getcaps_function)
2812         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2813           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2814           So now, we can use --gst-debug-level=5 on Windows
2815         * win32/common/libgstcontroller.def:
2816           Added export of gst_controller_init
2817         * win32/vs6/libgstcontroller.dsp:
2818           Fixed Release post build configuration
2819
2820 2006-02-17  Wim Taymans  <wim@fluendo.com>
2821
2822         * tests/check/gst/gstquery.c: (GST_START_TEST):
2823         Added another check.
2824
2825 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2826
2827         * plugins/elements/gsttypefindelement.c: (find_peek):
2828           We can do peeks at non-zero offsets, as long as they
2829           fall within the buffer we have.
2830
2831 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2832
2833         * tests/check/Makefile.am:
2834         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2835         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2836         (parse_suite), (main):
2837           Add testsuite for parse launch syntax
2838
2839 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2840
2841         * plugins/elements/gsttypefindelement.c:
2842         (gst_type_find_element_chain):
2843           When typefinding is unsuccessful in the chain function, don't
2844           error out immediately. Only error out with NO_CAPS_FOUND if
2845           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2846           otherwise simply wait for more data so we can try typefinding
2847           again with more data later. Also, don't attempt to typefind
2848           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2849           this should improve typefinding from network sources where the
2850           size of the first buffer can be somewhat random.
2851
2852 2006-02-14  Wim Taymans  <wim@fluendo.com>
2853
2854         * docs/gst/gstreamer-sections.txt:
2855         * gst/gstpadtemplate.c:
2856         * gst/gstpadtemplate.h:
2857         Fix padtemplate docs, fixes #328805.
2858
2859 2006-02-14  Wim Taymans  <wim@fluendo.com>
2860
2861         * tools/gst-launch.c: (main):
2862         NO_PREROLL is not an ERROR so don't send confusing messages
2863         to the user.
2864
2865 2006-02-14  Wim Taymans  <wim@fluendo.com>
2866
2867         Patch by: Torsten Schoenfeld
2868
2869         * gst/gstregistry.c: (gst_registry_get_default),
2870         (_gst_registry_cleanup):
2871         Protect default registry with lock and ref/sink it.
2872         Fixes #324818
2873
2874 2006-02-14  Wim Taymans  <wim@fluendo.com>
2875
2876         * gst/gstbuffer.c:
2877         * gst/gstquery.c: (gst_query_list_add_format),
2878         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2879         (gst_query_parse_formats_nth):
2880         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2881         Docs fixes.
2882
2883 2006-02-14  Wim Taymans  <wim@fluendo.com>
2884
2885         * docs/gst/gstreamer-sections.txt:
2886         Reworked query docs.
2887
2888         * gst/gstquery.c: (gst_query_new_formats),
2889         (gst_query_list_add_format), (gst_query_set_formats),
2890         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2891         (gst_query_parse_formats_nth):
2892         * gst/gstquery.h:
2893         Flesh out formats query, added some new methods.
2894         Fix part of #324398.
2895
2896         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2897         Added query creation tests.
2898
2899 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2900
2901         * gst/gstpad.c: (fixate_value):
2902         Add a default fixation for fraction lists.
2903
2904 2006-02-13  Wim Taymans  <wim@fluendo.com>
2905
2906         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2907         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2908         (gst_task_join):
2909         * gst/gsttask.h:
2910         Detect and warn for obvious deadlocks. fixes #320340
2911         Fix error case where lock was not released.
2912
2913         * tests/check/Makefile.am:
2914         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2915         (task_func), (gst_element_suite), (main):
2916         Add task check.
2917
2918 2006-02-13  Wim Taymans  <wim@fluendo.com>
2919
2920         * docs/gst/gstreamer-sections.txt:
2921         * gst/gstbus.c:
2922         Add new functions to docs.
2923
2924 2006-02-13  Wim Taymans  <wim@fluendo.com>
2925
2926         * docs/design/part-TODO.txt:
2927         Updated TODO list, basesrc supports seeking to non-bytes
2928         formats.
2929
2930         * docs/design/part-element-sink.txt:
2931         Update docs.
2932
2933         * gst/gstbin.c: (bin_replace_message),
2934         (gst_bin_handle_message_func):
2935         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2936         * gst/gstevent.c: (gst_event_finalize):
2937         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2938         (gst_pad_send_event):
2939         Use shiny new _TYPE_NAME macros.
2940
2941         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2942         Move debug statement up.
2943
2944         * gst/gstelement.c: (gst_element_set_locked_state):
2945         Add some debugging.
2946
2947 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2948
2949         * docs/gst/gstreamer-sections.txt:
2950         * gst/gstmessage.h:
2951         * gst/gstquery.h:
2952           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2953           macros (#330906). Also, document the already existing
2954           GST_QUERY_TYPE macro.
2955
2956 2006-02-13  Wim Taymans  <wim@fluendo.com>
2957
2958         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2959         (event_probe), (GST_START_TEST):
2960         Only events up to the pipeline EOS are counted, there are
2961         some more when going to NULL currently which we don't care
2962         about for now.
2963
2964 2006-02-13  Wim Taymans  <wim@fluendo.com>
2965
2966         * gst/gstpad.c: (gst_pad_send_event):
2967         Correctly check flushing and emit probes. fixes #330125
2968
2969 2006-02-10  Andy Wingo  <wingo@pobox.com>
2970
2971         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2972         structure.
2973         (gst_bus_init): Cache the location of the private data in the
2974         instance structure.
2975         (gst_bus_enable_sync_message_emission) 
2976         (gst_bus_disable_sync_message_emission): Implement new public
2977         functions.
2978         (gst_bus_post): Emit the sync-message signal if the user asked for
2979         it. Fixes #330684.
2980
2981         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2982         location of the bus-private structure.
2983         (gst_bus_enable_sync_message_emission)
2984         (gst_bus_disable_sync_message_emission): API addition
2985
2986 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2987
2988         Patch by: Vincent Torri
2989
2990         * docs/pwg/building-boiler.xml:
2991         PWG patch from #326800
2992
2993 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2994
2995         * configure.ac:
2996         * docs/Makefile.am:
2997         * docs/design/Makefile.am:
2998           Dist design docs.
2999
3000 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3001
3002         * configure.ac:
3003           back to CVS
3004
3005 === release 0.10.3 ===
3006
3007 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3008
3009         * configure.ac:
3010           releasing 0.10.3, "Like a virgin"
3011
3012 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3013
3014         * configure.ac:
3015           2nd prerelease of 0.10.3
3016           Bump libtool versioning.
3017
3018 2006-02-07  Andy Wingo  <wingo@pobox.com>
3019
3020         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3021         update last_stop if we're in TIME format and the timestamp is
3022         valid.
3023
3024         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3025         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3026         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3027         If we get a new newsegment with a different format, adapt
3028         accordingly.
3029
3030         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3031         of 0. Not a problem, really.
3032
3033         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3034         warn if sync=true.
3035
3036 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3037
3038         * configure.ac:
3039           Prelease of 0.10.3
3040
3041 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3042
3043         * win32/vs7:
3044           project files updated to the default vs7 configuration
3045         * win32/common/libgstbase.def:
3046         * win32/common/libgstreamer.def:
3047           added new symbols,
3048           removed empty lines,
3049           sorted all exported symbols alphabetically
3050         * win32/common/dirent.c:
3051         * win32/common/dirent.h:
3052         * win32/common/gchar.h:
3053           use windows line end.
3054           
3055 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3056
3057         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3058           Send EOS event when stopping.
3059
3060 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3061
3062         * docs/README:
3063           Tell folks what to do if the plugin-foobar.xml file
3064           hasn't been generated for a newly-added plugin.
3065
3066 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3067
3068         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3069         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3070         (gst_collect_pads_start), (gst_collect_pads_stop),
3071         (gst_collect_pads_event): Collectpads now holds a reference
3072         to the GstPad that was added. Indeed we don't want to look
3073         at pads that might just go away with no warning...
3074
3075 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3076
3077         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3078         (gst_collect_pads_start), (gst_collect_pads_stop),
3079         (gst_collect_pads_event), (gst_collect_pads_chain):
3080         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3081         Mark Nauwelaerts's patch on bug #328491.
3082
3083 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3084
3085         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3086         (gst_utils_suite):
3087           Add some simple tests for gst_parse_bin_from_description() and
3088           gst_bin_find_unconnected_pad() (#329069).
3089
3090 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3091
3092         * tools/gst-launch.c: (event_loop), (main):
3093           Catch errors during preroll (#320084).
3094
3095 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3096
3097         * plugins/elements/gsttypefindelement.c:
3098         (gst_type_find_element_activate):
3099           Post TYPE_NOT_FOUND error message when typefinding
3100           is unsuccessful in the activate function as well.
3101
3102 2006-02-02  Wim Taymans  <wim@fluendo.com>
3103
3104         * docs/design/part-element-sink.txt:
3105         Updated doc.
3106
3107 2006-02-02  Wim Taymans  <wim@fluendo.com>
3108
3109         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3110         (gst_base_sink_render_object),
3111         (gst_base_sink_queue_object_unlocked):
3112         Only keep track of prerollable items when we are 
3113         prerolling.
3114         Before rendering after preroll, always check if we
3115         have queued items.
3116         Added some more debugging.
3117
3118 2006-02-02  Wim Taymans  <wim@fluendo.com>
3119
3120         * gst/gstelement.c: (gst_element_continue_state),
3121         (gst_element_set_state_func), (gst_element_change_state):
3122         Fixed #326576, been running this for quite some time with
3123         no regressions at all.
3124
3125 2006-02-02  Wim Taymans  <wim@fluendo.com>
3126
3127         * common/gst.supp:
3128         Added more suppressions
3129
3130 2006-02-02  Wim Taymans  <wim@fluendo.com>
3131
3132         * docs/design/part-element-sink.txt:
3133         Updated document.
3134
3135         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3136         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3137         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3138         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3139         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3140         (gst_base_sink_preroll_object),
3141         (gst_base_sink_queue_object_unlocked),
3142         (gst_base_sink_queue_object), (gst_base_sink_event),
3143         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3144         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3145         (gst_base_sink_get_position), (gst_base_sink_change_state):
3146         * libs/gst/base/gstbasesink.h:
3147         Totally refactored matching the design doc.
3148         Use two segments, one to clip incomming buffers and another to
3149         perform sync.
3150         Handle queueing correctly, bypass the queue when playing.
3151         Make EOS cancelable.
3152         Handle errors correctly when operating in pull based mode.
3153
3154         * tests/check/elements/fakesink.c: (GST_START_TEST),
3155         (fakesink_suite):
3156         Added new check for sinks.
3157
3158 2006-02-02  Wim Taymans  <wim@fluendo.com>
3159
3160         * gst/gstsegment.c: (gst_segment_clip):
3161         No reason to refuse to clip when start == -1
3162
3163 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3164
3165         * docs/README:
3166         * docs/manual/intro-basics.xml:
3167         * docs/manual/intro-preface.xml:
3168         * docs/manual/manual.xml:
3169         * docs/pwg/advanced-dparams.xml:
3170         * docs/pwg/intro-basics.xml:
3171         * docs/pwg/intro-preface.xml:
3172         * docs/pwg/pwg.xml:
3173           describe dparams (controller) for plugins
3174           unify docs a little more
3175
3176 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3177
3178         * docs/gst/gstreamer-sections.txt:
3179         * gst/gstutils.c: (element_find_unconnected_pad),
3180         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3181         * gst/gstutils.h:
3182           Add new API: gst_parse_bin_from_description() and
3183           gst_bin_find_unconnected_pad() (#329069).
3184
3185 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3186
3187         * docs/manual/README:
3188           uncover a nasty detail of the docs build
3189
3190 2006-01-31  Wim Taymans  <wim@fluendo.com>
3191
3192         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3193         Don't cache duration messages if we're not going to use or
3194         free them.
3195
3196 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3197
3198         * docs/manual/advanced-dparams.xml:
3199         * docs/pwg/advanced-dparams.xml:
3200           more dparam docs
3201         * gst/gstindex.c:
3202           fix docs
3203         * libs/gst/controller/lib.c: (gst_controller_init):
3204           init just once
3205
3206 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3207
3208         * gst/gstelement.c: (gst_element_message_full):
3209           also show file/line/func if no additional debug was given
3210
3211 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3212         
3213         * win32/vs7/grammar.vcproj:
3214           activate copy of autogenerated files for Release mode
3215
3216 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3217         
3218         * win32/common/libgstreamer.def:
3219           export gst_value_compare
3220
3221 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3222
3223         * plugins/elements/Makefile.am:
3224         * plugins/elements/gstelements.c:
3225         * plugins/elements/gstfdsink.c: (_do_init),
3226         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3227         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3228         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3229         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3230         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3231         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3232         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3233         * plugins/elements/gstfdsink.h:
3234         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3235
3236 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3237
3238         * docs/manual/advanced-dparams.xml:
3239           describe controller
3240         * docs/manual/advanced-position.xml:
3241         * docs/manual/basics-init.xml:
3242         * docs/manual/manual.xml:
3243         * docs/manual/titlepage.xml:
3244         * docs/pwg/pwg.xml:
3245         * docs/pwg/titlepage.xml:
3246           cleanup xml (more to come)
3247         * libs/gst/controller/gstcontroller.c:
3248           fix typo
3249
3250 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3251         
3252         * win32/vs6/grammar.dsp:
3253           add autogen of gstmarshal.c,h for Release mode
3254                 
3255 2006-01-30  Wim Taymans  <wim@fluendo.com>
3256
3257         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3258         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3259         (gst_base_sink_handle_object), (gst_base_sink_event),
3260         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3261         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3262         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3263         (gst_base_sink_deactivate), (gst_base_sink_activate),
3264         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3265         (gst_base_sink_query), (gst_base_sink_change_state):
3266         Basesink cleanups, remove some old code.
3267         Handle the case where a subclass can preroll in the render
3268         method (mostly audiosinks).
3269         Handle more events.
3270         Remove some locks around variables that are now protected
3271         with the PREROLL_LOCK (clock_id, flushing, ..).
3272         Optimize position query some more, do correct locking.
3273         Remove old code to push queue in state change, this is not
3274         needed anymore since preroll blocks on all prerollable items 
3275         now.
3276         Almost implemented as described in design doc.
3277
3278 2006-01-30  Wim Taymans  <wim@fluendo.com>
3279
3280         * tests/check/gst/gstbin.c: (GST_START_TEST):
3281         Wait for refcount to settle down before checking.
3282
3283 2006-01-30  Wim Taymans  <wim@fluendo.com>
3284
3285         * docs/design/part-element-sink.txt:
3286         Pseudo code overview of desired sink behaviour regarding
3287         preroll.
3288
3289 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3290         * win32/vs6/grammar.dsp:
3291           fix some bugs in Release mode for autogenerated files
3292                 
3293 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3294         * win32/common/libgstbase.def:
3295         * win32/common/libgstreamer.def:
3296           export some new symbols: gst_base_src_set_format,
3297           gst_iterator_next, gst_structure_set_valist
3298
3299 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3300
3301         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3302         Set pad functions unconditionally. Fixes #329105.
3303
3304 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3305         * win32/vs8:
3306           add vs8 project files created by Sergey Scobich
3307
3308 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3309
3310         * gst/gstutils.c: (gst_element_unlink_pads):
3311         Don't leak pad references.
3312
3313         * tests/check/elements/fakesink.c: (GST_START_TEST):
3314         * tests/check/generic/sinks.c: (GST_START_TEST):
3315         * tests/check/generic/states.c: (GST_START_TEST):
3316         * tests/check/gst/gstbin.c: (GST_START_TEST):
3317         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3318         * tests/check/gst/gstelement.c: (GST_START_TEST):
3319         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3320         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3321         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3322         Fix a bunch of leaks. Make generic/sinks.c
3323         use a bit less cpu by slowing the buffer rate
3324         between fakesrc and fakesink.
3325         
3326 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3327         * gst/gstcaps.c:
3328         * gst/gstelement.c: (gst_element_send_event):
3329         * gst/gstevent.c:
3330         * gst/gstinfo.c:
3331         * gst/gstiterator.c:
3332         * gst/gstiterator.h:
3333         * gst/gstpad.c: (gst_pad_send_event):
3334         * gst/gststructure.c:
3335         * gst/gsturi.c:
3336         * gst/gstutils.c:
3337         * gst/gstvalue.c:
3338         * libs/gst/base/gstadapter.c:
3339           doc fixes, to link to function, just write gst_cool_function(), don't
3340           prefix with '#'
3341
3342 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3343
3344         * plugins/elements/gsttee.c: (gst_tee_do_push),
3345         (gst_tee_handle_buffer):
3346         Always prefer an actual return value from a src
3347         pad in place of NOT_LINKED. This means we return
3348         WRONG_STATE when all src pads are WRONG_STATE
3349         instead of NOT_LINKED.
3350
3351         Lock when replacing the last message to prevent
3352         racing with the get_property method.
3353
3354         Add debug output
3355
3356 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3357
3358         * tests/check/Makefile.am:
3359         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3360         (main):
3361         Add a very simple check that should have caught the memleak I fixed
3362         last night (if not for the slice allocator hiding it)
3363
3364 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3365
3366         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3367         (gst_bin_remove_func), (gst_bin_handle_message_func),
3368         (bin_query_duration_fold), (bin_query_generic_fold):
3369         Clean up references to the clock provider when disposed or when
3370         handling a clock-lost message from it.
3371
3372         Unref sinks when performing a query via gst_iterator_fold, as the
3373         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3374
3375         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3376         (gst_clock_set_master):
3377         Drop our reference to the master clock, if any, when we are disposed.
3378
3379         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3380         Chain up in dispose. 
3381
3382 2006-01-26  Wim Taymans  <wim@fluendo.com>
3383
3384         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3385         Add some debugging.
3386
3387 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3388
3389         * plugins/elements/gsttee.c: (gst_tee_do_push),
3390         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3391         handles pad being NOT_LINKED or in WRONG_STATE.
3392
3393 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3394
3395         * win32/MANIFEST:
3396           more updating
3397
3398 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3399
3400         * win32/MANIFEST:
3401           remove obsolete entry
3402
3403 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3404
3405         * docs/gst/gstreamer-sections.txt:
3406         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3407         (gst_bin_iterate_sources), (gst_bin_send_event):
3408         * gst/gstbin.h:
3409         * gst/gstelement.c: (gst_element_send_event):
3410         * gst/gstevent.c:
3411         * gst/gstpad.c: (gst_pad_send_event):
3412           added code for downstream events, reviewed docs in gstevent.c
3413
3414 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3415
3416         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3417         We only query position using the clock in the playing state.
3418         Query peer in the other cases.
3419         * win32/common/config.h: Updates.
3420
3421 2006-01-24  Wim Taymans  <wim@fluendo.com>
3422
3423         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3424         A clock entry that is scheduled for the exact time of the
3425         clock is still in time.
3426
3427         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3428         (gst_base_sink_do_sync):
3429         Add some more debug info.
3430
3431 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3432
3433         * win32/vs7:
3434           Add new vs7 project files and solution.
3435
3436 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3437
3438         * win32/vs7:
3439           all files removed as they were out-dated.
3440
3441 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3442
3443         * docs/random/release:
3444           update notes
3445         * gst/gstbin.c: (gst_bin_init):
3446         * gst/gstbus.c: (gst_bus_new):
3447         * gst/gstbus.h:
3448         * gst/gstpipeline.c: (gst_pipeline_init):
3449           use gst_bus_new(), improve logging, fix docs
3450         * win32/common/config.h:
3451           update for cvs build
3452
3453 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3454
3455         * autogen.sh:
3456           up required version of automake to 1.7
3457
3458 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3459
3460         * win32/common/libgstreamer.def:
3461           export gst_buffer_is_metadata_writable
3462
3463 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3464
3465         * docs/gst/gstreamer-sections.txt:
3466         * gst/gstevent.h:
3467           Add gst_event_replace() (#327001)
3468
3469 2006-01-20  Wim Taymans  <wim@fluendo.com>
3470
3471         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3472         Make it actually compile too..
3473
3474 2006-01-20  Wim Taymans  <wim@fluendo.com>
3475
3476         * gst/gstcaps.c:
3477         Clarify behaviour of _is_equal() when passing NULL parameters.
3478
3479         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3480         (gst_pad_set_caps):
3481         Cleanups. Don't unref NULL caps.
3482         When setting the same caps, protect caps of the pad with
3483         proper lock.
3484         Use full functionality of _is_equal() when comparing caps.
3485
3486 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3487
3488         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3489         Don't loop infinitely if there are no buffers to present. Partially
3490         fixes #327197, but collectpads is just broken for reusing elements
3491         to do multiple encodes atm.
3492
3493 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3494
3495         * tools/gst-inspect.c: (print_element_features):
3496         * tools/gst-xmlinspect.c: (main):
3497         URL_HANDLER is not a plugin feature we can search for in
3498         the registry.
3499
3500 2006-01-19  Edward Hervey  <edward@fluendo.com>
3501
3502         * gst/gstelement.c: (gst_element_pads_activate): 
3503         When activating, do src pads first, then sink pads.
3504         When de-activating, do sink pads first, then src pads.
3505
3506 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3507
3508         * docs/gst/gstreamer-sections.txt:
3509         Add gst_index_add_associationv to the docs
3510
3511 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3512
3513         * gst/gstevent.c:
3514           Fix docs typo
3515
3516         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3517         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3518           Do some refactoring. Doesn't actually change functionality,
3519           but makes landing the DRAIN event easier later.
3520
3521 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3522
3523         * docs/pwg/advanced-scheduling.xml:
3524           Update from 0.9.x to 0.10 API and make example a bit
3525           clearer.
3526
3527 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3528
3529         * docs/gst/gstreamer-sections.txt:
3530         Add gst_buffer_(is|make)_metadata_writable methods.
3531
3532 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3533
3534         * docs/design/part-sparsestreams.txt:
3535         Update sparse streams doc, hopefully for greater clarity
3536
3537 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3538
3539         * docs/design/part-events.txt:
3540         Remove mention of FILLER events.
3541         Add DRAIN event.
3542
3543         * docs/design/part-sparsestreams.txt:
3544         Write some things about using NEWSEGMENT to keep sparse streams
3545         flowing.
3546
3547 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3548
3549         * gst/gstbin.c: (gst_bin_dispose):
3550           Guard gst_object_unref call against a NULL object (dispose
3551           can theoretically be called multiple times).
3552           
3553 2006-01-18  Wim Taymans  <wim@fluendo.com>
3554
3555         * gst/gstbin.c: (gst_bin_element_set_state):
3556         * gst/gstclock.c: (gst_clock_id_wait):
3557         Added some more debug info.
3558
3559         * libs/gst/base/gstadapter.c:
3560         Added more docs.
3561
3562         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3563         (gst_base_sink_do_sync), (gst_base_sink_chain):
3564         Added some comments.
3565
3566 2006-01-18  Wim Taymans  <wim@fluendo.com>
3567
3568         * tests/check/Makefile.am:
3569         * tests/check/elements/fakesink.c: (chain_async_buffer),
3570         (chain_async), (chain_async_return), (GST_START_TEST),
3571         (fakesink_suite), (main):
3572         Added fakesink test that checks prerolling and clipping
3573         behaviour.
3574
3575         * tests/check/gst/gstutils.c: (GST_START_TEST):
3576         Make check run faster so that buildbots don't timeout.
3577
3578 2006-01-18  Wim Taymans  <wim@fluendo.com>
3579
3580         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3581         (gst_base_sink_do_sync):
3582         Some cleanups.
3583         When the sink finishes blocking on the preroll buffer, it can
3584         immediatly render it instead of rendering when the next buffer
3585         arrives.
3586
3587 2006-01-18  Wim Taymans  <wim@fluendo.com>
3588
3589         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3590         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3591         (gst_base_sink_chain):
3592         Small cleanups.
3593         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3594         Don't store _last_stop if the buffer is dropped.
3595
3596 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3597
3598         * plugins/elements/gsttypefindelement.c:
3599         (gst_type_find_element_class_init):
3600           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3601           object method handler that sets the caps on the pad and we want
3602           that to happen before we emit the signal (fixes e.g. feeding a
3603           plain text file to decodebin).
3604
3605 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3606
3607         * gst/gstplugin.c: Add MPL and Proprietary as license options
3608
3609 2006-01-18  Andy Wingo  <wingo@pobox.com>
3610
3611         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3612         symbol was exported before, it appears this was just an oversight.
3613         Fixes #168703.
3614         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3615
3616         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3617         prototype to gint. OK since this prototype was not in the header.
3618
3619 2006-01-17  Andy Wingo  <wingo@pobox.com>
3620
3621         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3622         registry while we remove plugins.
3623
3624         * tools/gst-inspect.c (print_element_info): Don't unref the
3625         factory arg, that should be the responsibility of whatever code
3626         received the ref. Fixes a double-free when called from
3627         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3628         (main): Unref the factory if we have one.
3629         (print_element_list): No change -- relies on the
3630         plugin_feature_list_free to free the list of features.
3631
3632 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3633
3634         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3635         (gst_buffer_make_metadata_writable):
3636         * gst/gstbuffer.h:
3637         * libs/gst/base/gstbasetransform.c:
3638         (gst_base_transform_prepare_output_buf):
3639         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3640         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3641           Replace gst_buffer_(make|is)_metadata_writable patch now
3642           that the release is out.
3643
3644 2006-01-17  Andy Wingo  <wingo@pobox.com>
3645
3646         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3647         in the present tense without reference to versions.
3648
3649         * gst/gstregistry.c (gst_registry_add_plugin)
3650         (gst_registry_remove_plugin, gst_registry_remove_feature)
3651         (gst_registry_find_feature, gst_registry_get_feature_list)
3652         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3653         (gst_registry_lookup, gst_registry_scan_path)
3654         (_gst_registry_remove_cache_plugins)
3655         (gst_registry_get_feature_list_by_plugin): Add argument
3656         validation.
3657
3658 === release 0.10.2 ===
3659
3660 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3661
3662         * configure.ac:
3663           releasing 0.10.2, "If man is five"
3664
3665 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3666
3667         * gst/gstbuffer.c:
3668         * gst/gstbuffer.h:
3669         * libs/gst/base/gstbasetransform.c:
3670         (gst_base_transform_prepare_output_buf):
3671         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3672         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3673           Back out patch until after the release.
3674
3675 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3676
3677         * gst/gstminiobject.c:
3678           Spelling fix in docs.
3679         * ChangeLog - remove conflict indicator
3680
3681 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3682
3683         Reviewed By: Andy Wingo
3684
3685         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3686         (gst_buffer_make_metadata_writable):
3687         * gst/gstbuffer.h:
3688           Add gst_buffer_(is|make)_metadata_writable as analogues of
3689           gst_buffer_(is|make)_writable.
3690
3691         * libs/gst/base/gstbasetransform.c:
3692         (gst_base_transform_prepare_output_buf):
3693         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3694           Use name gst_buffer_(is|make)_metadata_writable functions.
3695
3696         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3697           Test gst_buffer_(is|make)_metadata_writable
3698         
3699           (Closes: #324162)
3700
3701 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3702
3703         * docs/manual/Makefile.am:
3704           don't do parallel make
3705         * configure.ac:
3706           AC_SUBST HOST_CPU
3707         * win32/common/config.h.in:
3708           add generations for HOST_CPU and GST_MAJORMINOR
3709         * win32/common/config.h:
3710           commit generated result
3711
3712 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3713
3714         * docs/manual/appendix-integration.xml:
3715           Update GNOME integration section to use gst_init_get_option_group()
3716           instead of the old popt stuff (#322911). Also, GNOME applications
3717           should  now use gconf*sink and gconf*src instead of the old gconf
3718           helper lib we had.
3719
3720 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3721
3722
3723         * docs/gst/gstreamer-docs.sgml:
3724         * docs/gst/gstreamer-sections.txt:
3725         * docs/libs/gstreamer-libs-sections.txt:
3726           add new API entries to the docs
3727         * libs/gst/controller/Makefile.am:
3728         * libs/gst/controller/gstcontroller.c:
3729         * libs/gst/controller/gstcontroller.h:
3730         * libs/gst/controller/gstcontrollerprivate.h:
3731         * libs/gst/controller/gsthelper.c:
3732         * libs/gst/controller/gstinterpolation.c:
3733           move private structs to private header
3734         * po/README:
3735           gstreamer-0.7 -> gstreamer-0.10
3736         * tests/check/libs/struct_i386.h:
3737           remove private structs
3738
3739 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3740
3741         * plugins/indexers/Makefile.am:
3742           Fixes as part of #317048
3743
3744 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3745
3746         * plugins/indexers/Makefile.am:
3747           fix #316086 - compilation when mmap is missing
3748
3749 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3750
3751         * libs/gst/base/gstbasesink.c:
3752           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3753           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3754         * win32/common/config.h:
3755           added some defines GST_MAJORMINOR and HOST_CPU
3756         * win32/common/libgstbase.def:
3757         * win32/common/libgstreamer.def:
3758           added some exported functions.
3759
3760 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3761
3762         * libs/gst/controller/gstcontroller.c:
3763         (gst_controlled_property_set_interpolation_mode),
3764         (gst_controlled_property_new):
3765         * libs/gst/controller/gstcontroller.h:
3766         * libs/gst/controller/gstinterpolation.c:
3767         (interpolate_none_get_string_value_array):
3768           make G_TYPE_STRING controlable
3769
3770 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3771
3772         * tools/README:
3773         * tools/gst-feedback.1.in:
3774         * tools/gst-inspect.1.in:
3775         * tools/gst-launch.1.in:
3776         * tools/gst-md5sum.1.in:
3777         * tools/gst-typefind.1.in:
3778         * tools/gst-xmlinspect.1.in:
3779         * tools/gst-xmllaunch.1.in:
3780           cleanup man-pages, remove reference to gst-register, document env-vars
3781
3782 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3783
3784         * gst/gstbuffer.c: (gst_buffer_span):
3785           gst_buffer_span should copy the timestamp of the first buffer
3786           if they were both originally overlapping subbuffers of the 
3787           same parent, using the same logic as the 'slow copy' case.
3788
3789 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3790
3791         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3792           Need to awaken ALL the pads when we pop a buffer, otherwise
3793           collectpads only works when there is 2 input streams.
3794
3795 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3796
3797         * docs/random/ensonic/media-device-daemon.txt:
3798           more ideas (dbus)
3799         * gst/gstbuffer.c:
3800           fix doc example, add clarification
3801         * tools/gst-launch.1.in:
3802           add initial info about GST_PLUGIN_PATH, needs more work
3803
3804 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3805
3806         * docs/manual/basics-bins.xml:
3807         * docs/manual/basics-elements.xml:
3808         * docs/manual/intro-basics.xml:
3809           Some more minor docs additions and updates.
3810
3811 2006-01-11  Wim Taymans  <wim@fluendo.com>
3812
3813         * docs/manual/basics-bins.xml:
3814         * docs/manual/basics-elements.xml:
3815         Some small fixes as pointed out by Ser-ver on IRC.
3816
3817 2006-01-10  Edward Hervey  <edward@fluendo.com>
3818
3819         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3820         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3821         the single-segment mode.
3822
3823 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3824
3825         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3826
3827         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3828         (gst_base_src_perform_seek), (gst_base_src_send_event),
3829         (gst_base_src_set_property), (gst_base_src_get_property),
3830         (gst_base_src_loop), (gst_base_src_start),
3831         (gst_base_src_activate_push):
3832         * libs/gst/base/gstbasesrc.h:
3833           Name (private) union; makes Sun's Forte compiler happy (#324900).
3834
3835 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3836
3837         * README:
3838           gst-register is gone.
3839
3840 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3841
3842         * gst/gstvalue.c: (_gst_value_initialize):
3843           make the G_TYPE_DATE instantiation work if debug is disabled
3844
3845 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3846
3847         * gst/gstmessage.c: (gst_message_parse_tag),
3848         (gst_message_parse_error), (gst_message_parse_warning):
3849           Don't crash when return location for error/warning debug
3850           string is NULL; add fact that return locations can be
3851           NULL to docs where appropriate.
3852
3853 2006-01-05  Wim Taymans  <wim@fluendo.com>
3854
3855         * gst/gstplugin.c: (gst_plugin_load_file):
3856         Replace strdup by g_strdup.
3857
3858 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3859
3860         * docs/pwg/advanced-types.xml:
3861           fix doc borkage
3862
3863 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3864
3865         submitted by: Abel Cheung
3866
3867         * po/LINGUAS:
3868         * po/zh_TW.po:
3869           Added Chinese (traditional) translation
3870
3871 2006-01-04  Wim Taymans  <wim@fluendo.com>
3872
3873         * docs/manual/basics-pads.xml:
3874         * docs/plugins/Makefile.am:
3875         * docs/plugins/gstreamer-plugins-docs.sgml:
3876         * docs/plugins/gstreamer-plugins-sections.txt:
3877         * docs/pwg/advanced-clock.xml:
3878         * docs/pwg/advanced-scheduling.xml:
3879         * docs/pwg/advanced-types.xml:
3880         * plugins/elements/gstfdsink.c:
3881         * plugins/elements/gstfdsrc.c:
3882         * plugins/elements/gstfdsrc.h:
3883         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3884         * plugins/elements/gstidentity.h:
3885         * plugins/elements/gstqueue.h:
3886         * plugins/elements/gsttee.c:
3887         * plugins/elements/gsttee.h:
3888         * plugins/elements/gsttypefindelement.c:
3889         (gst_type_find_element_class_init):
3890         * plugins/elements/gsttypefindelement.h:
3891         Small updates to various docs.
3892         Added core plugins to docs.
3893
3894 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3895
3896         * common/gst.supp:
3897           add a suppression for liboil's uninitialized variable
3898
3899 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3900
3901         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3902
3903         * gst/gstutils.h:
3904           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3905           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3906           compiler switch is being used (#325429).
3907
3908 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3909
3910         * gst/gstbin.c: (gst_bin_query):
3911           Disable duration query caching in bins until it gets
3912           fixed (see #324807).
3913
3914 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3915
3916         * tools/gst-inspect.c: (print_element_properties_info):
3917           Handle properties of POINTER and BOXED type.
3918
3919 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3920
3921         * gst/gst.c: (init_post):
3922           Init tags stuff and some other things before loading
3923           any static plugins (there may be other static plugins
3924           than just the GStreamer ones, and they may want to
3925           register their own tags or formats or whatever, and
3926           preferably without segfaulting).
3927
3928         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3929           Print at least a warning in the debug logs if we drop a
3930           query just because we don't know how to adjust the value
3931           in the particular format.
3932
3933 2005-12-24  David Schleef  <ds@schleef.org>
3934
3935         * tools/gstreamer-completion:
3936           Replacement for gst-complete written in sh and sed.  Only
3937           completes names of features, but that's 90% of what I want
3938           it for.  Properties are not available in registry.xml.  (Maybe
3939           they should be...)
3940
3941 === release 0.10.1 ===
3942
3943 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3944
3945         * configure.ac:
3946           releasing 0.10.1, "Nollaig chridheil"
3947
3948 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3949
3950         * docs/faq/cvs.xml:
3951           Add missing quote, should be make ERROR_CFLAGS="".
3952
3953 2005-12-20  Wim Taymans  <wim@fluendo.com>
3954
3955         * docs/design/part-trickmodes.txt:
3956         More documentation on trickmodes.
3957
3958 2005-12-20  Edward Hervey  <edward@fluendo.com>
3959
3960         * gst/gstcaps.c: (gst_static_caps_get_type):
3961         * gst/gstcaps.h:
3962           API addition: GST_TYPE_STATIC_CAPS
3963         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3964         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3965         * gst/gstpadtemplate.h:
3966           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3967         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3968         bindings.
3969
3970 2005-12-18  Wim Taymans  <wim@fluendo.com>
3971
3972         * libs/gst/base/gstadapter.c:
3973         * libs/gst/base/gstadapter.h:
3974         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3975         (gst_base_sink_get_position):
3976         * libs/gst/base/gstbasesink.h:
3977         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3978         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3979         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3980         (gst_base_src_send_event), (gst_base_src_update_length),
3981         (gst_base_src_get_range), (gst_base_src_loop),
3982         (gst_base_src_start):
3983         * libs/gst/base/gstbasesrc.h:
3984         * libs/gst/base/gstbasetransform.h:
3985         * libs/gst/base/gstcollectpads.h:
3986         * libs/gst/base/gstpushsrc.c:
3987         * libs/gst/base/gstpushsrc.h:
3988         * libs/gst/dataprotocol/dataprotocol.c:
3989         * libs/gst/dataprotocol/dataprotocol.h:
3990         * libs/gst/net/gstnetclientclock.h:
3991         * libs/gst/net/gstnettimeprovider.h:
3992         Documentation updates.
3993
3994 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3995
3996         * docs/manual/basics-helloworld.xml:
3997           Remove superfluous closing bracket in helloworld example.
3998
3999 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4000
4001         * tools/gst-launch.1.in:
4002           Update gst-launch man page; add a section with useful
4003           environment variables. Fixes #323882.
4004
4005 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4006
4007         * gst/gst.c:
4008         * gst/gst_private.h:
4009           change some char* into char[]
4010
4011 2005-12-16  Wim Taymans  <wim@fluendo.com>
4012
4013         * gst/gstregistryxml.c: (load_feature):
4014         Cleanups.
4015         Don't use g_object_unref on GstObjects so that we avoid
4016         leaks on unsafe glibs.
4017
4018 2005-12-16  Wim Taymans  <wim@fluendo.com>
4019
4020         * gst/gstbin.c: (gst_bin_recalc_state):
4021         Small doc updates.
4022
4023 2005-12-16  Wim Taymans  <wim@fluendo.com>
4024
4025         * common/check.mak:
4026         Added make forever target for check.
4027
4028 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4029
4030         * gst/gst.c: (init_post):
4031           make the registry cache file HOST_CPU-dependent
4032
4033 2005-12-16  Andy Wingo  <wingo@pobox.com>
4034
4035         * plugins/elements/gstbufferstore.c
4036         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4037         return value.
4038
4039         * tests/check/gst/gstobject.c
4040         (test_fake_object_name_threaded_unique): Pay attention to
4041         g_list_sort return value.
4042
4043 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4044
4045         * tools/gst-feedback-m.m:
4046           Update for 0.9/0.10 (fixes #323870).
4047
4048 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4049
4050         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4051           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4052           
4053         * tests/check/gst/gstminiobject.c: (my_foo_init),
4054         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4055         (test_value_collection), (gst_mini_object_suite):
4056           Add test to ensure refcounts end up as expected when passing
4057           GstMiniObjects through g_object_get() and g_object_set().
4058
4059 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4060
4061         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4062         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4063         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4064         of collectpads. This version removes a lot of races without
4065         touching API/ABI. Yay !
4066
4067 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4068
4069         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4070           Don't allow activation of a srcpad in pull_range if it has no
4071           getrange function.
4072           Change some debug statements to be a little clearer
4073
4074         * plugins/elements/gsttypefindelement.c:
4075         (gst_type_find_handle_src_query):
4076           Check that we have a peer before executing queries thereupon.
4077
4078         * tests/examples/metadata/read-metadata.c: (message_loop):
4079           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4080           immediately return us any available message with 0 timeout.
4081
4082 2005-12-12  Michael Smith  <msmith@fluendo.com>
4083
4084         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4085           Don't unref factories after calling them.
4086         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4087         * plugins/elements/gsttypefindelement.c:
4088         (gst_type_find_element_chain):
4089           Free lists of factories after using them. Fixing typefinding memory
4090           leaks.
4091
4092 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4093
4094         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4095         (gst_plugin_feature_load):
4096           more meaningful debug output
4097         * configure.ac:
4098         * tests/Makefile.am:
4099         * tests/old/examples/Makefile.am:
4100           make make distcheck happy again
4101
4102 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4103
4104         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4105           Catch the special case where we are operating chain-based,
4106           but the downstream peer pad has no chain function. Emit a
4107           custom error message in this case instead of letting the
4108           core generate one implying that this is some sort of core
4109           bug. It's not, it just means that whatever got plugged
4110           into the pipeline downstream when we announced the type
4111           can only operate pull-based, while our source can only
4112           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4113           Error string has not been marked for translation yet, as
4114           it probably needs some more work first.
4115
4116         (gst_type_find_element_get_best_possibility):
4117           Add helper function to find the best of all available
4118           found possibilities that qualify given the min. threshold.
4119
4120         (gst_type_find_element_handle_event):
4121           Fix the case where we get an EOS while still in TYPEFIND
4122           mode (we want to chose the best of all possible types,
4123           not just the first type that happens to be in our unsorted
4124           list of possible types).
4125
4126         (gst_type_find_element_chain):
4127           Make sure we return GST_FLOW_ERROR when we errored out
4128           in stop_typefinding(); also, don't just find the best of
4129           all found type entries and then use the last examined
4130           type entry, but actually use the best entry.
4131
4132 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4133
4134         * tests/examples/typefind/typefind.c: (type_found):
4135         * tests/examples/xml/runxml.c: (xml_loaded):
4136           More gcc4 fixes and a mem leak fix.
4137
4138 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4139
4140         * tests/examples/xml/createxml.c: (object_saved):
4141           gcc 4 fixes
4142
4143 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4144
4145         * tests/Makefile.am:
4146           enable the examples even more
4147
4148 2005-12-12  Andy Wingo  <wingo@pobox.com>
4149
4150         * libs/gst/net/gstnettimeprovider.c
4151         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4152         (gst_net_time_provider_set_property)
4153         (gst_net_time_provider_get_property):
4154         API addition: Export "active" as a GObject property.
4155         (gst_net_time_provider_thread): Only respond to time queries if
4156         the time provider is active.
4157
4158         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4159         NetTimeProvider, preserving binary compat.
4160
4161 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4162
4163         * tests/examples/controller/audio-example.c: (main):
4164         * tests/examples/launch/Makefile.am:
4165           convert comments again
4166
4167 2005-12-12  Wim Taymans  <wim@fluendo.com>
4168
4169         * libs/gst/base/gstpushsrc.c:
4170         Fix typo.
4171
4172 2005-12-12  Wim Taymans  <wim@fluendo.com>
4173
4174         * docs/libs/gstreamer-libs-sections.txt:
4175         Added new symbol to docs.
4176
4177         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4178         (gst_base_src_init), (gst_base_src_set_format),
4179         (gst_base_src_default_query), (gst_base_src_query),
4180         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4181         (gst_base_src_perform_seek), (gst_base_src_send_event),
4182         (gst_base_src_default_event), (gst_base_src_event_handler),
4183         (gst_base_src_set_property), (gst_base_src_get_property),
4184         (gst_base_src_wait), (gst_base_src_do_sync),
4185         (gst_base_src_update_length), (gst_base_src_get_range),
4186         (gst_base_src_check_get_range), (gst_base_src_loop),
4187         (gst_base_src_default_negotiate), (gst_base_src_start),
4188         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4189         (gst_base_src_change_state):
4190         * libs/gst/base/gstbasesrc.h:
4191         Implement seeking to other formats than _BYTES.
4192         Implement more seeking methods correctly.
4193         Doc updates.
4194         Added query vmethod.
4195         Added do_seek vmethod to make life easier for subclasses
4196         when seeking.
4197         API addition: gst_base_src_set_format()
4198
4199 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4200
4201         * tests/examples/Makefile.am:
4202           added that too
4203
4204 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4205
4206         * configure.ac:
4207         * docs/random/ensonic/media-device-daemon.txt:
4208         * tests/examples/controller/.cvsignore:
4209         * tests/examples/controller/Makefile.am:
4210         * tests/examples/controller/audio-example.c: (main):
4211         * tests/examples/helloworld/.cvsignore:
4212         * tests/examples/helloworld/Makefile.am:
4213         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4214         * tests/examples/launch/.cvsignore:
4215         * tests/examples/launch/Makefile.am:
4216         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4217         * tests/examples/metadata/.cvsignore:
4218         * tests/examples/metadata/Makefile.am:
4219         * tests/examples/metadata/read-metadata.c: (message_loop),
4220         (make_pipeline), (print_tag), (main):
4221         * tests/examples/queue/.cvsignore:
4222         * tests/examples/queue/Makefile.am:
4223         * tests/examples/queue/queue.c: (event_loop), (main):
4224         * tests/examples/typefind/.cvsignore:
4225         * tests/examples/typefind/Makefile.am:
4226         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4227         (main):
4228         * tests/examples/xml/.cvsignore:
4229         * tests/examples/xml/Makefile.am:
4230         * tests/examples/xml/createxml.c: (object_saved), (main):
4231         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4232         * tests/old/examples/Makefile.am:
4233         * tests/old/examples/TODO:
4234         * tests/old/examples/controller/.cvsignore:
4235         * tests/old/examples/controller/Makefile.am:
4236         * tests/old/examples/controller/audio-example.c:
4237         * tests/old/examples/helloworld/.cvsignore:
4238         * tests/old/examples/helloworld/Makefile.am:
4239         * tests/old/examples/helloworld/helloworld.c:
4240         * tests/old/examples/launch/.cvsignore:
4241         * tests/old/examples/launch/Makefile.am:
4242         * tests/old/examples/launch/mp3parselaunch.c:
4243         * tests/old/examples/launch/mp3play:
4244         * tests/old/examples/manual/Makefile.am:
4245         * tests/old/examples/metadata/Makefile.am:
4246         * tests/old/examples/metadata/read-metadata.c:
4247         * tests/old/examples/queue/.cvsignore:
4248         * tests/old/examples/queue/Makefile.am:
4249         * tests/old/examples/queue/queue.c:
4250         * tests/old/examples/typefind/.cvsignore:
4251         * tests/old/examples/typefind/Makefile.am:
4252         * tests/old/examples/typefind/typefind.c:
4253         * tests/old/examples/xml/.cvsignore:
4254         * tests/old/examples/xml/Makefile.am:
4255         * tests/old/examples/xml/createxml.c:
4256         * tests/old/examples/xml/runxml.c:
4257           applied some simple fixing to some examples
4258           re-enabled the working examples
4259
4260 2005-12-12  Wim Taymans  <wim@fluendo.com>
4261
4262         * gst/gstsegment.c: (gst_segment_init),
4263         (gst_segment_set_last_stop), (gst_segment_set_seek),
4264         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4265         (gst_segment_to_running_time):
4266         Added more documentation.
4267         Make sure the last_pos value is updated properly.
4268         Make sure to_stream_time and to_running_time don't
4269         operate on wrong values.
4270
4271         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4272         Update check.
4273
4274 2005-12-12  Michael Smith  <msmith@fluendo.com>
4275
4276         * plugins/elements/gsttypefindelement.c: (free_entry),
4277         (gst_type_find_element_chain):
4278           Now that we're not leaking factories, make sure we keep references
4279           to them while we need them.
4280
4281 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4282
4283         * tests/check/gst/struct_i386.h:
4284           ifdef out the XML structs
4285
4286 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4287
4288         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4289           floor is not needed, F is always positive; this obviates the
4290           need for adding -lm when building without libxml
4291
4292 2005-12-12  Wim Taymans  <wim@fluendo.com>
4293
4294         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4295         Take current playback rate into account when reporting
4296         the position.
4297
4298 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4299
4300         * docs/manual/mime-world.fig:
4301           Let's try this again, this time with a file that is
4302           actually in XFig format.
4303
4304 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4305
4306         * docs/manual/mime-world.fig:
4307           Add audioconvert element to diagram so that it
4308           matches the text and the code (fixes #319526).
4309
4310 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4311
4312         * docs/pwg/building-chainfn.xml:
4313         * docs/pwg/building-pads.xml:
4314         * docs/pwg/building-state.xml:
4315         * docs/pwg/other-source.xml:
4316           Update state change stuff for 0.10 (fixes #322969).
4317
4318 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4319
4320         * docs/manual/advanced-dataaccess.xml:
4321         * docs/manual/appendix-checklist.xml:
4322         * docs/manual/appendix-programs.xml:
4323         * docs/manual/basics-pads.xml:
4324         * docs/manual/highlevel-components.xml:
4325         * docs/manual/manual.xml:
4326           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4327           add converters in front of pipelines; remove curly
4328           brackets for threads stuff, they no longer exist; use
4329           GST_TYPE_FRACTION for framerates; update some pieces of
4330           code to 0.10, but there's plenty more to do.
4331
4332         * docs/manual/appendix-porting.xml:
4333           Expand on asynchroneous state changes; s/0.9/0.10/;
4334           mention disappearance of gst_init_get_popt_table()
4335           (fixes #322916).
4336
4337 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4338
4339         * docs/faq/using.xml:
4340           Spider no longer exists, and neither does gst-launch-ext.
4341           Update examples to use decodebin and playbin and put
4342           converters in front of sinks (fixes #323726).
4343
4344 2005-12-09  Michael Smith  <msmith@fluendo.com>
4345
4346         * plugins/elements/gsttypefindelement.c: (find_peek),
4347         (gst_type_find_element_chain):
4348           Fix leaking element factories in typefinding.
4349           Fix problem where we forgot about a probable type on non-seekable
4350           files, and thus later mis-typefound it.
4351
4352 2005-12-09  Michael Smith  <msmith@fluendo.com>
4353
4354         * common/m4/gst-makecontext.m4:
4355         * common/m4/gst-mcsc.m4:
4356         * configure.ac:
4357         * win32/common/config.h:
4358         * win32/common/config.h.in:
4359           Remove makecontext stuff; not used in 0.10 and causes problems on
4360           HPUX according to bug #322441
4361
4362 2005-12-07  Wim Taymans  <wim@fluendo.com>
4363
4364         * tests/check/Makefile.am:
4365         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4366         (main):
4367         * tests/check/libs/struct_i386.h:
4368         Added ABI check for libs
4369
4370 2005-12-07  Wim Taymans  <wim@fluendo.com>
4371
4372         * tests/check/Makefile.am:
4373         And add the struct_i386.h to dist.
4374
4375 2005-12-07  Wim Taymans  <wim@fluendo.com>
4376
4377         * tests/check/Makefile.am:
4378         * tests/check/gst/.cvsignore:
4379         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4380         (main):
4381         * tests/check/gst/struct_i386.h:
4382         Added check for ABI compatibility.
4383
4384 2005-12-07  Wim Taymans  <wim@fluendo.com>
4385
4386         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4387         (gst_fake_src_get_times), (gst_fake_src_create):
4388         Fix broken sync option, fixes #323259
4389
4390 2005-12-07  Wim Taymans  <wim@fluendo.com>
4391
4392         * gst/gstbuffer.c:
4393         Small docs update.
4394
4395         * gst/gstcaps.c: (gst_caps_is_equal):
4396         Don't assert on NULL <--> X. Fixes #323260
4397
4398         * gst/gstminiobject.c: (gst_mini_object_replace):
4399         If we're doing atomic operations, we might just as well use
4400         the proper way to get an atomic pointer.
4401
4402         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4403         Clean up debugging.
4404
4405 2005-12-07  Michael Smith  <msmith@fluendo.com>
4406
4407         * gst/parse/grammar.y:
4408           Remove handling of { } for threads.
4409
4410 2005-12-06  David Schleef  <ds@schleef.org>
4411
4412         * libs/gst/base/gstbasetransform.c: speling fix.
4413
4414 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4415
4416         * docs/libs/tmpl/gstdataprotocol.sgml:
4417         * docs/random/omega/testing/gstobject.c:
4418         * gst/gst.c:
4419         * gst/gstclock.c:
4420         * gst/gstelement.c:
4421         * gst/gstelementfactory.c:
4422         * gst/gsterror.c:
4423         * gst/gstevent.c:
4424         * gst/gstghostpad.c:
4425         * gst/gstinfo.c:
4426         * gst/gstpadtemplate.c:
4427         * gst/gstregistryxml.c:
4428         * gst/gsttaglist.c:
4429         * gst/gsttagsetter.c:
4430         * gst/gsttypefind.c:
4431         * gst/gstvalue.c:
4432         * libs/gst/base/gstbasesrc.c:
4433         * libs/gst/net/gstnetclientclock.c:
4434         * libs/gst/net/gstnettimeprovider.c:
4435         * plugins/elements/gstfakesrc.c:
4436         * plugins/elements/gstfdsrc.c:
4437         * plugins/elements/gstfilesrc.c:
4438         * plugins/elements/gstidentity.c:
4439         * plugins/elements/gstqueue.c:
4440         * plugins/elements/gsttypefindelement.c:
4441         * plugins/indexers/gstfileindex.c:
4442         * plugins/indexers/gstmemindex.c:
4443         * tests/check/gst/gsttag.c:
4444         * tests/old/examples/cutter/cutter.c:
4445         * tests/old/examples/mixer/mixer.c:
4446         * tests/old/examples/xml/runxml.c: (main):
4447         * tests/old/testsuite/caps/normalisation.c:
4448         * tests/old/testsuite/debug/global.c:
4449         * tests/old/testsuite/parse/parse1.c:
4450         * tools/gst-xmlinspect.c:
4451         * win32/common/dirent.c:
4452           expand tabs
4453
4454 === release 0.10.0 ===
4455
4456 2005-12-05   <thomas (at) apestaart (dot) org>
4457
4458         * configure.ac:
4459           releasing 0.10.0, "Maroilles"
4460
4461 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4462
4463         submitted by: Funda Wang <fundawang@linux.net.cn>
4464
4465         * po/LINGUAS:
4466         * po/zh_CN.po:
4467           added Chinese (Traditional) translation
4468
4469 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4470
4471         * docs/gst/gstreamer-sections.txt:
4472         * docs/libs/tmpl/gstdataprotocol.sgml:
4473         * docs/random/thomasvs/TODO:
4474         * gst/gstutils.c:
4475         * gst/gstutils.h:
4476           fix docs
4477
4478 2005-12-05  Andy Wingo  <wingo@pobox.com>
4479
4480         patch by: Wim Taymans <wim@fluendo.com>
4481
4482         * libs/gst/base/gstbasetransform.c
4483         (gst_base_transform_prepare_output_buf)
4484         (gst_base_transform_buffer_alloc):
4485         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4486         alloc_buffer_and_set_caps.
4487
4488         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4489         set_caps on the source pad.
4490         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4491         alloc_buffer used to do. Fixes #322874.
4492
4493         * docs/gst/gstreamer-sections.txt: 
4494         * docs/design/part-negotiation.txt: 
4495         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4496         changes.
4497
4498 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4499
4500         patch by: Sebastien Moutte
4501
4502         * win32/MANIFEST:
4503         * win32/common/config.h.in:
4504         * win32/vs6/libgstcontroller.dsp:
4505           win32 build fixes
4506
4507 2005-12-05  Wim Taymans  <wim@fluendo.com>
4508
4509         * gst/gstcaps.c: (gst_caps_is_equal):
4510         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4511         (gst_fake_src_create):
4512         Back out previous code changes, leave doc updates, file bugs 
4513         instead. 
4514
4515 2005-12-05  Wim Taymans  <wim@fluendo.com>
4516
4517         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4518         (gst_fake_src_get_times), (gst_fake_src_create):
4519         * plugins/elements/gstfakesrc.h:
4520         Fix broken sync code.
4521
4522 2005-12-05  Wim Taymans  <wim@fluendo.com>
4523
4524         * gst/gstcaps.c: (gst_caps_is_equal):
4525         Comparing NULL against !NULL yields different caps, not a
4526         failure.
4527
4528 2005-12-05  Wim Taymans  <wim@fluendo.com>
4529
4530         * gst/gstpipeline.c:
4531         Fix small typo in docs.
4532
4533 2005-12-05  Andy Wingo  <wingo@pobox.com>
4534
4535         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4536
4537         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4538         registries/plugins with a MAJORMINOR one.
4539         (plugin_desc): Rename library from gstcoreleements to
4540         staticelements. Fixes #323222.
4541
4542 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4543
4544         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4545           Change debug category to 'collectpads' from 'collect_pads'
4546           (fixes #323250).
4547
4548 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4549
4550         patch by: Sebastien Moutte
4551
4552         * libs/gst/controller/gstinterpolation.c:
4553           use convert function for uint64/double
4554         * win32/vs6/libgstcontroller.dsp:
4555           link to GLib
4556
4557 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4558
4559         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4560         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4561         * gst/gstutils.h:
4562         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4563           add tests that seem to show that the guint64/gdouble conversions
4564           are correct.
4565
4566 2005-12-02  Wim Taymans  <wim@fluendo.com>
4567
4568         * gst/gstregistry.c: (gst_registry_add_path):
4569         * gst/gstregistry.h:
4570         * gst/gstregistryxml.c:
4571         Fix docs again.
4572
4573 2005-12-02  Wim Taymans  <wim@fluendo.com>
4574
4575         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4576         (gst_util_uint64_scale_int):
4577         Small cleanup.
4578
4579         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4580         Add debug log line.
4581
4582         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4583         Add FIXME.
4584
4585 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4586
4587         * win32/MANIFEST:
4588         * win32/common/config.h:
4589         * win32/vs6/gstreamer.dsw:
4590         * win32/vs6/libgstcoreelements.dsp:
4591         * win32/vs6/libgstelements.dsp:
4592           renamed core elements plugin
4593
4594 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4595
4596         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4597         (get_candidates):
4598           do piece-wise major/minor comparison so 0.9 < 0.10
4599           also allow .exe extensions for tools
4600
4601 2005-12-02  Michael Smith  <msmith@fluendo.com>
4602
4603         * gst/gst.c:
4604           Escape a % to make gtkdoc happier; bug 322958.
4605
4606 === release 0.9.7 ===
4607
4608 2005-12-01   <thomas (at) apestaart (dot) org>
4609
4610         * configure.ac:
4611           releasing 0.9.7, "My Dog Has No Nose"
4612
4613 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4614
4615         * common/gst-xmlinspect.py:
4616         * configure.ac:
4617         * docs/libs/tmpl/gstdataprotocol.sgml:
4618         * docs/random/release:
4619         * po/af.po:
4620         * po/az.po:
4621         * po/bg.po:
4622         * po/ca.po:
4623         * po/cs.po:
4624         * po/de.po:
4625         * po/en_GB.po:
4626         * po/fr.po:
4627         * po/it.po:
4628         * po/nb.po:
4629         * po/nl.po:
4630         * po/ru.po:
4631         * po/sq.po:
4632         * po/sr.po:
4633         * po/sv.po:
4634         * po/tr.po:
4635         * po/uk.po:
4636         * po/vi.po:
4637         * win32/common/config.h:
4638         * win32/common/config.h.in:
4639         * win32/vs6/gst_inspect.dsp:
4640         * win32/vs6/gst_launch.dsp:
4641         * win32/vs6/libgstbase.dsp:
4642         * win32/vs6/libgstelements.dsp:
4643         * win32/vs6/libgstreamer.dsp:
4644         * win32/vs7/GStreamer.vcproj:
4645         * win32/vs7/gst-inspect.vcproj:
4646         * win32/vs7/gst-launch.vcproj:
4647         * win32/vs7/libgstbase.vcproj:
4648           bump GST_MAJORMINOR to 0.10
4649           reset libtool version
4650
4651 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4652
4653         * po/LINGUAS:
4654         * po/bg.po:
4655           Added Bulgarian translation by (Alexander Shopov)
4656
4657 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4658
4659         * tests/check/gst/gstplugin.c:
4660           fix test
4661
4662 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4663
4664         * common/gst-xmlinspect.py:
4665         * common/gtk-doc-plugins.mak:
4666         * configure.ac:
4667         * docs/Makefile.am:
4668         * docs/gst/Makefile.am:
4669         * docs/gst/gstreamer-docs.sgml:
4670         * docs/gst/gstreamer-sections.txt:
4671         * docs/gst/gstreamer.types:
4672         * docs/gst/gstreamer.types.in:
4673         * docs/plugins/Makefile.am:
4674         * docs/plugins/gstreamer-plugins-docs.sgml:
4675         * docs/plugins/gstreamer-plugins-sections.txt:
4676         * docs/plugins/gstreamer-plugins.types:
4677         * docs/plugins/inspect.stamp:
4678         * docs/plugins/inspect/plugin-coreelements.xml:
4679         * docs/plugins/inspect/plugin-coreindexers.xml:
4680         * docs/plugins/scanobj-build.stamp:
4681         * gstreamer.spec.in:
4682         * plugins/elements/Makefile.am:
4683         * plugins/elements/gstelements.c:
4684         * plugins/elements/gstfakesink.c:
4685         * plugins/elements/gstfakesrc.c:
4686         * plugins/elements/gstfilesink.c:
4687         * plugins/elements/gstfilesrc.c:
4688         * plugins/elements/gstqueue.c:
4689         * plugins/indexers/Makefile.am:
4690         * plugins/indexers/gstindexers.c:
4691           document core plugins in a separate document just like all the
4692           others
4693           rename these plugins to something starting with core
4694
4695 2005-12-01  Andy Wingo  <wingo@pobox.com>
4696
4697         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4698         padding here before, but it missed the commit.
4699
4700 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4701
4702         * libs/gst/controller/gstinterpolation.c:
4703           whitespace prices have crashed, we should feel free to use some now
4704           use gst_guint64_to_gdouble
4705
4706 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4707
4708         * libs/gst/controller/gstcontroller.c:
4709         * libs/gst/controller/gsthelper.c:
4710         * libs/gst/controller/gstinterpolation.c:
4711         * libs/gst/controller/lib.c:
4712           wrap config.h include
4713
4714 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4715
4716         * docs/gst/gstreamer-sections.txt:
4717           update docs
4718
4719 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4720
4721         * plugins/elements/gstelements.c:
4722         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4723         (gst_fd_sink__class_init), (gst_fd_sink__init),
4724         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4725         (gst_fd_sink__get_property):
4726         * plugins/elements/gstfdsink.h:
4727         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4728         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4729         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4730         (gst_fd_src_unlock), (gst_fd_src_set_property),
4731         (gst_fd_src_get_property), (gst_fd_src_create),
4732         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4733         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4734         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4735         (gst_fd_src_uri_handler_init):
4736         * plugins/elements/gstfdsrc.h:
4737         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4738           more anal cleanup
4739
4740 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4741
4742         * docs/gst/Makefile.am:
4743         * docs/gst/gstreamer.types.in:
4744         * gst/Makefile.am:
4745           fix the docs build
4746
4747 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4748
4749         * configure.ac:
4750         * gst/Makefile.am:
4751         * gst/gst.c:
4752         * gst/gstplugin.h:
4753         * gst/gstregistry.h:
4754         * tests/benchmarks/complexity.c:
4755         * tests/benchmarks/mass-elements.c:
4756         * tests/check/Makefile.am:
4757         * tools/Makefile.am:
4758         * tools/gst-inspect.c:
4759         * tools/gst-xmlinspect.c:
4760           various fixes to make
4761           --disable-nls --disable-registry --disable-loadsave
4762           --disable-parse --disable-gst-debug
4763           work and get the core .so down to 360444 bytes after stripping
4764
4765 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4766
4767         * Makefile.am:
4768         * configure.ac:
4769           descend into tests
4770         * docs/random/thomasvs/TODO:
4771         * tests/Makefile.am:
4772         * tests/README:
4773           add a README
4774
4775 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4776
4777         * win32/GStreamer.vcproj:
4778         * win32/MANIFEST:
4779         * win32/Makefile:
4780         * win32/Makefile.inspect:
4781         * win32/Makefile.launch:
4782         * win32/Makefile.register:
4783         * win32/README.txt:
4784         * win32/gst-inspect.vcproj:
4785         * win32/gst-launch.vcproj:
4786         * win32/gst-register.vcproj:
4787         * win32/gstelements.vcproj:
4788         * win32/gstgetbits.def:
4789         * win32/gstgetbits.vcproj:
4790         * win32/gstreamer-dbg.def:
4791         * win32/gstreamer.def:
4792         * win32/libgstbase.def:
4793         * win32/libgstbase.vcproj:
4794         * win32/link_oldruntime.c:
4795         * win32/mman.c:
4796         * win32/mman.h:
4797         * win32/mman.inl:
4798         * win32/msvc71.sln:
4799           move even more stuff, win32/ is nice and clean now
4800
4801 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4802
4803         * libs/gst/control/.cvsignore:
4804         * win32/MANIFEST:
4805         * win32/config.h:
4806         * win32/dirent.c:
4807         * win32/dirent.h:
4808         * win32/gstbytestream.def:
4809         * win32/gstbytestream.vcproj:
4810         * win32/gstconfig.h:
4811         * win32/gstenumtypes.c:
4812         * win32/gstenumtypes.h:
4813         * win32/gstoptimalscheduler.vcproj:
4814         * win32/gstversion.h:
4815         * win32/gtchar.h:
4816         * win32/testsuite/bins.vcproj:
4817         * win32/testsuite/bytestream.vcproj:
4818         * win32/testsuite/caps.vcproj:
4819         * win32/testsuite/cleanup.vcproj:
4820         * win32/testsuite/clock.vcproj:
4821         * win32/testsuite/debug.vcproj:
4822         * win32/testsuite/dlopen.vcproj:
4823         * win32/testsuite/dynparams.vcproj:
4824         * win32/testsuite/elements.vcproj:
4825         * win32/testsuite/ghostpads.vcproj:
4826         * win32/testsuite/indexers.vcproj:
4827         * win32/testsuite/negotiation.vcproj:
4828         * win32/testsuite/parse.vcproj:
4829         * win32/testsuite/plugin.vcproj:
4830         * win32/testsuite/refcounting.vcproj:
4831         * win32/testsuite/schedulers.vcproj:
4832         * win32/testsuite/states.vcproj:
4833         * win32/testsuite/tags.vcproj:
4834         * win32/testsuite/threads.vcproj:
4835           remove old win32 stuff that isn't maintained and should be
4836           reorganized
4837
4838 2005-11-30  Andy Wingo  <wingo@pobox.com>
4839
4840         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4841         loading the gst.interfaces python module bork.
4842
4843         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4844         available since GLib 2.2. Fixes #318031.
4845
4846 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4847
4848         * Makefile.am:
4849         * check/.cvsignore:
4850         * check/Makefile.am:
4851         * check/elements/.cvsignore:
4852         * check/elements/fakesrc.c:
4853         * check/elements/fdsrc.c:
4854         * check/elements/identity.c:
4855         * check/generic/.cvsignore:
4856         * check/generic/states.c:
4857         * check/gst-libs/.cvsignore:
4858         * check/gst-libs/controller.c:
4859         * check/gst-libs/gdp.c:
4860         * check/gst/.cvsignore:
4861         * check/gst/capslist.h:
4862         * check/gst/gst.c:
4863         * check/gst/gstbin.c:
4864         * check/gst/gstbuffer.c:
4865         * check/gst/gstbus.c:
4866         * check/gst/gstcaps.c:
4867         * check/gst/gstelement.c:
4868         * check/gst/gstevent.c:
4869         * check/gst/gstghostpad.c:
4870         * check/gst/gstiterator.c:
4871         * check/gst/gstmessage.c:
4872         * check/gst/gstminiobject.c:
4873         * check/gst/gstobject.c:
4874         * check/gst/gstpad.c:
4875         * check/gst/gstpipeline.c:
4876         * check/gst/gstplugin.c:
4877         * check/gst/gstsegment.c:
4878         * check/gst/gststructure.c:
4879         * check/gst/gstsystemclock.c:
4880         * check/gst/gsttag.c:
4881         * check/gst/gstutils.c:
4882         * check/gst/gstvalue.c:
4883         * check/net/.cvsignore:
4884         * check/net/gstnetclientclock.c:
4885         * check/net/gstnettimeprovider.c:
4886         * check/pipelines/.cvsignore:
4887         * check/pipelines/cleanup.c:
4888         * check/pipelines/simple_launch_lines.c:
4889         * check/pipelines/stress.c:
4890         * check/states/.cvsignore:
4891         * check/states/sinks.c:
4892         * configure.ac:
4893         * examples/Makefile.am:
4894         * examples/appreader/.cvsignore:
4895         * examples/appreader/Makefile.am:
4896         * examples/appreader/appreader.c:
4897         * examples/controller/.cvsignore:
4898         * examples/controller/Makefile.am:
4899         * examples/controller/audio-example.c:
4900         * examples/cutter/.cvsignore:
4901         * examples/cutter/Makefile.am:
4902         * examples/cutter/cutter.c:
4903         * examples/cutter/cutter.h:
4904         * examples/events/Makefile.am:
4905         * examples/events/seek.c:
4906         * examples/helloworld/.cvsignore:
4907         * examples/helloworld/Makefile.am:
4908         * examples/helloworld/helloworld.c:
4909         * examples/helloworld2/.cvsignore:
4910         * examples/helloworld2/Makefile.am:
4911         * examples/helloworld2/helloworld2.c:
4912         * examples/launch/.cvsignore:
4913         * examples/launch/Makefile.am:
4914         * examples/launch/mp3parselaunch.c:
4915         * examples/launch/mp3play:
4916         * examples/manual/.cvsignore:
4917         * examples/manual/Makefile.am:
4918         * examples/manual/extract.pl:
4919         * examples/metadata/Makefile.am:
4920         * examples/metadata/read-metadata.c:
4921         * examples/mixer/.cvsignore:
4922         * examples/mixer/Makefile.am:
4923         * examples/mixer/mixer.c:
4924         * examples/mixer/mixer.h:
4925         * examples/pingpong/.cvsignore:
4926         * examples/pingpong/Makefile.am:
4927         * examples/pingpong/pingpong.c:
4928         * examples/plugins/.cvsignore:
4929         * examples/plugins/Makefile.am:
4930         * examples/plugins/example.c:
4931         * examples/plugins/example.h:
4932         * examples/pwg/.cvsignore:
4933         * examples/pwg/Makefile.am:
4934         * examples/pwg/extract.pl:
4935         * examples/queue/.cvsignore:
4936         * examples/queue/Makefile.am:
4937         * examples/queue/queue.c:
4938         * examples/queue2/.cvsignore:
4939         * examples/queue2/Makefile.am:
4940         * examples/queue2/queue2.c:
4941         * examples/queue3/.cvsignore:
4942         * examples/queue3/Makefile.am:
4943         * examples/queue3/queue3.c:
4944         * examples/queue4/.cvsignore:
4945         * examples/queue4/Makefile.am:
4946         * examples/queue4/queue4.c:
4947         * examples/retag/.cvsignore:
4948         * examples/retag/Makefile.am:
4949         * examples/retag/retag.c:
4950         * examples/retag/transcode.c:
4951         * examples/thread/.cvsignore:
4952         * examples/thread/Makefile.am:
4953         * examples/thread/thread.c:
4954         * examples/typefind/.cvsignore:
4955         * examples/typefind/Makefile.am:
4956         * examples/typefind/typefind.c:
4957         * examples/xml/.cvsignore:
4958         * examples/xml/Makefile.am:
4959         * examples/xml/createxml.c:
4960         * examples/xml/runxml.c:
4961         * tests/Makefile.am:
4962         * tests/check/Makefile.am:
4963         * testsuite/.cvsignore:
4964         * testsuite/Makefile.am:
4965         * testsuite/Rules:
4966         * testsuite/caps/.cvsignore:
4967         * testsuite/caps/Makefile.am:
4968         * testsuite/caps/app_fixate.c:
4969         * testsuite/caps/audioscale.c:
4970         * testsuite/caps/caps.c:
4971         * testsuite/caps/caps.h:
4972         * testsuite/caps/caps_strings:
4973         * testsuite/caps/compatibility.c:
4974         * testsuite/caps/deserialize.c:
4975         * testsuite/caps/enumcaps.c:
4976         * testsuite/caps/eratosthenes.c:
4977         * testsuite/caps/filtercaps.c:
4978         * testsuite/caps/fixed.c:
4979         * testsuite/caps/fraction-convert.c:
4980         * testsuite/caps/fraction-multiply-and-zero.c:
4981         * testsuite/caps/intersect2.c:
4982         * testsuite/caps/intersection.c:
4983         * testsuite/caps/normalisation.c:
4984         * testsuite/caps/random.c:
4985         * testsuite/caps/renegotiate.c:
4986         * testsuite/caps/sets.c:
4987         * testsuite/caps/simplify.c:
4988         * testsuite/caps/string-conversions.c:
4989         * testsuite/caps/structure.c:
4990         * testsuite/caps/subtract.c:
4991         * testsuite/caps/union.c:
4992         * testsuite/debug/.cvsignore:
4993         * testsuite/debug/Makefile.am:
4994         * testsuite/debug/category.c:
4995         * testsuite/debug/commandline.c:
4996         * testsuite/debug/global.c:
4997         * testsuite/debug/output.c:
4998         * testsuite/debug/printf_extension.c:
4999         * testsuite/dlopen/.cvsignore:
5000         * testsuite/dlopen/Makefile.am:
5001         * testsuite/dlopen/dlopen_gst.c:
5002         * testsuite/dlopen/loadgst.c:
5003         * testsuite/elements/.cvsignore:
5004         * testsuite/elements/Makefile.am:
5005         * testsuite/elements/gst-inspect-check.in:
5006         * testsuite/elements/struct_i386.h:
5007         * testsuite/elements/struct_size.c:
5008         * testsuite/indexers/.cvsignore:
5009         * testsuite/indexers/Makefile.am:
5010         * testsuite/indexers/cache1.c:
5011         * testsuite/indexers/indexdump.c:
5012         * testsuite/parse/.cvsignore:
5013         * testsuite/parse/Makefile.am:
5014         * testsuite/parse/parse1.c:
5015         * testsuite/parse/parse2.c:
5016         * testsuite/plugin/.cvsignore:
5017         * testsuite/plugin/Makefile.am:
5018         * testsuite/plugin/README:
5019         * testsuite/plugin/dynamic.c:
5020         * testsuite/plugin/linked.c:
5021         * testsuite/plugin/loading.c:
5022         * testsuite/plugin/registry.c:
5023         * testsuite/plugin/static.c:
5024         * testsuite/plugin/static2.c:
5025         * testsuite/plugin/testplugin.c:
5026         * testsuite/plugin/testplugin2.c:
5027         * testsuite/plugin/testplugin2_s.c:
5028         * testsuite/plugin/testplugin_s.c:
5029         * testsuite/refcounting/.cvsignore:
5030         * testsuite/refcounting/Makefile.am:
5031         * testsuite/refcounting/bin.c:
5032         * testsuite/refcounting/element.c:
5033         * testsuite/refcounting/element_pad.c:
5034         * testsuite/refcounting/mainloop.c:
5035         * testsuite/refcounting/mem.c:
5036         * testsuite/refcounting/mem.h:
5037         * testsuite/refcounting/object.c:
5038         * testsuite/refcounting/pad.c:
5039         * testsuite/refcounting/sched.c:
5040         * testsuite/refcounting/thread.c:
5041         * testsuite/states/.cvsignore:
5042         * testsuite/states/Makefile.am:
5043         * testsuite/states/bin.c:
5044         * testsuite/states/locked.c:
5045         * testsuite/states/parent.c:
5046         * testsuite/threads/.cvsignore:
5047         * testsuite/threads/159566.c:
5048         * testsuite/threads/159852.c:
5049         * testsuite/threads/Makefile.am:
5050         * testsuite/threads/queue.c:
5051         * testsuite/threads/signals.c:
5052         * testsuite/threads/staticrec.c:
5053         * testsuite/threads/thread.c:
5054         * testsuite/threads/threadb.c:
5055         * testsuite/threads/threadc.c:
5056         * testsuite/threads/threadd.c:
5057         * testsuite/threads/threade.c:
5058         * testsuite/threads/threadf.c:
5059         * testsuite/threads/threadg.c:
5060         * testsuite/threads/threadh.c:
5061         * testsuite/threads/threadi.c:
5062           move all of these under tests
5063
5064 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5065
5066         * configure.ac:
5067         * tests/Makefile.am:
5068           fix distcheck
5069
5070 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5071
5072         * docs/gst/gstreamer-sections.txt:
5073         * tests/sched/.cvsignore:
5074         * tests/sched/Makefile.am:
5075         * tests/sched/cases/(fs-fs).xml:
5076         * tests/sched/cases/(fs-i-fs).xml:
5077         * tests/sched/cases/(fs-i-i-fs).xml:
5078         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5079         * tests/sched/dynamic-pipeline.c:
5080         * tests/sched/interrupt1.c:
5081         * tests/sched/interrupt2.c:
5082         * tests/sched/interrupt3.c:
5083         * tests/sched/runtestcases:
5084         * tests/sched/runxml.c:
5085         * tests/sched/sched-stress.c:
5086         * tests/sched/sort.c:
5087         * tests/sched/testcases:
5088         * tests/sched/testcases1.tc:
5089         * tests/seeking/.cvsignore:
5090         * tests/seeking/Makefile.am:
5091         * tests/seeking/seeking1.c:
5092         * tests/threadstate/.cvsignore:
5093         * tests/threadstate/Makefile.am:
5094         * tests/threadstate/test1.c:
5095         * tests/threadstate/test2.c:
5096         * tests/threadstate/threadstate1.c:
5097         * tests/threadstate/threadstate2.c:
5098         * tests/threadstate/threadstate3.c:
5099         * tests/threadstate/threadstate4.c:
5100         * tests/threadstate/threadstate5.c:
5101           remove obsolete tests
5102         * configure.ac:
5103         * tests/bench-complexity.scm:
5104         * tests/bench-mass_elements.scm:
5105         * tests/complexity.c:
5106         * tests/complexity.gnuplot:
5107         * tests/instantiate/.cvsignore:
5108         * tests/instantiate/Makefile.am:
5109         * tests/instantiate/caps.c:
5110         * tests/mass_elements.c:
5111         * tests/network-clock-utils.scm:
5112         * tests/network-clock.scm:
5113         * tests/plot-data:
5114         First pass at cleaning up tests/ dir before moving the rest
5115         Combined with CVS surgery
5116
5117 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5118
5119         * po/POTFILES.in:
5120           queue has moved, update
5121
5122 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5123
5124         * docs/gst/gstreamer-sections.txt:
5125           remove double entries from the docs
5126         * gst/gst_private.h:
5127         * gst/gstinfo.c: (_gst_debug_init):
5128           remove the THREAD debug category
5129         * gst/Makefile.am:
5130         * gst/gstqueue.c:
5131         * gst/gstqueue.h:
5132         * docs/gst/gstreamer.types:
5133         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5134         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5135           completely move queue and fix up debugging categories
5136
5137 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5138
5139         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5140           make initialization portable, using LL is not
5141
5142 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5143
5144         * win32/common/gstconfig.h:
5145           add large padding
5146
5147 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5148
5149         * win32/common/libgstreamer.def:
5150           rename symbols; sort base section
5151
5152 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5153
5154         * gst/gstclock.c: (do_linear_regression):
5155           remove crack non-portable handrolled DEBUG macro
5156
5157 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5158
5159         * docs/random/release:
5160           update notes
5161         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5162         (gst_object_flags_get_type), (register_gst_bin_flags),
5163         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5164         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5165         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5166         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5167         (gst_caps_flags_get_type), (register_gst_clock_return),
5168         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5169         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5170         (gst_clock_flags_get_type), (register_gst_state),
5171         (gst_state_get_type), (register_gst_state_change_return),
5172         (gst_state_change_return_get_type), (register_gst_state_change),
5173         (gst_state_change_get_type), (register_gst_element_flags),
5174         (gst_element_flags_get_type), (register_gst_core_error),
5175         (gst_core_error_get_type), (register_gst_library_error),
5176         (gst_library_error_get_type), (register_gst_resource_error),
5177         (gst_resource_error_get_type), (register_gst_stream_error),
5178         (gst_stream_error_get_type), (register_gst_event_type_flags),
5179         (gst_event_type_flags_get_type), (register_gst_event_type),
5180         (gst_event_type_get_type), (register_gst_seek_type),
5181         (gst_seek_type_get_type), (register_gst_seek_flags),
5182         (gst_seek_flags_get_type), (register_gst_format),
5183         (gst_format_get_type), (register_gst_index_certainty),
5184         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5185         (gst_index_entry_type_get_type),
5186         (register_gst_index_lookup_method),
5187         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5188         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5189         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5190         (gst_index_flags_get_type), (register_gst_debug_level),
5191         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5192         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5193         (gst_iterator_result_get_type), (register_gst_iterator_item),
5194         (gst_iterator_item_get_type), (register_gst_message_type),
5195         (gst_message_type_get_type), (register_gst_mini_object_flags),
5196         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5197         (gst_pad_link_return_get_type), (register_gst_flow_return),
5198         (gst_flow_return_get_type), (register_gst_activate_mode),
5199         (gst_activate_mode_get_type), (register_gst_pad_direction),
5200         (gst_pad_direction_get_type), (register_gst_pad_flags),
5201         (gst_pad_flags_get_type), (register_gst_pad_presence),
5202         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5203         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5204         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5205         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5206         (gst_plugin_flags_get_type), (register_gst_rank),
5207         (gst_rank_get_type), (register_gst_query_type),
5208         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5209         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5210         (gst_tag_flag_get_type), (register_gst_task_state),
5211         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5212         (gst_alloc_trace_flags_get_type),
5213         (register_gst_type_find_probability),
5214         (gst_type_find_probability_get_type), (register_gst_uri_type),
5215         (gst_uri_type_get_type), (register_gst_parse_error),
5216         (gst_parse_error_get_type):
5217         * win32/common/gstenumtypes.h:
5218         * win32/common/gstversion.h:
5219           update visual studio generated files
5220
5221 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5222
5223         * win32/vs6/libgstbase.dsp:
5224         * win32/vs6/libgstelements.dsp:
5225           update project files for new locations
5226
5227 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5228
5229         * Makefile.am:
5230           remove some files
5231         * README:
5232           reinstate and update
5233         * DEVEL:
5234         * REQUIREMENTS:
5235           removed
5236         * LICENSE:
5237         * docs/random/LICENSE:
5238           moved to random
5239
5240 2005-11-30  Edward Hervey  <edward@fluendo.com>
5241
5242         * gst/gsttypefind.c: (gst_type_find_register):
5243         * gst/gsttypefind.h:
5244         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5245         (gst_type_find_factory_dispose):
5246         * gst/gsttypefindfactory.h:
5247         Fix memory leak in GstTypeFindFactory.
5248
5249 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5250
5251         * gst/gst.c:
5252         * plugins/elements/Makefile.am:
5253         * plugins/elements/gstelements.c:
5254         * plugins/elements/gstqueue.c:
5255           move queue from core to the elements plugin
5256
5257 2005-11-29  Andy Wingo  <wingo@pobox.com>
5258
5259         * libs/gst/base/gstbasetransform.h: 
5260         * libs/gst/base/gstbasesrc.h: 
5261         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5262
5263         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5264         of pointers by which to pad very extensible base classes (like the
5265         ones in libs/gst/base).
5266
5267 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5268
5269         * docs/gst/gstreamer-docs.sgml:
5270         * docs/gst/gstreamer-sections.txt:
5271         * docs/libs/gstreamer-libs-docs.sgml:
5272         * docs/libs/gstreamer-libs-sections.txt:
5273           moving documentation from core to lib
5274
5275 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5276
5277         * check/Makefile.am:
5278         * configure.ac:
5279         * docs/gst/Makefile.am:
5280         * gst/Makefile.am:
5281         * gst/base/.cvsignore:
5282         * gst/base/Makefile.am:
5283         * gst/base/README:
5284         * gst/base/gstadapter.c:
5285         * gst/base/gstadapter.h:
5286         * gst/base/gstbasesink.c:
5287         * gst/base/gstbasesink.h:
5288         * gst/base/gstbasesrc.c:
5289         * gst/base/gstbasesrc.h:
5290         * gst/base/gstbasetransform.c:
5291         * gst/base/gstbasetransform.h:
5292         * gst/base/gstcollectpads.c:
5293         * gst/base/gstcollectpads.h:
5294         * gst/base/gstpushsrc.c:
5295         * gst/base/gstpushsrc.h:
5296         * gst/base/gsttypefindhelper.c:
5297         * gst/base/gsttypefindhelper.h:
5298         * gst/check/Makefile.am:
5299         * gst/check/gstcheck.c:
5300         * gst/check/gstcheck.h:
5301         * gst/net/Makefile.am:
5302         * gst/net/gstnet.h:
5303         * gst/net/gstnetclientclock.c:
5304         * gst/net/gstnetclientclock.h:
5305         * gst/net/gstnettimepacket.c:
5306         * gst/net/gstnettimepacket.h:
5307         * gst/net/gstnettimeprovider.c:
5308         * gst/net/gstnettimeprovider.h:
5309         * libs/gst/Makefile.am:
5310         * libs/gst/base/Makefile.am:
5311         * libs/gst/base/gstbasetransform.c:
5312         * libs/gst/check/Makefile.am:
5313         * plugins/elements/Makefile.am:
5314         * po/POTFILES.in:
5315           CVS surgery + support to move base, check, and net out of gst
5316           and into libs/gst
5317
5318 2005-11-29  Andy Wingo  <wingo@pobox.com>
5319
5320         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5321
5322         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5323         padding.
5324
5325         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5326
5327         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5328
5329         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5330
5331         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5332         padding; reduces object size by about 30%. We don't expect
5333         anything else to go into gstobject.
5334
5335         * gst/gstminiobject.h (struct _GstMiniObject)
5336         (struct _GstMiniObjectClass): Only one pointer of padding; the
5337         payload is only a pointer and two ints anyway. For the class there
5338         are only two methods as well.
5339         
5340         * gst/gstelement.h (struct _GstElementClass): Removed
5341         the state_changed signal callback, it is not used.
5342
5343 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5344
5345         * docs/gst/gstreamer.types:
5346           fix includes, though they are a little dinky
5347
5348 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5349
5350         * check/Makefile.am:
5351           look in the right place for elements, a lot more chance of
5352           success
5353         * gst/Makefile.am:
5354           remove indexers and elements subdirs
5355         * plugins/Makefile.am:
5356           make indexers conditional
5357
5358 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5359
5360         * Makefile.am:
5361         * configure.ac:
5362         * plugins/elements/Makefile.am:
5363         * plugins/elements/gstcapsfilter.c:
5364         * plugins/elements/gstfilesink.c:
5365         * plugins/elements/gstfilesrc.c:
5366         * plugins/elements/gstidentity.c:
5367         * plugins/indexers/Makefile.am:
5368           do CVS surgery and related build fixery to move elements
5369           and indexers in a new gstreamer/plugins directory, out of the
5370           gst/ directory
5371
5372 2005-11-29  Andy Wingo  <wingo@pobox.com>
5373
5374         * check/Makefile.am:
5375         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5376         * pkgconfig/gstreamer-net.pc.in:
5377         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5378         #322257.
5379
5380 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5381
5382         * tools/Makefile.am:
5383         * tools/gst-complete.1.in:
5384         * tools/gst-complete.c:
5385         * tools/gst-compprep.1.in:
5386         * tools/gst-compprep.c:
5387           removing -compprep and -complete
5388
5389 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5390
5391         * gst/gstevent.c: (gst_event_new_new_segment),
5392         (gst_event_parse_new_segment):
5393         * gst/gstevent.h:
5394           fix #320529 - clean up new_segment API and structure.
5395           Let's hope everyone was using the methods, and not the structure.
5396
5397 2005-11-29  Edward Hervey  <edward@fluendo.com>
5398
5399         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5400         (gst_base_sink_event), (gst_base_sink_do_sync),
5401         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5402         Properly handle non GST_FORMAT_TIME segment
5403         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5404         Properly handle non GST_FORMAT_TIME segment
5405         * gst/gstsegment.c:
5406         This function is valid if the accumulator is 0 and the format
5407         is different from the requested format.
5408         
5409 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5410
5411         * docs/gst/gstreamer-sections.txt:
5412         Add gst_query_new_seeking and gst_query_parse_seeking to the
5413         docs.
5414
5415 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5416
5417         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5418           Treat a pad alloc with new caps the same as if we were not
5419           negotiated, in order to allow a changing upstream output
5420           to produce a new format of data.
5421
5422 2005-11-29  Edward Hervey  <edward@fluendo.com>
5423
5424         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5425         (gst_base_transform_event), (gst_base_transform_eventfunc):
5426         The event virtual method is now properly implemented, with a default
5427         handler
5428         Sub classes should call the parent_class event method. They should
5429         return FALSE if they had a problem handling the given event, or don't
5430         want GstBaseTransform to send that even downstream
5431         * gst/elements/gstidentity.c: (gst_identity_class_init),
5432         (gst_identity_init), (gst_identity_event),
5433         (gst_identity_transform_ip), (gst_identity_set_property),
5434         (gst_identity_get_property):
5435         * gst/elements/gstidentity.h:
5436         Added the single-segment boolean property.
5437         If set to TRUE, it will output a single segment of data, starting from
5438         0, will eat up all incoming newsegment, and modify the timestamp of the
5439         buffers accordingly
5440
5441 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5442
5443         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5444           Don't ref NULL target pad (#322751). Improve docs.
5445
5446 2005-11-29  Michael Smith  <msmith@fluendo.com>
5447
5448         * gst/gstregistryxml.c: (load_plugin):
5449           Don't crash if we failed to load a feature from a plugin. 
5450
5451 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5452
5453         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5454         (GST_START_TEST):
5455           use more check API and less GLib API
5456
5457 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5458
5459         * Makefile.am:
5460           don't run checks if we don't have check
5461         * common/check.mak:
5462           remove the registry when running make torture
5463         * docs/gst/gstreamer-sections.txt:
5464           remove second multiply
5465         * gst/gstqueue.c: (gst_queue_loop):
5466           fix a compile warning when disabling debug
5467
5468 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5469
5470         * gst/gstinfo.h:
5471         Hey! Let's print the pad name if the pointer != NULL instead
5472         of when it == NULL :-)
5473
5474 2005-11-28  Wim Taymans  <wim@fluendo.com>
5475
5476         * check/gst/gstutils.c: (GST_START_TEST):
5477         Updated check, add some scaling accuracy checking code.
5478
5479         * gst/gstutils.c: (gst_util_div128_64),
5480         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5481         (gst_util_uint64_scale_int):
5482         Fix 6 times faster division code. Optimize for common 
5483         1/1 and less common X/1 cases.
5484
5485 2005-11-28  Wim Taymans  <wim@fluendo.com>
5486
5487         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5488         More checks.
5489
5490         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5491         (do_linear_regression), (gst_clock_add_observation):
5492         Cleanups.
5493         Release lock when the clock cannot be slaved.
5494         Catch the case where the regression returned an invalid denominator.
5495
5496         * gst/gstutils.c: (gst_util_div128_64_iterate),
5497         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5498         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5499         Add protentially more performant non-iterative 128/64 divide function
5500         that unfortunatly does not work yet.
5501         Shortcut the trivial 0/X = 0 case.
5502         Remove the warnings on overflow.
5503
5504 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5505
5506         * gst/gstplugin.c: (gst_plugin_register_func):
5507           everything causing a plugin not to load should be at least a WARNING
5508
5509 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5510
5511         * docs/random/ensonic/dparams.txt:
5512           some TODOs for the next dev cycle
5513         * libs/gst/controller/gstcontroller.c:
5514         (gst_controlled_property_set_interpolation_mode),
5515         (gst_controlled_property_new):
5516         * libs/gst/controller/gstcontroller.h:
5517           use base type to assign acccessor functions
5518
5519 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5520
5521         * check/Makefile.am:
5522         Oops, that should have been top_srcdir
5523
5524 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5525
5526         * check/Makefile.am:
5527         * check/elements/fdsrc.c: (GST_START_TEST):
5528         Use a cmdline define to specify the location of a file to use for
5529         testing, to avoid breaking distcheck.
5530
5531 2005-11-28  Andy Wingo  <wingo@pobox.com>
5532
5533         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5534
5535 2005-11-28  Edward Hervey  <edward@fluendo.com>
5536
5537         * tools/gst-launch.c: (main):
5538         Clarify the output strings, makes it easier to translate.
5539         Fixes #322626
5540
5541 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * gst/Makefile.am:
5544           don't try and build net if we don't even have <sys/socket.h>
5545
5546 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5547
5548         * check/Makefile.am:
5549         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5550         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5551           Add tests for fdsrc seekability
5552
5553         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5554         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5555         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5556         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5557         * gst/elements/gstfdsrc.h:
5558           fdsrc should not be a 'live' source.
5559           Implement seeking on seekable fd's.
5560
5561         * gst/gstquery.c: (gst_query_new_seeking),
5562         (gst_query_parse_seeking):
5563         * gst/gstquery.h:
5564           Implement SEEKING query functions: 
5565             *_new_seeking and *_parse_seeking
5566
5567 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5568
5569         * gst/gstelement.c: (gst_element_dispose):
5570           don't loop forever
5571
5572         * gst/gstiterator.c:
5573         * gst/gststructure.c:
5574           doc fixes
5575
5576         * libs/gst/controller/gstcontroller.c:
5577         (gst_controlled_property_set_interpolation_mode):
5578         * libs/gst/controller/gstcontroller.h:
5579         * libs/gst/controller/gstinterpolation.c:
5580         (interpolate_none_get_enum_value_array):
5581           support controlling enums
5582
5583 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5584
5585         * gst/gstvalue.c:
5586           Improve documentation for gst_value_union().
5587
5588         * gst/gstvalue.h:
5589           Change return value for union, intersect and subtract functions
5590           from gint to gboolean.
5591
5592 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5593
5594         * gst/gstvalue.c: (gst_value_serialize_any_list),
5595         (gst_value_transform_any_list_string),
5596         (gst_value_deserialize_list), (gst_value_deserialize_array),
5597         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5598         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5599         (gst_value_set_fraction_range_full),
5600         (gst_value_deserialize_fraction_range),
5601         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5602         (gst_value_deserialize_boolean),
5603         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5604         (gst_value_serialize_float), (gst_value_deserialize_float),
5605         (gst_string_wrap), (gst_value_deserialize_string),
5606         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5607         (gst_value_union_int_range_int_range),
5608         (gst_value_intersect_int_range_int_range),
5609         (gst_value_intersect_double_range_double_range),
5610         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5611         (gst_value_subtract_int_range_int_range),
5612         (gst_value_subtract_double_double_range),
5613         (gst_value_subtract_double_range_double_range),
5614         (gst_value_deserialize_fraction):
5615         * gst/gstvalue.h:
5616           Use gint, gdouble and gchar in our API instead of int, double and
5617           char (and make usage in gstvalue.c more consistent).
5618
5619 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5620
5621         * check/Makefile.am:
5622         * libs/gst/controller/Makefile.am:
5623         * libs/gst/dataprotocol/Makefile.am:
5624           fix up Makefile.am and remove GST_ENABLE_NEW
5625
5626 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5627
5628         * configure.ac:
5629         * gst/Makefile.am:
5630         * gst/base/Makefile.am:
5631         * gst/check/Makefile.am:
5632         * gst/elements/Makefile.am:
5633         * gst/net/Makefile.am:
5634           update LDFLAGS use some more
5635
5636 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5637
5638         * common/m4/gst-doc.m4:
5639           Fixes #312589
5640
5641 2005-11-26  Edward Hervey  <edward@fluendo.com>
5642
5643         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5644         This shouldn't issue a g_warning since it returns NULL if it
5645         couldn't find the plugin, and all functions using this behave
5646         properly on a NULL return. Switching to a GST_WARNING.
5647
5648 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5649
5650         * gst/gstbin.c: (gst_bin_handle_message_func):
5651         Don't leak clock messages.
5652
5653 2005-11-25  Wim Taymans  <wim@fluendo.com>
5654
5655         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5656         (gst_util_uint64_scale_int):
5657         Optimisations, remove unneeded vars.
5658
5659 2005-11-25  Wim Taymans  <wim@fluendo.com>
5660
5661         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5662         Added more checks for the high precision uint64 cases.
5663
5664         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5665         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5666         Implement high precision (guint64 * guint64) / guint64.
5667
5668 2005-11-24  Wim Taymans  <wim@fluendo.com>
5669
5670         * gst/base/gstbasesrc.c: (gst_base_src_query):
5671         Fix wrong percentage query.
5672
5673         * gst/gstutils.c: (gst_util_uint64_scale),
5674         (gst_util_uint64_scale_int):
5675         Add some more common cases that can be handled 
5676         efficiently to _scale.
5677
5678 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5679
5680         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5681         (gst_mini_object_suite):
5682           don't use check calls from threads; check probably isn't
5683           threadsafe and using a lock to make it threadsafe would
5684           defeat the purpose of this check
5685         * gst/check/gstcheck.c:
5686         * gst/check/gstcheck.h:
5687           use GST_DEBUG some more
5688
5689 2005-11-24  Wim Taymans  <wim@fluendo.com>
5690
5691         * gst/gstutils.c: (gst_util_uint64_scale),
5692         (gst_util_uint64_scale_int):
5693         Chain trivial case to _scale_int.
5694
5695 2005-11-24  Wim Taymans  <wim@fluendo.com>
5696
5697         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5698         Added test for scaling.
5699
5700         * gst/gstclock.h:
5701         Small doc fix.
5702
5703         * gst/gstutils.c: (gst_util_uint64_scale_int):
5704         Implemented high precision scaling code.
5705
5706 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5707
5708         * gst/gstinfo.h:
5709           do not crash on pad==NULL
5710
5711 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5712
5713         Patch by: Stefan Kost
5714
5715         * common/gtk-doc.mak:
5716         * docs/gst/Makefile.am:
5717         * docs/libs/Makefile.am:
5718           Fix distcheck issues for the libraries docs build
5719           Closes #319599.
5720
5721 2005-11-24  Michael Smith <msmith@fluendo.com>
5722
5723         * docs/manual/basics-helloworld.xml:
5724           Fix bug #315027: memory leak in example code in docs.
5725
5726 2005-11-24  Michael Smith <msmith@fluendo.com>
5727
5728         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5729           Unlock the PREROLL_LOCK in a failure case.
5730
5731 2005-11-24  Wim Taymans  <wim@fluendo.com>
5732
5733         * docs/gst/gstreamer-sections.txt:
5734         * gst/base/gstadapter.h:
5735         * gst/base/gstbasesink.h:
5736         * gst/base/gstbasesrc.h:
5737         * gst/base/gstbasetransform.h:
5738         * gst/base/gstpushsrc.h:
5739         * gst/elements/gstfakesink.h:
5740         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5741         * gst/elements/gstfakesrc.h:
5742         * gst/elements/gstfilesink.h:
5743         * gst/elements/gstfilesrc.h:
5744         * gst/gst.c:
5745         * gst/gstbin.c:
5746         * gst/gstbuffer.c: (_gst_buffer_copy):
5747         * gst/gstbus.h:
5748         * gst/gstcaps.c:
5749         * gst/gstchildproxy.c:
5750         * gst/gstclock.c:
5751         * gst/gstelement.c:
5752         * gst/gstelementfactory.c:
5753         * gst/gstelementfactory.h:
5754         * gst/gstevent.c:
5755         * gst/gstghostpad.h:
5756         * gst/gstindex.h:
5757         * gst/gstinterface.h:
5758         * gst/gstminiobject.c:
5759         * gst/gstminiobject.h:
5760         * gst/gstpad.c:
5761         * gst/gstpad.h:
5762         * gst/gstpadtemplate.h:
5763         * gst/gstpipeline.h:
5764         * gst/gstpluginfeature.h:
5765         * gst/gstquery.h:
5766         * gst/gstqueue.h:
5767         * gst/gsttaglist.c:
5768         * gst/gsttaglist.h:
5769         * gst/gsttagsetter.c:
5770         * gst/gsttagsetter.h:
5771         * gst/gsttrace.c:
5772         * gst/gsttrace.h:
5773         * gst/gsttypefind.h:
5774         * gst/gsturi.h:
5775         * gst/gstvalue.c:
5776         * gst/net/gstnetclientclock.c:
5777         * gst/net/gstnetclientclock.h:
5778         * gst/net/gstnettimepacket.c:
5779         * gst/net/gstnettimeprovider.c:
5780         * gst/net/gstnettimeprovider.h:
5781         Doc fixes.
5782
5783 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5784
5785         * configure.ac: back to HEAD
5786
5787 === release 0.9.6 ===
5788
5789 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5790
5791         * configure.ac:
5792           releasing 0.9.6, "Always On Time"
5793
5794 2005-11-23  Wim Taymans  <wim@fluendo.com>
5795
5796         * docs/gst/gstreamer-sections.txt:
5797         * gst/glib-compat.c:
5798         * gst/gsttagsetter.c:
5799         * gst/gstvalue.c:
5800         * gst/net/gstnetclientclock.c:
5801         * gst/net/gstnettimepacket.h:
5802         Doc updates.
5803
5804 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5805
5806         * docs/faq/using.xml:
5807         * docs/libs/tmpl/gstcontrol.sgml:
5808         * docs/manual/advanced-dparams.xml:
5809         * docs/manual/appendix-checklist.xml:
5810         * docs/manual/basics-elements.xml:
5811         * docs/pwg/other-source.xml:
5812         * docs/random/moving-plugins:
5813         * gst/gstpad.c:
5814         * tools/gst-launch.1.in:
5815           remove mentions of sinesrc
5816
5817 2005-11-23  Michael Smith <msmith@fluendo.com>
5818
5819         * docs/gst/gstreamer-sections.txt:
5820           Update for new API and API changes.
5821         * gst/gstobject.h:
5822           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5823         * gst/gstvalue.c:
5824           Documentation typo fix.
5825         * gst/net/gstnettimepacket.c:
5826           Documentation fixes for arguments.
5827
5828 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5829
5830         * gst/gststructure.c: (gst_structure_get_fraction),
5831         (gst_structure_parse_value),
5832         (gst_structure_fixate_field_nearest_fraction):
5833         * gst/gststructure.h:
5834         * gst/gstutils.c: (gst_util_uint64_scale_int):
5835         * gst/gstutils.h:
5836         * scripts/update-funcnames:
5837         API Changes. 
5838         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5839         Make gst_structure_fixate_field_nearest_fraction take a numerator
5840         and denominator argument instead of a GValue
5841         add gst_structure_get_fraction helper function.
5842
5843 2005-11-23  Wim Taymans  <wim@fluendo.com>
5844
5845         * docs/design/part-TODO.txt:
5846         Update TODO.
5847
5848         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5849         * gst/net/gstnetclientclock.h:
5850         Use parent fields for timeout and window_size.
5851
5852 2005-11-23  Andy Wingo  <wingo@pobox.com>
5853
5854         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5855         rate_num/rate_denom change.
5856
5857         * gst/net/gstnetclientclock.c
5858         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5859         OBJECT_LOCK. Don't call add_observation with the lock.
5860
5861         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5862         fraction.
5863         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5864         rate fraction.
5865         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5866         deal with rate as a fraction whose numerator and denominator are
5867         GstClockTime values.
5868         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5869         master; the other fields are protected by the SLAVE_LOCK.
5870         (do_linear_regression): Note that this must be called with the
5871         SLAVE_LOCK.
5872         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5873         OBJECT_LOCK. Call set_calibration instead of touching the
5874         variables directly.
5875         (gst_clock_set_property, gst_clock_get_property): Protect
5876         master/slave parameters with the SLAVE_LOCK.
5877
5878         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5879         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5880         note that all of the instance variables that add_observation and
5881         the set_master functions use are protected by that lock and not
5882         the OBJECT_LOCK.
5883         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5884
5885         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5886         the caller to take the object lock.
5887
5888 2005-11-23  Wim Taymans  <wim@fluendo.com>
5889
5890         * gst/gsterror.c: (_gst_core_errors_init):
5891         * gst/gsterror.h:
5892         Add error for clock stuff.
5893
5894         * gst/gstpipeline.c: (gst_pipeline_change_state),
5895         (gst_pipeline_set_clock):
5896         Post clock error when clock cannot be used in a pipeline.
5897
5898 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5899
5900         * docs/gst/gstreamer-sections.txt:
5901           make two symbols from gstinfo private for the docs
5902         * gst/base/gstcollectpads.h:
5903         * gst/gstutils.c:
5904           fix doc typos, update docs
5905
5906 2005-11-22  Wim Taymans  <wim@fluendo.com>
5907
5908         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5909         (gst_base_sink_wait), (gst_base_sink_do_sync),
5910         (gst_base_sink_handle_event):
5911         * gst/base/gstbasesink.h:
5912         No need to store the clock, the parent element class already
5913         has it.
5914
5915         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5916         Updates for clock_set returning a gboolean
5917
5918         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5919         (gst_clock_id_wait_async), (gst_clock_class_init),
5920         (gst_clock_init), (gst_clock_finalize),
5921         (gst_clock_get_internal_time), (gst_clock_get_time),
5922         (gst_clock_slave_callback), (gst_clock_set_master),
5923         (gst_clock_get_master), (do_linear_regression),
5924         (gst_clock_add_observation), (gst_clock_set_property),
5925         (gst_clock_get_property):
5926         * gst/gstclock.h:
5927         Implement master/slave. When setting a clock as a slave, a
5928         periodic timeout is scheduled to sample master and slave times.
5929         Then the slave clock is recalibrated to match offset and rate
5930         of the master clock.
5931         Update logging a bit.
5932         Add flag so that a clock can state that is cannot be slaved to
5933         another clock.
5934
5935         * gst/gstelement.c: (gst_element_set_clock):
5936         * gst/gstelement.h:
5937         The set clock returns a gboolean for when an element cannot
5938         deal with the selected clock in the pipeline. 
5939
5940         * gst/gstpipeline.c: (gst_pipeline_change_state),
5941         (gst_pipeline_set_clock):
5942         * gst/gstpipeline.h:
5943         Handle the case where the selected clock cannot be set on
5944         the pipeline.
5945
5946         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5947         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5948         (gst_net_client_clock_set_property),
5949         (gst_net_client_clock_get_property),
5950         (gst_net_client_clock_observe_times):
5951         * gst/net/gstnetclientclock.h:
5952         Use regression code in GstClock parent, remove duplicated
5953         functionality.
5954
5955 2005-11-22  Michael Smith <msmith@fluendo.com>
5956
5957         * gst/gstutils.c: (gst_util_clock_time_scale):
5958         * gst/gstutils.h:
5959         * docs/gst/gstreamer-sections.txt:
5960           Rename method to have extra underscore.
5961
5962 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5963
5964         * gst/elements/Makefile.am:
5965         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5966         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5967         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5968         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5969         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5970         * gst/elements/gstfakesrc.h:
5971         * gst/gstqueue.c: (queue_leaky_get_type):
5972           correctly fix GEnumValues so that nick is the short lowercase
5973           dashed tag
5974         * tools/gst-inspect.c: (print_element_properties_info):
5975           also show the nick, since it's useful to use from parse_launch
5976           syntax
5977           Fixes #322139
5978
5979 2005-11-22  Michael Smith <msmith@fluendo.com>
5980
5981         * gst/gstutils.c: (gst_util_clocktime_scale):
5982         * gst/gstutils.h:
5983         * docs/gst/gstreamer-sections.txt:
5984           Add util method for scaling a clocktime by a fraction. Useful 
5985           implementation is left as an exercise for the reader.
5986
5987 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5988
5989         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5990         If needed, allocate storage in the destination value during
5991         collection.
5992
5993 2005-11-22  Edward Hervey  <edward@fluendo.com>
5994
5995         * docs/gst/gstreamer-sections.txt:
5996         * gst/Makefile.am:
5997         * gst/gst.h:
5998         * gst/gsturitype.c:
5999         * gst/gsturitype.h:
6000         * gst/gstutils.c: (gst_util_set_object_arg):
6001         * tools/gst-compprep.c: (main):
6002         * tools/gst-inspect.c: (print_element_properties_info):
6003         Removed GstURI, closes bug #321061
6004
6005 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6006
6007         * check/gst/gststructure.c: (GST_START_TEST):
6008         * gst/gststructure.c: (gst_structure_parse_value):
6009           Oops, broke automatic string type parsing.
6010           Add a test to catch it in future.
6011
6012 2005-11-22  Andy Wingo  <wingo@pobox.com>
6013
6014         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6015         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6016         Actually rename the function implementations. Grr.
6017
6018 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6019
6020         * check/gst/capslist.h:
6021           Comment test cases
6022         * check/gst/gststructure.c: (GST_START_TEST),
6023         (gst_structure_suite):
6024           Test automatic value type detection in gst_structure_from_string.
6025         * gst/gststructure.c: (gst_structure_parse_value):
6026           Add fraction as a type we try and guess automatically in
6027           caps/structure strings.
6028
6029 2005-11-22  Andy Wingo  <wingo@pobox.com>
6030
6031         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6032
6033         * gst/gsttagsetter.h:
6034         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6035         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6036         (gst_tag_setter_add_tag_valist)
6037         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6038         _add_values, _add_valist, and _add_valist_values. Since this is an
6039         interface the function suffixes should be more explicit so
6040         language binding don't end up with element.add_valist ->
6041         gst_tag_setter_add_valist, for example. Fixes #322069.
6042
6043 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6044
6045         * check/gst/gstcaps.c: (GST_START_TEST):
6046           Extend caps string tests to check that a caps to string
6047           conversion is reversible and produces the same caps.
6048
6049         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6050           Output "fraction" as the generic type fraction range, so caps
6051           serialisation and deserialisation works.
6052         * check/gst/capslist.h:
6053         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6054           Support 'MIN' and 'MAX' for deserialising fractions.
6055
6056 2005-11-22  Andy Wingo  <wingo@pobox.com>
6057
6058         * gst/gstevent.h (gst_event_new_new_segment)
6059         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6060         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6061         Renamed from *_newsegment, *_buffersize, *_notarget.
6062
6063         * scripts/update-funcnames: New script, performs the changes
6064         listed above.
6065
6066 2005-11-22  Wim Taymans  <wim@fluendo.com>
6067
6068         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6069         Make sure the GstFlowReturn is returned.
6070
6071         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6072         (gst_bus_add_signal_watch):
6073         * gst/gstbus.h:
6074         add gst_bus_add_signal_watch_full.
6075
6076         * gst/gstplugin.c: (gst_plugin_load_file):
6077         Small style cleanup.
6078
6079 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6080
6081         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6082           Block the fakesrc srcpad when we send an event, to avoid
6083           contention on the stream_lock causing random test failures.
6084
6085 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6086
6087         * check/gst/gstvalue.c: (GST_START_TEST):
6088         * gst/gstvalue.c: (gst_value_fraction_subtract):
6089           Fix subtraction.
6090
6091 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6092
6093         * gst/gst.h:
6094           include "gstchildproxy.h"
6095         * gst/gstchildproxy.h:
6096         * libs/gst/controller/gstcontroller.h:
6097           use G_GNUC_NULL_TERMINATED
6098
6099 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6100
6101         * check/gst/capslist.h:
6102         * check/gst/gstcaps.c: (GST_START_TEST):
6103         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6104         * gst/gststructure.c: (gst_structure_parse_range),
6105         (gst_structure_fixate_field_nearest_fraction):
6106         * gst/gststructure.h:
6107         * gst/gstvalue.c: (gst_value_init_fraction_range),
6108         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6109         (gst_value_collect_fraction_range),
6110         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6111         (gst_value_set_fraction_range_full),
6112         (gst_value_get_fraction_range_min),
6113         (gst_value_get_fraction_range_max),
6114         (gst_value_serialize_fraction_range),
6115         (gst_value_transform_fraction_range_string),
6116         (gst_value_compare_fraction_range),
6117         (gst_value_deserialize_fraction_range),
6118         (gst_value_intersect_fraction_fraction_range),
6119         (gst_value_intersect_fraction_range_fraction_range),
6120         (gst_value_subtract_fraction_fraction_range),
6121         (gst_value_subtract_fraction_range_fraction),
6122         (gst_value_subtract_fraction_range_fraction_range),
6123         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6124         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6125         (gst_value_transform_string_fraction), (_gst_value_initialize):
6126         * gst/gstvalue.h:
6127           Implement fraction ranges and extend GstFraction to support
6128           arithmetic subtraction, as well as deserialization from integer
6129           strings such as "100"
6130           Add a testsuite as for int and double range set operations
6131
6132 2005-11-21  Andy Wingo  <wingo@pobox.com>
6133
6134         * gst/gsttaglist.h: 
6135         * gst/gstcaps.h: 
6136         * gst/gststructure.h: Add glib-compat.h.
6137
6138 2005-11-21  Wim Taymans  <wim@fluendo.com>
6139
6140         * gst/gstbin.c: (gst_bin_change_state_func):
6141         Fix for #321595
6142
6143 2005-11-21  Wim Taymans  <wim@fluendo.com>
6144
6145         * gst/gstsegment.h:
6146         And add a nice define too.
6147
6148 2005-11-21  Wim Taymans  <wim@fluendo.com>
6149
6150         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6151         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6152         (gst_segment_set_duration), (gst_segment_set_last_stop),
6153         (gst_segment_set_seek), (gst_segment_set_newsegment),
6154         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6155         (gst_segment_clip):
6156         * gst/gstsegment.h:
6157         Make binding friendly.
6158
6159 2005-11-21  Andy Wingo  <wingo@pobox.com>
6160
6161         * gst/gsttagsetter.h: 
6162         * gst/gsttaglist.h: 
6163         * gst/gststructure.h: 
6164         * gst/gstcaps.h: 
6165         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6166         #319940.
6167
6168         * gst/gsterror.c (_gst_core_errors_init):
6169         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6170         category.
6171
6172         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6173         (noinst_HEADERS): noinst the -private.
6174
6175 2005-11-21  Michael Smith <msmith@fluendo.com>
6176
6177         * gst/gstplugin.h:
6178         * gst/gstregistry.h:
6179           Remove unimplemented declarations for which we can see no sensible
6180           use.
6181
6182 2005-11-21  Andy Wingo  <wingo@pobox.com>
6183
6184         * gst/gst.h: Include glib-compat.h.
6185
6186         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6187
6188         * gst/glib-compat.c: Include the public and the private header.
6189
6190         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6191
6192         * gst/gstvalue.c: 
6193         * gst/gstpad.c: 
6194         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6195
6196         * check/gst/gstevent.c (create_custom_events): Check that
6197         FLUSH_STOP is serialized.
6198
6199         * check/elements/identity.c (event_func): 
6200         * check/elements/fakesrc.c (event_func): No stream lock, the core
6201         takes it.
6202
6203         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6204         stream lock taking, yay.
6205
6206         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6207         ensure that core takes the stream lock.
6208
6209         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6210         lock name change.
6211
6212         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6213         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6214         it already. For the flush start we do take it though so we get the
6215         right preroll state change messages.
6216
6217         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6218         the stream lock here, the core does it for us.
6219
6220         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6221         GST_STREAM_GET_LOCK.
6222         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6223         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6224         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6225         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6226         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6227         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6228
6229         * gst/gstpad.c: Update for stream lock name change.
6230
6231         * gst/base/gstbasesink.c: Update for preroll lock name change.
6232
6233 2005-11-21  Wim Taymans  <wim@fluendo.com>
6234
6235         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6236         (gst_clock_get_master):
6237         * gst/gstclock.h:
6238         * gst/gstsystemclock.c: (gst_system_clock_init):
6239         Convert Clock flags to object flags.
6240         Added methods to manage master/slave clocks.
6241
6242 2005-11-21  Wim Taymans  <wim@fluendo.com>
6243
6244         * check/gst/gstsegment.c: (GST_START_TEST):
6245         * docs/design/part-TODO.txt:
6246         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6247         (gst_base_sink_event), (gst_base_sink_do_sync),
6248         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6249         (gst_base_sink_query), (gst_base_sink_change_state):
6250         * gst/base/gstbasesink.h:
6251         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6252         (gst_base_src_default_newsegment),
6253         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6254         (gst_base_src_get_range), (gst_base_src_loop),
6255         (gst_base_src_change_state):
6256         * gst/base/gstbasesrc.h:
6257         * gst/base/gstbasetransform.c:
6258         (gst_base_transform_prepare_output_buf),
6259         (gst_base_transform_event), (gst_base_transform_change_state):
6260         * gst/base/gstbasetransform.h:
6261         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6262         (gst_collect_pads_event):
6263         * gst/base/gstcollectpads.h:
6264         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6265         (gst_fake_src_create):
6266         * gst/elements/gstfakesrc.h:
6267         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6268         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6269         (gst_segment_set_last_stop), (gst_segment_set_seek),
6270         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6271         (gst_segment_to_running_time), (gst_segment_clip):
6272         * gst/gstsegment.h:
6273         More segment updates, replace code in plugins with segment
6274         helper functions.
6275
6276 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6277
6278         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6279         Don't ignore sscanf results
6280
6281 2005-11-21  Andy Wingo  <wingo@pobox.com>
6282
6283         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6284
6285         * *.h:
6286         * *.c: Ran scripts/update-macros. Oh yes.
6287
6288         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6289         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6290         GST_GET_LOCK, etc.
6291
6292         * scripts/update-macros: New script. Run it on your files to
6293         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6294         well.
6295
6296 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6297
6298         * docs/gst/Makefile.am:
6299         * docs/gst/gstreamer-docs.sgml:
6300         * docs/gst/gstreamer-sections.txt:
6301         * docs/gst/gstreamer.types:
6302         * gst/gstinfo.h:
6303           more docs fixes, add new api to the docs
6304
6305 2005-11-21  Andy Wingo  <wingo@pobox.com>
6306
6307         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6308         state_broadcast call.
6309
6310         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6311
6312 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6313
6314         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6315         function calls for arrays.
6316
6317 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6318
6319         * docs/random/ensonic/media-device-daemon.txt:
6320           wild idea, can this be done?
6321         * docs/gst/gstreamer-sections.txt:
6322         * gst/gsterror.h:
6323         * gst/gstfilter.c:
6324         * gst/gstfilter.h:
6325         * gst/gstplugin.h:
6326         * gst/gstpluginfeature.c:
6327         * gst/gsttrace.c:
6328         * gst/gstvalue.c:
6329         * gst/gstvalue.h:
6330           doc fixes and additions
6331
6332 2005-11-21  Andy Wingo  <wingo@pobox.com>
6333
6334         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6335         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6336         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6337         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6338         private to the basesrc implementation.
6339
6340         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6341         behalf of event function if necessary. It should no longer be
6342         necessary to take the stream lock in pad's event functions. Fixes
6343         #320299.
6344
6345 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6346         * docs/gst/gstreamer-sections.txt:
6347         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6348         (gst_structure_fixate_field_nearest_double),
6349         (gst_structure_fixate_field_boolean):
6350         * gst/gststructure.h:
6351         * win32/common/libgstreamer.def:
6352         * win32/gstreamer.def:
6353
6354         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6355         (#322027)
6356
6357 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6358
6359         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6360         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6361         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6362         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6363         (gst_fdsrc_uri_handler_init):
6364         * gst/elements/gstfdsrc.h:
6365           Port fd:// URI handler from 0.8 to fdsrc
6366
6367 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6368
6369         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6370         (gst_value_serialize_fourcc):
6371         * gst/gstvalue.h:
6372           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6373           consistent with our other format defines (#320324).
6374
6375 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6376
6377         * gst/gstvalue.c: (gst_value_is_fixed):
6378           Revert previous commit. Value lists are by definition
6379           not fixed, as they are a list of possible values.
6380
6381 2005-11-21  Andy Wingo  <wingo@pobox.com>
6382
6383         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6384         during the stable series if we need it. Fixes #319178.
6385
6386         * gst/gstevent.c (gst_event_new_filler): Removed.
6387
6388         * check/gst/gstevent.c: Update comment about filler events.
6389
6390 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6391
6392         * gst/gstvalue.c: (gst_value_is_fixed):
6393           Should handle both value arrays and value lists.
6394
6395 2005-11-21  Andy Wingo  <wingo@pobox.com>
6396
6397         patch by: Alessandro Dessina <alessandro nnva org>
6398
6399         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6400         functions to access arrays. Fixes #321962.
6401
6402 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6403
6404         * docs/gst/gstreamer.types:
6405           gst_collectpads_get_type => gst_collect_pads_get_type.
6406           
6407         * gst/base/gstbasetransform.c:
6408           Remove unused SIGNAL_HANDOFF enum.
6409
6410 2005-11-21  Andy Wingo  <wingo@pobox.com>
6411
6412         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6413         the event type (upstream, downstream, serialized). Renamed
6414         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6415         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6416         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6417
6418         * gst/gstevent.c: Update for new CUSTOM event names.
6419
6420         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6421
6422         * gst/gstevent.h:
6423         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6424         bug #319392.
6425
6426 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6427
6428         * docs/gst/gstreamer-sections.txt:
6429         * win32/common/libgstbase.def:
6430         * win32/libgstbase.def:
6431         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6432         (gst_collect_pads_class_init), (gst_collect_pads_init),
6433         (gst_collect_pads_finalize), (gst_collect_pads_new),
6434         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6435         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6436         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6437         (gst_collect_pads_start), (gst_collect_pads_stop),
6438         (gst_collect_pads_peek), (gst_collect_pads_pop),
6439         (gst_collect_pads_available), (gst_collect_pads_read),
6440         (gst_collect_pads_flush), (gst_collect_pads_event),
6441         (gst_collect_pads_chain):
6442         * gst/base/gstcollectpads.h:
6443           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6444           unimplemented functions as unimplemented. Add padding to
6445           GstCollectData. (#320766, #320423)
6446
6447 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6448
6449         * gst/gstmessage.c:
6450           Improve docs for DURATION message (usage of duration parameter)
6451           (#320113)
6452
6453 2005-11-20  Wim Taymans  <wim@fluendo.com>
6454
6455         * check/Makefile.am:
6456         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6457         (main):
6458         * gst/Makefile.am:
6459         * gst/gst.h:
6460         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6461         (gst_segment_set_seek), (gst_segment_set_newsegment),
6462         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6463         (gst_segment_clip):
6464         * gst/gstsegment.h:
6465         Added segment helper structure and methods. Not fully implemented
6466         yet.
6467         Added segment check.
6468
6469 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6470
6471         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6472           Add a deserialisation test for fractions
6473         * examples/metadata/read-metadata.c: (message_loop),
6474         (make_pipeline), (main):
6475           Fix up metadata reading sample.
6476         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6477           Debug format fix
6478         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6479           Don't try and fixate empty caps
6480         * gst/gst_private.h:
6481           Wrap in G_BEGIN_DECLS/G_END_DECLS
6482         * gst/gstvalue.c: (gst_value_collect_fraction),
6483         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6484         (gst_value_transform_string_fraction),
6485         (gst_value_compare_fraction):
6486           Add some extra guards to ensure that we don't end up 
6487           with an invalid denominator of 0 in a gstfraction and
6488           that fractions always get reduced.
6489
6490 2005-11-20  Wim Taymans  <wim@fluendo.com>
6491
6492         * docs/gst/gstreamer-sections.txt:
6493         * gst/gstbuffer.h:
6494         * gst/gstelement.c:
6495         * gst/gstformat.c:
6496         * gst/gstformat.h:
6497         * gst/gstindex.h:
6498         * gst/gstquery.c:
6499         * gst/gstquery.h:
6500         * gst/gstvalue.c:
6501         Doc fixes.
6502
6503 2005-11-20  Wim Taymans  <wim@fluendo.com>
6504
6505         * docs/design/part-TODO.txt:
6506         * gst/gstcaps.h:
6507         Make a proper enum of the flag.
6508
6509 2005-11-19  Wim Taymans  <wim@fluendo.com>
6510
6511         * docs/design/part-TODO.txt:
6512         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6513         (gst_format_to_quark), (gst_format_register):
6514         * gst/gstformat.h:
6515         * gst/gstquery.c: (_gst_query_initialize),
6516         (gst_query_type_get_name), (gst_query_type_to_quark),
6517         (gst_query_type_register):
6518         * gst/gstquery.h:
6519         Add type to quark and type to string conversions.
6520
6521 2005-11-19  Andy Wingo  <wingo@pobox.com>
6522
6523         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6524         #320097.
6525
6526 2005-11-19  Wim Taymans  <wim@fluendo.com>
6527
6528         * docs/design/part-TODO.txt:
6529         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6530         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6531         (gst_bin_handle_message_func):
6532         * gst/gstbin.h:
6533         Make message handling overridable.
6534
6535 2005-11-19  Andy Wingo  <wingo@pobox.com>
6536
6537         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6538
6539         * gst/gstclock.h:
6540         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6541         be a GstClockTime.
6542         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6543         is a GstClockTime. Fixes #321710.
6544
6545         * gst/gstclock.h (GstClock): Remove offset property. Add
6546         internal_calibration and external_calibration. Fix padding. Pad
6547         also by GstClockTime so we don't run into problems.
6548
6549         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6550         (gst_clock_get_rate_offset): Remove.
6551         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6552
6553         * gst/gstutils.h:
6554         * gst/gstutils.c (g_static_rec_cond_wait)
6555         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6556
6557         * gst/gstbin.c: Remove terrible continue_state prototype.
6558
6559         * gst/gstelement.h (gst_element_continue_state): Make public.
6560
6561         * gst/gstelement.h:
6562         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6563         by continue_state. Fixes #319389.
6564
6565         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6566         Really fixes #168438. However I don't see anywhere where the
6567         filter function is called... stupid GStreamer...
6568         
6569         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6570         don't have a dispose function, so it won't get called when the
6571         object is unreffed, but oh well!
6572
6573         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6574         allows a destroy function to be set so user_data can be freed.
6575         Fixes #168438.
6576         (gst_index_set_filter): Call gst_index_set_filter_full.
6577
6578         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6579
6580         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6581         string should produce an error, given the lack of a way to
6582         represent NULL strings. Fixes #165650.
6583         
6584         * gst/gstvalue.h: 
6585         * gst/gstvalue.c (gst_value_array_append_value) 
6586         (gst_value_array_prepend_value, gst_value_array_get_size) 
6587         (gst_value_array_get_value): New API, copied from
6588         gst_value_list_*, only operates on arrays.
6589         (gst_value_list_append_value, gst_value_list_prepend_value) 
6590         (gst_value_list_concat, gst_value_list_get_size) 
6591         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6592
6593         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6594         init_list, because it works on both.
6595         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6596         (gst_value_copy_list_or_array): Renamed from copy_list.
6597         (gst_value_free_list_or_array): Renamed from free_list.
6598         (gst_value_collect_list_or_array): Renamed from collect_list.
6599         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6600         (gst_value_list_or_array_peek_pointer): Renamed from
6601         list_peek_pointer.
6602         (_gst_value_array_value_table, _gst_value_list_value_table):
6603         Update value table functions.
6604         (gst_value_compare_list_or_array): Renamed from compare_list.
6605
6606         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6607         some constness.
6608
6609         * gst/gsttaglist.c:
6610         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6611         GstTagList*. Fixes #143472.
6612
6613         * gst/gststructure.h: Clarify what the foreach/map functions can
6614         or can't do to their arguments.
6615
6616 2005-11-18  Wim Taymans  <wim@fluendo.com>
6617
6618         * gst/gstclock.c: (gst_clock_set_calibration),
6619         (gst_clock_get_calibration):
6620         Doc and API fixes.
6621         Calibration can be set with internal time equal to current
6622         internal time too.
6623
6624 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6625
6626         * gst/gsterror.c:
6627         * gst/gsterror.h:
6628           document
6629
6630 2005-11-18  Andy Wingo  <wingo@pobox.com>
6631
6632         * configure.ac: 
6633         * pkgconfig/gstreamer-net.pc.in:
6634         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6635         * pkgconfig/Makefile.am: Add net pkgconfig files.
6636
6637 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6638
6639         * gst/gstcaps.c:
6640         * gst/gstghostpad.c:
6641         * gst/gsttrace.c:
6642         * gst/gstvalue.c:
6643         * gst/gstvalue.h:
6644           docs fixes
6645
6646 2005-11-18  Andy Wingo  <wingo@pobox.com>
6647
6648         * gst/net/gstnetclientclock.c: Turn off debugging.
6649
6650         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6651         times connverge somewhat. Can't make a real test.
6652
6653         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6654         integer arithmetic. Return the minimum of the domain, which can be
6655         set as "internal" for gst_clock_set_calibration.
6656         (gst_net_client_clock_observe_times): Call _set_calibration.
6657         (gst_net_client_clock_new): Call _set_calibration instead of
6658         rate_offset.
6659
6660         * check/net/gstnetclientclock.c (test_functioning): Use the right
6661         adjustment api.
6662
6663         * gst/gstclock.h:
6664         * gst/gstclock.c (gst_clock_get_calibration) 
6665         (gst_clock_set_calibration): New functions, obsolete the ones I
6666         added yesterday. Doh. Precision issues mean we have to extrapolate
6667         from a point in the more recent past than 1970.
6668         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6669         obsolete.
6670         (gst_clock_adjust_unlocked): Use the right calibration data.
6671
6672 2005-11-18  Edward Hervey  <edward@fluendo.com>
6673
6674         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6675         Also reset the ->current_* values in READY->PAUSED
6676
6677 2005-11-18  Andy Wingo  <wingo@pobox.com>
6678
6679         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6680         Whoops, check the right fd. Also add some debugging.
6681         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6682         (do_linear_regression): Add a crapload of debugging. Subtract off
6683         the minimum values from the input series to discard unneeded bits.
6684         Use only int arithmetic. There is still double arithmetic when
6685         calculating the intercept that needs fixing. Return boolean to
6686         indicate success; FALSE would mean the domain or range is too
6687         great. Still needs fixes.
6688
6689 2005-11-18  Wim Taymans  <wim@fluendo.com>
6690
6691         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6692         For the current position in stream time, we need to subtract
6693         accumulated time.
6694         
6695         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6696         Release lock before calling the callback function of async
6697         entries.
6698
6699 2005-11-18  Andy Wingo  <wingo@pobox.com>
6700
6701         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6702         Port goes all the way to MAXUINT16.
6703
6704         * gst/net/gstnettimeprovider.c: Make the port range the same as
6705         for the kernel: 0 assigns, otherwise ports are less than
6706         MAXUINT16.
6707
6708         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6709         port change.
6710
6711         * check/net/gstnetclientclock.c (test_functioning): Add the start
6712         of another test. 
6713
6714 2005-11-18  Wim Taymans  <wim@fluendo.com>
6715
6716         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6717         (gst_bin_remove_func), (bin_bus_handler):
6718         * gst/gstbin.h:
6719         Removing a clock provider from a bin, triggers a clock lost message
6720         so that a new clock will be selected.
6721         Adding a clock to a bin triggers a clock provider message.
6722         Make sure we reselect a clock when we received a clock lost message.
6723         Keep a reference to the element that provided the clock.
6724
6725 2005-11-18  Andy Wingo  <wingo@pobox.com>
6726
6727         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6728         the clock initially so it produces values around the base time.
6729         (gst_net_client_clock_class_init): Typo fix.
6730         (gst_net_client_clock_thread): Add note on when the socket gets
6731         closed.
6732
6733 2005-11-17  Wim Taymans  <wim@fluendo.com>
6734
6735         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6736         Free remote and local time arrays.
6737
6738 2005-11-17  Wim Taymans  <wim@fluendo.com>
6739
6740         * gst/net/gstnetclientclock.c: (do_linear_regression),
6741         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6742         Fix compilation, uninitialized vars and a forgotten continue.
6743
6744 2005-11-17  Andy Wingo  <wingo@pobox.com>
6745
6746         * check/Makefile.am (check_PROGRAMS): 
6747         * check/net/gstnetclientclock.c: Add a most minimal test for the
6748         net client clock. More to come later.
6749
6750         * gst/net/gstnet.h: 
6751         * gst/net/Makefile.am: Add netclientclock.
6752
6753         * gst/net/gstnetclientclock.h:
6754         * gst/net/gstnetclientclock.c: New files, implement an untested
6755         GstClock that takes its time from a network time provider.
6756         Implements the algorithm in network-clock.scm.
6757
6758         * tests/network-clock.scm (*window-size*): Rename from
6759         *queue-length*.
6760         * tests/network-clock.scm (network-time): 
6761         * tests/network-clock-utils.scm (q-push): Update callers.
6762
6763 2005-11-17  Wim Taymans  <wim@fluendo.com>
6764
6765         * gst/gstbin.c: (gst_bin_provide_clock_func),
6766         (gst_bin_sort_iterator_new):
6767         And unref the child too..
6768
6769 2005-11-17  Wim Taymans  <wim@fluendo.com>
6770
6771         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6772         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6773         Refactor the sort iterator so it can be used while holding the
6774         LOCK too.
6775         Make clock selection select a clock closest to the source.
6776
6777 2005-11-17  Michael Smith <msmith@fluendo.com>
6778
6779         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6780         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6781         * gst/gstclock.h:
6782           Anonymous structs are a gcc (and some other compilers) extension, so
6783           don't use them. Since this is only for ABI-compatibility, and our
6784           API/ABI freeze is over in a few days, this whole thing will only
6785           last a few days, so don't bother trying to think up a meaningful
6786           name for the struct.
6787
6788 2005-11-17  Andy Wingo  <wingo@pobox.com>
6789
6790         * gst/gstclock.h (GstClock): Add rate and offset properties,
6791         preserving ABI stability. Add rate/offset accessors. Will file bug
6792         for the freeze break.
6793
6794         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6795         and offset, trying to keep precision and avoiding
6796         underflow/overflow.
6797         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6798         functions. Make gst_clock_set_time_adjust obsolete.
6799         (gst_clock_set_time_adjust): Note that this function is obsolete.
6800         Will file bug soon.
6801
6802         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6803         greppable by using GST_PADDING-1+1.
6804
6805 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6806
6807         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6808
6809         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6810           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6811
6812         * gst/gstpadtemplate.h:
6813         * gst/gstpluginfeature.h:
6814           Don't use c++ style comments in headers (#321638).
6815
6816 2005-11-16  Andy Wingo  <wingo@pobox.com>
6817
6818         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6819         buffer.
6820
6821         * check/net/gstnettimeprovider.c: Check to see that the time
6822         provider actually provides times. Works, yo!
6823
6824 2005-11-16  Wim Taymans  <wim@fluendo.com>
6825
6826         * check/Makefile.am:
6827         Enable more tests.
6828
6829         * check/elements/fakesrc.c: (GST_START_TEST):
6830         Set element to NULL before disposing it.
6831
6832 2005-11-16  Andy Wingo  <wingo@pobox.com>
6833
6834         * gst/net/Makefile.am:
6835         * gst/net/gstnet.h:
6836         * gst/net/gstnettimeprovider.c: 
6837         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6838         provider, include it from gstnet.h, and add it to the build.
6839
6840         * gst/net/gstnettimepacket.h: 
6841         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6842         sending and receiving.
6843
6844 2005-11-16  Wim Taymans  <wim@fluendo.com>
6845
6846         * check/Makefile.am:
6847         Enable valgrind check.
6848
6849         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6850         (gst_fake_src_alloc_buffer):
6851         Fix memleak.
6852
6853 2005-11-16  Wim Taymans  <wim@fluendo.com>
6854
6855         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6856         Call parent finalize too.
6857
6858 2005-11-16  Wim Taymans  <wim@fluendo.com>
6859
6860         * check/Makefile.am:
6861         Enable valgrind check that should work fine now.
6862
6863         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6864         * gst/gstqueue.c: (gst_queue_init):
6865         Fix memleaks in pad allocation.
6866
6867 2005-11-16  Andy Wingo  <wingo@pobox.com>
6868
6869         * gst/net/Makefile.am:
6870         * gst/net/gstnet.h: New part of core to hold network elements and
6871         objects. Put in core because it exposes API that applications want
6872         to use. The library is named libgstnet-tempname right now because
6873         of the existing libgstnet in gst-plugins-base. Solution is
6874         probably to rename the one in plugins-base; will file a bug for
6875         the freeze break.
6876
6877         * gst/net/gstnettimeprovider.c: 
6878         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6879         get_time call over the network.
6880
6881         * configure.ac: 
6882         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6883
6884         * check/Makefile.am:
6885         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6886         get additions shortly.
6887
6888 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6889
6890         * gst/gstpad.c: (gst_pad_new_from_static_template):
6891         * gst/gstpad.h:
6892           add gst_pad_new_from_static_template functions
6893         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6894         (gst_check_setup_sink_pad):
6895         * gst/elements/gsttee.c: (gst_tee_init):
6896           and use them
6897
6898 2005-11-16  Wim Taymans  <wim@fluendo.com>
6899
6900         * gst/gstpad.c: (gst_pad_pause_task):
6901         Removed warning, it's not really an error either.
6902
6903 2005-11-16  Wim Taymans  <wim@fluendo.com>
6904
6905         * gst/base/gstbasetransform.c:
6906         (gst_base_transform_prepare_output_buf),
6907         (gst_base_transform_event):
6908         Check if the caps are NULL, this can happen if the element
6909         is shutting down and the pad caps are set to NULL.
6910
6911 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6912
6913         * gst/elements/gsttee.c: (gst_tee_init):
6914           fix pad template leak in tee
6915
6916 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6917
6918         * gst/glib-compat.c: (g_value_dup_gst_object):
6919         * gst/glib-compat.h:
6920         * gst/gstpad.c: (gst_pad_set_property):
6921           use gst_object_ref when setting the pad template; this will
6922           trigger the pad template leaks on GLib 2.6 and the slaves
6923
6924 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6925
6926         * gst/glib-compat.c: (gst_flags_get_first_value):
6927         * gst/glib-compat.h:
6928         * gst/gstregistryxml.c:
6929           remove functions copied from GLib 2.6
6930
6931 2005-11-16  Michael Smith <msmith@fluendo.com>
6932
6933         * gst/Makefile.am:
6934           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6935           do, but only breaks with newer valgrind versions. We're not a
6936           valgrind tool, we have no link-time dependencies on libcoregrind.
6937
6938 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6939
6940         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6941           some debug changes
6942         * gst/gstmessage.h:
6943           typo fixes
6944
6945 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6946
6947         * gst/base/gstbasesrc.c: (gst_base_src_init):
6948         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6949         * gst/gstqueue.c: (gst_queue_init):
6950         * gst/gstregistryxml.c: (load_feature):
6951           Revert all these unrefs, they don't even pass make check !
6952
6953 2005-11-15  Johan Dahlin  <johan@gnome.org>
6954
6955         * gst/base/gstbasesrc.c: (gst_base_src_init):
6956         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6957         * gst/gstqueue.c: (gst_queue_init): 
6958         Free pad templates, fixes a couple of leaks.
6959
6960 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6961
6962         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6963
6964         * gst/gstpad.c: (gst_pad_get_property):
6965           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6966           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6967           (#321452)
6968
6969 2005-11-15  Wim Taymans  <wim@fluendo.com>
6970
6971         * gst/gstevent.c:
6972         Small doc update.
6973
6974 2005-11-15  Andy Wingo  <wingo@pobox.com>
6975
6976         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6977
6978         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6979         using GST_CLOCK_TIME_NONE to disable base time management.
6980         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6981         time if it was NONE before.
6982         (gst_pipeline_change_state): Only munge the base time if
6983         stream_time != GST_CLOCK_TIME_NONE.
6984
6985         * check/gst/gstpipeline.c (test_base_time): Punt around the
6986         problem of the probe not being called, because that's not the
6987         issue I'm looking at. Add a check that setting stream_time to NONE
6988         disables base time management.
6989         
6990 2005-11-15  Wim Taymans  <wim@fluendo.com>
6991
6992         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6993         segment_stop == -1 at startup.
6994
6995         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6996         (gst_base_transform_change_state):
6997         Init segment values at start.
6998
6999 2005-11-15  Wim Taymans  <wim@fluendo.com>
7000
7001         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7002         0 segment values are 0 in any format.
7003
7004         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7005         * gst/base/gstbasetransform.h:
7006         Parse newsegment correctly in basetransform
7007
7008         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7009         Sync to clock using updated segment values.
7010
7011 2005-11-15  Andy Wingo  <wingo@pobox.com>
7012
7013         * check/gst/gstpipeline.c (test_base_time): Add check that the
7014         base time and stream time are reset correctly.
7015
7016 2005-11-15  Wim Taymans  <wim@fluendo.com>
7017
7018         * docs/design/part-TODO.txt:
7019         Some more TODO items.
7020
7021 2005-11-15  Andy Wingo  <wingo@pobox.com>
7022
7023         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7024         error if the user selected "no clock" as the clocking method.
7025
7026         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7027         timestamps with live capture.
7028
7029         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7030         is 0 but we are a live source, timestamp the buffers using the
7031         element's clock.
7032
7033 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7034
7035         * docs/gst/gstreamer-sections.txt:
7036         * gst/gsterror.c:
7037         * gst/gstghostpad.c:
7038         * gst/gstobject.h:
7039         * gst/gstxml.c:
7040           more section docs
7041
7042 2005-11-14  Wim Taymans  <wim@fluendo.com>
7043
7044         * common/gst.supp:
7045           add suppressions from Wim's Debian machine
7046
7047 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7048
7049         * common/gst.supp:
7050           add suppressions from Andy's AMD64 Ubuntu machine
7051
7052 2005-11-14  Andy Wingo  <wingo@pobox.com>
7053
7054         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7055         STATE_LOCK not necessary. Fixes #311489.
7056
7057         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7058         #305291.
7059
7060         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7061         this function is not implemented.
7062
7063 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7064
7065         * gst/base/gstbasetransform.c:
7066         (gst_base_transform_prepare_output_buf):
7067         Ref the source pad caps while we need them.
7068         Fixes (#321386)
7069
7070 2005-11-11  Wim Taymans  <wim@fluendo.com>
7071
7072         * docs/gst/gstreamer-sections.txt:
7073         Added some docs for GstCollectData.
7074
7075         * gst/base/gstadapter.c:
7076         Some small code example fix.
7077
7078         * gst/base/gstcollectpads.c:
7079         * gst/base/gstcollectpads.h:
7080         Document some more.
7081
7082 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7083
7084         * configure.ac: back to HEAD
7085
7086 === release 0.9.5 ===
7087
7088 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7089
7090         * configure.ac:
7091           releasing 0.9.5, "Bike Lunch Day"
7092
7093 2005-11-11  Wim Taymans  <wim@fluendo.com>
7094
7095         * gst/gstbuffer.c: (_gst_buffer_copy):
7096         Copy more flags.
7097
7098         * gst/gstcaps.c: (gst_caps_is_equal):
7099         Fix some docs.
7100         Make _is_equal fast in the trivial cases.
7101
7102         * gst/gstminiobject.c:
7103         * gst/gstminiobject.h:
7104         More docs. Spifify .h file.
7105
7106         * gst/gstutils.c:
7107         Small doc update.
7108
7109 2005-11-11  Wim Taymans  <wim@fluendo.com>
7110
7111         * gst/base/gstbasetransform.c:
7112         (gst_base_transform_prepare_output_buf),
7113         (gst_base_transform_handle_buffer):
7114         Small cleanups.
7115         If we're processing a buffer and need to allocate an output
7116         buffer, we cannot accept a format change. If we did get a 
7117         format change, we have to alloc a buffer ourselves of the 
7118         right size.
7119
7120 2005-11-11  Wim Taymans  <wim@fluendo.com>
7121
7122         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7123         While checking the flag for reentrancy in the gstcaps function
7124         is nice to detect recursive invocations, it also makes it 
7125         impossible to call getcaps from multiple threads, which must be
7126         possible. So, checking for recursive calls has to go.
7127
7128 2005-11-11  Michael Smith <msmith@fluendo.com>
7129
7130         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7131           Don't sync on buffers that fall partially outside our current
7132           segment. Prevents an assertion failure/abort playing some files.
7133
7134 2005-11-10  Andy Wingo  <wingo@pobox.com>
7135
7136         * check/gst/gstbin.c (test_message_state_changed_children): Style
7137         fix..
7138
7139         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7140         gst_bus_poll with the signal watch. Ensures that poll and a signal
7141         watch see the same messages.
7142
7143         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7144         a poll and a watch at the same time get the same messages.
7145
7146 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7147
7148         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7149         * gst/gstcaps.c: (gst_caps_intersect):
7150           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7151           and it's not needed.
7152
7153 2005-11-10  Wim Taymans  <wim@fluendo.com>
7154
7155         * docs/design/part-TODO.txt:
7156         Updated todo.
7157
7158 2005-11-10  Wim Taymans  <wim@fluendo.com>
7159
7160         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7161         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7162         (gst_base_src_do_sync), (gst_base_src_get_range):
7163         Implement clock sync in base class.
7164
7165 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7166
7167         patch by: Tim-Philipp Müller <tim at centricular dot net>
7168
7169         * gst/gststructure.c: (gst_structure_parse_field),
7170         (gst_structure_from_string):
7171           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7172           so that gst_parse_launch() can deal with spaces in filtered link
7173           caps (fixes #164479)
7174         * check/gst/capslist.h:
7175         * check/gst/gststructure.c: (GST_START_TEST):
7176           add unit tests for this change
7177
7178 2005-11-10  Wim Taymans  <wim@fluendo.com>
7179
7180         * docs/gst/gstreamer-sections.txt:
7181         * gst/gstelement.c:
7182         * gst/gstelement.h:
7183         Fix docs, move some STATE macros to private.
7184
7185 2005-11-10  Wim Taymans  <wim@fluendo.com>
7186
7187         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7188         Added check for bug #317341
7189
7190         * gst/gstbuffer.c:
7191         * gst/gstbuffer.h:
7192         Some more spiffifying.
7193
7194         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7195         Call peer linkfunction if we are a source pad. Totally fixes
7196         #317341
7197
7198         * gst/gstpad.c:
7199         Update docs, source pads should call the peer linkfunction
7200         so they can atomically perform the pad link.
7201
7202 2005-11-09  Wim Taymans  <wim@fluendo.com>
7203
7204         * gst/gstbuffer.c:
7205         * gst/gstbuffer.h:
7206         Uber-spiffy-spiffify some more.
7207
7208 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7209
7210         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7211         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7212         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7213         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7214         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7215         * gst/gstpad.c: (gst_pad_init):
7216           Use GST_DEBUG_FUNCPTR() more extensively.
7217
7218 2005-11-09  Wim Taymans  <wim@fluendo.com>
7219
7220         * gst/gstobject.c: (gst_object_class_init):
7221         * gst/gstobject.h:
7222         Documentation fixes.
7223
7224 2005-11-09  Edward Hervey  <edward@fluendo.com>
7225
7226         * gst/gsttypefindfactory.c:
7227         Fix docs.
7228         
7229 2005-11-09  Edward Hervey  <edward@fluendo.com>
7230
7231         * gst/base/gsttypefindhelper.c:
7232         * gst/gsttypefind.c:
7233         * gst/gsttypefind.h:
7234         Fix docs.
7235
7236 2005-11-09  Wim Taymans  <wim@fluendo.com>
7237
7238         * gst/gstiterator.c:
7239         Fix revision data.
7240
7241         * gst/gsttask.c:
7242         * gst/gsttask.h:
7243         Fix docs.
7244
7245 2005-11-09  Wim Taymans  <wim@fluendo.com>
7246
7247         * gst/gstevent.h:
7248         * gst/gsturi.h:
7249         Fix docs.
7250
7251 2005-11-09  Wim Taymans  <wim@fluendo.com>
7252
7253         * docs/gst/gstreamer-sections.txt:
7254         Moved the message async delivery private lock and cond
7255         to the private section.
7256
7257         * gst/gstmessage.c:
7258         * gst/gstmessage.h:
7259         Fixed docs.
7260
7261 2005-11-09  Edward Hervey  <edward@fluendo.com>
7262
7263         * docs/gst/gstreamer-sections.txt:
7264         * gst/gsturi.c:
7265         * gst/gsturi.h:
7266         Document GstURIHandler
7267
7268 2005-11-09  Wim Taymans  <wim@fluendo.com>
7269
7270         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7271         (gst_iterator_find_custom):
7272         * gst/gstiterator.h:
7273         Fix iterator docs.
7274
7275 2005-11-09  Wim Taymans  <wim@fluendo.com>
7276
7277         * gst/gstbin.h:
7278         Document another field.
7279
7280         * gst/gststructure.c:
7281         * gst/gststructure.h:
7282         Document.
7283
7284 2005-11-09  Wim Taymans  <wim@fluendo.com>
7285
7286         * gst/gstbin.h:
7287         Documented structs.
7288
7289 2005-11-09  Wim Taymans  <wim@fluendo.com>
7290
7291         * docs/gst/gstreamer-sections.txt:
7292         Added some new macros.
7293
7294         * gst/gstclock.c:
7295         * gst/gstclock.h:
7296         * gst/gstobject.h:
7297         Docs updates.
7298
7299 2005-11-09  Wim Taymans  <wim@fluendo.com>
7300
7301         * docs/design/part-TODO.txt:
7302         Some more items for the TODO
7303
7304         * gst/gstcaps.c:
7305         * gst/gstcaps.h:
7306         Document GstCaps.
7307
7308 2005-11-09  Andy Wingo  <wingo@pobox.com>
7309
7310         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7311         to work on something else now tho...
7312
7313         * gst/base/gstadapter.c: More adapter docs.
7314
7315         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7316         (gst_file_sink_stop): New functions, replace the state change
7317         handler.
7318         (gst_file_sink_class_init): Hook up the start and stop functions.
7319         (gst_file_sink_base_init): Don't set the state change handler any
7320         more. It was a bit ugly too, being set from here...
7321         (gst_file_sink_get_property, gst_file_sink_set_property):
7322         Cleanups...
7323         (gst_file_sink_set_location): More robust check that doesn't call
7324         GST_STATE. Ugggggg.
7325
7326 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7327
7328         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7329           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7330
7331 2005-11-08  Wim Taymans  <wim@fluendo.com>
7332
7333         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7334         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7335         (gst_base_sink_chain), (gst_base_sink_change_state):
7336         * gst/base/gstbasesink.h:
7337         * gst/base/gstbasesrc.h:
7338         * gst/gstelement.h:
7339         * gst/gstevent.h:
7340         Avoid excessive typechecking in macros.
7341
7342         * gst/gstminiobject.c: (gst_mini_object_get_type),
7343         (gst_mini_object_init), (gst_mini_object_new),
7344         (gst_mini_object_free):
7345         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7346         (gst_object_finalize):
7347         Remove cruft code, optimize alloc_trace.
7348
7349 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7350
7351         * docs/faq/gst-uninstalled:
7352           fix up PS1 for systems that try to reset it
7353
7354 2005-11-07  Wim Taymans  <wim@fluendo.com>
7355
7356         * gst/base/gstbasesrc.c: (gst_base_src_init),
7357         (gst_base_src_get_range):
7358         Set the segment_end to -1 initially. Fixed typefind.
7359
7360 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7361
7362         * gst/base/gstadapter.c:
7363           Debug category should be 'adapter', not 'GstAdapter'.
7364           
7365         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7366         (gst_collectpads_class_init), (gst_collectpads_init),
7367         (gst_collectpads_peek), (gst_collectpads_pop),
7368         (gst_collectpads_event), (gst_collectpads_chain):
7369           Add debug category and some debugging output. Use boilerplate
7370           macros. Remove some extraneous words from docs.
7371
7372 2005-11-05  Andy Wingo  <wingo@pobox.com>
7373
7374         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7375         macro.
7376
7377 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7378
7379         * docs/gst/gstreamer-sections.txt:
7380         * gst/gstcaps.h:
7381         * gst/gstinfo.c:
7382         * gst/gstminiobject.h:
7383         * gst/gstobject.h:
7384         * gst/gstutils.h:
7385           more docs added
7386
7387 2005-11-04  Wim Taymans  <wim@fluendo.com>
7388
7389         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7390         Small update to stop at the configured segment_end
7391         position.
7392
7393 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7394
7395         * gst/gstregistry.c:
7396         * gst/gstregistry.h:
7397           added missing docs
7398
7399 2005-11-04  Edward Hervey  <edward@fluendo.com>
7400
7401         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7402         Check if we are doing a segment seek and have arrived at the
7403         end of that segment.
7404
7405 2005-11-04  Wim Taymans  <wim@fluendo.com>
7406
7407         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7408         Don't leak a mutex unlock in case of an error.
7409
7410         * gst/gstbus.h:
7411         Doc fixes.
7412
7413 2005-11-04  Wim Taymans  <wim@fluendo.com>
7414
7415         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7416         (gst_bus_post):
7417         Get the context to wake up only once.
7418
7419 2005-11-03  Wim Taymans  <wim@fluendo.com>
7420
7421         * check/states/sinks.c: (GST_START_TEST):
7422         Uncomment fixed check.
7423
7424         * docs/design/part-TODO.txt:
7425         Updated TODO.
7426
7427         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7428         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7429         (gst_base_sink_get_position):
7430         If we are going to PLAYING, post the right pending state
7431         when we post the intermediate paused message.
7432
7433         * gst/gstelement.c: (gst_element_continue_state),
7434         (gst_element_set_state_func), (gst_element_change_state):
7435         Don't post state changes that were between the same state
7436         and were not ASYNC.
7437
7438 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7439
7440         * docs/gst/gstreamer-sections.txt:
7441         * gst/gstcaps.h:
7442         * gst/gstinfo.c:
7443         * gst/gstminiobject.h:
7444         * gst/gstobject.h:
7445         * gst/gstutils.h:
7446           more docs and doc style fixes
7447
7448 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7449
7450         * docs/gst/gstreamer-sections.txt:
7451         * gst/gstelement.c:
7452         * gst/gstminiobject.c:
7453         doc fixes
7454
7455 2005-11-03  Andy Wingo  <wingo@pobox.com>
7456
7457         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7458         state-changed messages actually have the right order and the right
7459         values.
7460
7461 2005-11-03  Wim Taymans  <wim@fluendo.com>
7462
7463         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7464         Added some more checks. Specifically the case where NO_PREROLL
7465         elements are in the pipeline.
7466
7467         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7468         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7469         (gst_base_sink_get_position):
7470         Post READY->PAUSED state change messages too.
7471         Fix bug where VOID was posted as pending state...
7472
7473         * gst/gstbin.c: (gst_bin_recalc_state):
7474         use _element_continue_state() to continue the state change.
7475
7476         * gst/gstelement.c: (gst_element_continue_state),
7477         (gst_element_commit_state), (gst_element_set_state_func),
7478         (gst_element_change_state), (gst_element_change_state_func):
7479         Lots of state change cleanups, assign the STATE_RETURN in
7480         a new continue_state() function that also propagates the
7481         last return value from a state change to the app.
7482         Update some debug statements with proper category.
7483
7484 2005-11-03  Wim Taymans  <wim@fluendo.com>
7485
7486         * docs/design/part-events.txt:
7487         * docs/design/part-gstpipeline.txt:
7488         * docs/design/part-messages.txt:
7489         * docs/design/part-overview.txt:
7490         * docs/design/part-seeking.txt:
7491         * docs/design/part-states.txt:
7492         * docs/design/part-trickmodes.txt:
7493         * docs/manual/advanced-position.xml:
7494         Small docs updates.
7495
7496         * gst/gstobject.h:
7497         People think !! is ugly, this looks better.
7498
7499         * gst/gstpad.c: (gst_pad_set_blocked_async):
7500         Remove !! since it's fixed elsewhere now.
7501
7502 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7503
7504         * gst/gstminiobject.h:
7505         * gst/gstobject.h:
7506           Add !! to _FLAG_IS_SET macros to make the result boolean.
7507
7508 2005-11-03  Edward Hervey  <edward@fluendo.com>
7509
7510         * gst/gstpad.c: (gst_pad_set_blocked_async):
7511         comparing a flag and a gboolean rarely returns coherent results...
7512         Added two characters (!!) to make that work correctly.
7513         
7514 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7515
7516         * gst/gstbus.c: (gst_bus_class_init):
7517           Fix some typos.
7518           
7519         * gst/gstqueue.c: (gst_queue_loop):
7520           Don't assume a miniobject that isn't a buffer is an
7521           event (it could be that there is a refcounting
7522           problem somewhere and the pointer is stale and
7523           refers to an already destroyed miniobject).
7524
7525 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7526
7527         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7528
7529 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7530
7531         * docs/manual/advanced-position.xml:
7532           Update seek example and explanations to current 0.9 API.
7533
7534         * gst/elements/gsttypefindelement.c:
7535         (gst_type_find_element_activate):
7536           Remove FIXME comment now that the found caps
7537           are unreffed.
7538
7539 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7540
7541         * gst/gstregistryxml.c: (load_feature):
7542           Add another GST_STR_NULL instance
7543
7544 2005-11-02  Edward Hervey  <edward@fluendo.com>
7545
7546         * gst/gstpad.c: (handle_pad_block):
7547         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7548         
7549 2005-11-02  Wim Taymans  <wim@fluendo.com>
7550
7551         * gst/gstbin.c:
7552         Fix typo in docs.
7553
7554         * gst/gstelement.c: (gst_element_commit_state):
7555         Remove unused value.
7556
7557         * gst/gstiterator.c:
7558         Mention that the returned element is reffed in the docs.
7559
7560 2005-11-02  Wim Taymans  <wim@fluendo.com>
7561
7562         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7563         (gst_pad_push), (gst_pad_push_event):
7564         Unlock blocked pads when they are flushed.
7565
7566 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7567
7568         * docs/README:
7569         * docs/gst/gstreamer-sections.txt:
7570         * gst/gstbin.c:
7571           doc updates
7572         * gst/gstregistry.c: (gst_registry_scan_path_level):
7573           fix for a nasty little missed situation where an installed plug-in
7574           which was in the cache did not get overridden by an uninstalled one
7575           which was earlier in the plugin path because the newly created plugin
7576           for the uninstalled one (not in the registry) didn't get its
7577           ->registered set to TRUE
7578
7579 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7580
7581         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7582         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7583         (gst_collectpads_is_active), (gst_collectpads_collect),
7584         (gst_collectpads_collect_range), (gst_collectpads_start),
7585         (gst_collectpads_stop), (gst_collectpads_peek),
7586         (gst_collectpads_pop), (gst_collectpads_available),
7587         (gst_collectpads_read), (gst_collectpads_flush):
7588           Guard public API with assertions.
7589         
7590         * gst/gstpad.c:
7591           Fix docs for gst_pad_set_link_function().
7592
7593 2005-11-02  Johan Dahlin  <johan@gnome.org>
7594
7595         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7596         Unref found_caps after we used it.
7597
7598 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7599
7600         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7601           Don't try to ref NULL.
7602
7603 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7604
7605         * win32/common/config.h.in:
7606           provide a GST_FUNCTION that just gives a string for now
7607
7608 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7609
7610         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7611         (gst_object_flags_get_type), (register_gst_bin_flags),
7612         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7613         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7614         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7615         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7616         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7617         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7618         (gst_clock_flags_get_type), (register_gst_state),
7619         (gst_state_get_type), (register_gst_state_change_return),
7620         (gst_state_change_return_get_type), (register_gst_state_change),
7621         (gst_state_change_get_type), (register_gst_element_flags),
7622         (gst_element_flags_get_type), (register_gst_core_error),
7623         (gst_core_error_get_type), (register_gst_library_error),
7624         (gst_library_error_get_type), (register_gst_resource_error),
7625         (gst_resource_error_get_type), (register_gst_stream_error),
7626         (gst_stream_error_get_type), (register_gst_event_type),
7627         (gst_event_type_get_type), (register_gst_seek_type),
7628         (gst_seek_type_get_type), (register_gst_seek_flags),
7629         (gst_seek_flags_get_type), (register_gst_format),
7630         (gst_format_get_type), (register_gst_index_certainty),
7631         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7632         (gst_index_entry_type_get_type),
7633         (register_gst_index_lookup_method),
7634         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7635         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7636         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7637         (gst_index_flags_get_type), (register_gst_debug_level),
7638         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7639         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7640         (gst_iterator_result_get_type), (register_gst_iterator_item),
7641         (gst_iterator_item_get_type), (register_gst_message_type),
7642         (gst_message_type_get_type), (register_gst_mini_object_flags),
7643         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7644         (gst_pad_link_return_get_type), (register_gst_flow_return),
7645         (gst_flow_return_get_type), (register_gst_activate_mode),
7646         (gst_activate_mode_get_type), (register_gst_pad_direction),
7647         (gst_pad_direction_get_type), (register_gst_pad_flags),
7648         (gst_pad_flags_get_type), (register_gst_pad_presence),
7649         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7650         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7651         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7652         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7653         (gst_plugin_flags_get_type), (register_gst_rank),
7654         (gst_rank_get_type), (register_gst_query_type),
7655         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7656         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7657         (gst_tag_flag_get_type), (register_gst_task_state),
7658         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7659         (gst_alloc_trace_flags_get_type),
7660         (register_gst_type_find_probability),
7661         (gst_type_find_probability_get_type), (register_gst_uri_type),
7662         (gst_uri_type_get_type), (register_gst_parse_error),
7663         (gst_parse_error_get_type):
7664         * win32/common/gstversion.h:
7665           update win32 copies
7666
7667 2005-11-01  Luca Ognibene  <luogni@tin.it>
7668
7669         * gst/gst.c:
7670           fix docs. popt is dead, long live GOption.
7671
7672 2005-10-31  Wim Taymans  <wim@fluendo.com>
7673
7674         * gst/gstbuffer.h:
7675         Small doc fix.
7676
7677 2005-10-31  Andy Wingo  <wingo@pobox.com>
7678
7679         * Boo!
7680
7681         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7682
7683         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7684         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7685         the possibility of deadlocks here if code calling notify() or
7686         set() has a lock that can be taken in another notify handler (ABBA
7687         with class lock and e.g. python GIL state lock).
7688
7689 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7690
7691         * gst/gstbus.c: Doc updates.
7692
7693 2005-10-28  Wim Taymans  <wim@fluendo.com>
7694
7695         * docs/design/part-TODO.txt:
7696         * gst/gstiterator.c:
7697         * gst/gstsystemclock.c:
7698         * gst/gstsystemclock.h:
7699         Doc updates.
7700
7701 2005-10-28  Edward Hervey  <edward@fluendo.com>
7702
7703         * docs/gst/gstreamer-docs.sgml:
7704         * docs/gst/gstreamer-sections.txt:
7705         the GstURIType documentation page is private, it only defines GstURIType
7706         which should be defined in the GstURIHandler page
7707         
7708 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7709
7710         * gst/gstbin.c: (gst_bin_class_init):
7711         * gst/gstbin.h:
7712         * gst/gstutils.c:
7713         Documentation updates.
7714
7715 2005-10-28  Wim Taymans  <wim@fluendo.com>
7716
7717         * docs/gst/gstreamer-sections.txt:
7718         * gst/gstclock.c:
7719         * gst/gstclock.h:
7720         Documented the clocks.
7721
7722 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7723
7724         * docs/gst/gstreamer-sections.txt:
7725           move some macros to private sections
7726         * gst/gstminiobject.c:
7727         * gst/gstminiobject.h:
7728           add descriptions provided by ds and some more
7729         * gst/gstpad.h:
7730           mark macro as to be removed
7731
7732 2005-10-28  Wim Taymans  <wim@fluendo.com>
7733
7734         * docs/design/part-TODO.txt:
7735         Add an item to TODO.
7736
7737         * gst/gstiterator.c: (gst_iterator_fold),
7738         (gst_iterator_find_custom):
7739         * gst/gstiterator.h:
7740         Add iterator docs.
7741
7742 2005-10-28  Wim Taymans  <wim@fluendo.com>
7743
7744         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7745         (gst_base_transform_init):
7746         Don't leak class.
7747
7748         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7749         An EOS event marks the queue as completely filled.
7750
7751 2005-10-27  Wim Taymans  <wim@fluendo.com>
7752
7753         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7754         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7755         Some more debugging.
7756
7757         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7758         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7759         (gst_base_transform_event), (gst_base_transform_getrange),
7760         (gst_base_transform_chain):
7761         * gst/base/gstbasetransform.h:
7762         Fix debugging,
7763         Protect transform and concurrent buffer alloc with a new lock.
7764         Try not to break ABI/API.
7765
7766 2005-10-27  Wim Taymans  <wim@fluendo.com>
7767
7768         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7769         (gst_base_src_init), (gst_base_src_query),
7770         (gst_base_src_default_newsegment),
7771         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7772         (gst_base_src_send_event), (gst_base_src_event_handler),
7773         (gst_base_src_pad_get_range), (gst_base_src_loop),
7774         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7775         (gst_base_src_start), (gst_base_src_deactivate),
7776         (gst_base_src_activate_push), (gst_base_src_change_state):
7777         Move some stuff around and cleanup things.
7778
7779 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7780
7781         * gst/base/gstbasesrc.c: (gst_base_src_query):
7782           Add missing break statements.
7783
7784 2005-10-27  Wim Taymans  <wim@fluendo.com>
7785
7786         * check/gst/gstbin.c: (GST_START_TEST):
7787         An extra refcount is taken in basesrc.
7788
7789         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7790         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7791         (gst_base_src_loop):
7792         Small cleanups, check for flushing after being unlocked from the 
7793         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7794         Don't send out EOS when going to READY.
7795
7796 2005-10-27  Wim Taymans  <wim@fluendo.com>
7797
7798         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7799         (gst_base_sink_get_position):
7800         Some more debug.
7801
7802         * gst/gstbin.c: (message_check), (bin_replace_message),
7803         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7804         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7805         (bin_query_duration_init), (bin_query_duration_fold),
7806         (bin_query_duration_done), (bin_query_generic_fold),
7807         (gst_bin_query):
7808         * tools/gst-launch.c: (main):
7809         Remove old option.
7810
7811 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7812
7813         * examples/controller/audio-example.c: (main):
7814         * examples/queue/queue.c: (event_loop):
7815         * gst/base/gstbasetransform.h:
7816         * gst/gstelement.c: (gst_element_send_event):
7817         * gst/gstevent.h:
7818         * gst/gstpad.c: (gst_pad_send_event):
7819           fixing examples
7820           fixing docs typos
7821           changing log priority in error situations
7822
7823 2005-10-25  Wim Taymans  <wim@fluendo.com>
7824
7825         * gst/gstbin.c: (message_check), (bin_replace_message),
7826         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7827         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7828         (bin_query_duration_init), (bin_query_duration_fold),
7829         (bin_query_duration_done), (bin_query_generic_fold),
7830         (gst_bin_query):
7831         Some doc and debug updates.
7832         Cache previously requested query DURATION for speed. invalidate
7833         cached duration if element posts a DURATION message.
7834
7835 2005-10-25  Wim Taymans  <wim@fluendo.com>
7836
7837         * docs/design/part-TODO.txt:
7838         Update TODO.
7839
7840         * gst/gstbin.c: (message_check), (bin_replace_message),
7841         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7842         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7843         (bin_query_duration_init), (bin_query_duration_fold),
7844         (bin_query_duration_done), (bin_query_generic_fold),
7845         (gst_bin_query):
7846         Handle SEGMENT_START/DONE messages correctly.
7847         More evolved query algorithm that handles duration queries
7848         correctly.
7849
7850         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7851         (gst_element_get_state_func), (gst_element_abort_state),
7852         (gst_element_commit_state), (gst_element_lost_state):
7853         Some more debugging.
7854
7855         * gst/gstmessage.h:
7856         Added doc.
7857
7858 2005-10-25  Wim Taymans  <wim@fluendo.com>
7859
7860         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7861         Don't use invalid stream_time.
7862
7863         * gst/gstevent.c: (gst_event_new_newsegment):
7864         stream_time in newsegment cannot be undefined.
7865
7866 2005-10-24  Wim Taymans  <wim@fluendo.com>
7867
7868         * gst/gstbus.c:
7869         Doc fix.
7870
7871         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7872         (gst_queue_loop):
7873         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7874
7875 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7876
7877         * docs/libs/tmpl/gstdparam.sgml:
7878         * docs/libs/tmpl/gstdplinint.sgml:
7879         * docs/libs/tmpl/gstdpman.sgml:
7880         * docs/libs/tmpl/gstdpsmooth.sgml:
7881         * docs/libs/tmpl/gstunitconvert.sgml:
7882           these are obsolete
7883
7884 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7885
7886         * configure.ac:
7887           back to HEAD
7888
7889 === release 0.9.4 ===
7890
7891 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7892
7893         * configure.ac:
7894           releasing 0.9.4, "Tyrannosaurus Rex"
7895
7896 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7897
7898         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7899         (gst_file_sink_get_current_offset):
7900           Use fseeko() and ftello() if available. When falling back on
7901           lseek() to get the current offset, fflush() first to make sure
7902           everything is up-to-date and we get the right offset.
7903
7904 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7905
7906         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7907         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7908         * gst/gsterror.c: (_gst_stream_errors_init):
7909         * gst/gsterror.h:
7910         * gst/gstqueue.c: (gst_queue_loop):
7911         * po/POTFILES.in:
7912           remove prematurely added error category and clean up the instances
7913
7914 2005-10-21  Wim Taymans  <wim@fluendo.com>
7915
7916         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7917         (gst_base_sink_get_position), (gst_base_sink_query),
7918         (gst_base_sink_change_state):
7919         Simply set the right flag when going to playing, that's all
7920         we need to do instead of calling a function inside the object
7921         lock (that could take the lock as well and deadlock)
7922
7923 2005-10-21  Wim Taymans  <wim@fluendo.com>
7924
7925         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7926         (gst_base_src_loop):
7927         Don't warn, the peer element knows what to do best when
7928         the seek failed, it might try something else.
7929
7930 2005-10-21  Wim Taymans  <wim@fluendo.com>
7931
7932         * gst/base/gstbasesrc.c: (gst_base_src_init),
7933         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7934         Fix seeking.
7935
7936 2005-10-21  Wim Taymans  <wim@fluendo.com>
7937
7938         * docs/design/part-segments.txt:
7939         More docs.
7940
7941         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7942         Correctly set caps, even on the subbufer.
7943
7944 2005-10-21  Wim Taymans  <wim@fluendo.com>
7945
7946         * docs/gst/gstreamer-docs.sgml:
7947         * docs/gst/gstreamer-sections.txt:
7948         * gst/gstelement.h:
7949         * gst/gstevent.c:
7950         * gst/gstevent.h:
7951         * gst/gstmessage.h:
7952         * gst/gstpad.h:
7953         * gst/gstparse.h:
7954         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7955         * gst/gsttask.h:
7956         * gst/gstutils.c:
7957         * gst/gstutils.h:
7958         And 2% more doc coverage.
7959
7960 2005-10-21  Andy Wingo  <wingo@pobox.com>
7961
7962         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7963         position reporting.
7964
7965 2005-10-20  Wim Taymans  <wim@fluendo.com>
7966
7967         * gst/gsterror.c: (gst_error_get_message):
7968         * gst/gstparse.h:
7969         * gst/gstquery.h:
7970         * gst/gststructure.c:
7971         * gst/gsttrace.c:
7972         * gst/gstutils.c:
7973         More docs.
7974
7975 2005-10-20  Wim Taymans  <wim@fluendo.com>
7976
7977         * gst/gstbuffer.h:
7978         * gst/gstpad.c:
7979         * gst/gstparse.c:
7980         Another 1% more coverage.
7981
7982 2005-10-20  Wim Taymans  <wim@fluendo.com>
7983
7984         * docs/gst/gstreamer-sections.txt:
7985         * gst/gstelement.c: (gst_element_get_state_func),
7986         (gst_element_abort_state), (gst_element_commit_state),
7987         (gst_element_lost_state):
7988         * gst/gstevent.h:
7989         * gst/gstquery.c: (gst_query_set_position),
7990         (gst_query_parse_position), (gst_query_set_duration),
7991         (gst_query_parse_duration), (gst_query_new_convert):
7992         * gst/gstutils.c:
7993         Yay! 1% more docs coverage.
7994
7995 2005-10-20  Wim Taymans  <wim@fluendo.com>
7996
7997         * gst/gstpad.h:
7998         * gst/gstquery.c: (gst_query_set_position),
7999         (gst_query_parse_position), (gst_query_set_duration),
8000         (gst_query_parse_duration), (gst_query_new_convert):
8001         * gst/gstquery.h:
8002         * gst/gstutils.c: (gst_element_query_convert):
8003         * gst/gstutils.h:
8004         Docs and consistency fixes.
8005
8006 2005-10-20  Wim Taymans  <wim@fluendo.com>
8007
8008         * gst/gsttask.c:
8009         * gst/gsttask.h:
8010         More docs.
8011
8012 2005-10-20  Wim Taymans  <wim@fluendo.com>
8013
8014         * gst/gstbin.c: (message_check), (bin_replace_message),
8015         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8016         (update_degree), (gst_bin_sort_iterator_next),
8017         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8018         Reworked the message handling a bit, cache the messages instead of
8019         only the senders. alows us to do more in the future.
8020
8021 2005-10-20  Wim Taymans  <wim@fluendo.com>
8022
8023         * docs/design/part-TODO.txt:
8024         Update TODO
8025
8026         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8027         (gst_base_sink_query):
8028         Don't use clock time to report position when in EOS.
8029
8030 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8031
8032         * tools/gst-inspect.c: (print_interfaces),
8033         (print_element_properties_info), (print_element_info):
8034           Fix interface output with gst-inspect -a; don't print
8035           newlines after double/float properties.
8036
8037 2005-10-20  Wim Taymans  <wim@fluendo.com>
8038
8039         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8040         (gst_base_sink_query):
8041         Speed up current position calculation.
8042
8043         * gst/base/gstbasesrc.c: (gst_base_src_query),
8044         (gst_base_src_default_newsegment):
8045         Correctly set stream position in newsegment.
8046
8047         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8048         (update_degree), (gst_bin_sort_iterator_next),
8049         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8050         * gst/gstmessage.c: (gst_message_new_custom):
8051         Clean up debugging info
8052
8053         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8054         (gst_queue_loop), (gst_queue_handle_src_query):
8055         Pause task faster.
8056
8057 2005-10-19  Wim Taymans  <wim@fluendo.com>
8058
8059         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8060         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8061         Fix query handling again.
8062
8063 2005-10-19  Wim Taymans  <wim@fluendo.com>
8064
8065         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8066         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8067         * gst/base/gstbasesrc.c: (gst_base_src_query):
8068         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8069         * gst/elements/gsttypefindelement.c:
8070         (gst_type_find_handle_src_query), (find_element_get_length),
8071         (gst_type_find_element_activate):
8072         API change fix.
8073
8074         * gst/gstquery.c: (gst_query_new_position),
8075         (gst_query_set_position), (gst_query_parse_position),
8076         (gst_query_new_duration), (gst_query_set_duration),
8077         (gst_query_parse_duration), (gst_query_set_segment),
8078         (gst_query_parse_segment):
8079         * gst/gstquery.h:
8080         Bundling query position/duration is not a good idea since duration
8081         does not change much and we don't want to recalculate it for every
8082         position query, so they are separated again..
8083         Base value in segment query is not needed.
8084
8085         * gst/gstqueue.c: (gst_queue_handle_src_query):
8086         * gst/gstutils.c: (gst_element_query_position),
8087         (gst_element_query_duration), (gst_pad_query_position),
8088         (gst_pad_query_duration):
8089         * gst/gstutils.h:
8090         Updates for query API change.
8091         Added some docs here and there.
8092
8093 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8094
8095         * check/gst/gstbin.c: (GST_START_TEST):
8096         * check/gst/gstghostpad.c: (GST_START_TEST):
8097         * check/pipelines/cleanup.c: (GST_START_TEST):
8098           wait on thread to die so we can check refcount correctly
8099
8100 2005-10-18  Wim Taymans  <wim@fluendo.com>
8101
8102         * check/pipelines/stress.c: (GST_START_TEST):
8103         Make check a little more time consuming.
8104
8105 2005-10-18  Wim Taymans  <wim@fluendo.com>
8106
8107         * check/Makefile.am:
8108         * check/pipelines/stress.c: (GST_START_TEST),
8109         (simple_launch_lines_suite), (main):
8110         Small state change torture test.
8111
8112         * docs/design/part-states.txt:
8113         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8114         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8115         (gst_base_sink_change_state):
8116         Never take state lock from streaming thread, clean up ugly
8117         hacks. Unfortunatly core does not yet support nice ways to
8118         async commit state.
8119         
8120         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8121         (bin_bus_handler):
8122         Start state recalc if a STATE_DIRTY message is posted, but only
8123         on the toplevel bin.
8124
8125         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8126         (gst_element_get_state_func), (gst_element_abort_state),
8127         (gst_element_commit_state), (gst_element_lost_state),
8128         (gst_element_set_state_func), (gst_element_change_state):
8129         * gst/gstelement.h:
8130         State variables are now protected with the LOCK, the state
8131         lock is only used to serialize _set_state().
8132
8133 2005-10-18  Wim Taymans  <wim@fluendo.com>
8134
8135         * check/gst/gstbin.c: (GST_START_TEST):
8136         * check/gst/gstmessage.c: (GST_START_TEST):
8137         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8138         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8139         (bin_bus_handler):
8140         * gst/gstelement.c: (gst_element_abort_state),
8141         (gst_element_commit_state), (gst_element_lost_state):
8142         * gst/gstmessage.c: (gst_message_new_state_changed),
8143         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8144         (gst_message_new_segment_done), (gst_message_new_duration),
8145         (gst_message_parse_state_changed),
8146         (gst_message_parse_segment_start),
8147         (gst_message_parse_segment_done), (gst_message_parse_duration):
8148         * gst/gstmessage.h:
8149         * tools/gst-launch.c: (event_loop):
8150         Seriously, this is better than a previous commit as we only need
8151         to notify the fact that an element changed state in a streaming
8152         thread, marking the state of the parents dirty, hence the 
8153         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8154         message.
8155
8156 2005-10-18  Wim Taymans  <wim@fluendo.com>
8157
8158         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8159         (gst_bin_recalc_func):
8160         * gst/gstelement.c: (gst_element_set_clock),
8161         (gst_element_abort_state), (gst_element_lost_state):
8162         Cleanups, prepare for state change fixes.
8163
8164 2005-10-18  Wim Taymans  <wim@fluendo.com>
8165
8166         * gst/gstbin.h:
8167         * gst/gstelement.c: (gst_element_class_init),
8168         (gst_element_set_state), (gst_element_set_state_func):
8169         * gst/gstelement.h:
8170         Pending ABI changes.
8171         GThreadPool in GstBinClass to monitor async state changes.
8172         state_cookie in GstElement to detect concurrent gst/set state.
8173         set_state is now virtual too in case a very complicated element
8174         has to be constructed.
8175
8176 2005-10-18  Wim Taymans  <wim@fluendo.com>
8177
8178         * check/gst/gstbin.c: (GST_START_TEST):
8179         * check/gst/gstmessage.c: (GST_START_TEST):
8180         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8181         * gst/gstbin.c: (bin_bus_handler):
8182         * gst/gstelement.c: (gst_element_commit_state),
8183         (gst_element_lost_state):
8184         * gst/gstmessage.c: (gst_message_new_state_changed),
8185         (gst_message_new_segment_start), (gst_message_new_segment_done),
8186         (gst_message_new_duration), (gst_message_parse_state_changed),
8187         (gst_message_parse_segment_start),
8188         (gst_message_parse_segment_done), (gst_message_parse_duration):
8189         * gst/gstmessage.h:
8190         * tools/gst-launch.c: (event_loop):
8191         Make messages future proof.
8192         state-change gets a flag if it was a message comming from the
8193         streaming thread.
8194         segment-start/stop can also be specified in other formats.
8195         A message to notify an app that a pipeline changed playback 
8196         duration.
8197         Also fix a GstMessage leak in -launch
8198
8199 2005-10-18  Andy Wingo  <wingo@pobox.com>
8200
8201         * gst/gstelement.c (gst_element_dispose): More helpful message.
8202
8203 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8204
8205         reviewed by: <delete if not using a buddy>
8206
8207         * common/gtk-doc.mak:
8208
8209 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8210
8211         * gst/gstregistry.c: (gst_registry_scan_path_level):
8212           unref a plug-in we get that was already initialized
8213
8214 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8215
8216         * docs/gst/gstreamer-sections.txt:
8217         * docs/libs/gstreamer-libs-sections.txt:
8218         * gst/gstelement.h:
8219           add new api entries
8220           hide internal macro
8221
8222 2005-10-17  Andy Wingo  <wingo@pobox.com>
8223
8224         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8225         cleanup.
8226
8227         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8228
8229         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8230
8231         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8232         (gst_element_get_state_func): Better debug message.
8233         (gst_element_commit_state): s/INFO/DEBUG/.
8234         (gst_element_lost_state, gst_element_change_state): 
8235
8236         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8237         (gst_message_new_custom): s/INFO/LOG/.
8238
8239 2005-10-17  Michael Smith <msmith@fluendo.com>
8240
8241         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8242           Check if end time is valid using end time, not start time.
8243
8244 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8245
8246         * check/gst-libs/controller.c: (GST_START_TEST),
8247         (gst_controller_suite):
8248         * libs/gst/controller/gstcontroller.c:
8249         (gst_controlled_property_set_interpolation_mode):
8250         * libs/gst/controller/gstcontroller.h:
8251         * libs/gst/controller/gstinterpolation.c:
8252         * testsuite/controller/.cvsignore:
8253         * testsuite/controller/Makefile.am:
8254         * testsuite/controller/interpolator.c:
8255           merge controller testsuites
8256           fix broken tests
8257           remove mem-chunk from docs
8258
8259 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8260
8261         * gst/gstmemchunk.c:
8262         * gst/gstmemchunk.h:
8263         * gst/gsttrashstack.c:
8264         * gst/gsttrashstack.h:
8265           out.  get out.  you're fired.  to the Attic !
8266
8267 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8268
8269         * gst/gstcaps.c: (gst_caps_intersect):
8270           fix signedness issues in a (hopefully) correct way
8271         * gst/gstelement.c: (gst_element_pads_activate):
8272           some debugging
8273         * gst/gstobject.c: (gst_object_set_parent):
8274           some debugging
8275
8276 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8277
8278         * gst/gstvalue.h: Fix prototypes.
8279
8280 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8281
8282         * docs/gst/gstreamer-sections.txt:
8283         * gst/gst.c: (gst_version_string):
8284         * gst/gst.h:
8285         * gst/gstversion.h.in:
8286         * win32/common/libgstreamer.def:
8287           add gst_version_string ()
8288
8289 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8290
8291         * configure.ac:
8292           clean up further
8293         * gst/gst.c: (init_post):
8294         * win32/common/config.h.in:
8295           it's PLUGINDIR now
8296         * gst/gstcaps.c: (gst_caps_intersect):
8297           use gint64, the range could be bigger than a guint
8298
8299 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8300
8301         * gst/gstclock.h:
8302           document potential problem in 2038
8303
8304 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8305
8306         * gst/gstcaps.c: (gst_caps_intersect):
8307           Fix guint j diving under 0
8308
8309 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8310
8311         * configure.ac:
8312         * win32/common/config.h:
8313         * win32/common/config.h.in:
8314           check for process.h, declares getpid() on Windows
8315         * gst/gstinfo.c:
8316           include process.h if we have it
8317         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8318         * gst/gstmemchunk.h:
8319           fix signedness issues
8320         * win32/common/libgstreamer.def:
8321           fix get_type's
8322
8323 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8324
8325         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8326         fix. Because of unsigned ints, caps intersection was going nuts and
8327         trying to access structures with G_MAXUINT index. That fixes
8328         videotestsrc ! ffmpegcolorspace ! fakesink
8329         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8330         consistency.
8331
8332 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8333
8334         * configure.ac:
8335           use the gettext macro
8336         * gst/elements/gstelements.c:
8337         * gst/gst.c:
8338         * gst/indexers/gstindexers.c:
8339           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8340         * win32/common/config.h:
8341           updated config.h
8342         * win32/common/config.h.in:
8343           add the template to generate config.h
8344         * win32/common/gstenumtypes.c:
8345         * win32/common/gstversion.h:
8346           updated copies
8347
8348 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8349
8350         * gst/gst.c: (gst_version):
8351         * gst/gstversion.h.in:
8352           add the nano
8353
8354 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8355
8356         * gst/gstevent.h:
8357           Oops, add missing closing bracket.
8358
8359 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8360
8361         * configure.ac:
8362           use common m4's for argument checking
8363
8364 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8365
8366         * docs/gst/gstreamer-sections.txt:
8367         * gst/gstevent.h:
8368           Add GST_EVENT_TYPE_NAME() macro.
8369
8370 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8371
8372         * gst/gstinfo.c:
8373         * gst/gstpluginfeature.c:
8374         * gst/gsttask.c:
8375           privatize more symbols
8376
8377 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8378
8379         * configure.ac:
8380           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8381           everything that uses GStreamer API should have the includes
8382
8383 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8384
8385         * docs/gst/gstreamer-sections.txt:
8386         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8387         * gst/gstvalue.h:
8388           give each value a _get_type, removes the DATA exports
8389
8390 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8391
8392         * gst/gst.c:
8393         * gst/gst.h:
8394           remove _gst_registry_auto_load, not used anymore
8395         * gst/gstbin.c: (gst_bin_get_type):
8396         * gst/gstbin.h:
8397         * gst/gstelement.c: (gst_element_get_type):
8398         * gst/gstelement.h:
8399         * gst/gstobject.c: (gst_object_get_type):
8400         * gst/gstobject.h:
8401         * gst/gstpad.c: (gst_pad_get_type):
8402         * gst/gstpad.h:
8403           make _get_type functions similar, fixes data export from library
8404
8405 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8406
8407         * configure.ac:
8408           correctly make conditionals
8409         * gst/elements/Makefile.am:
8410         * gst/elements/gstelements.c:
8411           fix typo causing fdsrc not to build
8412
8413 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8414
8415         * testsuite/Makefile.am:
8416         * testsuite/bytestream/.cvsignore:
8417         * testsuite/bytestream/Makefile.am:
8418         * testsuite/bytestream/filepadsink.c:
8419         * testsuite/bytestream/gstbstest.c:
8420         * testsuite/bytestream/test1.c:
8421         * testsuite/bytestream/testfile1:
8422         * testsuite/caps/normalisation.c:
8423         * testsuite/caps/random.c: (main):
8424         * testsuite/cleanup/.cvsignore:
8425         * testsuite/cleanup/Makefile.am:
8426         * testsuite/cleanup/cleanup1.c:
8427         * testsuite/cleanup/cleanup2.c:
8428         * testsuite/cleanup/cleanup3.c:
8429         * testsuite/cleanup/cleanup4.c:
8430         * testsuite/cleanup/cleanup5.c:
8431         * testsuite/controller/interpolator.c:
8432         * testsuite/debug/printf_extension.c: (main):
8433         * testsuite/elements/tee.c:
8434         * testsuite/negotiation/.cvsignore:
8435         * testsuite/negotiation/Makefile.am:
8436         * testsuite/negotiation/pad_link.c:
8437         * testsuite/pad/Makefile.am:
8438         * testsuite/pad/chainnopull.c:
8439         * testsuite/pad/getnopush.c:
8440         * testsuite/pad/link.c:
8441         * testsuite/refcounting/sched.c: (create_pipeline):
8442         * testsuite/registry/Makefile.am:
8443         * testsuite/registry/gst-print-formats.c:
8444         * testsuite/schedulers/.cvsignore:
8445         * testsuite/schedulers/142183-2.c:
8446         * testsuite/schedulers/142183.c:
8447         * testsuite/schedulers/143777-2.c:
8448         * testsuite/schedulers/143777.c:
8449         * testsuite/schedulers/147713.c:
8450         * testsuite/schedulers/147819.c:
8451         * testsuite/schedulers/147894-2.c:
8452         * testsuite/schedulers/147894.c:
8453         * testsuite/schedulers/Makefile.am:
8454         * testsuite/schedulers/group_link.c:
8455         * testsuite/schedulers/queue_link.c:
8456         * testsuite/schedulers/relink.c:
8457         * testsuite/schedulers/unlink.c:
8458         * testsuite/schedulers/unref.c:
8459         * testsuite/schedulers/useless_iteration.c:
8460         * testsuite/states/bin.c:
8461           clean out/remove some stuff from the testsuite directories
8462
8463 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8464
8465         * configure.ac:
8466           check for some headers
8467         * gst/elements/Makefile.am:
8468         * gst/elements/gstelements.c:
8469           don't compile fdsrc without sys/socket.h
8470         * gst/indexers/Makefile.am:
8471         * gst/indexers/gstindexers.c: (plugin_init):
8472           don't compile fileindex without mmap
8473
8474 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8475
8476         * configure.ac:
8477           reorganize
8478           clean up
8479           document more
8480           remove cruft
8481         * check/Makefile.am:
8482         * docs/gst/Makefile.am:
8483         * examples/helloworld/Makefile.am:
8484         * gst/Makefile.am:
8485         * gst/base/Makefile.am:
8486         * gst/check/Makefile.am:
8487         * gst/elements/Makefile.am:
8488         * gst/indexers/Makefile.am:
8489         * gst/parse/Makefile.am:
8490         * libs/gst/controller/Makefile.am:
8491         * libs/gst/dataprotocol/Makefile.am:
8492         * examples/helloworld/helloworld.c: (event_loop):
8493           compile fixes, though it's not being compiled currently
8494
8495 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8496
8497         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8498           Add some simple tests for the new taglist date API.
8499
8500 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8501
8502         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8503         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8504           Beautify 'last-message' output: print 'none' for buffer timestamps
8505           and durations if none is set; improve alignment with next messages.
8506
8507 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8508
8509         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8510         * gst/gstpluginfeature.h:
8511         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8512         * gst/gstregistry.h:
8513         * docs/gst/gstreamer-sections.txt:
8514           Add new API to check plugin feature version requirements.
8515
8516         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8517           Some basic tests for the above.         
8518
8519 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8520
8521         * gst/gststructure.c: (gst_structure_to_string):
8522           guard against NULL printf - happens when for example
8523           a message structure with GstClock gets serialized
8524
8525 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8526
8527         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8528           Fix presumable copy'n'pasto.
8529
8530 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8531
8532         * gst/elements/gstfakesrc.h:
8533         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8534         * gst/elements/gsttypefindelement.c:
8535           fix some signedness
8536         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8537           I wonder if this could actually write +2GB files before
8538
8539 2005-10-13  Andy Wingo  <wingo@pobox.com>
8540
8541         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8542         Fix Timmeke Waymans bug.
8543         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8544         string of the proper length to gst_caps_from_string. There's a
8545         potential for, before this fix, that this could cause someone
8546         connecting over the network to cause a segfault if the payload is
8547         not NUL-terminated.
8548
8549 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8550
8551         * docs/design/draft-push-pull.txt:
8552         * docs/design/part-overview.txt:
8553         * docs/random/TODO-pre-0.9:
8554         * docs/random/old/ChangeLog.gstreamer:
8555         * gst/base/gstpushsrc.c:
8556         * gst/gstclock.c:
8557           fixed typos
8558
8559 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8560
8561         * gst/glib-compat.c: (gst_flags_get_first_value):
8562         * gst/glib-compat.h:
8563         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8564         (gst_value_compare_double), (gst_value_serialize_flags):
8565           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8566           infinite loop
8567
8568 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8569
8570         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8571         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8572           fix up debugging
8573         * tools/gst-launch.c: (event_loop):
8574           print out clock nicely
8575
8576 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8577
8578         * docs/gst/gstreamer-sections.txt:
8579         * gst/gsttaglist.h:
8580         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8581         (gst_tag_list_get_date_index):
8582           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8583           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8584
8585 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8586
8587         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8588         (gst_collectpads_chain):
8589         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8590         in CollectData.
8591
8592 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8593
8594         * docs/gst/gstreamer-sections.txt:
8595         * gst/gst.c:
8596         * gst/gsterror.h:
8597         * tools/gst-inspect.c: (main):
8598         * tools/gst-launch.c: (main):
8599         * tools/gst-run.c: (main):
8600         * tools/gst-xmlinspect.c: (main):
8601           fix GOption context leaks
8602           doc fixes
8603
8604 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8605
8606         * gst/gstbus.c:
8607           use HAVE_UNISTD_H
8608         * win32/common/config.h:
8609           update config
8610         * win32/vs6/grammar.dsp:
8611         * win32/vs6/libgstelements.dsp:
8612         * win32/vs6/libgstreamer.dsp:
8613           update vs6 files
8614
8615 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8616
8617         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8618         * gst/base/gstbasesrc.c: (gst_base_src_query):
8619           fix more guint64<->gdouble conversions
8620
8621 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8622
8623         * Makefile.am:
8624           add win32-update target
8625         * win32/common/gstconfig.h:
8626         * win32/common/gstenumtypes.c:
8627         * win32/common/gstenumtypes.h:
8628         * win32/common/gstversion.h:
8629           add files that visual studio can't generate
8630
8631 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8632
8633         * Makefile.am:
8634           add a win32-update target
8635         * configure.ac:
8636
8637 2005-10-12  Wim Taymans  <wim@fluendo.com>
8638
8639         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8640         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8641         * gst/gstelement.c: (gst_element_commit_state),
8642         (gst_element_set_state):
8643         Protect flags with proper lock.
8644         unref provided cached clock in dispose.
8645
8646 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8647
8648         * gst/gst.c:
8649         * gst/gstminiobject.h:
8650         * gst/gstpad.h:
8651         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8652           removed unused flags from miniobject
8653           doc fixes
8654
8655 2005-10-12  Wim Taymans  <wim@fluendo.com>
8656
8657         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8658         (gst_file_sink_event), (gst_file_sink_render):
8659         Flush before seeking.
8660
8661 2005-10-12  Andy Wingo  <wingo@pobox.com>
8662
8663         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8664         always been the case.
8665
8666 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8667
8668         * check/gst/gstbin.c: (GST_START_TEST):
8669         * docs/gst/gstreamer-sections.txt:
8670         * gst/base/gstbasesink.c: (gst_base_sink_init):
8671         * gst/base/gstbasesrc.c: (gst_base_src_init),
8672         (gst_base_src_get_range), (gst_base_src_check_get_range),
8673         (gst_base_src_start), (gst_base_src_stop):
8674         * gst/base/gstbasesrc.h:
8675         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8676         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8677         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8678         (bin_bus_handler):
8679         * gst/gstbin.h:
8680         * gst/gstbuffer.h:
8681         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8682         * gst/gstbus.h:
8683         * gst/gstelement.c: (gst_element_is_locked_state),
8684         (gst_element_set_locked_state), (gst_element_commit_state),
8685         (gst_element_set_state):
8686         * gst/gstelement.h:
8687         * gst/gstindex.c: (gst_index_init):
8688         * gst/gstindex.h:
8689         * gst/gstminiobject.h:
8690         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8691         (gst_object_set_parent):
8692         * gst/gstobject.h:
8693         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8694         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8695         * gst/gstpad.h:
8696         * gst/gstpadtemplate.h:
8697         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8698         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8699         * gst/gstpipeline.h:
8700         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8701         (gst_file_index_commit):
8702         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8703         * testsuite/pad/link.c: (gst_test_src_init),
8704         (gst_test_filter_init), (gst_test_sink_init):
8705         * testsuite/states/locked.c: (main):
8706           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8707           moved bitshift from macro to enum definition
8708
8709 2005-10-12  Wim Taymans  <wim@fluendo.com>
8710
8711         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8712         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8713         (gst_file_sink_render):
8714         Some more debugging info.
8715
8716 2005-10-12  Wim Taymans  <wim@fluendo.com>
8717
8718         * docs/design/part-states.txt:
8719         * tools/gst-launch.c: (main):
8720         Some doc updates.
8721         Revert non-intentional change.
8722
8723 2005-10-12  Wim Taymans  <wim@fluendo.com>
8724
8725         * check/gst/gstbin.c: (GST_START_TEST):
8726         * check/gst/gstelement.c: (GST_START_TEST):
8727         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8728         * check/gst/gstghostpad.c: (GST_START_TEST):
8729         * check/gst/gstpipeline.c: (GST_START_TEST):
8730         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8731         * check/states/sinks.c: (GST_START_TEST):
8732         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8733         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8734         (gst_bin_remove_func), (gst_bin_get_state_func),
8735         (gst_bin_recalc_state), (gst_bin_change_state_func),
8736         (bin_bus_handler):
8737         * gst/gstelement.c: (gst_element_get_state_func),
8738         (gst_element_get_state), (gst_element_abort_state),
8739         (gst_element_commit_state), (gst_element_set_state),
8740         (gst_element_change_state), (gst_element_change_state_func):
8741         * gst/gstelement.h:
8742         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8743         (gst_pipeline_provide_clock_func):
8744         * gst/gstutils.c: (gst_element_link_pads_filtered):
8745         * tools/gst-launch.c: (main):
8746         * tools/gst-typefind.c: (main):
8747         Use GstClockTime in _get_state() instead of GTimeVal.
8748         Remove old code in gstutils.c
8749
8750 2005-10-12  Andy Wingo  <wingo@pobox.com>
8751
8752         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8753         removed.
8754
8755         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8756         there is no task. Shouldn't affect any code, as nothing in our
8757         plugins checks this return value.
8758         (gst_pad_stop_task): Also take the stream lock if the pad has no
8759         task. Docs updated.
8760
8761 2005-10-12  Wim Taymans  <wim@fluendo.com>
8762
8763         * gst/gstpad.c: (pre_activate), (post_activate),
8764         (gst_pad_activate_pull), (gst_pad_activate_push):
8765         Cleanup activation code. Reset old state if
8766         activation failed.
8767
8768 2005-10-12  Wim Taymans  <wim@fluendo.com>
8769
8770         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8771         (gst_base_sink_change_state):
8772         No need to prerol after receiving EOS.
8773
8774         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8775         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8776         * gst/elements/gstidentity.c: (gst_identity_event):
8777         Print events more verbosely.
8778
8779 2005-10-12  Wim Taymans  <wim@fluendo.com>
8780
8781         * check/Makefile.am:
8782         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8783         * check/states/sinks2.c:
8784         Moved sinks2 testcode in sinks check.
8785
8786         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8787         (gst_bin_remove_func), (gst_bin_recalc_state),
8788         (gst_bin_change_state_func), (bin_bus_handler):
8789         Fix potential race condition when _get_state() iterated over an
8790         ASYNC element right before it posted a state completion.
8791
8792         * gst/gstclock.h:
8793         Do proper cast here.
8794
8795         * gst/gstevent.c: (gst_event_new_newsegment),
8796         (gst_event_parse_newsegment):
8797         A playback rate of 0.0 is not allowed.
8798
8799 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8800
8801         * win32/common/config.h:
8802         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8803         (_trewinddir), (_ttelldir), (_tseekdir):
8804         * win32/common/dirent.h:
8805         * win32/common/gtchar.h:
8806         * win32/common/libgstbase.def:
8807         * win32/common/libgstreamer.def:
8808         * win32/vs6/grammar.dsp:
8809         * win32/vs6/gst_inspect.dsp:
8810         * win32/vs6/gst_launch.dsp:
8811         * win32/vs6/gstreamer.dsw:
8812         * win32/vs6/libgstbase.dsp:
8813         * win32/vs6/libgstelements.dsp:
8814         * win32/vs6/libgstreamer.dsp:
8815           Visual Studio 6 project files, and a new common directory.
8816           Phear.
8817
8818 2005-10-11  Wim Taymans  <wim@fluendo.com>
8819
8820         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8821         (gst_base_sink_do_sync), (gst_base_sink_query),
8822         (gst_base_sink_change_state):
8823         * gst/base/gstbasesink.h:
8824         Correctly parse newsegment info.
8825
8826 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8827
8828         * gst/gst.c: (init_post):
8829           split plugin paths correctly
8830
8831 2005-10-11  Wim Taymans  <wim@fluendo.com>
8832
8833         * check/gst/gstevent.c: (GST_START_TEST):
8834         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8835         (gst_base_sink_change_state):
8836         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8837         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8838         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8839         * gst/gstevent.c: (gst_event_new_newsegment),
8840         (gst_event_parse_newsegment):
8841         * gst/gstevent.h:
8842         Added extra flag to newsegment for future API freeze.
8843         Updated check and base elements.
8844
8845 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8846
8847         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8848         (gst_collectpads_add_pad), (gst_collectpads_pop),
8849         (gst_collectpads_event), (gst_collectpads_chain):
8850         * gst/base/gstcollectpads.h: Handle EOS correctly.
8851
8852 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8853
8854         * tools/gst-launch.c: (main):
8855           more null protecting
8856
8857 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8858
8859         * gst/gst-i18n-lib.h:
8860           check for ENABLE_NLS, not GETTEXT_PACKAGE
8861         * gst/gstregistry.c: (gst_registry_add_plugin),
8862         (gst_registry_scan_path_level),
8863         (_gst_registry_remove_cache_plugins):
8864           protect possibly NULL strings
8865         * gst/parse/types.h:
8866           config.h already included before
8867         * tools/gst-inspect.c: (main):
8868           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8869           check for ENABLE_NLS, not GETTEXT_PACKAGE
8870         * tools/gst-launch.c: (main):
8871           check for ENABLE_NLS, not GETTEXT_PACKAGE
8872
8873 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8874
8875         * configure.ac:
8876           if we don't have glib, fail before testing 2.8
8877         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8878           fix a leak, should fix plugins-base testsuite
8879
8880 2005-10-11  Andy Wingo  <wingo@pobox.com>
8881
8882         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8883         take the mode we're going to as an arg. Go head and set the mode
8884         and flushing flags now, so that if the activate function starts a
8885         thread all the flags will be in the right state.
8886         (post_activate): Renamed also. Just handle making sure streaming
8887         finishes for the deactivation case, and setting the deactivated
8888         mode.
8889         (gst_pad_set_active): Complain loudly if deactivation fails.
8890         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8891         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8892         remove the terrible hack.
8893
8894 2005-10-11  Wim Taymans  <wim@fluendo.com>
8895
8896         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8897         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8898         (gst_bin_recalc_state), (gst_bin_change_state_func),
8899         (gst_bin_dispose), (bin_bus_handler):
8900         * gst/gstbin.h:
8901         Prepare to make current EOS message queue more generic.
8902         Fix some typos.
8903
8904         * gst/gstevent.c: (gst_event_new_newsegment),
8905         (gst_event_parse_newsegment):
8906         * gst/gstevent.h:
8907         Rename base to stream_time.
8908
8909         * gst/gstmessage.h:
8910         Fix typo in docs.
8911
8912 2005-10-11  Wim Taymans  <wim@fluendo.com>
8913
8914         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8915         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8916         (gst_bin_change_state_func), (bin_bus_handler):
8917         * gst/gstbin.h:
8918         Work on proper clock selection.
8919
8920 2005-10-11  Edward Hervey  <edward@fluendo.com>
8921
8922         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8923         * libs/gst/controller/gstcontroller.h:
8924         Added GList* version of _remove_properties() in order to be able to wrap
8925         it in bindings.
8926
8927 2005-10-11  Wim Taymans  <wim@fluendo.com>
8928
8929         * docs/design/part-states.txt:
8930         Some more docs.
8931
8932         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8933         (gst_bin_change_state_func), (bin_bus_handler):
8934         Doc updates. Don't distribute the same clock over and over again.
8935
8936         * gst/gstclock.c:
8937         * gst/gstclock.h:
8938         Doc updates.
8939
8940         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8941         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8942         (gst_pad_send_event):
8943         * gst/gstpad.h:
8944         Make probe emission threadsafe again.
8945         Register quarks and move _get_name() from utils.
8946         Doc updates.
8947
8948         * gst/gstpipeline.c: (gst_pipeline_class_init),
8949         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8950         Only redistribute the clock of it changed.
8951
8952         * gst/gstsystemclock.h:
8953         Doc updates. 
8954
8955         * gst/gstutils.c:
8956         * gst/gstutils.h:
8957         Moved the _flow_get_name() to GstPad.
8958
8959 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8960
8961         * check/gst-libs/gdp.c: (GST_START_TEST):
8962         * check/gst/gstcaps.c: (GST_START_TEST):
8963         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8964         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8965         (gst_dp_packet_from_caps):
8966           fix more valgrind warnings before turning up the heat
8967
8968 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8969
8970         * gst/parse/grammar.y:
8971           some cleanup before the hacking
8972
8973 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8974
8975         * gst/base/gstbasesrc.c: (gst_base_src_query):
8976           use conversions
8977         * gst/gstutils.c: (gst_guint64_to_gdouble),
8978         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8979         * gst/gstutils.h:
8980           externalize, basesrc uses it
8981           obviously the implementation needs testing
8982
8983 2005-10-10  Wim Taymans  <wim@fluendo.com>
8984
8985         * tests/sched/Makefile.am:
8986         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8987         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8988
8989 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8990
8991         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8992           apparently converting from guint64 to double is not implemented
8993           on MSVC
8994
8995 2005-10-10  Wim Taymans  <wim@fluendo.com>
8996
8997         * check/Makefile.am:
8998         * check/generic/states.c: (GST_START_TEST):
8999         * check/gst/gstbin.c: (GST_START_TEST):
9000         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9001         * check/states/sinks.c: (GST_START_TEST):
9002         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9003         (main):
9004         Check fixes, use API as stated in design docs, remove hacks.
9005
9006         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9007         (gst_base_sink_change_state):
9008         Catch stopping our task while we're shutting down.
9009
9010         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9011         (gst_bin_remove_func), (gst_bin_get_state_func),
9012         (gst_bin_recalc_state), (gst_bin_change_state_func),
9013         (bin_bus_handler):
9014         * gst/gstbin.h:
9015         * gst/gstelement.c: (gst_element_init),
9016         (gst_element_get_state_func), (gst_element_abort_state),
9017         (gst_element_commit_state), (gst_element_lost_state),
9018         (gst_element_set_state), (gst_element_change_state),
9019         (gst_element_change_state_func):
9020         * gst/gstelement.h:
9021         New state change algorithm (see #318116)
9022
9023         * gst/gstpipeline.c: (gst_pipeline_class_init),
9024         (gst_pipeline_init), (gst_pipeline_set_property),
9025         (gst_pipeline_get_property), (do_pipeline_seek),
9026         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9027         * gst/gstpipeline.h:
9028         Remove crude state change hacks.
9029
9030         * gst/gstutils.h:
9031         Remove crude hacks.
9032
9033         * tools/gst-launch.c: (main):
9034         Fixes for state change. Needs some more work to fully use the
9035         new stuff.
9036
9037 2005-10-10  Andy Wingo  <wingo@pobox.com>
9038
9039         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9040
9041         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9042         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9043         issue.
9044
9045 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9046
9047         * gst/gstiterator.c: (gst_iterator_new):
9048           Fix my previous commit: GTypes passed to gst_iterator_new()
9049           can be fundamental types.
9050
9051 2005-10-10  Wim Taymans  <wim@fluendo.com>
9052
9053         * gst/gstelement.c: (gst_element_iterate_pad_list),
9054         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9055         (gst_element_iterate_sink_pads):
9056         Use src/sink pads lists for the respective iterators instead
9057         of filtering.
9058
9059 2005-10-10  Andy Wingo  <wingo@pobox.com>
9060
9061         Merged in popt removal + GOption addition patch from Ronald, bug
9062         #169772.
9063
9064         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9065         GstElement macros around, remove popt-related symbols, add goption
9066         stuff.
9067
9068         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9069         
9070         * docs/gst/Makefile.am:
9071         * docs/libs/Makefile.am: No POPT_CFLAGS.
9072         
9073         * examples/manual/Makefile.am:
9074         * docs/manual/basics-init.xml: Doc updates with an example.
9075         
9076         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9077         (gst_init), (parse_one_option), (parse_goption_arg):
9078         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9079         bit of hand merging and debugging to get the GOption stuff working
9080         tho.
9081         
9082         * tests/Makefile.am:
9083         * tools/Makefile.am:
9084         * tools/gst-inspect.c: (main):
9085         * tools/gst-launch.c: (main):
9086         * tools/gst-run.c: (main):
9087         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9088
9089 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9090
9091         * gst/gstiterator.c: (gst_iterator_new):
9092           Add assertions to make sure passed GType is likely to really
9093           be a GType (as the compiler won't catch it if the size and
9094           GType arguments get mixed up, see #318447).
9095
9096 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9097
9098         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9099
9100         * gst/gstbin.c: (gst_bin_iterate_sorted):
9101           Pass GType and size arguments to gst_iterator_new() in the right
9102           order (maybe we should make _new() take the GType as first argument
9103           just like _new_list()?) (#318447).
9104           
9105
9106 2005-10-10  Wim Taymans  <wim@fluendo.com>
9107
9108         * gst/gstelement.c: (gst_element_finalize):
9109         And free the GStaticRecMutex too
9110
9111 2005-10-10  Andy Wingo  <wingo@pobox.com>
9112
9113         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9114         Allocate and free the mutex properly.
9115
9116         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9117         New macros.
9118         (GstElement): The state_lock is now recursive. Rebuild your
9119         plugins, suckers. Old macros adapted.
9120
9121         * docs/gst/gstreamer-sections.txt: Doc updates.
9122
9123         * gst/gstutils.h:
9124         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9125         (g_static_rec_cond_wait): Ported from state changes patch, while
9126         we wait on bug #317802 to be solved in a well-distributed GLib.
9127
9128         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9129         gst_element_change_state, variable name changes.
9130         (gst_element_change_state): Split out of gst_element_set_state in
9131         preparation for the state change merge. Doesn't pay attention to
9132         the 'transition' argument.
9133         (gst_element_set_state): Updates, hopefully purely cosmetic.
9134         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9135         state change patch.
9136         (gst_element_get_state_func): Renamed from get_state, cosmetic
9137         changes.
9138
9139 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9140
9141         * gst/elements/gstelements.c:
9142         * win32/GStreamer.vcproj:
9143         * win32/config.h:
9144         * win32/dirent.c: (_tseekdir):
9145         * win32/gst-inspect.vcproj:
9146         * win32/gst-launch.vcproj:
9147         * win32/gstconfig.h:
9148         * win32/gstelements.vcproj:
9149         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9150         * win32/gstreamer.def:
9151         * win32/msvc71.sln:
9152           updates for the win32 build (patch from Sebastien Moutte)
9153
9154 2005-10-10  Andy Wingo  <wingo@pobox.com>
9155
9156         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9157         gst_bin_get_state, cleaned up (but no logic changes).
9158         (bin_element_is_sink): Comment updates.
9159         (sink_iterator_filter): Remove needless cast.
9160         (gst_bin_iterate_sinks): Doc update.
9161         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9162         cleaned up (but no logic changes).
9163
9164         * check/states/sinks.c (test_src_sink): Cleanups from the state
9165         change patch.
9166         (test_livesrc_sink): Sync on the state.
9167
9168         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9169         the state change patch.
9170
9171         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9172         change patch.
9173
9174         * check/gst/gstbin.c: Merge in some style fixes and additional
9175         checks from Wim's state change patch.
9176
9177 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9178
9179         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9180         (gst_type_find_helper):
9181           Check whether we have the requested data already in our list of
9182           cached buffers before pulling a new buffer; also make the buffer
9183           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9184
9185 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9186
9187         * gst/gstcaps.c:
9188         * gst/gstevent.c:
9189           doc updates
9190         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9191           don't use long long, it's not portable.  Replacing with
9192           gint64 seems to work; let's hope no skeletons fall out of the closet.
9193
9194 2005-10-10  Andy Wingo  <wingo@pobox.com>
9195
9196         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9197
9198 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9199
9200         * docs/gst/gstreamer-sections.txt:
9201         * gst/gstevent.c:
9202         * gst/gstevent.h:
9203         * gst/gstinfo.c:
9204         * gst/gstinfo.h:
9205         * gst/gstmessage.c: (gst_message_parse_state_changed):
9206         * gst/gstpad.c:
9207         * gst/gstpad.h:
9208           more docs, fix compilation
9209
9210 2005-10-09  Philippe Khalaf <burger@speedy.org>
9211         * gst/gstmessage.c:
9212           Fixed a few forgotten variables on previous commit
9213
9214 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9215
9216         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9217           Fix evil typefind crasher: getrange() might return a short
9218           buffer at the end of a file, but gst_type_find_peek() must
9219           either return the full data as requested or NULL, but
9220           never a short buffer.
9221
9222 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9223
9224         * gst/gstmessage.c: (gst_message_new_state_changed),
9225         (gst_message_parse_state_changed):
9226         * gst/gstmessage.h:
9227           don't use "new", it's a C++ keyword
9228
9229 2005-10-08  Wim Taymans  <wim@fluendo.com>
9230
9231         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9232         * gst/gstelement.c: (gst_element_post_message):
9233         * gst/gstpipeline.c: (gst_pipeline_change_state):
9234         Small docs and debug updates.
9235
9236 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9237
9238         * docs/gst/gstreamer-sections.txt:
9239         * gst/gstelementfactory.c:
9240         * gst/gstevent.c:
9241         * gst/gsttaglist.c:
9242           more docs
9243
9244 2005-10-08  Wim Taymans  <wim@fluendo.com>
9245
9246         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9247         (gst_bin_dispose), (bin_bus_handler):
9248         Fix typos, add comments.
9249         Clear EOS list when going to PAUSED from any direction and do it
9250         in a threadsafe way.
9251         Get base time in a threadsafe way too.
9252         Fix confusing debug in the change_state function.
9253         Various other small cleanups.
9254         
9255         * gst/gstelement.c: (gst_element_post_message):
9256         Fix very verbose bus posting code.
9257
9258         * gst/gstpipeline.c: (gst_pipeline_class_init),
9259         (gst_pipeline_set_property), (gst_pipeline_get_property),
9260         (gst_pipeline_change_state):
9261         Small ARG_ -> PROP_ cleanup
9262
9263 2005-10-08  Wim Taymans  <wim@fluendo.com>
9264
9265         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9266         Do a less CPU demanding EOS check because we can.
9267
9268 2005-10-08  Wim Taymans  <wim@fluendo.com>
9269
9270         * libs/gst/dataprotocol/dataprotocol.c:
9271         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9272         (gst_dp_packet_from_event):
9273         * libs/gst/dataprotocol/dataprotocol.h:
9274         * libs/gst/dataprotocol/dp-private.h:
9275         It's about time we bump the version number.
9276         Since event types don't fit in the guint8 anymore describing
9277         the payload type, make payload type 16 bits wide.
9278
9279 2005-10-08  Wim Taymans  <wim@fluendo.com>
9280
9281         * docs/design/part-TODO.txt:
9282         * docs/design/part-clocks.txt:
9283         * docs/design/part-events.txt:
9284         * docs/design/part-gstbin.txt:
9285         * docs/design/part-gstelement.txt:
9286         * docs/design/part-gstpipeline.txt:
9287         * docs/design/part-live-source.txt:
9288         * docs/design/part-messages.txt:
9289         * docs/design/part-overview.txt:
9290         * docs/design/part-states.txt:
9291         Many doc updates.
9292
9293 2005-10-08  Wim Taymans  <wim@fluendo.com>
9294
9295         * gst/gstevent.c:
9296         * gst/gstevent.h:
9297         Fix event quark registration.
9298         Add some space between events so we can insert them in the
9299         right groups.
9300
9301 2005-10-08  Wim Taymans  <wim@fluendo.com>
9302
9303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9304         (gst_base_sink_handle_buffer):
9305         Better log message.
9306
9307         * gst/gstbus.h:
9308         * gst/gstelement.h:
9309         More docs.
9310
9311         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9312         (gst_queue_set_property), (gst_queue_get_property):
9313         * gst/gstqueue.h:
9314         Remove old unused properties.
9315
9316 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9317         * docs/gst/gstreamer-sections.txt:
9318         * gst/gstmessage.c:
9319         * gst/gstmessage.h:
9320         * gst/gstminiobject.c:
9321         * gst/gstminiobject.h:
9322         * gst/gstobject.h:
9323         * gst/gstpad.h:
9324         * gst/gstutils.h:
9325           lots of new docs and doc fixes
9326
9327 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9328
9329         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9330         * gst/gstplugin.h:
9331         * gst/gstregistry.c: (gst_registry_lookup_locked),
9332         (gst_registry_scan_path_level):
9333         * gst/gstregistryxml.c: (load_plugin):
9334           Only ever load one plugin for a given plugin basename.
9335           This ensures correct overriding of GST_PLUGIN_PATH over
9336           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9337           system installed plugins.
9338
9339 2005-10-08  Wim Taymans  <wim@fluendo.com>
9340
9341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9342         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9343         Prepare for doing QOS.
9344
9345 2005-10-08  Wim Taymans  <wim@fluendo.com>
9346
9347         * check/gst/gstbin.c: (GST_START_TEST):
9348         * check/pipelines/cleanup.c: (GST_START_TEST):
9349         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9350         Allow new clock message too.
9351
9352 2005-10-08  Wim Taymans  <wim@fluendo.com>
9353
9354         * gst/gstmessage.c: (gst_message_new_error),
9355         (gst_message_new_warning), (gst_message_new_tag),
9356         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9357         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9358         (gst_message_new_segment_start), (gst_message_new_segment_done),
9359         (gst_message_parse_state_changed),
9360         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9361         (gst_message_parse_new_clock):
9362         * gst/gstmessage.h:
9363         Also carry the clock in question.
9364
9365 2005-10-08  Wim Taymans  <wim@fluendo.com>
9366
9367         * gst/gstmessage.c: (gst_message_new_custom),
9368         (gst_message_new_eos), (gst_message_new_error),
9369         (gst_message_new_warning), (gst_message_new_tag),
9370         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9371         (gst_message_new_new_clock), (gst_message_new_segment_start),
9372         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9373         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9374         * gst/gstmessage.h:
9375         Clean up.
9376         Added clock related messages.
9377
9378         * gst/gstpipeline.c: (gst_pipeline_change_state):
9379         Post message when the clock changed.
9380
9381         * tools/gst-launch.c: (event_loop):
9382         Print new clock.
9383
9384 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9385
9386         * tools/gst-inspect.c: (print_element_properties_info):
9387           Can't pass NULL strings to g_print() on windows.
9388
9389 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9390
9391         * docs/Makefile.am:
9392         * docs/gst/Makefile.am:
9393         * docs/gst/gstreamer-docs.sgml:
9394         * docs/gst/running.xml:
9395         * docs/version.entities.in:
9396           add a chapter on running GStreamer.
9397           document GST_DEBUG and GST_PLUGIN* env vars
9398
9399 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9400
9401         * Makefile.am:
9402           remove include dir
9403         * configure.ac:
9404           remove PLUGINS_BUILDDIR stuff
9405         * gst/gst.c: (init_post):
9406           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9407         * idiottest.mak:
9408           remove, it was condescending and not needed
9409
9410 2005-10-08  Wim Taymans  <wim@fluendo.com>
9411
9412         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9413         (gst_base_sink_handle_object), (gst_base_sink_event),
9414         (gst_base_sink_wait), (gst_base_sink_handle_event),
9415         (gst_base_sink_change_state):
9416         * gst/base/gstbasesink.h:
9417         Repost EOS message while going to PLAYING if still EOS.
9418         Make sure that when receiving a FLUSH_START we don't attempt
9419         to sync on the clock anymore.
9420
9421 2005-10-08  Wim Taymans  <wim@fluendo.com>
9422
9423         * tools/gst-launch.c: (event_loop):
9424         Better message printout.
9425
9426 2005-10-08  Wim Taymans  <wim@fluendo.com>
9427
9428         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9429         (gst_bin_child_proxy_get_children_count):
9430         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9431         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9432         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9433         (gst_child_proxy_set_valist):
9434         * gst/parse/grammar.y:
9435         Make ChildProxy threadsafe and fix mem leaks.
9436
9437 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9438
9439         * gst/gst.c: (init_post):
9440           debug the GST_PLUGIN_ env vars
9441
9442 2005-10-08  Wim Taymans  <wim@fluendo.com>
9443
9444         * check/gst/gstbin.c: (GST_START_TEST):
9445         * check/gst/gstmessage.c: (GST_START_TEST):
9446         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9447         * gst/gstelement.c: (gst_element_commit_state),
9448         (gst_element_lost_state):
9449         * gst/gstmessage.c: (gst_message_new_state_changed),
9450         (gst_message_parse_state_changed):
9451         * gst/gstmessage.h:
9452         * tools/gst-launch.c: (event_loop):
9453         Added extra field to STATE_CHANGE message with the pending
9454         state, which will be different from the new state soon.
9455
9456 2005-10-08  Wim Taymans  <wim@fluendo.com>
9457
9458         * gst/gstbus.c: (gst_bus_pop):
9459         * gst/gstclock.c:
9460         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9461         Small cleanups and doc updates.
9462
9463 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9464
9465         * gst/gst.c: (init_pre):
9466         * gst/gstbin.c: (gst_bin_add_func):
9467           log distributing clocks and base time
9468         * gst/gstregistry.c: (gst_registry_add_plugin),
9469         (gst_registry_scan_path_level), (gst_registry_scan_path):
9470           clean up the debugging output a little
9471         * gst/gstutils.c: (gst_element_state_get_name):
9472           warn about a memleak (I've actually seen this be used, though
9473           it was probably a bug)
9474
9475 2005-10-07  Wim Taymans  <wim@fluendo.com>
9476
9477         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9478         (gst_base_src_init), (gst_base_src_default_newsegment),
9479         (gst_base_src_newsegment), (gst_base_src_do_seek),
9480         (gst_base_src_loop), (gst_base_src_start):
9481         * gst/base/gstbasesrc.h:
9482         Make the newsegment event customizable by subclasses.
9483
9484 2005-10-07  Wim Taymans  <wim@fluendo.com>
9485
9486         * gst/gstevent.c: (gst_event_new_buffersize),
9487         (gst_event_parse_buffersize):
9488         * gst/gstevent.h:
9489         New event for future idea.
9490
9491 2005-10-07  Andy Wingo  <wingo@pobox.com>
9492
9493         * gst/gstelement.c (gst_element_post_message): Doc update.
9494
9495         * docs/gst/gstreamer-sections.txt: Update.
9496
9497         * gst/gstmessage.c (gst_message_new_application): Made into a
9498         function like honest API calls.
9499         (gst_message_new_element): New message type.
9500
9501         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9502
9503         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9504         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9505         times.
9506
9507         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9508         NO_PREROLL from gst_element_change_state to fall through.
9509
9510 2005-10-07  Wim Taymans  <wim@fluendo.com>
9511
9512         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9513         (gst_ghost_pad_do_activate_push):
9514         Activating a ghostpad with no internal pad in push mode
9515         is ok.
9516
9517 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9518
9519         * gst/gstobject.h:
9520           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9521           Fixes compilation on Windows.
9522
9523 2005-10-07  Michael Smith <msmith@fluendo.com>
9524
9525         * tools/gst-inspect.c:
9526           Print out feature and plugin count at the end when printing out
9527           all features.
9528
9529 2005-10-04  Michael Smith <msmith@fluendo.com>
9530
9531         * gst/gsterror.c: (_gst_stream_errors_init):
9532           Add another error string used in a few existing plugins.
9533
9534         * gst/gstplugin.c:
9535         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9536         * tools/gst-inspect.c: (print_element_info):
9537           When a feature disappears from a plugin (and the feature exists in
9538           the cached registry file), things went horribly wrong. This isn't a
9539           complete fix, we should actually be removing the 'missing' features
9540           from the features list when we load the actual plugin. That's not
9541           yet implemented. 
9542
9543 2005-10-04  Johan Dahlin  <johan@gnome.org>
9544
9545         * check/gst/gstiterator.c: (GST_START_TEST):
9546         * gst/gstbin.c: (gst_bin_iterate_elements),
9547         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9548         * gst/gstelement.c: (gst_element_iterate_pads):
9549         * gst/gstformat.c: (gst_format_iterate_definitions):
9550         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9551         (gst_iterator_new_list), (gst_iterator_filter):
9552         * gst/gstiterator.h:
9553         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9554         Add a GType to GstIterator, update callsites and tests.
9555
9556 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9557
9558         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9559           give events a chance to be handled by event probes when the pad
9560           is not linked
9561
9562 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9563
9564         * gst/gstevent.c: (gst_event_type_get_name),
9565         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9566         * gst/gstevent.h:
9567           add string representations for event types
9568
9569 2005-10-06  Wim Taymans  <wim@fluendo.com>
9570
9571         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9572         Don't use NULL pointers.
9573
9574 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9575
9576         * gst/gst_private.h:
9577         * gst/gstbus.c:
9578         * gst/gstelement.c:
9579         * gst/gstinfo.c:
9580         * gst/gstpluginfeature.c:
9581           widen the debug category in output to fit the biggest one we have
9582           add a bus category and use it
9583           play with the colors
9584           fix up some categories
9585
9586 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9587
9588         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9589           add push activation of sink ghost pads.
9590           Andye, please verify
9591
9592 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9593
9594         * gst/gstutils.c: (gst_element_link_pads):
9595           fix a bug in the case where neither element has a pad
9596         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9597           add a test for that case
9598
9599 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9600
9601         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9602           emit have-data before checking for peers.  This allows
9603           for probe handlers to connect elements.  This helps autopluggers.
9604         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9605         (gst_pad_suite):
9606           add six checks, linked/unlinked with no/true/false probe
9607
9608 2005-10-04  Wim Taymans  <wim@fluendo.com>
9609
9610         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9611         (gst_fake_sink_event), (gst_fake_sink_preroll),
9612         (gst_fake_sink_render), (gst_fake_sink_change_state):
9613         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9614         (gst_fake_src_get_property), (gst_fake_src_create),
9615         (gst_fake_src_stop):
9616         * gst/elements/gstidentity.c: (gst_identity_stop):
9617         Protect last_message with lock.
9618
9619 2005-10-04  Edward Hervey  <edward@fluendo.com>
9620
9621         * gst/gstformat.h: 
9622         Added precision in the comments for GST_FORMAT_DEFAULT
9623
9624 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9625
9626         * tools/gst-launch.c: (main):
9627           Don't try to run erroneous pipelines.
9628
9629 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9630
9631         * gst/gstbus.c: We don't need this header.
9632
9633 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9634
9635         * configure.ac:
9636           back to development
9637
9638 === release 0.9.3 ===
9639
9640 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9641
9642         * README:
9643         * configure.ac:
9644           Releasing 0.9.3, "Unregistered"
9645
9646 2005-10-03  Andy Wingo  <wingo@pobox.com>
9647
9648         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9649         whereby calling a pad's activatepush() function can start a thread
9650         that starts to push or pull before the pad gets the FLUSHING flag
9651         unset. Hack around it by holding the stream lock until the flag is
9652         set. Need to replace this with a proper solution. Together with
9653         the ghost pad fixes, this fixes mp3 playing/tagreading.
9654
9655         * docs/design/part-gstghostpad.txt: Add a note about activation of
9656         proxy pads outside of ghost pads.
9657
9658         * gst/gstghostpad.c: Implement the ghost pad activation design.
9659
9660 2005-10-02  Andy Wingo  <wingo@pobox.com>
9661
9662         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9663         It is volatile, after all.
9664
9665         * docs/design/part-gstghostpad.txt: Flesh out activation with
9666         ghost pads.
9667
9668         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9669         GST_DEBUG_FUNCPTR.
9670
9671 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9672
9673         * configure.ac:
9674           Fix (unused) AM_CONDITIONAL tests.
9675
9676 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9677
9678         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9679
9680         * gst/gstutils.c: (gst_pad_query_convert):
9681           Add assertion that makes sure src_val is >=0, just like
9682           gst_query_new_convert() has. (#315895)
9683
9684 2005-09-30  Edward Hervey  <edward@fluendo.com>
9685
9686         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9687         Let's not iterate pads we're not interested in, it avoids getting 
9688         sky-high refcounts on sinkpad.
9689
9690 2005-09-30  Wim Taymans  <wim@fluendo.com>
9691
9692         * gst/gstelement.c: (gst_element_set_state),
9693         (gst_element_change_state):
9694         Small tweak, element in ASYNC remains ASYNC.
9695
9696 2005-09-30  Wim Taymans  <wim@fluendo.com>
9697
9698         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9699         Only error is an error.
9700
9701         * gst/gstbin.c: (gst_bin_change_state):
9702         Better debugging.
9703
9704         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9705         Also call pad_block in pad alloc.
9706
9707         * gst/gstutils.c: (gst_flow_get_name):
9708         Better debugging.
9709
9710 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9711
9712         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9713         (gst_base_src_get_range):
9714           Fix documentation typos. Add some more debug info.
9715
9716 2005-09-29  David Schleef  <ds@schleef.org>
9717
9718         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9719           more end-user friendly.
9720         * tools/gst-inspect.c: (main): Check if command-line argument is
9721           a file and attempt to load that file as a plugin.
9722
9723 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9724
9725         * check/gst/gstbin.c:
9726         * check/states/sinks.c:
9727           fix tests for the new warning
9728         * check/gst/gstpipeline.c:
9729           add a test for pipeline and bus interaction
9730         * gst/gstelement.c:
9731           elements should be NULL if they get disposed; add a warning if not
9732
9733 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9734
9735         * gst/gstobject.c:
9736           for 2.6 refcounting, make debug log more correct by printing
9737           the actual refcounts at the time of swap (Wim)
9738
9739 2005-09-29  Andy Wingo  <wingo@pobox.com>
9740
9741         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9742         removes signal watches previously added via
9743         gst_bus_add_signal_watch.
9744         (gst_bus_add_signal_watch): Don't return the source id, just store
9745         it on the bus if there wasn't an id already.
9746
9747         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9748         add_signal_watch and remove_signal_watch.
9749
9750 2005-09-29  Edward Hervey  <edward@fluendo.com>
9751
9752         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9753         Better if we actually iterate the list :)
9754
9755 2005-09-29  Wim Taymans  <wim@fluendo.com>
9756
9757         * check/gst/gstbin.c: (GST_START_TEST):
9758         Change for new bus API.
9759
9760         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9761         (send_messages), (GST_START_TEST), (gstbus_suite):
9762         Change for new bus signal API.
9763
9764         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9765         (gst_bus_source_prepare), (gst_bus_source_check),
9766         (gst_bus_create_watch), (gst_bus_add_watch_full),
9767         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9768         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9769         * gst/gstbus.h:
9770         Remove support for multiple GSources operating on different
9771         message types as it is too complex and unneeded when using
9772         signals.
9773         Added support for receiving signals from the bus.
9774
9775 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9776
9777         * docs/libs/tmpl/gstdataprotocol.sgml:
9778         * docs/manual/advanced-dataaccess.xml:
9779         * gst/elements/gstcapsfilter.c:
9780         * gst/gstutils.c:
9781           rename filter-caps to caps property
9782
9783 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9784
9785         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9786           More robust fraction string parsing.
9787
9788         * docs/pwg/appendix-porting.xml:
9789           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9790
9791 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9792
9793         * gst/gstcaps.c: (gst_caps_do_simplify):
9794           Thou shalt not free a structure and then continue using it
9795           in the next loop iteration.
9796
9797         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9798         (gst_caps_suite):
9799           Add test case for caps simplification.
9800
9801 2005-09-29  Wim Taymans  <wim@fluendo.com>
9802
9803         * check/gst/gstbin.c: (GST_START_TEST):
9804         Oops.
9805
9806 2005-09-29  Wim Taymans  <wim@fluendo.com>
9807
9808         * check/gst/gstbin.c: (GST_START_TEST):
9809         Add bus to bin.
9810
9811         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9812         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9813         (find_element), (gst_bin_sort_iterator_next),
9814         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9815         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9816         (gst_bin_change_state), (gst_bin_dispose):
9817         A bin does not have a bus, it gets the bus from the parent.
9818
9819         * gst/gstelement.c: (gst_element_requires_clock),
9820         (gst_element_provides_clock), (gst_element_is_indexable),
9821         (gst_element_is_locked_state), (gst_element_change_state),
9822         (gst_element_set_bus_func):
9823         Small cleanups.
9824
9825         * gst/gstpipeline.c: (gst_pipeline_class_init),
9826         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9827         The pipeline provides a bus.
9828
9829 2005-09-28  Johan Dahlin  <johan@gnome.org>
9830
9831         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9832         gst_structure_get_enum instead of gst_structure_get_int
9833
9834         * gst/gststructure.c (gst_structure_get_enum): Impl.
9835
9836         * gst/gststructure.h (gst_structure_get_enum): Add
9837
9838         * docs/gst/gstreamer-sections.txt: Ditto
9839
9840         * gst/gstmessage.c (gst_message_new_state_changed): Use
9841         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9842         which does introspection.
9843         Reviewed by Christian Schaller
9844
9845 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9846
9847         * gst/gstinfo.c: (gst_debug_log_default):
9848           don't do dummy g_strdup()s
9849         * libs/gst/controller/gstcontroller.c:
9850         (on_object_controlled_property_changed),
9851         (gst_controlled_property_new), (gst_controller_new_valist),
9852         (gst_controller_new_list),
9853         (gst_controller_remove_properties_valist), (gst_controller_set),
9854         (gst_controller_get), (gst_controller_sync_values),
9855         (gst_controller_get_value_array), (_gst_controller_class_init),
9856         (gst_controller_get_type):
9857         * libs/gst/controller/gstcontroller.h:
9858         * libs/gst/controller/gstinterpolation.c:
9859         (gst_controlled_property_find_timed_value_node):
9860           convert // to /**/ comments
9861
9862 2005-09-28  Wim Taymans  <wim@fluendo.com>
9863
9864         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9865         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9866         (gst_bus_sync_signal_handler):
9867         * gst/gstbus.h:
9868         Added async-message and sync-message signals to the bus.
9869         Added helper BusFunc to emit signals for all posted messages.
9870
9871         * gst/gstmessage.c: (gst_message_type_get_name),
9872         (gst_message_type_to_quark), (gst_message_get_type):
9873         * gst/gstmessage.h:
9874         Register quarks for message names.
9875
9876 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9877
9878         * docs/libs/gstreamer-libs-sections.txt:
9879         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9880         (gst_controller_new_list):
9881         * libs/gst/controller/gstcontroller.h:
9882           added another constructor for language bindings
9883
9884 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9885
9886         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9887           add another check
9888         * gst/gstbus.c:
9889           add some doc
9890         * gst/gstinfo.c: (_gst_debug_init):
9891           slightly more readable color for refcount debugging
9892
9893 2005-09-28  Wim Taymans  <wim@fluendo.com>
9894
9895         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9896         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9897         (find_element), (gst_bin_sort_iterator_next),
9898         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9899         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9900         (gst_bin_change_state), (gst_bin_dispose):
9901         Small doc fixes. get_clock -> provide_clock.
9902
9903         * gst/gstelement.c: (gst_element_class_init),
9904         (gst_element_provides_clock), (gst_element_provide_clock),
9905         (gst_element_get_clock), (gst_element_commit_state),
9906         (gst_element_lost_state):
9907         * gst/gstelement.h:
9908         Make get/set_clock() symetric. Add provide_clock vmethod since
9909         that is actually what this function does.
9910
9911         * gst/gstpipeline.c: (gst_pipeline_class_init),
9912         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9913         (gst_pipeline_get_clock):
9914         get_clock -> provide_clock.
9915
9916 2005-09-28  Andy Wingo  <wingo@pobox.com>
9917
9918         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9919         lieu of real docs...
9920
9921         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9922
9923 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9924
9925         * gst/elements/gstcapsfilter.c:
9926         * gst/elements/gstfakesink.c:
9927         * gst/elements/gstfakesrc.c:
9928         * gst/elements/gstfdsink.c:
9929         * gst/elements/gstfdsrc.c:
9930         * gst/elements/gstfilesink.c:
9931         * gst/elements/gstfilesrc.c:
9932         * gst/elements/gstidentity.c:
9933         * gst/elements/gsttee.c:
9934         * gst/elements/gsttypefindelement.c:
9935           Make element details static.
9936
9937 2005-09-28  Wim Taymans  <wim@fluendo.com>
9938
9939         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9940         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9941         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9942         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9943         (gst_bin_change_state), (gst_bin_dispose):
9944         Some documentation updates.
9945         Clean up dispose handlers.
9946
9947         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9948         * gst/gstpad.c: (gst_pad_dispose):
9949         Clean up dispose handler.
9950
9951         * gst/gstpipeline.c: (gst_pipeline_change_state):
9952         Removed spurious UNLOCK.
9953
9954 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9955
9956         * docs/gst/gstreamer-sections.txt:
9957         * gst/base/gstbasesrc.h:
9958         * gst/gstelement.h:
9959         * gst/gstevent.h:
9960         * gst/gstobject.h:
9961         * gst/gstpad.h:
9962         * gst/gstpipeline.c:
9963         * gst/gstpipeline.h:
9964         * gst/gstutils.h:
9965         * gst/gstxml.h:
9966           added two new functions to the docs
9967                 documents all undocumented GstXXXFlags
9968                 completed some incomplete docs 
9969
9970 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9971
9972         * gst/gstbin.c: (gst_bin_dispose):
9973         * gst/gstelement.c: (gst_element_dispose):
9974           remove now useless and leaky resurrection code in dispose
9975         * gst/base/gstbasesrc.c: (gst_base_src_init):
9976         * gst/gstelementfactory.c: (gst_element_factory_create):
9977         * gst/gstobject.c: (gst_object_set_parent):
9978           add some debugging
9979
9980 2005-09-27  Wim Taymans  <wim@fluendo.com>
9981
9982         * docs/design/part-TODO.txt:
9983         Update TODO.
9984
9985         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9986         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9987         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9988         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9989         (gst_bin_change_state):
9990         * gst/gstelement.h:
9991         Remove element variable, we keep element info in the iterator now.
9992
9993 2005-09-27  Andy Wingo  <wingo@pobox.com>
9994
9995         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9996         values.
9997
9998 2005-09-27  Wim Taymans  <wim@fluendo.com>
9999
10000         * check/gst/gstbin.c: (GST_START_TEST):
10001         Enable check that works now.
10002
10003         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10004         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10005         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10006         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10007         (gst_bin_change_state):
10008         * gst/gstbin.h:
10009         Redid the state change algorithm using a topological sort algo.
10010         Handles all cases correctly.
10011         Exposed iterator for state change order.
10012
10013         * gst/gstelement.h:
10014         Temp storage for state changes. Need to get rid of this soon.
10015
10016 2005-09-27  Wim Taymans  <wim@fluendo.com>
10017
10018         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10019         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10020         (link_fold_func), (gst_pad_proxy_setcaps):
10021         Leak fixes, the fold functions need to unref the passed object and
10022         _get_parent_*() returns ref to parent.
10023
10024 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10025
10026         * check/gst/gstbuffer.c: (test_make_writable):
10027           Plug leak in test case and fix 'make check-valgrind'
10028
10029 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10030
10031         * gst/gstbuffer.c: (gst_subbuffer_init):
10032           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10033           works correctly in all circumstances (we could have just copied
10034           the parent buffer's readonly flag, but conceptually it seems
10035           cleaner to mark all subbuffers as read-only). (based on patch
10036           by Alessandro Decina, #314710).
10037         
10038         * check/gst/gstbuffer.c: (create_read_only_buffer),
10039         (test_make_writable), (test_subbuffer_make_writable),
10040         (gst_test_suite):
10041           Add some tests for gst_buffer_make_writable().
10042
10043 2005-09-27  Wim Taymans  <wim@fluendo.com>
10044
10045         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10046         use gst_object_has_ancestor().
10047
10048         * gst/gstobject.c: (gst_object_has_ancestor):
10049         * gst/gstobject.h:
10050         gst_object_has_ancestor() copied from gstbin.c as it is a
10051         usefull function.
10052
10053         * tests/instantiate/create.c: (create_all_elements):
10054         * tests/lat.c: (handoff_src), (handoff_sink):
10055         * tests/sched/runxml.c: (main):
10056         * tests/seeking/seeking1.c: (main):
10057         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10058         (main):
10059         Fix compilation of some tests.
10060
10061 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10062
10063         * gst/gsterror.h:
10064           Remove comment. GST_TYPE_G_ERROR is here to stay,
10065           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10066           (#316961, #300610).
10067
10068 2005-09-26  Wim Taymans  <wim@fluendo.com>
10069
10070         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10071         Added check that shows error in state change order.
10072
10073 2005-09-26  Wim Taymans  <wim@fluendo.com>
10074
10075         * gst/gstbin.c: (gst_bin_change_state):
10076         Make state change function use 3 queues again, we were
10077         adding elements in the wrong order.
10078
10079         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10080         Some debug info,
10081
10082         * gst/gstpad.c: (gst_pad_dispose):
10083         Added some debug info first.
10084
10085 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10086
10087         * docs/design/draft-push-pull.txt:
10088         * docs/design/part-events.txt:
10089         * docs/design/part-overview.txt:
10090         * docs/design/part-scheduling.txt:
10091           Replace all _pull_region() with _pull_range()
10092           
10093 2005-09-26  Andy Wingo  <wingo@pobox.com>
10094
10095         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10096
10097         * check/gst-libs/controller.c: Update for controller api change.
10098
10099         * configure.ac: 
10100         * tests/Makefile.am:
10101         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10102         over by GLib bug 118439.
10103         
10104         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10105         routines to a function.
10106
10107         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10108
10109         * libs/gst/controller/gsthelper.c:
10110         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10111         (gst_object_sync_values): Renamed from sink_values. Ugh.
10112
10113         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10114
10115         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10116         Renamed from controller_key, as it is exported.
10117
10118         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10119
10120 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10121
10122         * gst/Makefile.am:
10123         * gst/gst.h:
10124         * gst/gstpad.h:
10125         * gst/gstpadtemplate.h:
10126         * gst/gstquery.c:
10127         * gst/gstquery.h:
10128         * gst/gstqueryutils.c:
10129         * gst/gstqueryutils.h:
10130           remove queryutils headers after moving the two used functions
10131           to gstquery.  also fixes build problem for gstsiddec
10132
10133 2005-09-26  Michael Smith <msmith@fluendo.com>
10134
10135         * tools/gst-launch.1.in:
10136         Correct documentation in manpage of debug syntax
10137
10138 2005-09-26  Wim Taymans  <wim@fluendo.com>
10139
10140         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10141         (gst_base_src_is_seekable), (gst_base_src_change_state):
10142         Some more debugging info.
10143
10144 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10145
10146         * docs/gst/gstreamer-sections.txt:
10147         * gst/base/gstbasetransform.h:
10148         * gst/gstindex.h:
10149           added more docs
10150
10151 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10152
10153         * docs/gst/.cvsignore:
10154         * docs/gst/tmpl/.cvsignore:
10155         * docs/gst/tmpl/gstpipeline.sgml:
10156         * docs/gst/tmpl/gstplugin.sgml:
10157         * gst/gstpipeline.c:
10158         * gst/gstplugin.c:
10159         * gst/gstplugin.h:
10160           inlined the last two docs files
10161           removed the tmpl directory from cvs (no more conflicts here!)
10162
10163 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10164
10165         * docs/gst/gstreamer-sections.txt:
10166         * docs/gst/tmpl/.cvsignore:
10167         * docs/gst/tmpl/gstpad.sgml:
10168         * docs/gst/tmpl/gstpadtemplate.sgml:
10169         * gst/Makefile.am:
10170         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10171         (gst_pad_finalize), (gst_pad_set_pad_template):
10172         * gst/gstpad.h:
10173         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10174         (gst_pad_template_class_init), (gst_pad_template_init),
10175         (gst_pad_template_dispose), (name_is_valid),
10176         (gst_static_pad_template_get), (gst_pad_template_new),
10177         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10178         (gst_pad_template_pad_created):
10179         * gst/gstpadtemplate.h:
10180           inlined two more docs
10181           factored gstpadtemplate out of gstpad
10182
10183 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10184
10185         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10186         (test_children_state_change_order_semi_sink):
10187           Fix test case: we can't rely on a fixed state change order when
10188           going from READY => PAUSED because the sink might commit its 
10189           new state first when the first buffer created by the source 
10190           reaches the sink before the source has finished its change state.
10191           (Test case still fails at times, see #316856, comment 5 onwards)
10192
10193 2005-09-24  Wim Taymans  <wim@fluendo.com>
10194
10195         * docs/design/part-events.txt:
10196         * docs/design/part-gstbus.txt:
10197         * docs/design/part-gstpipeline.txt:
10198         * docs/design/part-messages.txt:
10199         * docs/design/part-overview.txt:
10200         * docs/design/part-segments.txt:
10201         * gst/gstbin.c:
10202         * gst/gstbuffer.c:
10203         * gst/gstclock.c:
10204         * gst/gstelement.c:
10205         * gst/gstevent.c:
10206         * gst/gstfilter.c:
10207         * gst/gstiterator.c:
10208         Various documentation updates.
10209
10210 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10211
10212         * gst/gstclock.h:
10213           Well, that's embarassing.  Luckily we weren't using
10214           GST_CLOCK_DIFF anywhere.
10215
10216 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10217
10218         * common/gtk-doc.mak:
10219           don't fail on building XML, FC4 slave shows a bunch of doc
10220           missing bits that I don't get
10221         * gst/gstpad.c:
10222         * gst/gstpipeline.c:
10223         * gst/gststructure.c:
10224           some doc updates
10225
10226 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10227
10228         * docs/design/part-gstbin.txt:
10229         * docs/design/part-gstbus.txt:
10230         * gst/gstbus.c:
10231           Add blurb about how the bus goes into flushing mode and
10232           drops all messages when its bin goes from READY into NULL 
10233           state.
10234
10235 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10236
10237         * docs/gst/gstreamer-sections.txt:
10238         * gst/gststructure.c: (gst_structure_get_clock_time):
10239         * gst/gststructure.h:
10240           add a method to get a GstClockTime out of a structure
10241
10242 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10243
10244         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10245         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10246           Added test to check state change order in bins (can still be made
10247           to fail here under heavy disk load; bails out with 'Push on pad
10248           fakesink:sink0, but it was not activated in push mode').
10249
10250         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10251           Fix state change order when there is only a semi sink (#316856)
10252
10253         * gst/gstbus.c: (gst_bus_class_init):
10254           Use _class_peek_parent(), not _class_ref(); fix docs to say
10255           'default main context' instead of 'mainloop' where that is
10256           what's meant.
10257
10258         * gst/gstelement.c: (gst_element_commit_state),
10259         (gst_element_set_state):
10260           Fix typos in debug messages
10261
10262 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10263
10264         * docs/README:
10265         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10266         * gst/gstpluginfeature.c:
10267         * gst/gstutils.c:
10268           various doc updates
10269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10270           change an assert into an error until it gets fixed properly
10271
10272 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10273
10274         * docs/gst/gstreamer-sections.txt:
10275         * docs/gst/tmpl/.cvsignore:
10276         * docs/gst/tmpl/gstelement.sgml:
10277         * docs/gst/tmpl/gstinfo.sgml:
10278         * docs/gst/tmpl/gstobject.sgml:
10279         * gst/gstelement.c:
10280         * gst/gstelement.h:
10281         * gst/gstinfo.c:
10282         * gst/gstinfo.h:
10283         * gst/gstobject.c: (gst_object_class_init):
10284         * gst/gstobject.h:
10285           inlined 3 more biiiig doc files and added some missing docs on the fly
10286
10287 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10288
10289         * check/gst/.cvsignore:
10290         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10291         * gst/gstregistryxml.c: (load_plugin),
10292         (gst_registry_xml_save_plugin):
10293           put back source in registry.  add checks for find_plugin.
10294         * testsuite/states/bin.c: (assert_state), (empty_bin),
10295         (test_adding_one_element), (main):
10296         * testsuite/states/locked.c: (main):
10297           some compile/run fixes
10298
10299 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10300
10301         * check/gst/gstvalue.c: (GST_START_TEST):
10302           fix leaks in the test itself
10303
10304 2005-09-22  Wim Taymans  <wim@fluendo.com>
10305
10306         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10307         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10308         (gst_base_sink_query):
10309         Prepare for more accurate position reporting and query
10310         handling.
10311
10312         * gst/gstelement.c: (gst_element_send_event),
10313         (gst_element_set_state):
10314         Add some comment.
10315
10316 2005-09-22  Wim Taymans  <wim@fluendo.com>
10317
10318         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10319         (gst_query_parse_segment):
10320         * gst/gstquery.h:
10321         More documentation.
10322         Add segment query for future use.
10323
10324 2005-09-22  Wim Taymans  <wim@fluendo.com>
10325
10326         * gst/gstbin.c: (gst_bin_add_func):
10327         Some more debug info.
10328
10329         * gst/gstelement.c: (gst_element_send_event):
10330         Simplify send_event
10331
10332         * gst/gstelement.h:
10333         Don't know how flags got broken.
10334
10335         * gst/gstquery.h:
10336         Added new query.
10337
10338 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10339
10340         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10341           Add simplistic test suite for GST_TYPE_DATE serialisation and
10342           deserialisation.
10343
10344 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10345
10346         * docs/gst/gstreamer-sections.txt:
10347         * gst/gststructure.c: (gst_structure_set_valist),
10348         (gst_structure_get_date):
10349         * gst/gststructure.h:
10350         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10351         (gst_date_copy), (gst_value_compare_date),
10352         (gst_value_serialize_date), (gst_value_deserialize_date),
10353         (gst_value_transform_date_string),
10354         (gst_value_transform_string_date), (_gst_value_initialize):
10355         * gst/gstvalue.h:
10356           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10357           bunch of utility functions along with a hack that checks that
10358           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10359           is required. Part of the grand scheme in #170777.
10360
10361 2005-09-22  Andy Wingo  <wingo@pobox.com>
10362
10363         * gst/gstconfig.h.in: Psych out gtk-doc.
10364
10365         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10366
10367         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10368
10369         * tools/gst-inspect.c (print_element_list): Plug some
10370         inconsequential leaks.
10371
10372         * gst/gstregistry.c (gst_registry_get_default): Doc.
10373
10374         * check/gst/gstplugin.c: 
10375         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10376         * gst/gstelementfactory.c (gst_element_factory_create): 
10377         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10378         refcount changes.
10379
10380         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10381         (gst_plugin_feature_load): Doc, don't eat refs.
10382
10383         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10384         (gst_plugin_list_free): Doc.
10385         (gst_plugin_load_file): Doc updates.
10386
10387         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10388         accessors returning refcounted objects, return a ref.
10389
10390         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10391         accessor for caps. IDEMPOTENCE. Oh yes.
10392
10393 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10394
10395         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10396
10397         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10398         (_gst_debug_register_funcptr):
10399           Add mutex to serialise access to the hash table with
10400           the function pointer => function name string mapping;
10401           make that hash table static scope (#316809).
10402
10403         * gst/registries/.cvsignore:
10404           Remove left-over file.
10405
10406 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10407
10408         * docs/pwg/appendix-porting.xml:
10409           And something about newsegment events and caps-on-buffers to
10410           the porting guide (feel free to improve).
10411
10412 2005-09-21  Andy Wingo  <wingo@pobox.com>
10413
10414         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10415         data and event probes on the same pad.
10416         (test_buffer_probe_once): Test that removing probes from within
10417         the probe functions works.
10418
10419 2005-09-21  Andy Wingo  <wingo@pobox.com>
10420
10421         * check/gst/gstutils.c: New file.
10422         (test_buffer_probe_n_times): A simple buffer probe test. More to
10423         come, foolios.
10424
10425         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10426         have-data::buffer, not have-data.
10427         (gst_pad_add_event_probe): Likewise for have-data::event.
10428         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10429         peer' isn't quite right yet though.
10430         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10431         (gst_pad_remove_data_probe): Change to take the guint handler_id
10432         as their arg, not the function+data, which is more glib-like.
10433
10434         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10435         the signal emission to indicate if the data is a buffer or an
10436         event.
10437         (gst_pad_get_type): Initialize buffer and event quarks.
10438         (gst_pad_class_init): have-data is now a detailed signal, yes it
10439         is.
10440
10441 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10442
10443         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10444         * gst/gstutils.c: (gst_util_set_value_from_string),
10445         (gst_util_set_object_arg):
10446           Don't put functional code in g_return_if_fail() or
10447           g_return_val_if_fail() statements, otherwise things will 
10448           break when G_DISABLE_CHECKS is defined during compilation.
10449
10450 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10451
10452         * docs/gst/tmpl/.cvsignore:
10453         * docs/gst/tmpl/gstvalue.sgml:
10454         * gst/gstvalue.c:
10455         * gst/gstvalue.h:
10456           inlied another one and added  some obvious docs
10457
10458 2005-09-21  Wim Taymans  <wim@fluendo.com>
10459
10460         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10461         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10462         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10463         (gst_fdsrc_get_property), (gst_fdsrc_create):
10464         * gst/elements/gstfdsrc.h:
10465         Properly implement fdsrc. Removed signal and timeout,
10466         better implemented somewhere else.
10467
10468 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10469
10470         * docs/gst/tmpl/.cvsignore:
10471         * docs/gst/tmpl/gstimplementsinterface.sgml:
10472         * gst/gstinterface.c:
10473           inlined more docs
10474
10475 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10476
10477         * docs/gst/gstreamer-sections.txt:
10478         * docs/gst/tmpl/.cvsignore:
10479         * docs/gst/tmpl/gstenumtypes.sgml:
10480           remove obsolete doc file
10481
10482 2005-09-21  David Schleef  <ds@schleef.org>
10483
10484         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10485         little beer, fix a little leak.
10486
10487 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10488
10489         * docs/gst/gstreamer-docs.sgml:
10490         * docs/gst/gstreamer-sections.txt:
10491         * docs/gst/tmpl/.cvsignore:
10492         * gst/Makefile.am:
10493         * gst/gst.h:
10494         * gst/gstbin.c:
10495         * gst/gstelement.h:
10496         * gst/gstindex.c: (gst_index_class_init):
10497         * gst/gstindex.h:
10498         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10499         (gst_index_factory_class_init), (gst_index_factory_init),
10500         (gst_index_factory_finalize), (gst_index_factory_new),
10501         (gst_index_factory_destroy), (gst_index_factory_find),
10502         (gst_index_factory_create), (gst_index_factory_make):
10503         * gst/gstindexfactory.h:
10504         * gst/gstpluginfeature.c:
10505         * gst/gstpluginfeature.h:
10506         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10507           more docs inlined, splitted gstindex.{c,h}
10508
10509 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10510
10511         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10512           fix a leak
10513
10514 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10515
10516         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10517           Set sync to FALSE by default.
10518
10519 2005-09-20  Wim Taymans  <wim@fluendo.com>
10520
10521         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10522         (gst_base_sink_init):
10523         Make sync property settable from subclass.
10524
10525         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10526         (gst_fake_sink_change_state):
10527         Set sync to FALSE by default.
10528
10529 2005-09-20  Wim Taymans  <wim@fluendo.com>
10530
10531         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10532         * tools/gst-launch.c: (main):
10533         The timeout handler should have lower priority than the source
10534         so we don't timeout before popping a message with 0 timeout.
10535         Dump error messages after failed state change.
10536
10537 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10538
10539         * tools/gst-inspect.c: (print_element_properties_info):
10540           Fix two typos.
10541
10542 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10543
10544         * check/gst/gstevent.c:
10545         * gst/elements/gstfakesink.c:
10546         * gst/elements/gstfakesink.h:
10547           remove the sync property from fakesink.
10548           has the side effect of setting sync TRUE
10549           for fakesink, which is a change.  Anyone who knows how
10550           to fix this nicely in a GObject-y way, feel free.
10551
10552 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10553
10554         * docs/gst/gstreamer-docs.sgml:
10555           remove probe refsection
10556
10557 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10558
10559         * check/Makefile.am:
10560           disable valgrinding the controller test again
10561         * docs/gst/gstreamer-sections.txt:
10562           update for api-changes
10563
10564 2005-09-20  Wim Taymans  <wim@fluendo.com>
10565
10566         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10567         (gst_base_sink_set_property), (gst_base_sink_get_property),
10568         (gst_base_sink_do_sync):
10569         * gst/base/gstbasesink.h:
10570         Added sync property to basesink to disable clock sync.
10571
10572 2005-09-20  Andy Wingo  <wingo@pobox.com>
10573
10574         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10575         eating the caller's refcount.
10576
10577         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10578         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10579         refcount.
10580
10581         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10582         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10583         of GLib 2.8 public, so we can know which refcount to check in
10584         tests.
10585
10586         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10587         (gst_object_init): Only set the gst refcount if we're going ahead
10588         with the refcount hack.
10589
10590 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10591
10592         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10593         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10594           more leaks plumbed, added more debug-logging
10595         * gst/gstmacros.h:
10596           whitespace fix
10597
10598 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10599
10600         * gst/gstmessage.c:
10601           remove include of gstmemchunk.h
10602
10603 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10604
10605         * gst/gstclock.c: (_gst_clock_id_free):
10606           Commit from the Political Party For More Atomic CVS Commits,
10607           so that people don't waste too much of their day fishing
10608           out obvious leaks out of massive commits.
10609           Oh, and fix a pretty damn obvious leak in the memchunk
10610           removal code.
10611
10612 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10613
10614         * check/Makefile.am:
10615         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10616           plug mem-leak, re-add to valgrindable tests
10617
10618 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10619
10620         * gst/gstplugin.h:
10621           unbreak the build for those who have chronic arthritis
10622           and typing "make check" is just too taxing on the hands
10623
10624 2005-09-20  Andy Wingo  <wingo@pobox.com>
10625
10626         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10627         really want it out, you should fix plugins at the same time.
10628
10629 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10630
10631         * configure.ac:
10632         * docs/gst/gstreamer-sections.txt:
10633         * gst/gstobject.c:
10634           added missing symbols to api docs
10635           disable ref-count hack if we have glib >= 2.8
10636
10637 2005-09-19  David Schleef  <ds@schleef.org>
10638
10639         * docs/gst/Makefile.am: Ignore a few more internal headers
10640         * docs/gst/gstreamer-docs.sgml: Remove old sections
10641         * docs/gst/gstreamer-sections.txt: Remove old sections
10642         * docs/gst/tmpl/gstobject.sgml: update
10643         * docs/gst/tmpl/gstplugin.sgml: update
10644         * docs/gst/tmpl/gstpluginfeature.sgml: update
10645         * docs/random/ds/0.9-suggested-changes: update.
10646         * gst/Makefile.am: remove memchunk and trashstack, since they're
10647           not used.
10648         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10649         * gst/gst.h: don't include some headers
10650         * gst/gstchildproxy.c: add gstmarshal.h
10651         * gst/gstclock.c: Don't use memchunks
10652         * gst/gstminiobject.c: Add some docs
10653         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10654         * gst/gstobject.h: same
10655         * gst/gstplugin.c: include gstmacros.h
10656         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10657         * gst/gstquery.c: don't use memchunks
10658         * gst/gstregistry.c: rename gst_registry_deinit()
10659         * gst/gstregistry.h: same
10660
10661 2005-09-19  David Schleef  <ds@schleef.org>
10662
10663         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10664         * docs/libs/gstreamer-libs-sections.txt:
10665         * docs/libs/tmpl/gstgetbits.sgml:
10666         * docs/libs/tmpl/gstputbits.sgml:
10667
10668 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10669
10670         * win32/gstenumtypes.c:
10671         * win32/gstenumtypes.h:
10672           Update.
10673
10674 2005-09-19  Wim Taymans  <wim@fluendo.com>
10675
10676         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10677         Automatically PAUSE and RESUME a pipeline when a flushing seek
10678         is performed.
10679
10680 2005-09-19  Andy Wingo  <wingo@pobox.com>
10681
10682         * gst/gstregistry.h: Spacing fixen.
10683
10684 2005-09-19  Wim Taymans  <wim@fluendo.com>
10685
10686         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10687         Handle state change failure more correctly.
10688
10689 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10690
10691         * check/Makefile.am:
10692         * check/pipelines/cleanup.c: (run_pipeline):
10693         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10694         (GST_START_TEST):
10695           enable cleanup again after fixing the leak
10696         * docs/README:
10697           some more info on docs
10698
10699 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10700
10701         * check/Makefile.am:
10702           re-enable tests now that leaks are plugged
10703         * check/gst/gst.c:
10704         * check/gst/gstbin.c:
10705         * check/gst/gstpipeline.c:
10706           add some more tests while fixing leaks
10707         * common/check.mak:
10708           make sure binaries are uptodate when valgrinding/gdbing
10709         * gst/gst.c:
10710         * gst/gstelementfactory.c:
10711           remove a ref too many, and add a FIXME for when we get
10712           round to disposing of classes
10713         * gst/gstplugin.c:
10714           fix the refcounting when loading a plugin from a file and
10715           the code pretends that the pointer is the same even though
10716           of course it can change
10717         * gst/gstpluginfeature.c:
10718           unref plugins marked cached (a bit confusing as a name)
10719           as the docs state should be done
10720           various doc additions to explain refcounting
10721         * gst/gstregistry.c:
10722         * gst/gstregistryxml.c:
10723           debugging
10724
10725 2005-09-19  Wim Taymans  <wim@fluendo.com>
10726
10727         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10728         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10729         (send_messages), (GST_START_TEST), (gstbus_suite):
10730         * check/gst/gstpipeline.c: (GST_START_TEST):
10731         * check/pipelines/cleanup.c: (run_pipeline):
10732         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10733         (GST_START_TEST):
10734         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10735         (gst_bus_source_check), (gst_bus_source_dispatch),
10736         (gst_bus_create_watch), (gst_bus_add_watch_full),
10737         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10738         * gst/gstbus.h:
10739         * tools/gst-launch.c: (event_loop):
10740         * tools/gst-md5sum.c: (event_loop):
10741         GstBusHandler -> GstBusFunc, return value has the same meaning as
10742         any other GSource (FALSE == remove source).
10743         _add_watch() and _add_watch_full() now take a MessageType mask to
10744         only handle specific types of messages.
10745         _poll() returns the GstMessage instead of the message type to avoid
10746         race conditions.
10747         _have_pending() takes a MessageType mask now too.
10748         Added testsuite for multiple bus watches.
10749         Fix testsuites and applications for new bus API.
10750
10751 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10752
10753         * check/Makefile.am:
10754           mark a bunch of the tests as to fix until we fix them
10755
10756 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10757
10758         * common/check.mak:
10759           use GST_PLUGIN settings for valgrind tests as well, so we're
10760           valgrinding the correct thing
10761         * gst/gst.c: (init_post):
10762           plug another leak
10763
10764 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10765
10766         * gst/gst.c: (init_post), (gst_deinit):
10767         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10768         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10769         * gst/gstindex.c: (gst_index_factory_class_init),
10770         (gst_index_factory_finalize):
10771         * gst/gstobject.c: (gst_object_dispose):
10772         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10773         (gst_plugin_load_file), (gst_plugin_desc_free):
10774         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10775         (gst_plugin_feature_finalize):
10776         * gst/gstregistry.c: (gst_registry_class_init),
10777         (gst_registry_init), (gst_registry_finalize),
10778         (gst_registry_get_default), (gst_registry_deinit):
10779         * gst/gstregistry.h:
10780         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10781           various cleanups and memleak plugging.  make valgrind is happy now.
10782
10783 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10784
10785         * common/check.mak:
10786           add a check-valgrind target
10787
10788 2005-09-18  David Schleef  <ds@schleef.org>
10789
10790         * tools/gst-inspect.c: Revert the GOption code.
10791
10792 2005-09-17  David Schleef  <ds@schleef.org>
10793
10794         * check/Makefile.am: Fix environment variables.
10795         * check/gst/gstplugin.c: Fix for API changes.
10796         * tools/gst-inspect.c: Fix for API changes.
10797         * tools/gst-xmlinspect.c: Fix for API changes.
10798         * gst/gstelementfactory.c:
10799         * gst/gstplugin.c:
10800         * gst/gstplugin.h:
10801         * gst/gstpluginfeature.c:
10802         * gst/gstpluginfeature.h:
10803         * gst/gstregistry.c:
10804         * gst/gstregistry.h:
10805         * gst/gstregistryxml.c:
10806         * gst/gsttypefind.c:
10807         * gst/gsttypefindfactory.c:
10808         * gst/indexers/gstfileindex.c:
10809         * gst/indexers/gstmemindex.c:
10810         * gst/schedulers/Makefile.am:
10811           Change registry to keep track of both plugins and features,
10812           removing the feature tracking from plugins themselves.
10813
10814 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10815
10816         * check/Makefile.am:
10817         * tools/gst-register.1.in:
10818           remove gst-register
10819
10820 2005-09-15  David Schleef  <ds@schleef.org>
10821
10822         * check/gst/gstplugin.c:
10823         * gst/gstelementfactory.c:
10824         * gst/gstplugin.c:
10825         * gst/gstpluginfeature.c:
10826         * gst/gstregistry.c:
10827           Getting tired of debugging.  Disabled all the unreffing of
10828           plugins and features, which fixes the segfaults, but of
10829           course leaks like crazy.  At least playbin works.
10830
10831 2005-09-15  David Schleef  <ds@schleef.org>
10832
10833         * check/gst/gstplugin.c: (register_check_elements),
10834         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10835         More testing
10836         * gst/elements/gsttypefindelement.c: Fix refcounting.
10837         * gst/gsttypefind.c:
10838         * gst/gsttypefindfactory.c:
10839         * gst/gsttypefindfactory.h:
10840
10841 2005-09-15  David Schleef  <ds@schleef.org>
10842
10843         * gst/gstindex.c: get refcounting correct.
10844         * gst/gstregistry.c: Handle the case where a feature/plugin is
10845           not found.
10846
10847 2005-09-15  David Schleef  <ds@schleef.org>
10848
10849         * check/Makefile.am:
10850         * check/gst/gstplugin.c: Add test
10851         * gst/gstplugin.c: Fix problems noticed by testsuite
10852         * gst/gstplugin.h:
10853         * gst/gstregistry.c: 
10854         * gst/gstregistry.h:
10855
10856 2005-09-15  David Schleef  <ds@schleef.org>
10857
10858         * gst/gstplugin.c: Implement semi-decent recounting and locking
10859           in plugins and plugin features.
10860         * gst/gstplugin.h:
10861         * gst/gstpluginfeature.c:
10862         * gst/gstpluginfeature.h:
10863         * gst/gstregistry.c:
10864
10865 2005-09-15  Michael Smith <msmith@fluendo.com>
10866
10867         * gst/gstregistry.c: (gst_registry_get_feature_list):
10868           Implement this. Makes oggdemux work; decodebin still broken.
10869
10870 2005-09-14  David Schleef  <ds@schleef.org>
10871
10872         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10873           #316076)
10874         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10875         * gst/check/Makefile.am:
10876         * libs/gst/controller/Makefile.am:
10877         * libs/gst/dataprotocol/Makefile.am:
10878
10879 2005-09-14  David Schleef  <ds@schleef.org>
10880
10881         * configure.ac: Remove getbits library.  Nothing uses it, and
10882           it should be in something like liboil if someone did want
10883           to use it.
10884         * libs/gst/Makefile.am:
10885         * libs/gst/getbits/Makefile.am:
10886         * libs/gst/getbits/gbtest.c:
10887         * libs/gst/getbits/getbits.c:
10888         * libs/gst/getbits/getbits.h:
10889         * libs/gst/getbits/gstgetbits_generic.c:
10890         * libs/gst/getbits/gstgetbits_i386.s:
10891         * libs/gst/getbits/gstgetbits_inl.h:
10892
10893 2005-09-14  David Schleef  <ds@schleef.org>
10894
10895         * gst/Makefile.am: Dist glib-compat.h
10896
10897 2005-09-14  David Schleef  <ds@schleef.org>
10898
10899         * configure.ac: Remove gst/registries, since it's no longer used.
10900         * gst/registries/Makefile.am:
10901         * gst/registries/gstlibxmlregistry.c:
10902         * gst/registries/gstlibxmlregistry.h:
10903         * gst/registries/gstxmlregistry.c:
10904         * gst/registries/gstxmlregistry.h:
10905         * gst/registries/registrytest.c:
10906
10907 2005-09-14  David Schleef  <ds@schleef.org>
10908
10909         * gst/glib-compat.h:
10910         * gst/gstregistryxml.c:
10911           Convergence is near.  Seriously.
10912
10913 2005-09-14  David Schleef  <ds@schleef.org>
10914
10915         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10916         * gst/glib-compat.h:
10917           Attempt #4 to appease the buildbots.
10918
10919 2005-09-14  David Schleef  <ds@schleef.org>
10920
10921         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10922           Attempt #3.
10923
10924 2005-09-14  David Schleef  <ds@schleef.org>
10925
10926         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10927         Attempt #2.
10928
10929 2005-09-14  David Schleef  <ds@schleef.org>
10930
10931         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10932           the new functions.
10933
10934 2005-09-14  David Schleef  <ds@schleef.org>
10935
10936         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10937         * gst/glib-compat.h: Add some functions that are in newer versions
10938           of glib than we care to require.
10939         * gst/gstregistryxml.c: Use them.
10940
10941 2005-09-14  David Schleef  <ds@schleef.org>
10942
10943         * po/POTFILES.in: remove gst-register.c
10944
10945 2005-09-14  David Schleef  <ds@schleef.org>
10946
10947         * docs/gst/gstreamer-docs.sgml:
10948         * docs/gst/gstreamer-sections.txt:
10949         * docs/gst/gstreamer.types:
10950         * docs/gst/tmpl/gstelement.sgml:
10951         * docs/gst/tmpl/gstplugin.sgml:
10952         * docs/gst/tmpl/gstpluginfeature.sgml:
10953           Documentation updates for registry changes.
10954
10955 2005-09-14  David Schleef  <ds@schleef.org>
10956
10957         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10958           because we don't require glib-2.8.
10959
10960 2005-09-14  David Schleef  <ds@schleef.org>
10961
10962         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10963           registries directory.
10964
10965 2005-09-14  David Schleef  <ds@schleef.org>
10966
10967         * check/Makefile.am:
10968         * check/generic/states.c:
10969         * gst/Makefile.am:
10970         * gst/gst.c:
10971         * gst/gst.h:
10972         * gst/gst_private.h:
10973         * gst/gstelementfactory.c:
10974         * gst/gstindex.c:
10975         * gst/gstinfo.c:
10976         * gst/gstplugin.c:
10977         * gst/gstplugin.h:
10978         * gst/gstpluginfeature.c:
10979         * gst/gstpluginfeature.h:
10980         * gst/gstregistry.c:
10981         * gst/gstregistry.h:
10982         * gst/gstregistrypool.c: remove
10983         * gst/gstregistrypool.h: remove
10984         * gst/gsttypefind.c:
10985         * gst/gsttypefindfactory.c:
10986         * gst/gsturi.c:
10987         * tools/Makefile.am:
10988         * tools/gst-compprep.c:
10989         * tools/gst-inspect.c:
10990         * tools/gst-register.c: remove
10991         * tools/gst-xmlinspect.c:
10992           Registry rewrite.  Changes registry from being a file created
10993           by a tool into a simple cache file created automatically by 
10994           libgstreamer.  Removed gst-register (because it's no longer
10995           needed).  Remove registry pools, because we only have one
10996           registry implementation (XML).  Fix up other subsystems as
10997           necessary.
10998
10999 2005-09-13  Michael Smith <msmith@fluendo.com>
11000
11001         * gst/gstconfig.h.in:
11002           Don't Use windows linking attributes for MinGW. Fixes #316157
11003
11004 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11005
11006         * gst/gstutils.c: (set_state_async_thread_func),
11007         (gst_element_set_state_async):
11008           Apparently people think it's better if this function doesn't
11009           try to set the state to whatever state was asked for on the first
11010           call to this function for any object.  Seriously.
11011
11012 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11013
11014         * check/gst/gstpipeline.c: (GST_START_TEST):
11015         * docs/gst/gstreamer-sections.txt:
11016         * gst/gstutils.c: (set_state_async_thread_func),
11017         (gst_element_set_state_async):
11018         * gst/gstutils.h:
11019           add a "gst_element_set_state_async" method that
11020           sets the state and starts a thread to make sure the state
11021           change completes as best as it can
11022
11023 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11024
11025         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11026           codify design+behaviour in testsuite after discussion
11027
11028 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11029
11030         * docs/gst/tmpl/gstelement.sgml:
11031         * docs/manual/appendix-quotes.xml:
11032           add a quote
11033         * gst/gstelement.c: (gst_element_set_state):
11034           add some debug
11035
11036 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11037
11038         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11039         (gst_base_transform_prepare_output_buf),
11040         (gst_base_transform_handle_buffer):
11041         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11042         (gst_capsfilter_prepare_buf):
11043           Remove the requirement for sub-classes to call the parent
11044           implementation of prepare_output_buffer with a wrapper function.
11045           
11046         * gst/gsttaglist.h:
11047         * gst/gsttagsetter.h:
11048           Fix #define wrapper
11049
11050 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11051
11052         * docs/gst/gstreamer-sections.txt:
11053           more doc cleanups
11054
11055 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11056
11057         * docs/gst/gstreamer-sections.txt:
11058         * docs/gst/tmpl/gstelement.sgml:
11059         * docs/gst/tmpl/gstplugin.sgml:
11060         * gst/gstminiobject.c:
11061         * gst/gstvalue.h:
11062           docs now stop throwing warnings
11063
11064 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11065
11066         * docs/gst/gstreamer-sections.txt:
11067         * docs/gst/gstreamer.types:
11068         * docs/gst/tmpl/gstpad.sgml:
11069         * docs/gst/tmpl/gsttypes.sgml:
11070         * gst/base/gstadapter.h:
11071         * gst/base/gstbasesink.h:
11072         * gst/base/gstbasesrc.h:
11073         * gst/gstbin.h:
11074         * gst/gstbuffer.h:
11075         * gst/gstbus.h:
11076         * gst/gstcaps.h:
11077         * gst/gstclock.h:
11078         * gst/gstelement.h:
11079         * gst/gstevent.h:
11080         * gst/gstmessage.h:
11081         * gst/gstpad.h:
11082         * gst/gststructure.c:
11083         * gst/registries/gstlibxmlregistry.h:
11084           various documentation fixes
11085
11086 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11087
11088         * docs/gst/gstreamer-sections.txt:
11089         * docs/gst/tmpl/gstvalue.sgml:
11090           rearrange gstvalue section
11091         * gst/gstutils.c: (gst_element_state_get_name):
11092           NONE -> VOID
11093         * gst/gstvalue.c: (_gst_value_initialize):
11094         * gst/gstvalue.h:
11095           doc updates
11096
11097 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11098
11099         * check/gst-libs/controller.c:
11100           Header include fix.
11101         * gst/base/gstbasetransform.c:
11102         (gst_base_transform_default_prepare_buf),
11103         (gst_base_transform_handle_buffer):
11104         * gst/base/gstbasetransform.h:
11105           Some more basetransform changes and fixes to enable sub-classes
11106           that modify buffer metadata only.
11107         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11108         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11109         (gst_capsfilter_prepare_buf):
11110           If the output pad has fixed allowed caps and input buffers 
11111           don't have any, set the fixed caps on outgoing buffers.
11112
11113 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11114         * check/elements/identity.c: (GST_START_TEST):
11115           Make the error a little clearer when the test fails because
11116           identity made a copy of the buffer.
11117         * docs/gst/gstreamer-sections.txt:
11118           New symbols in gstbasetransform.h
11119         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11120         (gst_base_transform_init), (gst_base_transform_transform_size),
11121         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11122         (gst_base_transform_default_prepare_buf),
11123         (gst_base_transform_get_unit_size),
11124         (gst_base_transform_buffer_alloc),
11125         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11126         (gst_base_transform_change_state),
11127         (gst_base_transform_set_passthrough),
11128         (gst_base_transform_set_in_place),
11129         (gst_base_transform_is_in_place):
11130         * gst/base/gstbasetransform.h:
11131           Change BaseTransform to separate in_place operate from same_caps
11132           output. in_place implies that the element can perform the transform
11133           on incoming buffers in-place, even if the caps on the output are
11134           different.
11135           Sub-class elements can now implement special buffer allocation
11136           methods for outgoing buffers if they wish to.
11137           Big documentation addition.
11138         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11139         * gst/elements/gstelements.c:
11140           Changes for basetransform modifications.
11141         * gst/elements/Makefile.am:
11142         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11143           Compile fix. Extra debug output.
11144
11145 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11146
11147         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11148         (gst_pad_suite):
11149           add tests for valid pad naming
11150         * gst/check/gstcheck.c: (gst_check_log_message_func),
11151         (gst_check_log_critical_func):
11152           add ASSERT_WARNING
11153           remove printing of code, it is fragile when the code contains
11154           % and the line number is enough info
11155         * gst/check/gstcheck.h:
11156         * gst/gstpad.c: (gst_pad_template_new):
11157           fix memleaks
11158
11159 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11160
11161         * configure.ac:
11162           say what CHECK flags we use
11163         * docs/libs/gstreamer-libs.types:
11164         * libs/gst/controller/Makefile.am:
11165         * libs/gst/controller/gst-controller.c:
11166         * libs/gst/controller/gst-controller.h:
11167         * libs/gst/controller/gst-helper.c:
11168         * libs/gst/controller/gst-interpolation.c:
11169         * libs/gst/controller/gstcontroller.c:
11170         * libs/gst/controller/gsthelper.c:
11171         * libs/gst/controller/gstinterpolation.c:
11172         * tools/gst-inspect.c: (print_plugin_info):
11173           we don't use dashes in header names
11174
11175 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11176
11177         * check/Makefile.am:
11178         * check/gst/.cvsignore:
11179         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11180         (gst_pipeline_suite), (main):
11181           adding a test for pipelines and state changes
11182         * gst/gstutils.c: (get_state_func):
11183           add some debugging
11184         * gstreamer.spec.in:
11185           fix up spec file
11186
11187 2005-09-08  Michael Smith <msmith@fluendo.com>
11188
11189         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11190         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11191         (gst_file_src_is_seekable), (gst_file_src_get_size),
11192         (gst_file_src_start):
11193         * gst/elements/gstfilesrc.h:
11194           Various fixes for unseekable, unmmapable, and non-normal files, so
11195           that fallback to read() rather than mmap() works.
11196         * gst/gstevent.c: (gst_event_new_newsegment):
11197           Allow newsegment events with segment_start == segment_end, as will
11198           correctly happen if you use filesrc on a zero-size file, for
11199           example.
11200
11201 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11202
11203         * gst/gstplugin.c: (gst_plugin_load_file):
11204           Call g_module_close when we don't load the module
11205
11206         * gst/registries/gstlibxmlregistry.c:
11207         (gst_xml_registry_get_property):
11208           Port leak fix from 0.8
11209
11210 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11211
11212         * docs/gst/gstreamer-docs.sgml:
11213         * docs/gst/tmpl/.cvsignore:
11214         * docs/gst/tmpl/gsttrace.sgml:
11215         * docs/gst/tmpl/gsttrashstack.sgml:
11216         * gst/Makefile.am:
11217         * gst/gst.h:
11218         * gst/gstelement.h:
11219         * gst/gstevent.h:
11220         * gst/gstmessage.c:
11221         * gst/gstmessage.h:
11222         * gst/gsttag.c:
11223         * gst/gsttag.h:
11224         * gst/gsttaginterface.c:
11225         * gst/gsttaginterface.h:
11226         * gst/gsttaglist.c:
11227         * gst/gsttaglist.h:
11228         * gst/gsttagsetter.c:
11229         * gst/gsttagsetter.h:
11230         * gst/gsttrace.c:
11231         * gst/gsttrace.h:
11232         * gst/gsttrashstack.c:
11233           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11234           inlined docs for gsttrace, gsttrashstack
11235
11236 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11237
11238         * gst/Makefile.am:
11239         * gst/elements/gstbufferstore.h:
11240         * gst/elements/gsttypefindelement.c:
11241         * gst/elements/gsttypefindelement.h:
11242         * gst/gst.h:
11243         * gst/gsttypefind.c:
11244         * gst/gsttypefind.h:
11245         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11246         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11247         (gst_type_find_factory_dispose),
11248         (gst_type_find_factory_unload_thyself),
11249         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11250         (gst_type_find_factory_get_caps),
11251         (gst_type_find_factory_get_extensions),
11252         (gst_type_find_factory_call_function):
11253         * gst/gsttypefindfactory.h:
11254         * gst/registries/gstlibxmlregistry.c:
11255         * gst/registries/gstxmlregistry.c:
11256           splitted gsttypefind into gsttypefind, gsttypefindfactory
11257
11258 2005-09-07  Andy Wingo  <wingo@pobox.com>
11259
11260         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11261         condition whereby the pad's task function is entered before the
11262         pad_mode variable was set.
11263
11264 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11265
11266         * gst/gstpad.c: (gst_pad_alloc_buffer):
11267           Catch misbehaving pad_alloc functions that don't
11268           set up caps and do it for them.
11269
11270 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11271
11272         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11273           test for pipe!=NULL
11274         * docs/gst/tmpl/.cvsignore:
11275         * docs/gst/tmpl/gstmemchunk.sgml:
11276         * docs/gst/tmpl/gstparse.sgml:
11277         * docs/gst/tmpl/gsttaglist.sgml:
11278         * docs/gst/tmpl/gsttagsetter.sgml:
11279         * docs/gst/tmpl/gsttypefind.sgml:
11280         * docs/gst/tmpl/gsttypefindfactory.sgml:
11281         * gst/gstmemchunk.c:
11282         * gst/gstparse.c:
11283         * gst/gsttag.c:
11284         * gst/gsttaginterface.c:
11285         * gst/gsttypefind.c:
11286         * gst/gsttypefind.h:
11287           inlined more docs
11288
11289 === release 0.9.2 ===
11290
11291 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11292
11293         * NEWS:
11294         * RELEASE:
11295         * configure.ac:
11296           releasing 0.9.2, "South"
11297
11298 2005-09-05  Andy Wingo  <wingo@pobox.com>
11299
11300         * gst/registries/gstxmlregistry.h:
11301         * gst/registries/gstxmlregistry.c: Um... resurrect...
11302         
11303         * gst/registries/gstxmlregistry.h:
11304         * gst/registries/gstxmlregistry.c: and update to newer API.
11305         Incidentally they should be a bit faster now that they don't have
11306         to parse the caps.
11307         
11308 2005-09-05  Andy Wingo  <wingo@pobox.com>
11309
11310         * gst/registries/gstxmlregistry.h:
11311         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11312         replaced by the libxml registry a while back
11313
11314 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11315
11316         * docs/gst/tmpl/gstplugin.sgml:
11317         * gst/elements/gstelements.c:
11318         * gst/gst.c:
11319         * gst/gstplugin.c: (gst_plugin_register_func),
11320         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11321         (gst_plugin_get_source):
11322         * gst/gstplugin.h:
11323         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11324         (gst_xml_registry_save_plugin):
11325         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11326         (gst_xml_registry_save_plugin):
11327         * tools/gst-inspect.c: (print_plugin_info):
11328           add a "source" plugin description field, to represent the source
11329           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11330           will set it to PACKAGE, which is automake's idea of the name of
11331           the source project.
11332
11333 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11334
11335         * Makefile.am:
11336         * autogen.sh:
11337         * configure.ac:
11338         * docs/Makefile.am:
11339         * docs/faq/Makefile.am:
11340         * docs/gst/tmpl/gstelement.sgml:
11341         * docs/gst/tmpl/gsttypes.sgml:
11342         * docs/htmlinstall.mak:
11343         * docs/manual/Makefile.am:
11344         * docs/pwg/Makefile.am:
11345           reorganize doc build a little
11346           split out docbook and gtk-doc stuff
11347           have two separate --enable's and enable them through autogen
11348           but disable by default in configure (to be similar to other
11349           projects)
11350         * gstreamer.spec.in:
11351           clean up docs install
11352         * po/af.po:
11353         * po/az.po:
11354         * po/ca.po:
11355         * po/cs.po:
11356         * po/de.po:
11357         * po/en_GB.po:
11358         * po/fr.po:
11359         * po/it.po:
11360         * po/nb.po:
11361         * po/nl.po:
11362         * po/ru.po:
11363         * po/sq.po:
11364         * po/sr.po:
11365         * po/sv.po:
11366         * po/tr.po:
11367         * po/uk.po:
11368         * po/vi.po:
11369           translation updates
11370
11371 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11372
11373         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11374           Add comment.
11375           
11376         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11377         (gst_fake_sink_change_state):
11378           Make state change function thread-safe.
11379           
11380         * gst/gstpad.c: (gst_pad_alloc_buffer):
11381           Set offset on generic buffer allocated by fallback.
11382
11383 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11384
11385         * docs/gst/gstreamer-sections.txt:
11386         * docs/gst/tmpl/gstelement.sgml:
11387         * gst/gstpad.c:
11388         * libs/gst/controller/gst-controller.c:
11389         (gst_controlled_property_set_interpolation_mode),
11390         (gst_controlled_property_new),
11391         (gst_controller_find_controlled_property):
11392          run the wingo-magic script against the docs
11393
11394 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11395
11396         * docs/gst/gstreamer-docs.sgml:
11397         * docs/gst/gstreamer-sections.txt:
11398         * docs/gst/tmpl/.cvsignore:
11399         * docs/gst/tmpl/gstelementdetails.sgml:
11400         * docs/gst/tmpl/gstelementfactory.sgml:
11401         * gst/gst.c:
11402         * gst/gstbus.c:
11403         * gst/gstelementfactory.c:
11404         * gst/gstelementfactory.h:
11405           merged elementdetails docs into elementfactory docs
11406           inlined both
11407
11408 2005-09-02  Andy Wingo  <wingo@pobox.com>
11409
11410         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11411         consider this enum an enum and not a flags.
11412
11413 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11414
11415         * docs/gst/gstreamer-docs.sgml:
11416         * docs/gst/tmpl/.cvsignore:
11417         * docs/gst/tmpl/gstghostpad.sgml:
11418         * docs/gst/tmpl/gstiterator.sgml:
11419         * docs/gst/tmpl/gstmacros.sgml:
11420         * docs/gst/tmpl/gstrealpad.sgml:
11421         * docs/gst/tmpl/gstregistry.sgml:
11422         * docs/gst/tmpl/gstregistrypool.sgml:
11423         * docs/gst/tmpl/gststructure.sgml:
11424         * docs/gst/tmpl/gstsystemclock.sgml:
11425         * docs/gst/tmpl/gsttrace.sgml:
11426         * gst/gstghostpad.c:
11427         * gst/gstmacros.h:
11428         * gst/gstmemchunk.c:
11429         * gst/gstmemchunk.h:
11430         * gst/gstqueue.c:
11431         * gst/gstregistry.c:
11432         * gst/gstregistrypool.c:
11433         * gst/gststructure.c:
11434         * gst/gstsystemclock.c:
11435           more docs inlined
11436
11437 2005-09-02  Andy Wingo  <wingo@pobox.com>
11438
11439         * gst/gstelement.h (GstState): Renamed from GstElementState,
11440         changed to be a normal enum instead of flags.
11441         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11442         munged to be GST_STATE_CHANGE_*.
11443         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11444         work with the new state representation.
11445         (GstStateChange): New enumeration of possible state transitions.
11446         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11447         (GstElementClass::change_state): Pass the GstStateChange along as
11448         an argument. Helps language bindings, so they don't have to use
11449         tricky lock-needing macros like GST_STATE_CHANGE ().
11450
11451         * scripts/update-states (file): New script. Run it on a file to
11452         update it for state naming and API changes. Updates files in
11453         place.
11454
11455         * All files updated for the new API.
11456
11457 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11458
11459         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11460         * gst/gstutils.c: (gst_util_set_value_from_string),
11461         (gst_util_set_object_arg):
11462           fix a bunch of unchecked return values
11463         * tools/gst-complete.c: (main):
11464         * gstreamer.spec.in:
11465           clean up a little
11466
11467 2005-09-01  Wim Taymans  <wim@fluendo.com>
11468
11469         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11470         (gst_base_sink_event), (gst_base_sink_do_sync),
11471         (gst_base_sink_handle_event):
11472         * gst/base/gstbasesink.h:
11473         Handle newsegments more correctly.
11474
11475         * gst/gstbus.c:
11476         Fix docs.
11477
11478         * gst/gstevent.c: (gst_event_new_newsegment):
11479         A newsegment cannot have a start_time of -1
11480
11481 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11482
11483         * win32/gstenumtypes.c:
11484         * win32/gstenumtypes.h:
11485           Update
11486
11487 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11488
11489         * libs/gst/controller/gst-controller.c:
11490         (gst_controlled_property_set_interpolation_mode),
11491         (gst_controlled_property_new):
11492          fixed boolean again
11493
11494 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11495
11496         * docs/faq/gst-uninstalled:
11497           add -good
11498         * gst/gstevent.c:
11499         * gst/gstevent.h:
11500           remove wrong docs
11501         * gst/gstutils.c: (gst_element_link_filtered):
11502         * gst/gstutils.h:
11503           add gst_element_link_filtered
11504
11505 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11506
11507         * docs/gst/gstreamer-docs.sgml:
11508         * docs/gst/gstreamer-sections.txt:
11509         * docs/gst/tmpl/.cvsignore:
11510         * docs/gst/tmpl/gsterror.sgml:
11511         * docs/gst/tmpl/gstfilter.sgml:
11512         * docs/gst/tmpl/gsturihandler.sgml:
11513         * docs/gst/tmpl/gsturitype.sgml:
11514         * docs/gst/tmpl/gstutils.sgml:
11515         * docs/gst/tmpl/gstxml.sgml:
11516         * gst/gsterror.c:
11517         * gst/gsterror.h:
11518         * gst/gstfilter.c:
11519         * gst/gsturi.c:
11520         * gst/gsturitype.c:
11521         * gst/gstutils.c:
11522         * gst/gstxml.c:
11523           inlined more docs, fixed double id-ref
11524
11525 2005-08-31  Wim Taymans  <wim@fluendo.com>
11526
11527         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11528         (gst_base_transform_handle_buffer):
11529         Passthrough elements don't need the caps as they don't care.
11530
11531 2005-08-31  Wim Taymans  <wim@fluendo.com>
11532
11533         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11534         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11535         Don't leak refcounts on buffers.
11536
11537 2005-08-31  Wim Taymans  <wim@fluendo.com>
11538
11539         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11540         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11541         (gst_base_transform_chain), (gst_base_transform_change_state):
11542         * gst/base/gstbasetransform.h:
11543         Handle the case where we are not negotiated more gracefully.
11544
11545 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11546
11547         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11548         (gst_file_src_map_region):
11549           Set READONLY flag on mmap'ed buffers, otherwise
11550           gst_buffer_make_writable() won't work properly (#314708).
11551
11552 2005-08-31  Wim Taymans  <wim@fluendo.com>
11553
11554         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11555         passthrough elements can even do inplace on non writable
11556         buffers (as they don't touch them).
11557
11558 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11559
11560         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11561         (gst_test_mono_source_set_property),
11562         (gst_test_mono_source_class_init), (GST_START_TEST),
11563         (gst_controller_suite):
11564           more tests (hehe I have the most)
11565         * gst/gstbus.c:
11566           describe popping messages whenusing mulltiple sources
11567         * libs/gst/controller/gst-controller.c:
11568         (gst_controlled_property_set_interpolation_mode),
11569         (gst_controlled_property_new):
11570         * libs/gst/controller/gst-controller.h:
11571         * libs/gst/controller/gst-interpolation.c:
11572           implement boolean properties
11573
11574 2005-08-31  Wim Taymans  <wim@fluendo.com>
11575
11576         * gst/gstminiobject.c: (gst_mini_object_ref):
11577         Cannot assert that the refcount has to be positive
11578         since a disposed object can be resurrected.
11579
11580 2005-08-31  Wim Taymans  <wim@fluendo.com>
11581
11582         * gst/gstpad.c: (gst_pad_init):
11583         Revert change, need to first fix badly behaving 
11584         apps.
11585
11586 2005-08-30  Wim Taymans  <wim@fluendo.com>
11587
11588         * check/elements/fakesrc.c: (setup_fakesrc):
11589         * check/elements/identity.c: (setup_identity):
11590         Activate pads before using them.
11591
11592 2005-08-30  Wim Taymans  <wim@fluendo.com>
11593
11594         * gst/base/gstadapter.c: (gst_adapter_flush):
11595         Flushing out 0 bytes is ok for this function.
11596
11597         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11598         no newsegment gives a warning and sets the start/stop to 
11599         invalid.
11600
11601         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11602         (gst_base_transform_set_passthrough):
11603         Some debug info.
11604
11605         * gst/gstminiobject.c: (gst_mini_object_ref):
11606         Check refcount here too.
11607
11608         * gst/gstpad.c: (gst_pad_init):
11609         Pads are initially flushing and refusing data.
11610
11611         * gst/gstutils.c: (gst_element_link_pads_filtered):
11612         When adding a capsfilter element make sure it has the
11613         same state as the parent bin.
11614
11615 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11616
11617         * docs/gst/tmpl/.cvsignore:
11618         * docs/gst/tmpl/gstformat.sgml:
11619         * docs/gst/tmpl/gstversion.sgml:
11620         * gst/gstbus.h:
11621         * gst/gstformat.c:
11622         * gst/gstformat.h:
11623         * gst/gstversion.h.in:
11624           more docs and two more inlined
11625
11626 2005-08-30  Wim Taymans  <wim@fluendo.com>
11627
11628         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11629         Don't sync to clock.
11630
11631 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11632
11633         * docs/gst/gstreamer-sections.txt:
11634           ultral33t func10ns deserve to appear in the docs actually
11635         * docs/gst/tmpl/.cvsignore:
11636         * docs/gst/tmpl/gstcompat.sgml:
11637         * docs/gst/tmpl/gstconfig.sgml:
11638         * gst/check/gstcheck.c:
11639         * gst/gstcompat.h:
11640         * gst/gstconfig.h.in:
11641           inlined more docs
11642
11643 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11644
11645         * docs/gst/tmpl/.cvsignore:
11646         * docs/gst/tmpl/gstquery.sgml:
11647         * docs/gst/tmpl/gstutils.sgml:
11648         * gst/gstquery.c:
11649         * gst/gstquery.h:
11650           inlined and extended docs
11651
11652 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11653
11654         * check/gst-libs/controller.c: (GST_START_TEST),
11655         (gst_controller_suite):
11656           more tests
11657         * docs/gst/tmpl/gstutils.sgml:
11658         * docs/libs/gstreamer-libs-sections.txt:
11659         * docs/libs/tmpl/gstdataprotocol.sgml:
11660           include path fixes
11661         * examples/controller/audio-example.c: (main):
11662           controller example works now
11663         * gst/gstclock.h:
11664           doc fixes
11665         * tools/gst-inspect.c: (print_element_properties_info):
11666           show param spec flags
11667
11668 2005-08-29  Andy Wingo  <wingo@pobox.com>
11669
11670         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11671
11672 2005-08-28  Andy Wingo  <wingo@pobox.com>
11673
11674         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11675         as having two arguments instead of just one. Allows superclasses
11676         to access information on subclasses -- see the terrible for() loop
11677         in gtype.c:g_type_create_instance for the reason why. All callers
11678         changed.
11679
11680 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11681
11682         * docs/design/part-messages.txt:
11683           update info
11684         * docs/gst/tmpl/.cvsignore:
11685         * docs/gst/tmpl/gstcaps.sgml:
11686         * docs/gst/tmpl/gstclock.sgml:
11687         * gst/gstbus.c:
11688         * gst/gstcaps.c:
11689         * gst/gstcaps.h:
11690         * gst/gstclock.c:
11691         * gst/gstclock.h:
11692         * gst/gstmessage.c:
11693           added descriptions for bus and message
11694           inline caps and clock docs
11695
11696 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11697
11698         * gst/gstmessage.c:
11699         * gst/gstmessage.h:
11700           doc fixes
11701
11702 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11703
11704         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11705           fix div-by-zero
11706
11707 2005-08-26  Andy Wingo  <wingo@pobox.com>
11708
11709         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11710         element_set_state's return val.
11711         (test_2_elements): Add test that's been disabled for months.
11712
11713         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11714         can-activate-pull properties.
11715
11716         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11717         can-activate-pull properties. Implement is_seekable so fakesrc can
11718         operate in pull mode.
11719
11720         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11721         properties.
11722         (gst_base_sink_activate, gst_base_sink_activate_pull)
11723         (gst_base_sink_activate_push): Make activation mode choosing work.
11724         Cleanups.
11725         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11726         is right. Make pull mode work. Post an eos before pausing in pull
11727         mode.
11728         (gst_base_sink_change_state): Pay attention to the core's
11729         change_state() return val.
11730         
11731         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11732         has-getrange properties. Cleanups.
11733         
11734         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11735         has_getrange and replace with can_activate_pull and
11736         can_activate_push.
11737
11738         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11739         locking comments. Remove has_loop, has_chain and replace with
11740         can_activate_pull and can_activate_push.
11741
11742 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11743
11744         * configure.ac:
11745         * examples/Makefile.am:
11746         * examples/metadata/Makefile.am:
11747         * examples/metadata/read-metadata.c: (message_loop),
11748         (have_pad_handler), (make_pipeline), (print_tag), (main):
11749           Add metadata reading example that loops over a list of filenames,
11750           dumping any tags found.
11751
11752         * gst/gstbus.c: (gst_bus_dispose):
11753         * gst/gstelement.c: (gst_element_dispose):
11754           Release a few potentially-held references in dispose.
11755
11756 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11757
11758         * docs/gst/tmpl/gstminiobject.sgml:
11759           do *not* add tmpl/*.sgml files to CVS!
11760
11761 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11762
11763         * libs/gst/bytestream/.cvsignore:
11764         * libs/gst/bytestream/Makefile.am:
11765         * libs/gst/bytestream/adapter.c:
11766         * libs/gst/bytestream/adapter.h:
11767         * libs/gst/bytestream/bytestream.c:
11768         * libs/gst/bytestream/bytestream.h:
11769         * libs/gst/bytestream/filepad.c:
11770         * libs/gst/bytestream/filepad.h:
11771           removing obsolete files
11772
11773 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11774
11775         * docs/gst/gstreamer-docs.sgml:
11776         * docs/libs/gstreamer-libs-docs.sgml:
11777           disabed additional index entries again, as this makes docs-gen just
11778           slow and they aren't useful yet
11779         * docs/libs/gstreamer-libs-sections.txt:
11780           little -section.txt cleanup for libs
11781
11782 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11783
11784         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11785         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11786           fix up some debugging
11787         (gst_base_transform_get_unit_size),
11788         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11789         (gst_base_transform_handle_buffer):
11790         * gst/base/gstbasetransform.h:
11791           handle and store timed NEWSEGMENT events so that subclasses that
11792           calculate time by counting samples have a segment_start time they
11793           need to add to their timestamps - see audioresample
11794
11795 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11796
11797         * gst/gstbin.h:
11798           removed ';' from the end of macro defs
11799         * docs/gst/gstreamer-docs.sgml:
11800         * docs/gst/gstreamer-sections.txt:
11801         * docs/gst/tmpl/.cvsignore:
11802         * gst/gstbus.h:
11803         * gst/gstelement.c: (gst_element_class_init),
11804         (gst_element_set_state), (activate_pads),
11805         (gst_element_save_thyself):
11806         * gst/gstevent.c: (gst_event_new_newsegment):
11807         * gst/gstevent.h:
11808         * gst/gstiterator.c:
11809         * gst/gstiterator.h:
11810         * gst/gstpad.c:
11811         * gst/gstprobe.h:
11812         * gst/gstutils.c: (gst_pad_query_convert):
11813         * gst/gstutils.h:
11814           fixed parameter name mismatches between source, header and docs
11815           added some more docs, resolved the last batch of unused elements in
11816           docs (now someone needs to doc them)
11817
11818 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11819
11820         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11821         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11822           don't walk through the plugins backwards.  Where is all this
11823           reversed logic coming from ?
11824
11825 2005-08-25  Wim Taymans  <wim@fluendo.com>
11826
11827         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11828         (gst_base_transform_transform_size),
11829         (gst_base_transform_configure_caps),
11830         (gst_base_transform_get_unit_size),
11831         (gst_base_transform_buffer_alloc),
11832         (gst_base_transform_change_state):
11833         * gst/base/gstbasetransform.h:
11834         Cache caps unit_size.
11835         Make sure we cannot negotiate up and downstream at the
11836         same time.
11837
11838 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11839
11840         * gst/gst.c: (init_pre), (init_post):
11841           register the installed plugin path after the env var
11842         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11843         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11844           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11845           directories, so the tests can prefer uninstalled over installed
11846
11847 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11848
11849         * gst/base/gstbasetransform.h:
11850           comment
11851         * gst/gstpad.c:
11852           add to docs
11853
11854 2005-08-25  Wim Taymans  <wim@fluendo.com>
11855
11856         * gst/gstbin.c: (bin_bus_handler):
11857         Be a bit more conservative about the posted message.
11858         
11859         * gst/gstbus.c: (gst_bus_post):
11860         Some cleanups, warn wrong return values.
11861
11862 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11863
11864         * check/gst/gstbin.c: (GST_START_TEST):
11865         * gst/gstbin.c: (bin_bus_handler):
11866         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11867         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11868         (gst_message_new_warning), (gst_message_new_tag),
11869         (gst_message_new_state_changed), (gst_message_new_segment_start),
11870         (gst_message_new_segment_done), (gst_message_new_custom):
11871         * gst/gstmessage.h:
11872         * tools/gst-launch.c: (event_loop):
11873         * tools/gst-md5sum.c: (event_loop):
11874           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11875
11876 2005-08-25  Wim Taymans  <wim@fluendo.com>
11877
11878         * check/generic/states.c: (GST_START_TEST):
11879         Cleanup can be done at the end.
11880
11881         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11882         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11883         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11884         Oh boy.. Thanks for finding this, Thomas. 
11885
11886 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11887
11888         * docs/gst/gstreamer.types:
11889           added missing types
11890
11891 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11892
11893         * docs/gst/gstreamer-docs.sgml:
11894         * docs/gst/gstreamer-sections.txt:
11895         * docs/gst/tmpl/.cvsignore:
11896         * gst/gstbin.c:
11897         * gst/gstiterator.c:
11898         * gst/gstutils.c:
11899         * gst/registries/gstxmlregistry.h:
11900           added missing classes and symbols (123 more to go)
11901           removed removed symbols from section file
11902           fixed many doc-comments
11903
11904 2005-08-24  Wim Taymans  <wim@fluendo.com>
11905
11906         * check/generic/states.c: (GST_START_TEST):
11907         Make sure all tasks are stopped.
11908
11909         * check/gst/gstbin.c: (GST_START_TEST):
11910         Unref after usage for proper valgrinding.
11911
11912         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11913         Really wait for the task to stop before destroying the
11914         mutex.
11915
11916         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11917         (gst_queue_src_activate_push):
11918         Small cleanups. Don't stop the task when we did not start
11919         it.
11920
11921         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11922         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11923         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11924         (gst_task_join):
11925         * gst/gsttask.h:
11926         Protect the stream lock with the object lock.
11927         Disallow setting the stream lock when running.
11928         Add cleanup_all to wait for the threadpool to finish.
11929         Remove code to autoallocate a mutex if none was provided.
11930         Add _join() to wait for a task to stop.
11931         Protect the thread pool with a global lock.
11932
11933 2005-08-24  Wim Taymans  <wim@fluendo.com>
11934
11935         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11936         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11937         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11938         * gst/base/gstbasesink.h:
11939         Handle newsegment events correctly.
11940         Drop buffers out of the segment range.
11941
11942 2005-08-22  Andy Wingo  <wingo@pobox.com>
11943
11944         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11945         macro, implements an interface and gstimplementsinterface for a
11946         new type.
11947
11948 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11949
11950         * check/Makefile.am:
11951         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11952           add a test that does a bunch of state changes on elements
11953           needs some fixing for valgrind
11954         * check/states/sinks.c: (gst_object_suite):
11955           whitespace
11956         * gst/gstcaps.h:
11957           add prototype for gst_caps_is_equal_fixed
11958         * gst/gstplugin.c:
11959         * gst/gstregistrypool.c:
11960           doc fixes
11961
11962 2005-08-24  Andy Wingo  <wingo@pobox.com>
11963
11964         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11965         convert a negative value. Doesn't make much sense. Mostly this is
11966         here to force callers to ensure -1 maps to -1.
11967
11968 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11969
11970         * docs/pwg/advanced-types.xml:
11971           Well done to Michael for catching my deliberate introduction
11972           of this spelling mistake. 
11973         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11974         * gst/gstelement.h:
11975           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11976           unlink pads before removing the element from the bin.
11977
11978 2005-08-24  Andy Wingo  <wingo@pobox.com>
11979
11980         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11981         the same thing as GST_DEBUG=*:4.
11982         (parse_debug_level, parse_debug_category): New helper parsers.
11983
11984 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11985
11986         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11987         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11988         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11989         (gst_base_transform_buffer_alloc),
11990         (gst_base_transform_handle_buffer):
11991           use gboolean return values and pointers to size so we can use the
11992           full GST_BUFFER_SIZE range (guint) for buffer sizes
11993           use GstPadDirection for transform_caps
11994         * gst/base/gstbasetransform.h:
11995           rename get_size to get_unit_size since that's what it is
11996         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11997           use GstPadDirection for transform_caps
11998         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11999         * gst/gstutils.h:
12000           cleanup and debugging
12001
12002 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12003
12004         * gst/gstelement.c: (gst_element_class_init),
12005         (gst_element_set_state), (activate_pads),
12006         (gst_element_save_thyself):
12007         * tools/gst-compprep.c: (main):
12008         * tools/gst-inspect.c: (print_element_properties_info):
12009         * tools/gst-xmlinspect.c: (print_element_properties):
12010           Fixed long standing mem-leak
12011
12012 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12013
12014         * check/gst/gstbin.c: (GST_START_TEST):
12015         * gst/gstbin.c: (bin_bus_handler):
12016         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12017         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12018         (gst_message_new_warning), (gst_message_new_tag),
12019         (gst_message_new_state_changed), (gst_message_new_segment_start),
12020         (gst_message_new_segment_done), (gst_message_new_custom):
12021         * gst/gstmessage.h:
12022         * tools/gst-launch.c: (event_loop):
12023         * tools/gst-md5sum.c: (event_loop):
12024           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12025           that applications can sensibly post custom messages with references
12026           to their own objects.
12027
12028 2005-08-24  Andy Wingo  <wingo@pobox.com>
12029
12030         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12031         already.
12032
12033 2005-08-24  Wim Taymans  <wim@fluendo.com>
12034
12035         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12036         (gst_base_transform_transform_caps),
12037         (gst_base_transform_transform_size),
12038         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12039         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12040         (gst_base_transform_handle_buffer):
12041         * gst/base/gstbasetransform.h:
12042         Many fixes and new features added by Thomas. Can now also do
12043         transforms with variable sizes and a custom fixate_caps function.
12044
12045 2005-08-24  Wim Taymans  <wim@fluendo.com>
12046
12047         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12048         Some debugging.
12049
12050         * gst/gstclock.h:
12051         Cast to ClockTime before formatting to time.
12052
12053         * gst/gstutils.h:
12054         Cleanups.
12055
12056 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12057
12058         * check/gst-libs/controller.c: (GST_START_TEST),
12059         (gst_controller_suite):
12060         * docs/gst/tmpl/gstcaps.sgml:
12061         * docs/gst/tmpl/gstghostpad.sgml:
12062         * docs/gst/tmpl/gstquery.sgml:
12063         * docs/gst/tmpl/gstutils.sgml:
12064         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12065         (gst_object_sink_values), (gst_object_get_value_arrays),
12066         (gst_object_get_value_array):
12067           gracefully handle helper method calls to objects that are not beeing
12068           controlled, added test case for that          
12069
12070 2005-08-23  Wim Taymans  <wim@fluendo.com>
12071
12072         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12073         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12074         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12075         (gst_event_parse_qos), (gst_event_new_seek),
12076         (gst_event_parse_seek):
12077         * gst/gstevent.h:
12078         Some more debugging output and doc cleanups.
12079
12080         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12081         Fix possible deadlock.
12082
12083 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12084
12085         * docs/gst/gstreamer-docs.sgml:
12086         * docs/gst/gstreamer-sections.txt:
12087         * docs/gst/gstreamer.types:
12088         * docs/gst/tmpl/.cvsignore:
12089         * gst/gstbin.h:
12090         * gst/gstbus.c:
12091         * gst/gstelement.c:
12092         * gst/gstevent.h:
12093           added 100 symbols from gstreamer-unused.txt to the right sections
12094           fixed more broken comments
12095           added GstBus to docs
12096
12097 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12098
12099         * docs/gst/gstreamer-sections.txt:
12100         * docs/gst/tmpl/.cvsignore:
12101         * docs/gst/tmpl/gstbin.sgml:
12102         * docs/gst/tmpl/gstbuffer.sgml:
12103         * gst/base/gstbasesrc.c:
12104         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12105         * gst/gstbuffer.c:
12106         * gst/gstbuffer.h:
12107         * tools/gst-launch.1.in:
12108           inlined more doc comments, added missing comments and fixed comments
12109           fixed typos
12110
12111 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12112
12113         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12114           some debugging
12115         * gst/gstcaps.h:
12116           whitespace fixes
12117         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12118           more debugging
12119         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12120         * gst/gststructure.h:
12121           add a fixate function for booleans; add a FIXME that these func
12122           names should probably be gst_structure_fixate_*
12123
12124 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12125
12126         * docs/gst/gstreamer-docs.sgml:
12127         * docs/gst/gstreamer-sections.txt:
12128         * gst/Makefile.am:
12129         * gst/gstbin.c: (gst_bin_get_type),
12130         (gst_bin_child_proxy_get_child_by_index),
12131         (gst_bin_child_proxy_get_children_count),
12132         (gst_bin_child_proxy_init):
12133         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12134         (gst_child_proxy_get_child_by_index),
12135         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12136         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12137         (gst_child_proxy_get), (gst_child_proxy_set_property),
12138         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12139         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12140         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12141         * gst/gstchildproxy.h:
12142         * gst/parse/grammar.y:
12143         * tools/gst-inspect.c: (print_interfaces),
12144         (print_element_properties_info), (print_element_info):
12145           ported gstchildproxy over from 0.8
12146           ported gst-inspect fixes and enhancements over from 0.8
12147
12148 2005-08-22  Wim Taymans  <wim@fluendo.com>
12149
12150         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12151         (gst_base_transform_handle_buffer):
12152         Also call the transform function if we have ANY caps.
12153
12154         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12155         Fix debug info.
12156
12157 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12158
12159         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12160           Don't pretend to handle seek events if the source is not seekable
12161
12162 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12163
12164         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12165           Remove extra parameter to debug output
12166
12167         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12168         (gst_base_src_do_seek), (gst_base_src_activate_push):
12169           Fix seek event handling.
12170
12171         * gst/gstpipeline.c: (gst_pipeline_change_state):
12172         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12173         (gst_queue_src_activate_push):
12174           Don't start the src pad task on FLUSH_STOP if the pad
12175           isn't linked.
12176           Debug changes.
12177
12178 2005-08-22  Wim Taymans  <wim@fluendo.com>
12179
12180         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12181         Added check for gst_static_caps_get() refcounting.
12182
12183 2005-08-22  Wim Taymans  <wim@fluendo.com>
12184
12185         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12186         Make _static_caps_get() refcounting sane.
12187         
12188         * gst/gstelement.c: (gst_element_set_state):
12189         Add g_return_val_if_fail() to protect against segfaults.
12190
12191 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12192
12193         * docs/gst/tmpl/gstevent.sgml:
12194         * gst/gstevent.c:
12195         * gst/gstevent.h:
12196           inlined remaining docs, added missing doc comments
12197
12198 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12199
12200         * check/gst/gstbin.c: (GST_START_TEST):
12201           since we don't know when preroll is done, use refcount range
12202           check for the sink
12203         * gst/check/gstcheck.h:
12204           add macro for checking refcount range
12205
12206 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12207
12208         * check/Makefile.am:
12209           clean up environment for when registry gets built versus
12210           when actual tests are run; valgrind seems to not report
12211           leaks if GST_PLUGIN_PATH is set to some specific values
12212         * check/gst/gstbin.c: (GST_START_TEST):
12213           add more refcounting checks; maybe this exposes a
12214           preroll lock bug ?
12215         * common/check.mak:
12216         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12217         * gst/check/gstcheck.h:
12218         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12219         (gst_bin_change_state):
12220         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12221           add/fix debugging/whitespace
12222
12223 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12224
12225         * check/gst/gstevent.c: (event_probe), (test_event),
12226         (GST_START_TEST):
12227          Er, don't call gst_bin_watch_for_state_change you idiot.
12228
12229 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12230
12231         * check/Makefile.am:
12232           Use CHECK_CFLAGS and CHECK_LIBS
12233         * check/gst/gstevent.c: (event_probe), (test_event),
12234         (GST_START_TEST):
12235           Don't leak events.
12236         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12237         (gst_base_src_start), (gst_base_src_stop),
12238         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12239         (gst_base_src_change_state):
12240           Sprinkle gst_base_src_stop liberally around error paths to fix
12241           problems reusing a source after failed state changes.
12242         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12243         (helper_find_suggest), (gst_type_find_helper):
12244           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12245         * gst/gstevent.h:
12246         * docs/gst/tmpl/gstevent.sgml:
12247           Migrate part of the docs from the SGML file. Wait for ensonic to
12248           tell me how I did it wrong ;)
12249         * tools/gst-typefind.c: (main):
12250           Extra robustness to state changes between files.
12251
12252 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12253
12254         * check/Makefile.am:
12255           don't valgrind the controller test - it's leaking - Stefan, HELP
12256         * gst/check/gstcheck.c: (gst_check_message_error),
12257         (gst_check_chain_func), (gst_check_setup_element),
12258         (gst_check_teardown_element), (gst_check_setup_src_pad),
12259         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12260         (gst_check_teardown_sink_pad):
12261         * gst/check/gstcheck.h:
12262           add a bunch of methods to set up elements, and src and sink pads
12263         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12264         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12265         (GST_START_TEST):
12266           use them
12267         * gst/gstmessage.c:
12268         * gst/gsttag.h:
12269           whitespace/doc fixes
12270
12271 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12272
12273         * gst/gstelement.h:
12274           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12275           be handled by the application and not always printed as well
12276
12277 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12278
12279         * check/Makefile.am:
12280           set GST_TOOLS_DIR
12281         * gst/check/gstcheck.c: (gst_check_message_error):
12282         * gst/check/gstcheck.h:
12283           add a fail_unless_equals_int
12284           add fail_unless for error messages
12285
12286 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12287
12288         * check/Makefile.am:
12289         * check/gst.supp:
12290         * common/Makefile.am:
12291         * common/check.mak:
12292         * common/gst.supp:
12293           factor out some of the common stuff so we can use it
12294
12295 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12296
12297         * check/Makefile.am:
12298         * check/gst/gstiterator.c: (GST_START_TEST):
12299         * check/gst/gstsystemclock.c: (GST_START_TEST),
12300         (gst_systemclock_suite):
12301         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12302         * gst/gstclock.c:
12303           valgrind more tests
12304
12305 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12306
12307         * check/elements/.cvsignore:
12308         * check/elements/gstfakesrc.c:
12309           rename to name of element
12310         * check/elements/identity.c: (chain_func), (event_func),
12311         (setup_identity), (cleanup_identity), (GST_START_TEST),
12312         (identity_suite), (main):
12313           add a test for identity
12314         * check/Makefile.am:
12315         * pkgconfig/Makefile.am:
12316         * pkgconfig/gstreamer-check.pc.in:
12317         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12318         * gst/check:
12319         * gst/Makefile.am:
12320         * configure.ac:
12321           move the check stuff to a library that gets installed
12322         * check/gst-libs/controller.c: (GST_START_TEST):
12323         * check/gst-libs/gdp.c:
12324         * check/gst/gst.c: (GST_START_TEST):
12325         * check/gst/gstbin.c:
12326         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12327         * check/gst/gstbus.c:
12328         * check/gst/gstcaps.c: (GST_START_TEST):
12329         * check/gst/gstelement.c:
12330         * check/gst/gstghostpad.c:
12331         * check/gst/gstiterator.c:
12332         * check/gst/gstmessage.c:
12333         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12334         * check/gst/gstobject.c:
12335         * check/gst/gstpad.c: (GST_START_TEST):
12336         * check/gst/gststructure.c: (GST_START_TEST):
12337         * check/gst/gstsystemclock.c: (GST_START_TEST),
12338         (gst_systemclock_suite):
12339         * check/gst/gsttag.c: (gst_tag_suite):
12340         * check/gst/gstvalue.c:
12341         * check/pipelines/cleanup.c:
12342         * check/pipelines/simple_launch_lines.c:
12343         * check/states/sinks.c:
12344           change include statement
12345
12346         * docs/gst/gstreamer-sections.txt:
12347         * docs/gst/tmpl/gstpad.sgml:
12348           document more pad stuff
12349         * gst/gstminiobject.c: (gst_mini_object_ref),
12350         (gst_mini_object_unref):
12351           debug refcounting
12352
12353 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12354
12355         * docs/gst/tmpl/gst.sgml:
12356         * gst/gst.c:
12357           eliminate another tmpl file, fix spelling in the long-description
12358
12359 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12360
12361         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12362         (test_event), (timediff), (gstevents_suite):
12363           Should fix build on 64-bit arch's
12364
12365 2005-08-18  Andy Wingo  <wingo@pobox.com>
12366
12367         Make sure that when a pipeline goes to PLAYING, that data has
12368         actually hit the sink.
12369
12370         * check/states/sinks.c (test_sink): A sink that doesn't get any
12371         data shouldn't return SUCCESS for going to either PLAYING or
12372         PAUSED. Test also the return values on the way back down.
12373
12374         * gst/gstelement.c (gst_element_set_state): When changing the
12375         state of an element currently changing state asynchronously, go to
12376         lost-state after commiting the pending state. Makes future calls
12377         to get_state continue to return ASYNC.
12378
12379         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12380         ASYNC when going to PLAYING if we still don't have preroll, as can
12381         happen with live sources.
12382
12383 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12384
12385         * docs/pwg/advanced-types.xml:
12386           Hack long paragraph into 2 chunks as a workaround for buggy
12387           jadetex version in sid and breezy that loops infinitely and
12388           eats all RAM.
12389
12390 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12391
12392         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12393         (test_event), (timediff), (gstevents_suite):
12394           Provide more error margin in clock measurements to allow for 
12395           g_get_current_time inaccuracies.
12396
12397 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12398
12399         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12400         (test_event), (timediff), (gstevents_suite):
12401            Fix error message output so I might be able to tell why the
12402            test works here but fails on the build farm.
12403
12404 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12405
12406         * check/Makefile.am:
12407         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12408         (test_event), (timediff), (gstevents_suite), (main):
12409           I wrote a test!
12410
12411         * docs/design/part-seeking.txt:
12412           Spelling correction
12413
12414         * docs/gst/tmpl/gstevent.sgml:
12415         * docs/gst/tmpl/gstfakesrc.sgml:
12416           Docs updates.
12417
12418         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12419           Treat a buffer-without-newsegment the same as a receiving 
12420           a newsegment not in time format, and disable syncing to the clock
12421           with a warning.
12422
12423         * gst/gstbus.c: (gst_bus_set_sync_handler):
12424           Assert if anyone tries to replace the existing sync_handler for bus, 
12425           as only the owner should be setting it.
12426
12427         * gst/gstevent.h:
12428           Have a fixed set of custom event enums with events identified by
12429           their structure name (as in 0.8), rather than a free-for-all
12430           allowing collisions between enum values from different plugins.
12431
12432         * gst/gstpad.c: (gst_pad_class_init):
12433           Docs change.
12434           
12435         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12436           Handle out-of-band downstream events from the sending thread.
12437
12438 2005-08-17  Andy Wingo  <wingo@pobox.com>
12439
12440         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12441         play-timeout==0 to mean no timeout at all. In that case, don't
12442         bother with a get_state or a warning, just return directly, even
12443         if it's ASYNC.
12444
12445         * gst/base/gstbasetransform.c: Debug changes.
12446
12447         * gst/gstutils.h:
12448         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12449         ensure bins post state change messages. A bit of a hack but I can't
12450         think of a way to avoid it.
12451
12452         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12453
12454 2005-08-16  Andy Wingo  <wingo@pobox.com>
12455
12456         * gst/base/gstadapter.h:
12457         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12458         peek() but you own the data. Not terribly efficient atm.
12459
12460 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12461
12462         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12463         (gst_element_found_tags):
12464         * gst/gstutils.h:
12465           Add two utility functions for tag handling.
12466
12467 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12468
12469         * docs/manual/advanced-dataaccess.xml:
12470         * docs/manual/basics-helloworld.xml:
12471           Fix docs to use _bin_add() before _link(), which fixes the examples
12472           with recent core versions (reported by Madhan Raj M
12473           <raj_madan@rediffmail.com>, #313199).
12474
12475 2005-08-16  Wim Taymans  <wim@fluendo.com>
12476
12477         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12478         Added subtract checks.
12479
12480         * docs/design/part-events.txt:
12481         Some more docs about newsegment
12482
12483         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12484         Fix FIXME
12485
12486         * gst/gstcaps.c: (gst_caps_to_string):
12487         Add comments, cleanups.
12488         
12489         * gst/gstelement.c: (gst_element_save_thyself):
12490         cleanups
12491         
12492         * gst/gstvalue.c: (gst_value_collect_int_range),
12493         (gst_string_unwrap), (gst_value_union_int_int_range),
12494         (gst_value_union_int_range_int_range),
12495         (gst_value_intersect_int_int_range),
12496         (gst_value_intersect_int_range_int_range),
12497         (gst_value_intersect_double_double_range),
12498         (gst_value_intersect_double_range_double_range),
12499         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12500         (gst_value_subtract_int_range_int),
12501         (gst_value_subtract_double_range_double),
12502         (gst_value_subtract_double_range_double_range),
12503         (gst_value_subtract_from_list), (gst_value_subtract_list),
12504         (gst_value_can_compare), (gst_value_compare_fraction):
12505         Cleanups, add comments, remove unneeded asserts.
12506
12507 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12508
12509         * tools/gst-launch.c: (event_loop):
12510           don't convert NULL structures to strings
12511
12512 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12513
12514         * docs/gst/gstreamer-sections.txt:
12515           made some defines private
12516         * docs/gst/tmpl/gstconfig.sgml:
12517         * docs/gst/tmpl/gstqueue.sgml:
12518         * docs/gst/tmpl/gsttaglist.sgml:
12519         * docs/gst/tmpl/gsttypes.sgml:
12520         * docs/gst/tmpl/gstutils.sgml:
12521         * docs/pwg/appendix-porting.xml:
12522         * gst/base/gstbasesink.h:
12523         * gst/base/gstbasesrc.c:
12524         * gst/base/gstbasesrc.h:
12525         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12526         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12527         * gst/gstelement.c: (gst_element_class_init):
12528         * gst/gstpad.c: (gst_pad_class_init):
12529         * gst/gstqueue.c: (gst_queue_class_init):
12530         * gst/gstxml.c: (gst_xml_class_init):
12531           documented all undocumented signal inline
12532         * libs/gst/controller/gst-controller.h:
12533           added padding
12534
12535 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12536
12537         * docs/pwg/appendix-porting.xml:
12538           Document _set_link_function -> _set_setcaps_function.
12539
12540 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12541
12542         * check/Makefile.am:
12543           add a .check target for running the check
12544         * check/gst-libs/controller.c: (GST_START_TEST):
12545           cosmetic fixups
12546         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12547           complete checks for gstbuffer; would be nice if I could get the
12548           gcov stuff to work so I can see if I actually completed gstbuffer.c
12549         * check/gstcheck.h:
12550           add ASSERT_BUFFER_REFCOUNT
12551
12552 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12553
12554         * docs/gst/gstreamer-sections.txt:
12555         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12556         * gst/gsttag.h:
12557           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12558           spew out a warning if a tag that is already registered
12559           is re-registered, unless it is re-registered with a 
12560           different type (#308438).
12561
12562 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12563
12564         * docs/pwg/appendix-porting.xml:
12565         * docs/pwg/building-state.xml:
12566           Add some paragraphs about state changes in 0.9 to the PWG
12567           and the porting guide, in particular about the new meaning
12568           of GST_STATE_PAUSED and how to write state change functions
12569           with concurrent access by multiple threads in mind.
12570
12571 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12572
12573         * docs/gst/gstreamer-docs.sgml:
12574         * docs/libs/gstreamer-libs-docs.sgml:
12575           added deprecation and since indexes
12576         * libs/gst/controller/gst-controller.c:
12577         * libs/gst/controller/gst-helper.c:
12578           added since tags
12579
12580
12581 2005-08-11  Wim Taymans  <wim@fluendo.com>
12582
12583         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12584         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12585         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12586         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12587         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12588         (gst_ghost_pad_set_target):
12589         Actually implement (re)setting the target on a ghostpad
12590         as described in the docs.
12591
12592 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12593
12594         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12595           Check whether GST_DEBUG_NO_COLOR environment variable is
12596           set and disable coloured debug output if that is the case.
12597
12598 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12599
12600         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12601         (gst_type_find_helper):
12602           The memory returned by gst_type_find_peek() needs to
12603           stay valid until the end of a typefind function, and
12604           typefind functions may keep results from different 
12605           offsets around, so we can't just unref the buffer from
12606           the previous _peek(), but have to save all buffers 
12607           returned by _peek() until typefinding is done and only
12608           free them then.
12609
12610 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12611
12612         * docs/gst/gstreamer-sections.txt:
12613         * gst/gstutils.h:
12614           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12615
12616 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12617
12618         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12619           Fix a pretty good memleak.
12620
12621 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12622
12623         * gst/gstiterator.h:
12624           Fix wrong include and 'make distcheck'.
12625
12626 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12627
12628         * gst/gstbin.c: (bin_bus_handler):
12629           Use gst_element_post_message() instead.
12630
12631 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12632
12633         * gst/base/gstadapter.h:
12634         * gst/base/gstbasesink.h:
12635         * gst/base/gstbasesrc.h:
12636         * gst/base/gstbasetransform.h:
12637         * gst/base/gstcollectpads.h:
12638         * gst/base/gstpushsrc.h:
12639         * gst/gstiterator.h:
12640           Add padding to our base elements' class and instance structs and
12641           to GstIterator (you will need to rebuild all plugins and apps!)
12642
12643 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12644
12645         * gst/gstbin.c: (bin_bus_handler):
12646           Make default message forwarding from child->bus to bin->bus
12647           threadsafe and make it not emit warnings if the parent has no bus.
12648
12649 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12650
12651         * gst/gstelement.c: (activate_pads):
12652           On paused->ready, set pad->caps to NULL, as is the documented
12653           behaviour in this state change. Fixes playback of series of
12654           media files when visualization is enabled in Totem.
12655
12656 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12657
12658         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12659           Allow NULL as filter-caps (which means "any").
12660
12661 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12662
12663         * docs/libs/gstreamer-libs-sections.txt:
12664         * libs/gst/controller/gst-controller.c:
12665         * libs/gst/controller/gst-controller.h:
12666         * libs/gst/controller/gst-helper.c:
12667           adding more entries to the docs and fix small doc-bugs
12668
12669 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12670
12671         * docs/gst/gstreamer-docs.sgml:
12672         * docs/gst/gstreamer-sections.txt:
12673         * docs/gst/gstreamer.types:
12674         * docs/gst/tmpl/gstbasesink.sgml:
12675         * docs/gst/tmpl/gstbasesrc.sgml:
12676         * docs/gst/tmpl/gstbasetransform.sgml:
12677         * docs/gst/tmpl/gstfakesrc.sgml:
12678         * gst/base/gstcollectpads.c:
12679         * gst/base/gstcollectpads.h:
12680         * libs/gst/controller/gst-controller.c:
12681         * libs/gst/controller/gst-controller.h:
12682         * libs/gst/controller/gst-helper.c:
12683         * libs/gst/controller/gst-interpolation.c:
12684         * libs/gst/controller/lib.c:
12685           added long/short desc for controller docs
12686           added collectpads base class docs
12687           added correct includes to base-class docs
12688
12689 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12690
12691         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12692         (gst_test_mono_source_set_property),
12693         (gst_test_mono_source_class_init), (GST_START_TEST),
12694         (gst_controller_suite):
12695         * docs/gst/gstreamer-docs.sgml:
12696         * docs/gst/gstreamer-sections.txt:
12697         * docs/gst/gstreamer.types:
12698         * docs/libs/gstreamer-libs-docs.sgml:
12699         * docs/libs/gstreamer-libs-sections.txt:
12700         * gst/base/gstadapter.c:
12701         * libs/gst/controller/gst-controller.c:
12702         (gst_controlled_property_new), (gst_controlled_property_free),
12703         (gst_controller_new_valist),
12704         (gst_controller_remove_properties_valist),
12705         (gst_controller_sink_values), (_gst_controller_finalize):
12706         * libs/gst/controller/gst-controller.h:
12707         * libs/gst/controller/gst-helper.c:
12708         (gst_object_control_properties), (gst_object_uncontrol_properties),
12709         (gst_object_get_controller), (gst_object_set_controller),
12710         (gst_object_sink_values), (gst_object_get_value_arrays),
12711         (gst_object_get_value_array):
12712           more tests (and fixes) for the controller
12713           more docs for the controller
12714           integrated companies docs for the adapter 
12715
12716 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12717
12718         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12719         (GST_START_TEST), (fakesrc_suite):
12720           add tests for sizetype
12721
12722 2005-08-04  Andy Wingo  <wingo@pobox.com>
12723
12724         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12725         fixes buffer_alloc proxying among other things.
12726
12727         * gst/base/gstbasetransform.c:
12728         * gst/base/gstbasetransform.h:
12729         Revert patch to gstbasetransform from 7-28 removing
12730         delay_configure.
12731
12732         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12733         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12734         Semantics changed, should return not the size of the output buffer
12735         but the byte size of a buffer with a given caps.
12736
12737         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12738         debug object.
12739         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12740         out) are not the pad caps until setcaps finishes.
12741         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12742         not-in-place case as well. Deal with changing from in-place to
12743         not-in-place within calling pad_alloc_buffer. Still a bit
12744         concerned about the overhead here...
12745
12746 2005-08-03  Andy Wingo  <wingo@pobox.com>
12747
12748         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12749         fixating is an error.
12750
12751 2005-08-04  Edward Hervey  <edward@fluendo.com>
12752
12753         * gst/base/gstadapter.h: 
12754         Added gst_adapter_get_type() to the header
12755
12756 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12757
12758         * check/Makefile.am:
12759         * check/gst-libs/controller.c:
12760         * libs/gst/controller/gst-controller.c:
12761         (gst_controller_new_valist):
12762           added check test suite for the controller
12763         * gst/base/gstpushsrc.c:
12764           fixed a doc typo
12765
12766 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12767
12768         * docs/gst/Makefile.am:
12769         * docs/gst/gstreamer-docs.sgml:
12770         * docs/gst/gstreamer-sections.txt:
12771         * docs/gst/gstreamer.types:
12772         * docs/gst/tmpl/gstfakesrc.sgml:
12773         * gst/base/README:
12774         * gst/base/gstbasesink.c:
12775         * gst/base/gstbasesink.h:
12776         * gst/base/gstbasesrc.c:
12777         * gst/base/gstbasesrc.h:
12778         * gst/base/gstbasetransform.c:
12779         * gst/base/gstpushsrc.c:
12780         * gst/base/gstpushsrc.h:
12781           add short/long description docs to base classes
12782           add pushsrc to the docs
12783           remove consolidated doc fragments
12784
12785 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12786
12787         * configure.ac:
12788         * docs/libs/Makefile.am:
12789         * docs/libs/gstreamer-libs-docs.sgml:
12790         * docs/libs/gstreamer-libs-sections.txt:
12791         * docs/libs/gstreamer-libs.types:
12792         * examples/Makefile.am:
12793         * examples/controller/.cvsignore:
12794         * examples/controller/Makefile.am:
12795         * examples/controller/audio-example.c: (main):
12796         * libs/gst/Makefile.am:
12797         * libs/gst/controller/.cvsignore:
12798         * libs/gst/controller/Makefile.am:
12799         * libs/gst/controller/gst-controller.c:
12800         (on_object_controlled_property_changed), (gst_timed_value_compare),
12801         (gst_timed_value_find),
12802         (gst_controlled_property_set_interpolation_mode),
12803         (gst_controlled_property_new), (gst_controlled_property_free),
12804         (gst_controller_find_controlled_property),
12805         (gst_controller_new_valist), (gst_controller_new),
12806         (gst_controller_remove_properties_valist),
12807         (gst_controller_remove_properties), (gst_controller_set),
12808         (gst_controller_set_from_list), (gst_controller_unset),
12809         (gst_controller_get), (gst_controller_get_all),
12810         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12811         (gst_controller_get_value_array),
12812         (gst_controller_set_interpolation_mode),
12813         (_gst_controller_finalize), (_gst_controller_init),
12814         (_gst_controller_class_init), (gst_controller_get_type):
12815         * libs/gst/controller/gst-controller.h:
12816         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12817         (g_object_uncontrol_properties), (g_object_get_controller),
12818         (g_object_set_controller), (g_object_sink_values),
12819         (g_object_get_value_arrays), (g_object_get_value_array):
12820         * libs/gst/controller/gst-interpolation.c:
12821         (gst_controlled_property_find_timed_value_node),
12822         (interpolate_none_get), (interpolate_trigger_get),
12823         (interpolate_trigger_get_value_array):
12824         * libs/gst/controller/lib.c: (gst_controller_init):
12825         * pkgconfig/Makefile.am:
12826         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12827         * pkgconfig/gstreamer-control.pc.in:
12828         * testsuite/Makefile.am:
12829         * testsuite/controller/.cvsignore:
12830         * testsuite/controller/Makefile.am:
12831         * testsuite/controller/interpolator.c: (main):
12832           added controller code
12833           removed dparam pc files
12834
12835 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12836         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12837         (gst_collectpads_stop):
12838           Broadcast the condition when shutting down, to make sure we wake all
12839           threads up. Shut down pads on finalize, for safety.
12840
12841 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12842         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12843         (gst_base_transform_handle_buffer),
12844         (gst_base_transform_change_state):
12845           Handle PAUSED->READY->PAUSED transition after negotiation
12846           occurred already.
12847         * gst/gstmessage.c: (gst_message_init):
12848           Extra piece of debug for new messages.
12849
12850 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12851
12852         * configure.ac:
12853         * docs/gst/tmpl/gstbasesrc.sgml:
12854         * docs/gst/tmpl/gstelement.sgml:
12855         * docs/gst/tmpl/gstevent.sgml:
12856         * docs/gst/tmpl/gstfakesrc.sgml:
12857         * docs/gst/tmpl/gstformat.sgml:
12858         * docs/gst/tmpl/gstghostpad.sgml:
12859         * docs/gst/tmpl/gstpad.sgml:
12860         * docs/gst/tmpl/gstquery.sgml:
12861         * docs/gst/tmpl/gststructure.sgml:
12862         * docs/gst/tmpl/gsttaglist.sgml:
12863         * docs/gst/tmpl/gstvalue.sgml:
12864         * docs/libs/gstreamer-libs-docs.sgml:
12865         * docs/libs/gstreamer-libs-sections.txt:
12866         * docs/libs/gstreamer-libs.types:
12867         * libs/gst/Makefile.am:
12868         * libs/gst/control/.cvsignore:
12869         * libs/gst/control/Makefile.am:
12870         * libs/gst/control/control.c:
12871         * libs/gst/control/control.h:
12872         * libs/gst/control/dparam.c:
12873         * libs/gst/control/dparam.h:
12874         * libs/gst/control/dparam_smooth.c:
12875         * libs/gst/control/dparam_smooth.h:
12876         * libs/gst/control/dparamcommon.h:
12877         * libs/gst/control/dparammanager.c:
12878         * libs/gst/control/dparammanager.h:
12879         * libs/gst/control/dplinearinterp.c:
12880         * libs/gst/control/dplinearinterp.h:
12881         * libs/gst/control/unitconvert.c:
12882         * libs/gst/control/unitconvert.h:
12883         * testsuite/Makefile.am:
12884         * testsuite/dynparams/.cvsignore:
12885         * testsuite/dynparams/Makefile.am:
12886         * testsuite/dynparams/dparamstest.c:
12887         * tools/Makefile.am:
12888         * tools/gst-inspect.c: (print_element_info), (main):
12889         * tools/gst-xmlinspect.c: (print_element_info), (main):
12890           deactivate and remove dparams (libgstcontrol)
12891
12892 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12893
12894         * gst/elements/gsttypefindelement.c:
12895         (gst_type_find_element_have_type), (gst_type_find_element_init),
12896         (stop_typefinding), (gst_type_find_element_handle_event),
12897         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12898         * gst/elements/gsttypefindelement.h:
12899           Set caps on all outgoing buffers, not just the first one.
12900
12901 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12902
12903         * gst/elements/gsttypefindelement.c:
12904         (gst_type_find_element_have_type),
12905         (gst_type_find_element_check_set_buffer_caps),
12906         (gst_type_find_element_init), (stop_typefinding),
12907         (gst_type_find_element_handle_event),
12908         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12909         * gst/elements/gsttypefindelement.h:
12910           Set caps on first outgoing buffer when we've found the type.
12911
12912 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12913
12914         * docs/gst/gstreamer-docs.sgml:
12915         * docs/gst/gstreamer-sections.txt:
12916         * docs/gst/tmpl/gstscheduler.sgml:
12917         * docs/gst/tmpl/gstschedulerfactory.sgml:
12918           Remove some old cruft from docs.
12919
12920 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12921
12922         * gst/gstpad.h:
12923           Fix inline docs for GstPadLinkReturn.
12924           
12925         * gst/gststructure.c: (gst_structure_has_name):
12926         * gst/gststructure.h:
12927         * docs/gst/gstreamer-sections.txt:
12928           New API: gst_structure_has_name().
12929
12930 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12931
12932         * configure.ac:
12933           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12934           and _LARGEFILE_SOURCE in config.h as required. Do not 
12935           export those flags in our .pc files any longer (#142209).
12936
12937           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12938
12939         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12940         (gst_file_sink_do_seek), (gst_file_sink_event),
12941         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12942           Redo seek/tell calls with large file support in mind; add some
12943           debugging messages; add log message that tells us when large
12944           file support is unavailable or not enabled for some reason.
12945
12946         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12947           Add log message that tells us when large file support 
12948           is unavailable or not enabled for some reason.
12949
12950 2005-07-29  Wim Taymans  <wim@fluendo.com>
12951
12952         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12953         Added test for removing an element with ghostpad from a bin.
12954         Fixed test as current implementation does the right thing.
12955
12956         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12957         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12958         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12959         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12960         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12961         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12962         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12963         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12964         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12965         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12966         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12967         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12968         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12969         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12970         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12971         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12972         * gst/gstghostpad.h:
12973         Clean up ghostpads, remove properties for internal stuff.
12974         Make threadsafe.
12975         Fix refcounting.
12976         Prepare for switching targets, not all use cases work yet.
12977
12978 2005-07-29  Wim Taymans  <wim@fluendo.com>
12979
12980         * docs/design/part-gstghostpad.txt:
12981         Small update.
12982
12983         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12984         (gst_bin_remove_func):
12985         Unlinking pads while holding the bin LOCK is not a good
12986         idea.
12987
12988         * gst/gstpad.c: (gst_pad_class_init),
12989         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12990         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12991         No prob setting template after creating the pad.
12992
12993 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12994
12995         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12996         (gst_bus_peek), (gst_bus_source_dispatch),
12997         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12998         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12999           gst_bus_poll may be called from other threads. Handle
13000           this nicely by not making poll_data disappear off the
13001           stack once gst_bus_poll returns.
13002           gst_bus_peek now increments the refcount on the returned
13003           message.
13004
13005 2005-07-29  Wim Taymans  <wim@fluendo.com>
13006
13007         * docs/design/part-gstghostpad.txt:
13008         Overview of current GhostPad datastructures and use
13009         cases for changing the target.
13010
13011 2005-07-28  Wim Taymans  <wim@fluendo.com>
13012
13013         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13014         Added checks for hierarchy consistency whan adding linked
13015         elements to bins.
13016
13017         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13018         Added check to test element scheduling without bin/pipeline.
13019
13020         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13021         First add elements to bin, then link.
13022         
13023         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13024         (gst_bin_remove_func):
13025         Unlink pads from elements added/removed from bin to maintain
13026         hierarchy consistency.
13027
13028 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13029
13030         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13031         (gst_base_transform_handle_buffer):
13032         * gst/base/gstbasetransform.h:
13033           Remove broken delay_configure (fixes renegotiation of software
13034           scaling pipelines); remove some leftover printf()s.
13035
13036 2005-07-28  Wim Taymans  <wim@fluendo.com>
13037
13038         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13039         Added some more tests for wrong hierarchy
13040
13041         * docs/design/part-overview.txt:
13042         Some updates.
13043
13044         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13045         Cleanups.
13046
13047         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13048         (gst_element_dispose):
13049         Some more cleanups.
13050
13051         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13052         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13053         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13054         (gst_pad_set_caps), (gst_pad_send_event):
13055         Check for correct hierarchy when linking pads. Moving to
13056         strict requirement for ghostpads when linking elements in
13057         different bins.
13058
13059         * gst/gstpad.h:
13060         Clean ups. Added WRONG_HIERARCHY return value.
13061
13062 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13063
13064         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13065           Better debug if no transform is possible.
13066
13067 2005-07-27  Wim Taymans  <wim@fluendo.com>
13068
13069         * docs/random/wtay/network-transp:
13070         Some old doc I had.
13071
13072 2005-07-27  Wim Taymans  <wim@fluendo.com>
13073
13074         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13075         (gst_dp_event_from_packet):
13076         Fix serialization of seek events.
13077
13078 2005-07-27  Wim Taymans  <wim@fluendo.com>
13079
13080         * check/gst-libs/gdp.c: (GST_START_TEST):
13081         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13082         Fix compilation and fix event serialization.
13083
13084 2005-07-27  Wim Taymans  <wim@fluendo.com>
13085
13086         * CHANGES-0.9:
13087         * docs/design/part-TODO.txt:
13088         * docs/design/part-events.txt:
13089         Some docs updates
13090
13091         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13092         (gst_base_sink_event), (gst_base_sink_do_sync),
13093         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13094         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13095         (gst_base_src_do_seek), (gst_base_src_event_handler),
13096         (gst_base_src_loop):
13097         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13098         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13099         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13100         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13101         (gst_base_transform_set_passthrough),
13102         (gst_base_transform_is_passthrough):
13103         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13104         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13105         Event updates.
13106
13107         * gst/gstbuffer.h:
13108         Use faster casts.
13109
13110         * gst/gstelement.c: (gst_element_seek):
13111         * gst/gstelement.h:
13112         Update gst_element_seek.
13113
13114         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13115         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13116         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13117         (gst_event_new_eos), (gst_event_new_newsegment),
13118         (gst_event_parse_newsegment), (gst_event_new_tag),
13119         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13120         (gst_event_parse_qos), (gst_event_new_seek),
13121         (gst_event_parse_seek), (gst_event_new_navigation):
13122         * gst/gstevent.h:
13123         Make GstEvent use GstStructure. Add parsing code, make sure the
13124         API is sufficiently generic.
13125         Mark possible directions of events and serialization.
13126
13127         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13128         (_gst_message_copy), (gst_message_new_segment_start),
13129         (gst_message_new_segment_done), (gst_message_new_custom),
13130         (gst_message_parse_segment_start),
13131         (gst_message_parse_segment_done):
13132         Small cleanups.
13133
13134         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13135         (gst_pad_set_caps), (gst_pad_send_event):
13136         Update for new events. 
13137         Catch events sent in wrong directions.
13138
13139         * gst/gstqueue.c: (gst_queue_link_src),
13140         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13141         (gst_queue_handle_src_query):
13142         Event updates.
13143
13144         * gst/gsttag.c:
13145         * gst/gsttag.h:
13146         Remove event code from this file.
13147
13148         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13149         (gst_dp_event_from_packet):
13150         Event updates.
13151
13152 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13153
13154         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13155         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13156         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13157           Make debugging actually useful.
13158
13159 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13160
13161         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13162         (gst_pad_fixate_caps):
13163           Implement default fixation once again, so that gst_pad_fixate()
13164           actually does anything at all. This probably needs to be some
13165           sort of a last resort, and use profile-based fixation first, but
13166           since that doesn't exist yet, this is the best we have. Fixes
13167           visualization in Totem.
13168
13169 2005-07-22  Wim Taymans  <wim@fluendo.com>
13170
13171         * docs/design/part-events.txt:
13172         Small update.
13173
13174         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13175         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13176         (gst_base_sink_activate_pull):
13177         Some more comments.
13178
13179         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13180         (gst_fake_src_create):
13181         Fix handoff marshall.
13182
13183         * gst/elements/gstidentity.c: (gst_identity_class_init),
13184         (gst_identity_transform_ip):
13185         We're a real inplace element.
13186
13187         * gst/gstbus.c: (gst_bus_post):
13188         Added some comments.
13189
13190         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13191         * tests/muxing/case1.c: (main):
13192         * tests/sched/dynamic-pipeline.c: (main):
13193         * tests/sched/interrupt1.c: (main):
13194         * tests/sched/interrupt2.c: (main):
13195         * tests/sched/interrupt3.c: (main):
13196         * tests/sched/runxml.c: (main):
13197         * tests/sched/sched-stress.c: (main):
13198         * tests/seeking/seeking1.c: (event_received), (main):
13199         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13200         (main):
13201         * tests/threadstate/threadstate3.c: (main):
13202         * tests/threadstate/threadstate4.c: (main):
13203         * tests/threadstate/threadstate5.c: (main):
13204         Fix the tests.
13205
13206 2005-07-21  Wim Taymans  <wim@fluendo.com>
13207
13208         * docs/design/part-seeking.txt:
13209         Some small additions.
13210
13211         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13212         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13213         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13214         * gst/base/gstbasesink.h:
13215         discont values are gint64, handle the math correctly.
13216
13217         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13218         Make the basesrc report error if the source pad is not linked.
13219
13220         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13221         (gst_queue_loop), (gst_queue_handle_src_query),
13222         (gst_queue_src_activate_push):
13223         Make queue collect data even if the srcpad is not linked.
13224         Start pushing out data as soon as it is linked.
13225
13226         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13227         * gst/gstutils.h:
13228         Added gst_flow_get_name() to ease error reporting.
13229
13230 2005-07-20  Wim Taymans  <wim@fluendo.com>
13231
13232         * gst/gstmessage.c: (gst_message_new_segment_start),
13233         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13234         (gst_message_parse_segment_done):
13235         * gst/gstmessage.h:
13236         Added a bunch of messages for advanced seeking.
13237
13238         * gst/parse/grammar.y:
13239         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13240         (gst_dpman_state_changed):
13241         Fix some new-pad -> pad-added signals
13242
13243 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13244
13245         * docs/manual/appendix-porting.xml:
13246         * docs/pwg/appendix-porting.xml:
13247           Document new-pad/state-change signal renames and the FixedList
13248           type rename.
13249
13250 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13251
13252         * docs/manual/advanced-autoplugging.xml:
13253         * docs/manual/basics-helloworld.xml:
13254         * docs/manual/basics-pads.xml:
13255         * docs/random/ds/0.9-suggested-changes:
13256         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13257         * gst/gstelement.h:
13258         * gst/gstevent.h:
13259         * gst/gstformat.h:
13260         * gst/gstquery.h:
13261         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13262         (gst_structure_parse_array), (gst_structure_parse_value):
13263         * gst/gstvalue.c: (gst_type_is_fixed),
13264         (gst_value_list_prepend_value), (gst_value_list_append_value),
13265         (gst_value_list_get_size), (gst_value_list_get_value),
13266         (gst_value_transform_array_string), (gst_value_serialize_array),
13267         (gst_value_deserialize_array), (gst_value_intersect_array),
13268         (gst_value_is_fixed), (_gst_value_initialize):
13269         * gst/gstvalue.h:
13270           GstElement::new-pad -> pad-added, GstElement::state-change ->
13271           state-changed, GstValueFixedList -> GstValueArray, add format and
13272           flags as their own arguments in gst_element_seek() (should improve
13273           "bindeability"), remove function generators since they don't work
13274           under a whole bunch of compilers (they were deprecated already
13275           anyway).
13276
13277 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13278
13279         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13280         (_gst_debug_register_funcptr):
13281         * gst/gstinfo.h:
13282           Fix illegal cast on some platforms (#309253).
13283
13284 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13285
13286         * gst/gstmessage.c: (gst_message_new_custom):
13287         * gst/gstmessage.h:
13288           Add _new_custom, make _new_application a macro to _new_custom.
13289
13290 2005-07-20  Wim Taymans  <wim@fluendo.com>
13291
13292         * gst/base/gstbasesrc.c: (gst_base_src_init),
13293         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13294         * gst/base/gstbasesrc.h:
13295         Add a gboolean to decide when to push out a discont.
13296
13297         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13298         (gst_queue_loop), (gst_queue_handle_src_query),
13299         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13300         (gst_queue_set_property), (gst_queue_get_property):
13301         Some cleanups.
13302
13303         * tests/threadstate/threadstate1.c: (main):
13304         Make a thread test compile and run... very silly..
13305
13306
13307 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13308
13309         * docs/manual/appendix-porting.xml:
13310           Mention removal of libgstgconf-0.9.la and existence of gconf
13311           elements.
13312
13313 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13314
13315         * docs/pwg/advanced-clock.xml:
13316         * docs/pwg/appendix-porting.xml:
13317         * docs/pwg/intro-preface.xml:
13318         * docs/pwg/other-base.xml:
13319         * docs/pwg/other-manager.xml:
13320         * docs/pwg/other-nton.xml:
13321         * docs/pwg/other-ntoone.xml:
13322         * docs/pwg/other-oneton.xml:
13323         * docs/pwg/pwg.xml:
13324           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13325           demuxer), remove n-to-n (was never written), fix some code examples
13326           and links and update the porting section to include all this.
13327
13328 2005-07-19  Wim Taymans  <wim@fluendo.com>
13329
13330         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13331         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13332         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13333         (gst_queue_src_activate_push), (gst_queue_change_state),
13334         (gst_queue_get_property):
13335         * gst/gstqueue.h:
13336         Propagate GstFlowReturn more intelligently upstream and output
13337         an ERROR/EOS when streaming stopped due to fatal error.
13338
13339 2005-07-19  Wim Taymans  <wim@fluendo.com>
13340
13341         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13342         Don't block forever for the state change to complete, the
13343         pipeline already did with a sensible timeout.
13344
13345 2005-07-19  Wim Taymans  <wim@fluendo.com>
13346
13347         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13348         Make sure we never call the create function is we
13349         got deactivated.
13350
13351 2005-07-19  Andy Wingo  <wingo@pobox.com>
13352
13353         * gst/parse/parse.l: Attempt to solve bug #172815.
13354
13355 2005-07-19  Wim Taymans  <wim@fluendo.com>
13356
13357         * docs/design/part-clocks.txt:
13358         * docs/design/part-events.txt:
13359         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13360         Small docs updates.
13361         Only update the seeking values when we are not
13362         busy streaming.
13363
13364 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13365
13366         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13367           Oops, ignore the result of gst_pad_push_event here.
13368
13369 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13370
13371         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13372         (gst_base_src_activate_push):
13373           Send discont event from the loop function, as pads
13374           aren't activated yet in the activate_push handler.
13375
13376         * gst/gstbin.c: (bin_bus_handler):
13377           Don't leak element name.
13378
13379 2005-07-18  Andy Wingo  <wingo@pobox.com>
13380
13381         * configure.ac: Use AS_LIBTOOL_TAGS.
13382
13383 2005-07-18  Wim Taymans  <wim@fluendo.com>
13384
13385         * docs/gst/gstreamer.types:
13386         Remove deleted types.
13387
13388 2005-07-18  Wim Taymans  <wim@fluendo.com>
13389
13390         * check/elements/gstfakesrc.c: (GST_START_TEST):
13391         * configure.ac:
13392         * gst/Makefile.am:
13393         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13394         (init_popt_callback):
13395         * gst/gst.h:
13396         * gst/gst_private.h:
13397         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13398         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13399         * gst/gstbin.h:
13400         * gst/gstbus.h:
13401         * gst/gstconfig.h.in:
13402         * gst/gstelement.c: (gst_element_class_init),
13403         (gst_element_set_base_time), (gst_element_get_base_time),
13404         (iterator_fold_with_resync), (gst_element_change_state),
13405         (gst_element_dispose), (gst_element_get_bus):
13406         * gst/gstelement.h:
13407         * gst/gstelementfactory.h:
13408         * gst/gsterror.c: (_gst_core_errors_init):
13409         * gst/gsterror.h:
13410         * gst/gstevent.h:
13411         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13412         * gst/gstindex.c:
13413         * gst/gstinfo.c: (_gst_debug_init):
13414         * gst/gstmessage.c: (_gst_message_copy):
13415         * gst/gstmessage.h:
13416         * gst/gstminiobject.h:
13417         * gst/gstobject.c:
13418         * gst/gstobject.h:
13419         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13420         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13421         * gst/gstpad.h:
13422         * gst/gstparse.h:
13423         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13424         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13425         (gst_pipeline_get_last_stream_time):
13426         * gst/gstpipeline.h:
13427         * gst/gstpluginfeature.h:
13428         * gst/gstquery.h:
13429         * gst/gstscheduler.c:
13430         * gst/gstscheduler.h:
13431         * gst/gststructure.h:
13432         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13433         (gst_task_finalize), (gst_task_func), (gst_task_create),
13434         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13435         (gst_task_stop), (gst_task_pause):
13436         * gst/gsttask.h:
13437         * gst/gsttypefind.h:
13438         * gst/gsttypes.h:
13439         * gst/registries/gstlibxmlregistry.c: (load_feature),
13440         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13441         * gst/registries/gstxmlregistry.c:
13442         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13443         * gst/schedulers/threadscheduler.c:
13444         * libs/gst/control/dparammanager.h:
13445         * tools/gst-inspect.c: (print_element_list),
13446         (print_plugin_features), (print_element_features):
13447         * tools/gst-xmlinspect.c: (print_element_list),
13448         (print_plugin_info), (main):
13449         Removed plugable schedulers.
13450         Removed Scheduler/Manager from elements.
13451         Removed gsttypes.h, rearranged includes.
13452         Removed dependency pad<->element, element<>pipeline, and
13453         various others,  fix includes.
13454         implement gst_pad_get_parent() with gst_object_get_parent()
13455         Make GstTask sefcontained.
13456         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13457         timeout.
13458         Fix endless loop in iterator_fold_with_resync.
13459
13460
13461 2005-07-18  Wim Taymans  <wim@fluendo.com>
13462
13463         * gst/Makefile.am:
13464         * gst/gstarch.h:
13465         Remove old file.
13466
13467 2005-07-18  Wim Taymans  <wim@fluendo.com>
13468
13469         * gst/Makefile.am:
13470         No more cothreads.h
13471
13472 2005-07-18  Wim Taymans  <wim@fluendo.com>
13473
13474         * gst/cothreads.c:
13475         * gst/cothreads.h:
13476         Let's remove these.
13477
13478 2005-07-18  Wim Taymans  <wim@fluendo.com>
13479
13480         * docs/design/part-dynamic.txt:
13481         * docs/design/part-events.txt:
13482         * docs/design/part-seeking.txt:
13483         Some more docs in the works.
13484
13485         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13486         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13487         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13488         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13489         (gst_base_transform_handle_buffer),
13490         (gst_base_transform_sink_activate_push),
13491         (gst_base_transform_src_activate_pull),
13492         (gst_base_transform_set_passthrough),
13493         (gst_base_transform_is_passthrough):
13494         Refcounting fixes.
13495
13496         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13497         Cleanups.
13498
13499         * gst/gstevent.c: (gst_event_finalize):
13500         Set SRC to NULL.
13501
13502         * gst/gstutils.c: (gst_element_unlink),
13503         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13504         (gst_pad_proxy_setcaps):
13505         * gst/gstutils.h:
13506         Add _get_parent_element() to get a pads parent as an element.
13507
13508 2005-07-18  Wim Taymans  <wim@fluendo.com>
13509
13510         * check/gst/gstbin.c: (GST_START_TEST):
13511         Remove bogus test.
13512
13513 2005-07-18  Wim Taymans  <wim@fluendo.com>
13514
13515         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13516         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13517         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13518         (gst_base_sink_event), (gst_base_sink_do_sync),
13519         (gst_base_sink_chain), (gst_base_sink_loop),
13520         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13521         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13522         Refcounting fixes.
13523         Fix logic for returning ASYNC when not prerolled.
13524
13525 2005-07-18  Wim Taymans  <wim@fluendo.com>
13526
13527         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13528         Fix nasty refcount bug.
13529
13530 2005-07-16 Philippe Khalaf <burger@speedy.org>
13531
13532         * gst/elements/gstfdsrc.c:
13533         * gst/elements/gstfdsrc.h:
13534         * gst/elements/gstelements.c:
13535         * gst/elements/Makefile.am:
13536         Ported fdsrc to 0.9.
13537
13538 2005-07-16  Wim Taymans  <wim@fluendo.com>
13539
13540         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13541         (gst_base_sink_do_sync):
13542         Fix compile error.
13543
13544 2005-07-16  Wim Taymans  <wim@fluendo.com>
13545
13546         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13547         (gst_base_sink_event), (gst_base_sink_get_times),
13548         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13549         * gst/base/gstbasesink.h:
13550         Store and use discont values when syncing buffers as described
13551         in design docs.
13552         
13553         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13554         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13555         (gst_base_src_activate_push):
13556         Push discont event when starting.
13557
13558         * gst/elements/gstidentity.c: (gst_identity_transform):
13559         Small cleanups.
13560
13561         * gst/gstbin.c: (gst_bin_change_state):
13562         Small cleanups in base_time  distribution.
13563
13564         * gst/gstelement.c: (gst_element_set_base_time),
13565         (gst_element_get_base_time), (gst_element_change_state):
13566         * gst/gstelement.h:
13567         Added methods for the base_time of the element.
13568         Some MT fixes.
13569
13570         * gst/gstpipeline.c: (gst_pipeline_send_event),
13571         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13572         (gst_pipeline_get_last_stream_time):
13573         * gst/gstpipeline.h:
13574         MT fixes.
13575         Handle seeking as described in design doc, remove stream_time
13576         hack.
13577         Cleanups clock and stream_time selection code. Added accessors
13578         for the stream_time.
13579         
13580
13581 2005-07-16  Andy Wingo  <wingo@pobox.com>
13582
13583         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13584         (#305291).
13585
13586 2005-07-16  Wim Taymans  <wim@fluendo.com>
13587
13588         * check/gst/gstbin.c: (GST_START_TEST):
13589         Make elements silent as the deep_notify refs the
13590         parent, which might make the test fail.
13591
13592         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13593         Don't hold the lock for too long.
13594
13595 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13596
13597         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13598           Don't unref the caps we passed to gst_caps_make_writable() after
13599           passing them. gst_caps_make_writable() will do that for us.
13600
13601 2005-07-15  Andy Wingo  <wingo@pobox.com>
13602
13603         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13604         (#157311).
13605
13606         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13607         own marshalling function for the handoff signal. Properly type the
13608         buffer as a buffer. Fixes some warnings. Should do a more general
13609         solution.
13610         (gst_identity_class_init): Plug into the right marshaller.
13611
13612 2005-07-15  Wim Taymans  <wim@fluendo.com>
13613
13614         * docs/design/part-TODO.txt:
13615         * docs/design/part-clocks.txt:
13616         * docs/design/part-element-sink.txt:
13617         * docs/design/part-events.txt:
13618         * docs/design/part-gstpipeline.txt:
13619         Updated docs, mostly DISCONT related.
13620
13621 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13622
13623         * docs/pwg/building-pads.xml:
13624           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13625
13626 2005-07-15  Andy Wingo  <wingo@pobox.com>
13627
13628         * tools/gst-typefind.c: Update, add copyright block.
13629
13630         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13631         Normalize and truncate caps before fixation.
13632
13633         * gst/gstcaps.h:
13634         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13635         discards all but the first structure from its argument.
13636
13637 2005-07-15  Wim Taymans  <wim@fluendo.com>
13638
13639         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13640         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13641         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13642         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13643         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13644         (gst_base_transform_chain), (gst_base_transform_change_state),
13645         (gst_base_transform_set_passthrough),
13646         (gst_base_transform_is_passthrough):
13647         * gst/base/gstbasetransform.h:
13648         Make passthrough work using the bufferpools.
13649         Changed API a bit, subclasses have to write into a buffer
13650         provided by the base class.
13651         More debug info in nego functions.
13652         
13653         * gst/elements/gstidentity.c: (gst_identity_init),
13654         (gst_identity_transform):
13655         Port to new base class.
13656
13657 2005-07-15  Wim Taymans  <wim@fluendo.com>
13658
13659         * gst/gstmessage.c: (gst_message_new_state_changed):
13660         * tools/gst-launch.c: (event_loop), (main):
13661         Totally dump messages in -launch with the -m option.
13662         Fix message name for State messages,
13663
13664 2005-07-14  Wim Taymans  <wim@fluendo.com>
13665
13666         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13667         Post error messages on errors.
13668
13669 2005-07-14  Wim Taymans  <wim@fluendo.com>
13670
13671         * gst/gstcaps.c: (gst_caps_do_simplify):
13672         Remove debug info.
13673
13674         * gst/gsterror.h:
13675         Define error for stream stopped.
13676
13677         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13678         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13679         Do proper return values.
13680
13681         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13682         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13683         (gst_pad_get_range):
13684         Better return values.
13685
13686         * gst/gstpad.h:
13687         Reorganise return values, add macro to check for fatal errors.
13688
13689         * gst/gstqueue.c: (gst_queue_chain):
13690         Return proper GstFlowReturn values,
13691
13692 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13693
13694         * docs/gst/gstreamer-sections.txt:
13695         * docs/gst/gstreamer.types:
13696         * docs/gst/tmpl/gst.sgml:
13697         * docs/gst/tmpl/gstbasesink.sgml:
13698         * docs/gst/tmpl/gstbasesrc.sgml:
13699         * docs/gst/tmpl/gstbasetransform.sgml:
13700         * docs/gst/tmpl/gstbin.sgml:
13701         * docs/gst/tmpl/gstbuffer.sgml:
13702         * docs/gst/tmpl/gstcaps.sgml:
13703         * docs/gst/tmpl/gstclock.sgml:
13704         * docs/gst/tmpl/gstcompat.sgml:
13705         * docs/gst/tmpl/gstconfig.sgml:
13706         * docs/gst/tmpl/gstelement.sgml:
13707         * docs/gst/tmpl/gstelementdetails.sgml:
13708         * docs/gst/tmpl/gstelementfactory.sgml:
13709         * docs/gst/tmpl/gstenumtypes.sgml:
13710         * docs/gst/tmpl/gsterror.sgml:
13711         * docs/gst/tmpl/gstevent.sgml:
13712         * docs/gst/tmpl/gstfakesink.sgml:
13713         * docs/gst/tmpl/gstfakesrc.sgml:
13714         * docs/gst/tmpl/gstfilesink.sgml:
13715         * docs/gst/tmpl/gstfilesrc.sgml:
13716         * docs/gst/tmpl/gstfilter.sgml:
13717         * docs/gst/tmpl/gstformat.sgml:
13718         * docs/gst/tmpl/gstghostpad.sgml:
13719         * docs/gst/tmpl/gstimplementsinterface.sgml:
13720         * docs/gst/tmpl/gstindex.sgml:
13721         * docs/gst/tmpl/gstindexfactory.sgml:
13722         * docs/gst/tmpl/gstinfo.sgml:
13723         * docs/gst/tmpl/gstiterator.sgml:
13724         * docs/gst/tmpl/gstmacros.sgml:
13725         * docs/gst/tmpl/gstmemchunk.sgml:
13726         * docs/gst/tmpl/gstminiobject.sgml:
13727         * docs/gst/tmpl/gstobject.sgml:
13728         * docs/gst/tmpl/gstpad.sgml:
13729         * docs/gst/tmpl/gstpadtemplate.sgml:
13730         * docs/gst/tmpl/gstparse.sgml:
13731         * docs/gst/tmpl/gstpipeline.sgml:
13732         * docs/gst/tmpl/gstplugin.sgml:
13733         * docs/gst/tmpl/gstpluginfeature.sgml:
13734         * docs/gst/tmpl/gstquery.sgml:
13735         * docs/gst/tmpl/gstqueue.sgml:
13736         * docs/gst/tmpl/gstregistry.sgml:
13737         * docs/gst/tmpl/gstregistrypool.sgml:
13738         * docs/gst/tmpl/gstscheduler.sgml:
13739         * docs/gst/tmpl/gstschedulerfactory.sgml:
13740         * docs/gst/tmpl/gststructure.sgml:
13741         * docs/gst/tmpl/gstsystemclock.sgml:
13742         * docs/gst/tmpl/gsttaglist.sgml:
13743         * docs/gst/tmpl/gsttagsetter.sgml:
13744         * docs/gst/tmpl/gsttrace.sgml:
13745         * docs/gst/tmpl/gsttrashstack.sgml:
13746         * docs/gst/tmpl/gsttypefind.sgml:
13747         * docs/gst/tmpl/gsttypefindfactory.sgml:
13748         * docs/gst/tmpl/gsttypes.sgml:
13749         * docs/gst/tmpl/gsturihandler.sgml:
13750         * docs/gst/tmpl/gsturitype.sgml:
13751         * docs/gst/tmpl/gstutils.sgml:
13752         * docs/gst/tmpl/gstvalue.sgml:
13753         * docs/gst/tmpl/gstversion.sgml:
13754         * docs/gst/tmpl/gstxml.sgml:
13755         * docs/libs/tmpl/gstcontrol.sgml:
13756         * docs/libs/tmpl/gstdataprotocol.sgml:
13757         * docs/libs/tmpl/gstdparam.sgml:
13758         * docs/libs/tmpl/gstdplinint.sgml:
13759         * docs/libs/tmpl/gstdpman.sgml:
13760         * docs/libs/tmpl/gstdpsmooth.sgml:
13761         * docs/libs/tmpl/gstgetbits.sgml:
13762         * docs/libs/tmpl/gstunitconvert.sgml:
13763         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13764         (gst_push_src_base_init), (gst_push_src_class_init),
13765         (gst_push_src_init), (gst_push_src_create):
13766         * gst/base/gstpushsrc.h:
13767         * gst/elements/gstelements.c:
13768         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13769         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13770         (gst_fake_sink_init), (gst_fake_sink_set_property),
13771         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13772         (gst_fake_sink_event), (gst_fake_sink_preroll),
13773         (gst_fake_sink_render), (gst_fake_sink_change_state):
13774         * gst/elements/gstfakesink.h:
13775         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13776         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13777         (gst_fake_src_base_init), (gst_fake_src_class_init),
13778         (gst_fake_src_init), (gst_fake_src_event_handler),
13779         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13780         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13781         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13782         (gst_fake_src_create_buffer), (gst_fake_src_create),
13783         (gst_fake_src_start), (gst_fake_src_stop):
13784         * gst/elements/gstfakesrc.h:
13785         * gst/elements/gstfilesink.c: (_do_init),
13786         (gst_file_sink_base_init), (gst_file_sink_class_init),
13787         (gst_file_sink_init), (gst_file_sink_dispose),
13788         (gst_file_sink_set_location), (gst_file_sink_set_property),
13789         (gst_file_sink_get_property), (gst_file_sink_open_file),
13790         (gst_file_sink_close_file), (gst_file_sink_query),
13791         (gst_file_sink_event), (gst_file_sink_render),
13792         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13793         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13794         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13795         * gst/elements/gstfilesink.h:
13796         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13797         (gst_file_src_class_init), (gst_file_src_init),
13798         (gst_file_src_finalize), (gst_file_src_set_location),
13799         (gst_file_src_set_property), (gst_file_src_get_property),
13800         (gst_file_src_map_region), (gst_file_src_map_small_region),
13801         (gst_file_src_create_mmap), (gst_file_src_create_read),
13802         (gst_file_src_create), (gst_file_src_is_seekable),
13803         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13804         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13805         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13806         (gst_file_src_uri_handler_init):
13807         * gst/elements/gstfilesrc.h:
13808           more autistic cleanliness in functions/names/defines
13809
13810 2005-07-13  Andy Wingo  <wingo@pobox.com>
13811
13812         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13813         source couldn't negotiate.
13814
13815         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13816         connections again.
13817
13818         * gst/gstutils.h:
13819         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13820         function. I am channeling Hades. Put your boots on suckers!!!
13821
13822 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13823
13824         * testsuite/caps/Makefile.am:
13825         * testsuite/caps/value_compare.c:
13826         * testsuite/caps/value_intersect.c:
13827         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13828           move two testsuite apps over to the check dir
13829
13830 2005-07-12  Wim Taymans  <wim@fluendo.com>
13831
13832         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13833         Added more debug info in the negotiate process.
13834
13835         * gst/gstmessage.h:
13836         Prepare for segment playback.
13837
13838         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13839         Better debugging.
13840
13841         * gst/gstutils.c:
13842         Some more docs.
13843
13844         * tools/gst-launch.c: (main):
13845         NULL pipeline on errors.
13846
13847 2005-07-12  Andy Wingo  <wingo@pobox.com>
13848
13849         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13850         not it comes from a malloc region. Make sure our copy gets freed.
13851
13852 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13853
13854         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13855         * check/gst/gstmessage.c: (GST_START_TEST):
13856         * check/gst/gststructure.c: (GST_START_TEST),
13857         (gst_structure_suite), (main):
13858           more testing
13859         * gst/gstelement.c: (gst_element_message_full):
13860           clean up GError and debug string now that they get copied
13861         * gst/gstmessage.c: (gst_message_new_error),
13862         (gst_message_new_warning), (gst_message_parse_error),
13863         (gst_message_parse_warning):
13864           use GST_TYPE_G_ERROR for structure_new, and take copies of
13865           arguments, so that we don't mess up refcounting
13866
13867 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13868
13869         * check/Makefile.am:
13870           add per-test valgrind targets
13871         * check/gst-libs/gdp.c: (GST_START_TEST),
13872         (gst_data_protocol_suite), (main):
13873           clean up
13874
13875 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13876
13877         * check/Makefile.am:
13878           instate more valgrindable tests
13879         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13880         (GST_START_TEST), (fakesrc_suite):
13881         * check/gst/gstpad.c: (GST_START_TEST):
13882         * check/gst/gststructure.c: (GST_START_TEST):
13883           fix test leaks
13884         * docs/gst/tmpl/gstminiobject.sgml:
13885         * gst/gstpad.c: (gst_pad_finalize):
13886           fix the static mutex leak
13887
13888 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13889
13890         * check/Makefile.am:
13891           add two more tests for valgrinding
13892         * check/gst/gstvalue.c: (GST_START_TEST):
13893           test refcount of deserialized buffer, found a leak
13894         * docs/gst/gstreamer-docs.sgml:
13895         * docs/gst/gstreamer-sections.txt:
13896         * docs/gst/gstreamer.types:
13897         * docs/gst/tmpl/gstminiobject.sgml:
13898           add miniobject to docs
13899         * gst/gstminiobject.c:
13900           add some docs
13901         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13902         (gst_string_unwrap):
13903           fix a hard-to-find invalid write for one of the tests
13904           fix a leak for deserialized buffers
13905
13906 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13907
13908         * docs/pwg/advanced-events.xml:
13909         * docs/pwg/advanced-request.xml:
13910         * docs/pwg/advanced-scheduling.xml:
13911         * docs/pwg/appendix-porting.xml:
13912         * docs/pwg/building-boiler.xml:
13913         * docs/pwg/intro-preface.xml:
13914         * docs/pwg/other-ntoone.xml:
13915           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13916           of example code and explanation for pad activation, loop() and
13917           getrange() functions and a bit more. Remove old comments pointing
13918           to loop-functions.
13919         * examples/pwg/Makefile.am:
13920           Add loop/getrange examples.
13921
13922 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13923
13924         * configure.ac:
13925           check for valgrind binary + some fixes
13926         * check/gst.supp:
13927           valgrind suppressions for the tests
13928         * check/Makefile.am:
13929           add a valgrind: target that valgrinds the unit tests
13930         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13931         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13932         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13933         * check/gst/gstghostpad.c:
13934           added some cleanup
13935         * check/gst/gstdata.c:
13936           removed
13937         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13938         (thread_unref), (gst_mini_object_suite), (main):
13939           added
13940         * gst/gst.c: (gst_deinit):
13941         * gst/gst.h:
13942           add a method to clean up.
13943         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13944         (gst_system_clock_obtain):
13945           allow for disposing the system clock.
13946         * tools/gst-launch.c: (main):
13947           deinit
13948
13949 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13950
13951         * docs/gst/tmpl/gstbasesrc.sgml:
13952         * docs/gst/tmpl/gstfakesrc.sgml:
13953         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13954         (gst_base_src_init), (gst_base_src_set_property),
13955         (gst_base_src_get_property), (gst_base_src_get_range),
13956         (gst_base_src_start):
13957         * gst/base/gstbasesrc.h:
13958           add num-buffers property
13959         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13960         (gst_fakesrc_init), (gst_fakesrc_set_property),
13961         (gst_fakesrc_get_property), (gst_fakesrc_create),
13962         (gst_fakesrc_start):
13963           remove num-buffers property
13964
13965 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13966
13967         * docs/gst/gstreamer-sections.txt:
13968         * docs/gst/tmpl/gstbasesink.sgml:
13969         * docs/gst/tmpl/gstbasesrc.sgml:
13970         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13971         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13972         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13973         (gst_base_sink_set_property), (gst_base_sink_get_property),
13974         (gst_base_sink_handle_object), (gst_base_sink_event),
13975         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13976         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13977         (gst_base_sink_loop), (gst_base_sink_deactivate),
13978         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13979         (gst_base_sink_change_state):
13980         * gst/base/gstbasesink.h:
13981         * gst/base/gstbasesrc.h:
13982         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13983         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13984         (gst_filesink_init):
13985           more macro splitting
13986
13987 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13988
13989         * gst/gstelement.c: (gst_element_get_bus):
13990           add debug
13991         * tools/gst-launch.c: (check_intr), (event_loop):
13992           fix bus leaks
13993
13994 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13995
13996         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13997           fix a caps leak
13998
13999 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14000
14001         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14002         (gst_base_src_finalize):
14003           add finalize method and clean up properly
14004         * gst/gstpipeline.c: (gst_pipeline_dispose):
14005           add debug
14006
14007 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14008
14009         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14010         (gst_bin_suite):
14011           add more things to check
14012         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14013         * gst/gstelement.c:
14014           more debug
14015
14016 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14017
14018         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14019         (GST_START_TEST), (fakesrc_suite):
14020         * check/gst-libs/gdp.c: (GST_START_TEST):
14021         * check/gst/gst.c: (GST_START_TEST):
14022         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14023         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14024         * check/gst/gstbus.c: (GST_START_TEST):
14025         * check/gst/gstcaps.c: (GST_START_TEST):
14026         * check/gst/gstdata.c: (GST_START_TEST):
14027         * check/gst/gstelement.c: (GST_START_TEST):
14028         * check/gst/gstghostpad.c: (GST_START_TEST):
14029         * check/gst/gstiterator.c: (GST_START_TEST):
14030         * check/gst/gstmessage.c: (GST_START_TEST):
14031         * check/gst/gstobject.c: (GST_START_TEST):
14032         * check/gst/gstpad.c: (GST_START_TEST):
14033         * check/gst/gststructure.c: (GST_START_TEST):
14034         * check/gst/gstsystemclock.c: (GST_START_TEST),
14035         (gst_systemclock_suite):
14036         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14037         * check/gst/gstvalue.c: (GST_START_TEST):
14038         * check/pipelines/cleanup.c: (GST_START_TEST):
14039         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14040         * check/states/sinks.c: (GST_START_TEST):
14041         * check/gstcheck.c: (gst_check_init):
14042         * check/gstcheck.h:
14043           add debugging category
14044           use GST_START_TEST now, so we add a debug line
14045
14046 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14047
14048         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14049           add test for state change message on a bin
14050         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14051           add another test
14052         * gst/gstbin.c: (gst_bin_init):
14053         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14054         * gst/gstelement.c: (gst_element_post_message),
14055         (gst_element_set_state):
14056         * gst/gstelementfactory.c: (gst_element_factory_create):
14057         * gst/gstmessage.c: (gst_message_new):
14058         * gst/gstscheduler.c:
14059           various debugging additions and cleanups
14060
14061 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14062
14063         * check/Makefile.am:
14064         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14065         (main):
14066           adding tests for elements
14067         * gst/gstelement.c: (gst_element_dispose):
14068
14069 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14070
14071         * gst/registries/gstlibxmlregistry.c: (load_feature):
14072           plug more leaks.  A simple gst_init() now is leakfree, yay.
14073
14074 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14075
14076         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14077         (gst_xml_registry_load):
14078           plug another memleak
14079
14080 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14081
14082         * configure.ac:
14083           use GST_SET_ERROR_CFLAGS
14084         * docs/faq/cvs.xml:
14085           change to ERROR_CFLAGS
14086
14087 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14088
14089         * configure.ac:
14090           make GST_ERROR_CFLAGS overridable and re-enable Werror
14091         * docs/faq/cvs.xml:
14092           add a note about error CFLAGS
14093         * docs/gst/tmpl/gstfakesrc.sgml:
14094         * gst/elements/gstfakesrc.c:
14095           comment out some unused code
14096         * gst/gst.c: (split_and_iterate):
14097         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14098         (load_feature):
14099           plug some memleaks
14100
14101 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14102
14103         * common/Makefile.am:
14104         * common/gtk-doc.mak:
14105         * docs/gst/Makefile.am:
14106           factor out gtk-doc.mak
14107
14108 2005-07-07  Wim Taymans  <wim@fluendo.com>
14109
14110         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14111         (gst_thread_scheduler_dispose):
14112         Unlock the STREAM_LOCK completely.
14113
14114 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14115
14116         * check/Makefile.am:
14117         * check/elements/.cvsignore:
14118         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14119         (START_TEST), (fakesrc_suite), (main):
14120         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14121         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14122         (gst_fakesrc_create), (gst_fakesrc_start):
14123         * gst/elements/gstfakesrc.h:
14124           adding a first element test
14125
14126 2005-07-07  Andy Wingo  <wingo@pobox.com>
14127
14128         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14129         debug message.
14130
14131 2005-07-07  Wim Taymans  <wim@fluendo.com>
14132
14133         * gst/gstquery.c:
14134         * gst/gstquery.h:
14135         Remove old types
14136
14137 2005-07-07  Wim Taymans  <wim@fluendo.com>
14138
14139         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14140         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14141         Allow subclasses to implement their own negotiation.
14142
14143 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14144
14145         * docs/design/part-gstbin.txt:
14146         * docs/design/part-gstpipeline.txt:
14147           Update design notes to reflect the movement of
14148           responsibility for bus handling from GstPipeline to
14149           GstBin
14150
14151 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14152
14153         * configure.ac:
14154           Remove unnecessary queue2/3/4 examples.
14155
14156 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14157
14158         * examples/Makefile.am:
14159         * examples/helloworld/helloworld.c: (event_loop), (main):
14160         * examples/queue/queue.c: (event_loop), (main):
14161         * examples/queue2/queue2.c: (main):
14162           Update a couple of the examples to work again.
14163
14164         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14165         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14166          Spelling corrections and extra debug.
14167         
14168         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14169         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14170         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14171         * gst/gstbin.h:
14172         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14173         (gst_pipeline_change_state):
14174         * gst/gstpipeline.h:
14175           Move the bus handler for children to the GstBin, and create a
14176           separate bus for receiving messages from children to the one the
14177           bus sends 'upwards' on.
14178
14179 2005-07-06  Wim Taymans  <wim@fluendo.com>
14180
14181         * gst/base/README:
14182         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14183         (gst_base_sink_handle_object), (gst_base_sink_loop),
14184         (gst_base_sink_change_state):
14185         * gst/base/gstbasesink.h:
14186         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14187         (gst_base_src_init), (gst_base_src_setcaps),
14188         (gst_base_src_getcaps), (gst_base_src_loop),
14189         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14190         (gst_base_src_start), (gst_base_src_change_state):
14191         * gst/base/gstbasesrc.h:
14192         Make basesrc negotiate.
14193         Handle the case where preroll fails in basesink.
14194         Update README.
14195
14196 2005-07-06  Wim Taymans  <wim@fluendo.com>
14197
14198         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14199         Implement the fixate function.
14200         Clean up acceptcaps.
14201
14202 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14203
14204         * docs/pwg/building-filterfactory.xml:
14205         * docs/pwg/pwg.xml:
14206           Remove never-written filter-factory chapter; I'll add the various
14207           base classes to part 4 ("other element types") later on.
14208
14209 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14210
14211         * docs/pwg/advanced-negotiation.xml:
14212         * docs/pwg/building-boiler.xml:
14213         * docs/pwg/building-pads.xml:
14214         * docs/pwg/pwg.xml:
14215         * examples/pwg/Makefile.am:
14216           Add a chapter on caps negotiation, simplify the original code
14217           samples a bit w.r.t. caps negotiation, add link to the advanced
14218           section. Add a bunch of examples showing different use cases of
14219           different types of caps negotiation. Upstream renegotiation isn't
14220           fully documented yet since nobody knows how that works.
14221
14222 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14223
14224         * check/gst/gstpad.c:
14225         * check/gstcheck.c:
14226         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14227           if pad has no parent, return NULL as list of internal links
14228
14229 2005-07-05  Andy Wingo  <wingo@pobox.com>
14230
14231         * gst/elements/gstfilesrc.c:
14232         * gst/elements/gstfakesrc.c: 
14233         * gst/base/gstpushsrc.c:
14234         * gst/base/gstbasesrc.h: 
14235         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14236         
14237 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14238
14239         * Makefile.am:
14240           better report generation target (lcov needs a patch)
14241
14242 2005-07-05  Andy Wingo  <wingo@pobox.com>
14243
14244         * gst/elements, testsuite: Null if we got it...
14245
14246 2005-07-05  Wim Taymans  <wim@fluendo.com>
14247
14248         * configure.ac:
14249         * libs/gst/dataprotocol/Makefile.am:
14250         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14251         * libs/gst/dataprotocol/dataprotocol.h:
14252         * pkgconfig/Makefile.am:
14253         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14254         * pkgconfig/gstreamer-dataprotocol.pc.in:
14255         Ported dataprotol to 0.9. 
14256         Added pkgconfig files.
14257
14258 2005-07-05  Andy Wingo  <wingo@pobox.com>
14259
14260         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14261         Default to returning TRUE for the case when tranform_caps returns
14262         a fixed caps, like for identity or volume.
14263
14264         * check/gst/gstbus.c (pound_bus_with_messages): 
14265         * check/gst/gstmessage.c (START_TEST): 
14266         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14267         message API change.
14268
14269         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14270         logic weaks here: always run transform_caps, trying passthrough
14271         operation only if the original caps intersects with the transform.
14272
14273         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14274         source and sink caps.
14275
14276         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14277         Intersect the peer caps with the pad template before going into
14278         transform_caps.
14279         (gst_base_transform_transform_caps): More debugging.
14280
14281         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14282         src argument.
14283
14284 2005-07-04  Edward Hervey  <edward@fluendo.com>
14285
14286         * gst/gstutils.c:
14287         * gst/gstutils.h:
14288         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14289         in bindings.
14290
14291 2005-07-04  Andy Wingo  <wingo@pobox.com>
14292
14293         * check/gst/gstpad.c: Only set explicit caps on pads.
14294
14295 2005-07-01  Andy Wingo  <wingo@pobox.com>
14296
14297         * tests/network-clock.scm: Commentary update.
14298
14299         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14300         Didn't really make sense, not implementable with basetransform,
14301         etc.
14302         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14303         attempt at implementing the sync property, needs an unlock method.
14304
14305         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14306         New func, by default returns the same caps (the identity
14307         transformation).
14308         (gst_base_transform_getcaps): Uses transform_caps to return
14309         something sensible.
14310         (gst_base_transform_setcaps): Complicated logic to get caps on
14311         both pads, even if they are different, and to call set_caps once
14312         for every time both pads get their caps set.
14313         (gst_base_transform_handle_buffer): Give the ref to the transform
14314         function. Allows in-place modification of the buffer.
14315
14316         * gst/base/gstbasetransform.h (transform_caps): New class method.
14317         Given caps on one side, what can I do on the other.
14318         (set_caps): Take two caps, one for each side of the element.
14319
14320         * gst/gstpad.h:
14321         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14322         caps in place. This is safe because we can check the mutability of
14323         the caps, and a good idea because fixate functions are just called
14324         as a matter of last resort. (Not actually implemented.)
14325         (gst_pad_set_caps): If the caps we're setting is actually the same
14326         as the existing pad caps, just update the pointer without calling
14327         setcaps. Assert that caps is either NULL or fixed, as per the
14328         docs.
14329
14330         * gst/gstghostpad.c: Update for fixate changes.
14331
14332 2005-07-02  Andy Wingo  <wingo@pobox.com>
14333
14334         * gst/gstcaps.c:
14335         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14336         two refcounts makes it immutable, which is enough. Doc more.
14337
14338 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14339
14340         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14341           Put the mini_object into GValue as a mini_object,
14342           not a gpointer, since that's how we declared
14343           the signal.
14344
14345 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14346
14347         * examples/pwg/Makefile.am:
14348           Fix buildbot again.
14349
14350 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14351
14352         * docs/pwg/building-testapp.xml:
14353           Add extra check.
14354         * examples/pwg/Makefile.am:
14355           Fix buildbot.
14356
14357 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14358
14359         * configure.ac:
14360         * examples/Makefile.am:
14361         * examples/pwg/Makefile.am:
14362         * examples/pwg/extract.pl:
14363           Enable building the PWG examples.
14364         * docs/pwg/advanced-interfaces.xml:
14365           Add URI interface stub.
14366         * docs/pwg/advanced-types.xml:
14367         * docs/pwg/other-autoplugger.xml:
14368         * docs/pwg/appendix-porting.xml:
14369         * docs/pwg/pwg.xml:
14370           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14371         * docs/pwg/building-boiler.xml:
14372         * docs/pwg/building-chainfn.xml:
14373         * docs/pwg/building-pads.xml:
14374         * docs/pwg/building-props.xml:
14375         * docs/pwg/building-state.xml:
14376         * docs/pwg/building-testapp.xml:
14377           Update the building-*.xml parts for 0.9 changes. All examples
14378           code blocks compile in examples/pwg/*.
14379
14380 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14381
14382         * docs/manual/advanced-autoplugging.xml:
14383         * docs/manual/appendix-checklist.xml:
14384         * docs/manual/appendix-integration.xml:
14385         * docs/manual/highlevel-components.xml:
14386           Fix playbin/decodebin examples, update docs a bit, mention bus
14387           instead of signals in various places, mention kmplayer and
14388           kaffeine since they have a working GStreamer backend in the KDE
14389           section.
14390
14391 2005-06-30  Wim Taymans  <wim@fluendo.com>
14392
14393         * CHANGES-0.9:
14394         * docs/design/draft-ghostpads.txt:
14395         * docs/design/draft-push-pull.txt:
14396         * docs/design/draft-query.txt:
14397         * docs/design/part-TODO.txt:
14398         * docs/design/part-query.txt:
14399         Added CHANGES-0.9 doc, updated status of other docs.
14400         
14401         * gst/gstquery.h:
14402         Remove "hmm" macro
14403
14404 2005-06-30  Wim Taymans  <wim@fluendo.com>
14405
14406         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14407         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14408         (gst_base_sink_change_state):
14409         * gst/base/gstbasesink.h:
14410         Some tweaks, only EOS and a buffer complete a preroll.
14411
14412 2005-06-30  Andy Wingo  <wingo@pobox.com>
14413
14414         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14415         activate_push down to the internal pad as well.
14416
14417 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14418
14419         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14420
14421         * gst/gsttaginterface.c:
14422           Some documentation fixes (#307394 and #307397).
14423
14424 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14425
14426         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14427
14428         * gst/gstvalue.c: (gst_value_intersect_list):
14429           Fix memleak (#309125).
14430
14431 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14432
14433         * docs/manual/advanced-dataaccess.xml:
14434           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14435         * docs/manual/basics-pads.xml:
14436           Add reference for filtered caps to above chapter.
14437
14438 2005-06-30  Wim Taymans  <wim@fluendo.com>
14439
14440         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14441         (gst_bin_change_state):
14442         Probes are gone.
14443         Lame attempt at making the state change function a bit
14444         more readable.
14445
14446 2005-06-30  Wim Taymans  <wim@fluendo.com>
14447
14448         * docs/design/part-clocks.txt:
14449         * docs/design/part-element-sink.txt:
14450         * docs/design/part-events.txt:
14451         * docs/design/part-preroll.txt:
14452         * docs/design/part-states.txt:
14453         Some more tweeks and additions to the docs.
14454
14455 2005-06-30  Wim Taymans  <wim@fluendo.com>
14456
14457         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14458         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14459         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14460         (gst_pad_check_pull_range), (gst_pad_get_range),
14461         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14462         * gst/gstpad.h:
14463         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14464         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14465         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14466         (gst_pad_remove_buffer_probe):
14467         Removed atomic operations, use existing LOCK.
14468         Move exception handling out of main code path.
14469
14470 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14471
14472         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14473         (silly_return_true_function), (gst_pad_class_init),
14474         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14475         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14476         (gst_pad_send_event):
14477           Fix accumulator, add default value by using _emitv() instead
14478           of _emit() for signal emission.
14479
14480 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14481
14482         * docs/manual/advanced-dataaccess.xml:
14483         * examples/manual/Makefile.am:
14484           Add probe example.
14485         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14486           Make work (??).
14487
14488 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14489
14490         * gst/elements/gstfilesink.c: (gst_filesink_render):
14491           Simplify code so that we don't have to handle short
14492           writes and return GST_FLOW_ERROR if an error occured.
14493
14494 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14495
14496         * docs/gst/gstreamer-docs.sgml:
14497           Remove probes more.
14498
14499 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14500
14501         * docs/gst/gstreamer-sections.txt:
14502         * docs/gst/tmpl/gstpad.sgml:
14503         * docs/gst/tmpl/gstprobe.sgml:
14504         * gst/Makefile.am:
14505         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14506         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14507         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14508         (gst_pad_push_event), (gst_pad_send_event):
14509         * gst/gstpad.h:
14510         * gst/gstutils.c: (gst_pad_add_data_probe),
14511         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14512         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14513         (gst_pad_remove_buffer_probe):
14514         * gst/gstutils.h:
14515           Remove old probes, add new g-signal-based probes and some utility
14516           functions.
14517
14518 2005-06-29  Edward Hervey  <edward@fluendo.com>
14519
14520         * gst/gstelementfactory.c:
14521         * gst/gstutils.h:
14522         * gst/gstutils.c:
14523         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14524         the definition to the header file.
14525
14526 2005-06-29  Andy Wingo  <wingo@pobox.com>
14527
14528         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14529         plugins from the source directory.
14530
14531 2005-06-29  Wim Taymans  <wim@fluendo.com>
14532
14533         * docs/gst/tmpl/gstbuffer.sgml:
14534         * docs/gst/tmpl/gstclock.sgml:
14535         Some fixings for blantently wrong text.
14536
14537 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14538
14539         * check/Makefile.am:
14540         * gst/gst.c: (add_path_func), (init_pre):
14541         * gst/gstregistry.c: (gst_registry_add_path):
14542           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14543           only scan the GST_PLUGIN_PATH locations, and not add
14544           system locations
14545
14546 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14547
14548         * docs/gst/gstreamer-sections.txt:
14549         * docs/gst/tmpl/gstbasesrc.sgml:
14550         * gst/gstelement.c:
14551         * gst/gstelement.h:
14552         * gst/gstevent.c:
14553         * gst/gstutils.c:
14554           doc fixes
14555
14556 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14557
14558         * docs/manual/advanced-autoplugging.xml:
14559           Fix autoplugging example.
14560
14561 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14562
14563         * docs/manual/advanced-autoplugging.xml:
14564         * docs/manual/mime-world.fig:
14565           Try to get autoplugging working, fix type detection. Fix text
14566           in hello-world image.
14567
14568 2005-06-29  Wim Taymans  <wim@fluendo.com>
14569
14570         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14571         (gst_base_sink_change_state):
14572         Small debug line.
14573
14574         * gst/gstclock.h:
14575         map SIGNAL and BROADCAST to the right function.
14576
14577         * gst/gstobject.h:
14578         Remove redundant braces.
14579
14580         * gst/gstpad.c: (gst_pad_set_caps):
14581         Don't call setcaps function when reseting caps to NULL.
14582
14583         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14584         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14585         (gst_system_clock_id_unschedule):
14586         Use BROADCAST as this is what we do.
14587
14588 2005-06-29  Wim Taymans  <wim@fluendo.com>
14589
14590         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14591         We are actually prerolling before commiting the state
14592         change. 
14593
14594 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14595
14596         * docs/manual/advanced-clocks.xml:
14597         * docs/manual/advanced-interfaces.xml:
14598         * docs/manual/advanced-metadata.xml:
14599         * docs/manual/advanced-position.xml:
14600         * docs/manual/advanced-schedulers.xml:
14601         * docs/manual/advanced-threads.xml:
14602         * docs/manual/appendix-porting.xml:
14603         * docs/manual/basics-bins.xml:
14604         * docs/manual/basics-bus.xml:
14605         * docs/manual/basics-elements.xml:
14606         * docs/manual/basics-helloworld.xml:
14607         * docs/manual/basics-pads.xml:
14608         * docs/manual/highlevel-components.xml:
14609         * docs/manual/manual.xml:
14610         * docs/manual/thread.fig:
14611           Update (until threads/scheduling) Application Development Manual;
14612           remove GstThread, add GstBus, add simple porting checklist, add
14613           documentation for tag writing, clocks, make all examples until this
14614           part compile and run.
14615         * examples/manual/Makefile.am:
14616           Update from changes to Application Development Manual; add bus
14617           example, remove thread example.
14618
14619 2005-06-28  Wim Taymans  <wim@fluendo.com>
14620
14621         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14622         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14623         (gst_bus_source_dispatch):
14624         Add debugging messages.
14625         Make internal methods static.
14626         Handle the case where the bus is flushed in the handler.
14627         
14628         * gst/gstelement.c: (gst_element_get_bus):
14629         Fix refcount in _get_bus();
14630
14631         * gst/gstpipeline.c: (gst_pipeline_change_state),
14632         (gst_pipeline_get_clock_func):
14633         Clock refcounting fixes.
14634         Handle the case where preroll timed out more gracefully.
14635         
14636         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14637         Clean up the internal thread in dispose. This is needed
14638         for subclasses that actually get disposed.
14639         
14640         * gst/schedulers/threadscheduler.c:
14641         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14642         (gst_thread_scheduler_dispose):
14643         Free thread pool in dispose.
14644
14645 2005-06-28  Andy Wingo  <wingo@pobox.com>
14646
14647         * tests/network-clock-utils.scm (debug, print-event): New utils.
14648
14649         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14650         (*packet-loss*): Unified loss probability.
14651         (network-time): Report out-of-band events.
14652
14653         * tests/plot-data: Add support for out-of-band events. Hack it
14654         into this script instead of passing it down the pipe; should fix
14655         this later.
14656
14657 2005-06-28  Wim Taymans  <wim@fluendo.com>
14658
14659         * docs/gst/gstreamer.types:
14660         * docs/gst/tmpl/gstbasesrc.sgml:
14661         * docs/gst/tmpl/gstpad.sgml:
14662         Docs fixes.
14663
14664 2005-06-28  Wim Taymans  <wim@fluendo.com>
14665
14666         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14667         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14668         (gst_proxy_pad_do_fixatecaps):
14669         Correctly proxy the check_pull_range function.
14670
14671 2005-06-28  Andy Wingo  <wingo@pobox.com>
14672
14673         * tests/network-clock.scm: Removed need for slib.
14674         
14675 2005-06-28  Wim Taymans  <wim@fluendo.com>
14676
14677         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14678         (gst_basesink_preroll_queue_flush):
14679         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14680         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14681         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14682         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14683         (gst_proxy_pad_set_property):
14684         * gst/gstpad.c:
14685         * gst/gstpad.h:
14686         * gst/gstqueue.c: (gst_queue_init):
14687         The deprecated pad loop function is removed now.
14688
14689 2005-06-28  Andy Wingo  <wingo@pobox.com>
14690
14691         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14692         New parameters, simulate network packet loss.
14693
14694         * tests/network-clock-utils.scm: Initialize the RNG.
14695
14696 2005-06-28  Wim Taymans  <wim@fluendo.com>
14697
14698         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14699         (gst_basesink_event), (gst_basesink_deactivate):
14700         Flushing the preroll queue always needs to unlock the waiters.
14701
14702 2005-06-28  Edward Hervey  <edward@fluendo.com>
14703
14704         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14705         Wheen a seek was successful on a pipeline, set the stream_time to the
14706         seek offset in order to have a synchronized stream_time.
14707
14708 2005-06-28  Wim Taymans  <wim@fluendo.com>
14709
14710         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14711         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14712         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14713         (gst_proxy_pad_do_fixatecaps):
14714         Call wrapper function instead of just calling the function
14715         pointers. This takes care of any locking and whatmore.
14716
14717 2005-06-28  Wim Taymans  <wim@fluendo.com>
14718
14719         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14720         (gst_pad_pull_range):
14721         * gst/gstpad.h:
14722         CONNECTED -> LINKED.
14723
14724 2005-06-28  Andy Wingo  <wingo@pobox.com>
14725
14726         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14727         source-munging commit!!!
14728
14729         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14730         (gst_object_sink): Take gpointer arguments, not GstObject --
14731         avoids casts. Like GLib.
14732
14733         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14734         activate.
14735
14736 2005-06-27  Andy Wingo  <wingo@pobox.com>
14737
14738         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14739         remaining buffer.
14740
14741         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14742         returns a sorted copy of the trace list.
14743         (gst_alloc_trace_print_live): New API, only prints traces with
14744         live objects. Sort the list.
14745         (gst_alloc_trace_print_all): Sort the list.
14746         (gst_alloc_trace_print): Align columns.
14747
14748         * gst/elements/gstttypefindelement.c:
14749         * gst/elements/gsttee.c:
14750         * gst/base/gstbasesrc.c:
14751         * gst/base/gstbasesink.c:
14752         * gst/base/gstbasetransform.c:
14753         * gst/gstqueue.c: Adapt for pad activation changes.
14754
14755         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14756         sched.
14757         (gst_pipeline_dispose): Drop ref on sched.
14758
14759         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14760         (gst_pad_activate_default): Push mode by default.
14761         (pre_activate_switch, post_activate_switch): New stubs, things to
14762         do before and after switching activation modes on pads.
14763         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14764         the pad's activate function to choose which mode to activate.
14765         Shortcut on deactivation and call the right function directly.
14766         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14767         mode.
14768         (gst_pad_activate_push): New API, same for push mode.
14769         (gst_pad_set_activate_function) 
14770         (gst_pad_set_activatepull_function) 
14771         (gst_pad_set_activatepush_function): Setters for new API.
14772
14773         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14774         Trace all miniobjects.
14775         (gst_mini_object_make_writable): Unref the arg if we copy, like
14776         gst_caps_make_writable.
14777
14778         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14779
14780         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14781         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14782         Adapt for new pad API.
14783
14784         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14785
14786         * gst/gstelement.h:
14787         * gst/gstelement.c (gst_element_iterate_src_pads) 
14788         (gst_element_iterate_sink_pads): New API functions.
14789         
14790         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14791         should fold into gstiterator.c in some form.
14792         (gst_element_pads_activate): Simplified via use of fold and
14793         delegation of decisions to gstpad->activate.
14794
14795         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14796         help in debugging.
14797
14798         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14799         class once in init, like gstmessage. Didn't run into this issue
14800         but it seems correct. Don't initialize a trace, gstminiobject does
14801         that.
14802
14803         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14804         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14805         to the bus.
14806         (assert_live_count): New util function, uses alloc traces to check
14807         cleanup.
14808
14809         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14810         To be modified when unlink drops the internal pad.
14811
14812 2005-06-27  Wim Taymans  <wim@fluendo.com>
14813
14814         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14815         (gst_bin_change_state):
14816         Cleanup the get_state() function a little, make sure it
14817         iterates the same set of elements.
14818         Added stub iterate_state_order().
14819
14820 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14821
14822         * docs/gst/gstreamer-docs.sgml:
14823         * docs/gst/gstreamer-sections.txt:
14824         * docs/gst/gstreamer.types:
14825         * docs/gst/tmpl/gstbasesink.sgml:
14826         * docs/gst/tmpl/gstbasesrc.sgml:
14827         * docs/gst/tmpl/gstbasetransform.sgml:
14828         * docs/gst/tmpl/gstelement.sgml:
14829         * docs/gst/tmpl/gstiterator.sgml:
14830         * gst/base/gstbasesrc.c:
14831         * gst/base/gstbasesrc.h:
14832         * gst/base/gstbasetransform.h:
14833         * gst/gstelement.c:
14834         * gst/gstiterator.h:
14835           adding basetransform and iterator docs
14836
14837 2005-06-27  Andy Wingo  <wingo@pobox.com>
14838
14839         * docs/design/part-activation.txt: Notes on how activation should
14840         work -- not quite implemented yet.
14841
14842 2005-06-25  Wim Taymans  <wim@fluendo.com>
14843
14844         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14845         At least get the chain function correct, needs more
14846         fixing.
14847
14848 2005-06-25  Wim Taymans  <wim@fluendo.com>
14849
14850         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14851         (gst_basesink_handle_object), (gst_basesink_event),
14852         (gst_basesink_do_sync), (gst_basesink_handle_event),
14853         (gst_basesink_change_state):
14854         * gst/gsttask.h:
14855         Right, two problems here: ghostpads don't take locks and
14856         glib _rec_mutex_lock_full() with depth==0 still locks.
14857         Catch illegal locking and g_warn them.
14858
14859 2005-06-25  Wim Taymans  <wim@fluendo.com>
14860
14861         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14862         Have to check for completion now...
14863
14864 2005-06-25  Wim Taymans  <wim@fluendo.com>
14865
14866         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14867         (gst_basesink_handle_object), (gst_basesink_event),
14868         (gst_basesink_do_sync), (gst_basesink_handle_event),
14869         (gst_basesink_change_state):
14870         * gst/gstpad.h:
14871         Unlock STREAM_LOCK whatever the recursion was.
14872
14873 2005-06-25  Wim Taymans  <wim@fluendo.com>
14874
14875         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14876         (gst_basesink_preroll_queue_empty),
14877         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14878         (gst_basesink_event), (gst_basesink_do_sync),
14879         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14880         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14881         (gst_basesink_change_state):
14882         Reworked the base sink, handle event and buffer serialisation
14883         correctly and removed possible deadlock.
14884         Handle EOS correctly.
14885
14886 2005-06-25  Wim Taymans  <wim@fluendo.com>
14887
14888         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14889         (gst_pipeline_change_state):
14890         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14891         Allow elements to post EOS in the state change function.
14892         Fix up -launch, make it exit the poll loop when the
14893         pipeline actually changed state.
14894         Fix up warning parsing in -launch.
14895
14896 2005-06-25  Wim Taymans  <wim@fluendo.com>
14897
14898         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14899         (gst_tee_sink_activate):
14900         Core takes STREAM_LOCK for us now.
14901
14902 2005-06-25  Wim Taymans  <wim@fluendo.com>
14903
14904         * gst/gstelement.c: (gst_element_get_state_func),
14905         (gst_element_set_state):
14906         * gst/gstelement.h:
14907         * gst/gstmessage.c: (gst_message_parse_error),
14908         (gst_message_parse_warning):
14909         Keep track of current target state while performing a state
14910         change so that subclasses can do something interesting.
14911         Fix parsing of warning/error messages when GError is NULL.
14912
14913 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14914
14915         * docs/gst/Makefile.am:
14916         * docs/gst/gstreamer-docs.sgml:
14917         * docs/gst/gstreamer-sections.txt:
14918         * docs/gst/gstreamer.types:
14919         * docs/gst/tmpl/gstbasesink.sgml:
14920         * docs/gst/tmpl/gstbasesrc.sgml:
14921         * docs/gst/tmpl/gstbin.sgml:
14922         * docs/gst/tmpl/gstcompat.sgml:
14923         * docs/gst/tmpl/gstfakesink.sgml:
14924         * docs/gst/tmpl/gstfakesrc.sgml:
14925         * docs/gst/tmpl/gstfilesink.sgml:
14926         * docs/gst/tmpl/gstfilesrc.sgml:
14927         * docs/gst/tmpl/gstindex.sgml:
14928         * docs/manual/appendix-quotes.xml:
14929         * gst/base/gstbasesrc.h:
14930         * gst/elements/gstfakesrc.h:
14931         * gst/gstmessage.h:
14932           start pulling in base classes and elements in our docs
14933
14934 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14935
14936         * docs/gst/Makefile.am:
14937         * docs/libs/Makefile.am:
14938           fixed make distcheck with gtk-doc 1.3
14939
14940 2005-06-23  Wim Taymans  <wim@fluendo.com>
14941
14942         * gst/gstelement.c: (gst_element_get_state_func),
14943         (gst_element_set_state), (gst_element_change_state):
14944         When the state did not change, also report NO_PREROLL
14945         when it matters.
14946
14947 2005-06-23  Wim Taymans  <wim@fluendo.com>
14948
14949         * gst/gstpad.c: (gst_pad_event_default):
14950         * gst/gstqueue.c: (gst_queue_loop):
14951         No unsafe task pausing please.
14952
14953 2005-06-23  Wim Taymans  <wim@fluendo.com>
14954
14955         * gst/schedulers/threadscheduler.c:
14956         (gst_thread_scheduler_task_start),
14957         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14958         Ref the task before pushing it on the threadpool. This
14959         makes sure that we have a ref when the threadfunction is
14960         actually called.
14961
14962 2005-06-23  Andy Wingo  <wingo@pobox.com>
14963
14964         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14965         offset is greater than the file's size.
14966
14967         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14968         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14969         * gst/gstobject.c (gst_object_class_init): Make the class lock
14970         recursive. Wim won't let me drop deep_notify. Decodebin works
14971         again, whoopdy doo.
14972
14973         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14974         internal pad, and hacks accordingly. Doesn't do it on the target
14975         pad because we change its caps. Probably catches all cases of
14976         interest tho.
14977         (gst_ghost_pad_set_property): Connect to notify::caps as
14978         appropritate.
14979
14980         * tests/network-clock.scm (plot-simulation): Pipe data to the
14981         elite python skript.
14982
14983         * tests/network-clock-utils.scm (define-parameter): New macro,
14984         defines a parameter that can be set via the command line.
14985         (set-parameter!, parse-parameter-arguments): Command line args
14986         parser.
14987
14988         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14989         stdin.
14990
14991 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14992
14993         * gst/elements/gsttypefindelement.c:
14994         (gst_type_find_element_handle_event):
14995           Don't restart typefinding on a discont.
14996         * gst/gstelement.c: (gst_element_set_state):
14997           Debug spelling fix.
14998         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14999           Allow changing mode of an active pad.
15000           Debug output fixes.
15001         * gst/registries/gstlibxmlregistry.c: (load_feature):
15002           Don't cast a static pad template to a normal pad template.
15003
15004 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15005
15006         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15007         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15008           remove gst_strtoll completely, since it didn't actually do
15009           anything more than what g_ascii_strtoull already does.
15010           check for range errors when deserializing
15011           do a cast for the unsigned cases; but further fixing needs
15012           a decision on what the interpretation of "(int)" and
15013           deserialization should be for values that fall outside the
15014           type's boundaries (ie, refuse, or interpret as casting)
15015
15016 2005-06-23  Wim Taymans  <wim@fluendo.com>
15017
15018         * check/Makefile.am:
15019         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15020         * docs/design/part-live-source.txt:
15021         * docs/design/part-states.txt:
15022         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15023         (gst_basesrc_set_live), (gst_basesrc_is_live),
15024         (gst_basesrc_get_range), (gst_basesrc_activate),
15025         (gst_basesrc_change_state):
15026         * gst/base/gstbasesrc.h:
15027         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15028         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15029         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15030         * gst/gstelement.c: (gst_element_get_state_func),
15031         (gst_element_set_state):
15032         * gst/gstelement.h:
15033         * gst/gsttypes.h:
15034         * tools/gst-launch.c: (event_loop), (main):
15035         Added support for live sources and other elements that
15036         cannot do preroll.
15037         Updated design docs, added live-source design doc.
15038         Implemented live source functionality in basesrc
15039         Fix error condition in _bin_get_state()
15040         Implement live source handling in -launch.
15041         Added check for live sources.
15042         Fixed case in GstBin where elements were changed state
15043         multiple times.
15044
15045
15046 2005-06-23  Andy Wingo  <wingo@pobox.com>
15047
15048         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15049         borken refcounting.
15050
15051         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15052         gst_caps_replace takes care of this for us.
15053
15054         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15055         gst_pad_set_caps on the target, not just its setcaps() function.
15056
15057         * tests/network-clock.scm: 
15058         * tests/network-clock-utils.scm: A network clock simulator.
15059         Something of an algorithmic testbed before doing something in C.
15060
15061 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15062
15063         * check/Makefile.am:
15064         * check/gst/capslist.h:
15065           copy over from 0.8, and add two with bitmasks specified with
15066           (int) 0xFF...
15067         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15068           add test to parse everything from capslist.h
15069         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15070         (main):
15071           add test for structure deserialization
15072         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15073           add tests for deserialization of strings to int types
15074         * gst/gststructure.c: (gst_structure_nth_field_name):
15075         * gst/gststructure.h:
15076           add a way to get the name of a field referenced by index
15077         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15078           instead of checking if the resulting long long lies between
15079           min and max, we check if the long long would fit into
15080           a number of bytes for the final type.
15081           This fixes cases where a string represents 2^32 - 1, which
15082           when cast to int would be the (valid) -1, but is bigger than
15083           G_MAXINT
15084
15085 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15086
15087         * gst/parse/grammar.y:
15088           add a log line for type deserialization
15089
15090 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15091
15092         * check/gst/gstvalue.c: (START_TEST):
15093         * gst/gstvalue.c: (gst_value_deserialize):
15094           return long long, not int, so gint64 deserialization actually
15095           works.  Is there any flag that makes the compiler check this ?
15096           Fixes #308559
15097
15098 2005-06-22  Wim Taymans  <wim@fluendo.com>
15099
15100         * gst/gstbuffer.h:
15101         Added convenience macros for setting buffers in GValue.
15102
15103 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15104
15105         * check/gst/.cvsignore:
15106         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15107           add a test deserializing int64, and comment part out because
15108           it fails, yay !
15109
15110 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15111
15112         * check/Makefile.am:
15113         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15114         * testsuite/Makefile.am:
15115         * testsuite/caps/Makefile.am:
15116         * testsuite/caps/value_serialize.c:
15117         * testsuite/test_gst_init.c:
15118           move a value_serialize test over
15119
15120 2005-06-20  Wim Taymans  <wim@fluendo.com>
15121
15122         * gst/gstpad.c:
15123         Small doc updates.
15124         
15125         * gst/gstvalue.c: (gst_value_compare_buffer),
15126         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15127         (gst_value_compare_flags), (gst_value_serialize_flags),
15128         (gst_value_deserialize_flags), (_gst_value_initialize):
15129         Fix serialisation of buffers, they are not boxed types anymore
15130
15131 2005-06-20  Wim Taymans  <wim@fluendo.com>
15132
15133         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15134         Testcase to show error in buffer-on-caps serialisation.
15135
15136 2005-06-20  Andy Wingo  <wingo@pobox.com>
15137
15138         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15139         will be adding to later.
15140
15141         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15142         if its socks fill with rocks.
15143         (gst_system_clock_obtain): Set the name on object construction.
15144         Avoid double-checked locking.
15145
15146 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15147
15148         * gst/gsturi.c: (gst_element_make_from_uri):
15149           Fix potential endless loop.
15150
15151 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15152
15153         * check/Makefile.am:
15154           add gsttag
15155         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15156         (main):
15157           move over from testsuite dir and clean up
15158         * configure.ac:
15159         * gst/gsttag.c:
15160         * testsuite/Makefile.am:
15161         * testsuite/tags/.cvsignore:
15162         * testsuite/tags/Makefile.am:
15163         * testsuite/tags/merge.c:
15164           remove testsuite/tags
15165
15166 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15167
15168         * docs/gst/gstreamer-sections.txt:
15169         * docs/gst/tmpl/gstenumtypes.sgml:
15170         * win32/gstenumtypes.c:
15171           clean up documentation build a little
15172
15173 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15174
15175         * check/gstcheck.h:
15176           add macros for checking refcounts on objects and caps
15177         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15178           add some more unit tests
15179         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15180         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15181           fix leaked refcounts (I hope :)) so unittest works
15182         * gst/gstpad.h:
15183           whitespace removal
15184
15185 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15186
15187         * configure.ac: back to HEAD
15188
15189 === release 0.9.1 ===
15190
15191 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15192
15193         * NEWS:
15194         * RELEASE:
15195           updated
15196
15197 2005-06-17  Andy Wingo  <wingo@pobox.com>
15198
15199         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15200         assert; it's always possible that the pad gets deactivated in
15201         between the checks in gstpad.c and the implementation. Rely on
15202         finish_preroll() to return a FLUSHING or similar instead of on the
15203         assert.
15204         
15205         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15206         clock and post an EOS message if we come out of finish_preroll in
15207         the playing state.
15208
15209 2005-06-16  David Schleef  <ds@schleef.org>
15210
15211         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15212         (gst_capsfilter_set_property): Allow NULL as possible value
15213         for filter_caps property, indicating GST_CAPS_ANY.
15214
15215 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15216
15217         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15218           fix debug output
15219         * gst/schedulers/Makefile.am:
15220           use libgst prefix
15221         * gstreamer.spec.in:
15222           fix spec for it
15223
15224 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15225
15226         * gstreamer.spec.in:
15227           clean up
15228
15229 2005-06-08  Andy Wingo  <wingo@pobox.com>
15230
15231         * gst/gstutils.c: RPAD fixes all around.
15232         (gst_element_link_pads): Refcounting fixes.
15233
15234         * tools/gst-inspect.c:
15235         * tools/gst-xmlinspect.c:
15236         * parse/grammar.y:
15237         * gst/base/gsttypefindhelper.c:
15238         * gst/base/gstbasesink.c:
15239         * gst/gstqueue.c: RPAD fixes.
15240
15241         * gst/gstghostpad.h:
15242         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15243         pads. The tricky thing is they provide both source and sink
15244         interfaces, since they proxy the internal pad for the external
15245         pad, and vice versa. Implement with lower-level ProxyPad objects,
15246         with the interior proxy pad as a child of the exterior ghost pad.
15247         Should write a doc on this.
15248         
15249         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15250         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15251         gst_object API.
15252         
15253         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15254         pads are real pads. No ghost pads in this file. Not documenting
15255         the myriad s/RPAD/PAD/ and REALIZE fixes.
15256         (gst_pad_class_init): Add properties for "direction" and
15257         "template". Both are construct-only, so they can't change during
15258         the life of the pad. Fixes properly deriving from GstPad.
15259         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15260         derived objects, just set properties when creating the objects via
15261         g_object_new.
15262         (gst_pad_get_parent): Implement as a function, return NULL if the
15263         parent is not an element.
15264         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15265         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15266         
15267         * gst/gstobject.c (gst_object_class_init): Make name a construct
15268         property. Don't set it in the object init.
15269
15270         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15271         with UNKNOWN direction.
15272         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15273         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15274         (gst_element_remove_pad): Remove ghost-pad special cases.
15275         (gst_element_pads_activate): Remove rpad cruft.
15276
15277         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15278         catch the pad's-parent-not-an-element case.
15279
15280         * gst/gst.h: Include gstghostpad.h.
15281
15282         * gst/gst.c (init_post): No more real, ghost pads.
15283
15284         * gst/Makefile.am: Add gstghostpad.[ch].
15285
15286         * check/Makefile.am:
15287         * check/gst/gstbin.c:
15288         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15289         into a bin creates ghost pads, and that the refcounts are right.
15290         Partly moved from gstbin.c.
15291
15292 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15293
15294         * check/gst-libs/.cvsignore:
15295         * check/gst/.cvsignore:
15296         * check/pipelines/.cvsignore:
15297           ignore more
15298         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15299         (START_TEST), (cleanup_suite), (main):
15300           add some tests related to cleanup after running pipelines
15301
15302 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15303
15304         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15305           add a testsuite for GstBuffer
15306
15307 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15308
15309         * gst/gstminiobject.h:
15310           add defines for accessing the refcount
15311
15312 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15313
15314         * Makefile.am: added support for html unit test coverage reports
15315
15316 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15317
15318         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15319           Free existing caps if the capsfilter changes. Add a FIXME about
15320           setting those caps on the pads.
15321
15322         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15323           Before adding a ghost pad to a parent bin, check that there isn't
15324           already one for the element on the bin. Prevents infinite recursion
15325           when using decodebin in parse pipelines. Andy says he'll rewrite the
15326           way this works anyway, so ignore the hack.
15327
15328 2005-06-02  Andy Wingo  <wingo@pobox.com>
15329
15330         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15331         file size, pass it on to the type find helper.
15332
15333         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15334         segment_start and segment_end properly according to the seek
15335         method. Segment_end is still a bit flaky because offset can be
15336         negative for CUR and END cases, but it takes -1 as an "unset"
15337         value.
15338
15339 2005-06-02  Wim Taymans  <wim@fluendo.com>
15340
15341         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15342         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15343         (gst_basesink_activate):
15344         * gst/base/gstbasesink.h:
15345         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15346         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15347         (gst_pad_query), (gst_pad_start_task):
15348         * gst/gstpad.h:
15349         * gst/gstqueue.c: (gst_queue_bufferalloc),
15350         (gst_queue_handle_sink_event), (gst_queue_chain):
15351         Bufferalloc: return GstFlowReturn to more accuratly report
15352         why allocation failed.
15353
15354 2005-06-02  Wim Taymans  <wim@fluendo.com>
15355
15356         * gst/gstpipeline.c: (gst_pipeline_send_event):
15357         Take snapshot of state without blocking.
15358
15359 2005-06-02  Wim Taymans  <wim@fluendo.com>
15360
15361         * docs/design/part-TODO.txt:
15362         * docs/design/part-caps.txt:
15363         * docs/design/part-clocks.txt:
15364         * docs/design/part-negotiation.txt:
15365         * docs/design/part-preroll.txt:
15366         Small doc updates 
15367
15368 2005-05-30  Wim Taymans  <wim@fluendo.com>
15369
15370         * gst/elements/gstidentity.c: (gst_identity_event),
15371         (gst_identity_transform), (gst_identity_get_property):
15372         Protect last_message property as it is accessed from
15373         multiple threads.
15374
15375 2005-05-30  Wim Taymans  <wim@fluendo.com>
15376
15377         * gst/gstelement.c: (gst_element_init),
15378         (gst_element_pads_activate), (gst_element_change_state):
15379         Slicker pad activation code.
15380
15381 2005-05-30  Wim Taymans  <wim@fluendo.com>
15382
15383         * gst/Makefile.am:
15384         * gst/gstelement.h:
15385         * gst/gstelementfactory.h:
15386         * gst/gsttypes.h:
15387         Move elementfactory methods to separate .h file.
15388
15389 2005-05-30  Wim Taymans  <wim@fluendo.com>
15390
15391         * docs/design/part-overview.txt:
15392         * gst/gstsystemclock.h:
15393         Small typo fixes, doc updates.
15394
15395 2005-05-30  Wim Taymans  <wim@fluendo.com>
15396
15397         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15398         (init_popt_callback):
15399         Remove cpu-opt flag.
15400
15401 2005-05-30  Wim Taymans  <wim@fluendo.com>
15402
15403         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15404         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15405         * gst/gstbuffer.h:
15406         Avoid typechecking in places where not needed.
15407         Added accessor for malloc_data.
15408
15409 2005-05-30  Wim Taymans  <wim@fluendo.com>
15410
15411         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15412         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15413         (gst_pad_configure_sink), (gst_pad_configure_src),
15414         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15415         (gst_pad_start_task):
15416         Propagate errors from _set_caps() in configure_src/sink
15417         functions instead of returning TRUE.
15418         FLUSH events can travel up and downstream
15419
15420
15421 2005-05-30  Wim Taymans  <wim@fluendo.com>
15422
15423         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15424         (gst_basesink_activate):
15425         Handle EOS in preroll.
15426
15427 2005-05-30  Wim Taymans  <wim@fluendo.com>
15428
15429         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15430         (gst_queue_loop), (gst_queue_handle_src_event):
15431         Remove old pieces of code
15432         Flushing the queue in an upstream event is a very bad idea.
15433
15434 2005-05-26  Andy Wingo  <wingo@pobox.com>
15435
15436         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15437         gst_value_set_mini_object so as to add a ref on the object (which
15438         will be removed when the value is unset).
15439
15440         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15441         arg type in ::handoff.
15442
15443         * gst/gstelement.c (gst_element_change_state): Also deactivate
15444         pads in READY->NULL, just in case the element didn't make it to
15445         PAUSED. Wingo tested, Wim approved.
15446
15447 2005-05-26  Wim Taymans  <wim@fluendo.com>
15448
15449         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15450         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15451         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15452         A flushing pad cannot be used to alloc_buffer from.
15453
15454 2005-05-26  Wim Taymans  <wim@fluendo.com>
15455
15456         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15457         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15458         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15459         (gst_bus_create_watch), (gst_bus_add_watch_full):
15460         * gst/gstbus.h:
15461         Implement a real GSource and use g_main_context_wakeup() to
15462         signal new messages instead of the socketpair.
15463
15464 2005-05-25  Wim Taymans  <wim@fluendo.com>
15465
15466         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15467         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15468         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15469         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15470         (gst_pad_send_event), (gst_pad_start_task):
15471         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15472         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15473         (gst_queue_sink_activate), (gst_queue_src_activate),
15474         (gst_queue_change_state):
15475         * gst/gstqueue.h:
15476         Fix state changes for non sinks. We now change sinks, then elements
15477         with unconnected srcpads, then the rest.
15478         More efficient queue unlocking in flush and state changes.
15479         Set the pad activate mode even if it does not have an activate
15480         function.
15481
15482 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15483
15484         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15485           Don't go in pull mode for non-seekable sources.
15486         * gst/elements/gsttypefindelement.h:
15487         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15488         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15489         (free_entry), (stop_typefinding),
15490         (gst_type_find_element_handle_event), (find_peek),
15491         (gst_type_find_element_chain), (do_pull_typefind),
15492         (gst_type_find_element_change_state):
15493           Allow typefinding (w/o seeking) in push-mode, simplified version
15494           of what was in 0.8.
15495         * gst/gstutils.c: (gst_buffer_join):
15496         * gst/gstutils.h:
15497           gst_buffer_join() from 0.8.
15498
15499 2005-05-25  Wim Taymans  <wim@fluendo.com>
15500
15501         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15502         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15503         (gst_pad_send_event), (gst_pad_start_task):
15504         Disable attempt at mode switching until it is figured out.
15505
15506 2005-05-25  Wim Taymans  <wim@fluendo.com>
15507
15508         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15509         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15510         (gst_basesink_finish_preroll), (gst_basesink_chain),
15511         (gst_basesink_loop), (gst_basesink_activate),
15512         (gst_basesink_change_state):
15513         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15514         (gst_basesrc_get_range), (gst_basesrc_loop),
15515         (gst_basesrc_activate):
15516         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15517         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15518         (gst_real_pad_init), (gst_real_pad_set_property),
15519         (gst_real_pad_get_property), (gst_pad_set_active),
15520         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15521         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15522         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15523         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15524         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15525         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15526         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15527         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15528         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15529         (gst_pad_stop_task):
15530         * gst/gstpad.h:
15531         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15532         (gst_queue_loop), (gst_queue_src_activate):
15533         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15534         (gst_task_get_state):
15535         * gst/gsttask.h:
15536         * gst/schedulers/threadscheduler.c:
15537         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15538         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15539         in task function.
15540         Remove ACTIVE pad flag, use FLUSHING everywhere
15541         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15542         functions.
15543         Add locks around IS_FLUSHING when reading.
15544         Take STREAM lock in chain(), get_range() functions so plugins
15545         don't need to take it anymore.
15546         
15547
15548
15549 2005-05-25  Wim Taymans  <wim@fluendo.com>
15550
15551         * tools/gst-launch.c: (event_loop):
15552         Unref message after using its contents instead of
15553         before.
15554
15555 2005-05-24  Wim Taymans  <wim@fluendo.com>
15556
15557         * docs/design/draft-ghostpads.txt:
15558         * docs/design/draft-push-pull.txt:
15559         * docs/design/draft-query.txt:
15560         * docs/design/part-overview.txt:
15561         Docs updates, added general overview doc.
15562
15563 2005-05-21  David Schleef  <ds@schleef.org>
15564
15565         * docs/gst/tmpl/old/GstBin.sgml:
15566         * docs/gst/tmpl/old/GstBuffer.sgml:
15567         * docs/gst/tmpl/old/GstCaps.sgml:
15568         * docs/gst/tmpl/old/GstClock.sgml:
15569         * docs/gst/tmpl/old/GstCompat.sgml:
15570         * docs/gst/tmpl/old/GstData.sgml:
15571         * docs/gst/tmpl/old/GstElement.sgml:
15572         * docs/gst/tmpl/old/GstEvent.sgml:
15573         * docs/gst/tmpl/old/GstIndex.sgml:
15574         * docs/gst/tmpl/old/GstStructure.sgml:
15575         * docs/gst/tmpl/old/GstTag.sgml:
15576         * docs/gst/tmpl/old/cothreads.sgml:
15577         * docs/gst/tmpl/old/cothreads_compat.sgml:
15578         * docs/gst/tmpl/old/gettext.sgml:
15579         * docs/gst/tmpl/old/gobject2gtk.sgml:
15580         * docs/gst/tmpl/old/grammar.tab.sgml:
15581         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15582         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15583         * docs/gst/tmpl/old/gst_private.sgml:
15584         * docs/gst/tmpl/old/gstaggregator.sgml:
15585         * docs/gst/tmpl/old/gstarch.sgml:
15586         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15587         * docs/gst/tmpl/old/gstbufferstore.sgml:
15588         * docs/gst/tmpl/old/gstdata_private.sgml:
15589         * docs/gst/tmpl/old/gstdisksink.sgml:
15590         * docs/gst/tmpl/old/gstdisksrc.sgml:
15591         * docs/gst/tmpl/old/gstelementfactory.sgml:
15592         * docs/gst/tmpl/old/gstextratypes.sgml:
15593         * docs/gst/tmpl/old/gstfakesink.sgml:
15594         * docs/gst/tmpl/old/gstfakesrc.sgml:
15595         * docs/gst/tmpl/old/gstfdsink.sgml:
15596         * docs/gst/tmpl/old/gstfdsrc.sgml:
15597         * docs/gst/tmpl/old/gstfilesink.sgml:
15598         * docs/gst/tmpl/old/gstfilesrc.sgml:
15599         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15600         * docs/gst/tmpl/old/gstidentity.sgml:
15601         * docs/gst/tmpl/old/gstindexfactory.sgml:
15602         * docs/gst/tmpl/old/gstmarshal.sgml:
15603         * docs/gst/tmpl/old/gstmd5sink.sgml:
15604         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15605         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15606         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15607         * docs/gst/tmpl/old/gstpipefilter.sgml:
15608         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15609         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15610         * docs/gst/tmpl/old/gstshaper.sgml:
15611         * docs/gst/tmpl/old/gstspider.sgml:
15612         * docs/gst/tmpl/old/gstspideridentity.sgml:
15613         * docs/gst/tmpl/old/gststatistics.sgml:
15614         * docs/gst/tmpl/old/gsttee.sgml:
15615         * docs/gst/tmpl/old/gsttimecache.sgml:
15616         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15617         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15618         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15619         * docs/gst/tmpl/old/types.sgml:
15620           I didn't intend to add these or check them in.
15621
15622 2005-05-19  David Schleef  <ds@schleef.org>
15623
15624         * configure.ac: Use -no-common everywhere.  In a sane world, it
15625           would be the default in libtool, because without it, you can't
15626           build DLLs on Windows.
15627         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15628         * docs/gst/gstreamer-sections.txt:
15629         * docs/gst/tmpl/gstcpu.sgml:
15630         * docs/gst/tmpl/gstdata.sgml:
15631         * docs/gst/tmpl/gstthread.sgml:
15632
15633 2005-05-19  David Schleef  <ds@schleef.org>
15634
15635         * gst/gstminiobject.c: (gst_value_set_mini_object),
15636         (gst_value_take_mini_object), (gst_value_get_mini_object):
15637         * gst/gstminiobject.h: Add GValue set/get functions.
15638
15639 2005-05-19  Wim Taymans  <wim@fluendo.com>
15640
15641         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15642         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15643         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15644         * gst/gstbuffer.h:
15645         * gst/gstbus.c: (gst_bus_post):
15646         * gst/gstelement.c: (gst_element_get_random_pad):
15647         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15648         Make subbufer unref the parent in finalize.
15649         some more debugging info.
15650
15651
15652 2005-05-19  Wim Taymans  <wim@fluendo.com>
15653
15654         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15655         (gst_basesink_init), (gst_basesink_finalize),
15656         (gst_basesink_activate), (gst_basesink_change_state):
15657         Don't free preroll queue too early.
15658
15659 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15660
15661         * gst/Makefile.am:
15662         * gst/ROADMAP:
15663           Hi, I'm outdated. Please shoot me.
15664
15665 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15666
15667         * gst/gstpipeline.c: (gst_pipeline_send_event):
15668           Do not access variables after they have been deleted.
15669
15670 2005-05-19  Wim Taymans  <wim@fluendo.com>
15671
15672         * tools/gst-inspect.c: (print_plugin_features):
15673         A plugin feature does unfortunatly not use the
15674         object name yet...
15675
15676 2005-05-18  Wim Taymans  <wim@fluendo.com>
15677
15678         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15679         Port _span() functions to new subbuffers.
15680
15681 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15682
15683         * gst/gstbin.c: (gst_bin_add_func):
15684           Fix clock settery in bins when adding kids after the clock has
15685           been selected.
15686
15687 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15688
15689         * gst/elements/gstidentity.c: (gst_identity_class_init):
15690           Workaround until signals support GstMiniObject.
15691
15692 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15693
15694         * gst/gstbuffer.c:
15695         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15696
15697 2005-05-18  Wim Taymans  <wim@fluendo.com>
15698
15699         * gst/base/Makefile.am:
15700         * gst/base/gstadapter.c: (gst_adapter_base_init),
15701         (gst_adapter_class_init), (gst_adapter_init),
15702         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15703         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15704         (gst_adapter_flush), (gst_adapter_available),
15705         (gst_adapter_available_fast):
15706         * gst/base/gstadapter.h:
15707         Ported and added adapter to the base classes.
15708
15709 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15710
15711         * gst/gst.c:
15712         * gst/gstmessage.c:
15713           Make sure the class is reffed/unreffed once before threads can be
15714           used.  Fixes #304551.
15715
15716 2005-05-17  Wim Taymans  <wim@fluendo.com>
15717
15718         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15719         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15720         * gst/gstminiobject.c: (gst_mini_object_get_type),
15721         (gst_mini_object_free):
15722         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15723         (gst_pad_push), (gst_pad_push_event):
15724         * gst/gstqueue.c: (gst_queue_change_state):
15725         Don't queue buffers in basesink when we are flushing.
15726         Unref buffer when flushing in basesink.
15727         Flush queue when going to READY
15728         Unref buffer when _push() returns an error.
15729         Don't free MiniObject instance when refcount is incremented
15730         in _finalize() so that we can recover objects.
15731
15732 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15733
15734         * docs/manual/advanced-schedulers.xml:
15735         * docs/manual/appendix-checklist.xml:
15736         * docs/pwg/advanced-clock.xml:
15737         * docs/pwg/advanced-interfaces.xml:
15738         * docs/pwg/advanced-request.xml:
15739         * docs/pwg/advanced-types.xml:
15740         * docs/pwg/intro-preface.xml:
15741         * examples/plugins/example.c: (gst_example_get_type),
15742         (gst_example_class_init), (gst_example_chain),
15743         (gst_example_set_property), (gst_example_get_property),
15744         (gst_example_change_state), (plugin_init):
15745         * examples/plugins/example.h:
15746           small doc fixes
15747
15748 2005-05-17  Wim Taymans  <wim@fluendo.com>
15749
15750         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15751         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15752         * gst/gstqueue.c: (gst_queue_change_state):
15753         Clear queue when going to READY.
15754         Remove IN_SETCAPS flag too.
15755
15756 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15757
15758         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15759           Remove implicit cast from gboolean to GstElementStateReturn;
15760           make sure we still return failure in paused => ready case if
15761           the parent class fails to change state and our own stop 
15762           vfunc succeeds.
15763
15764 2005-05-17  Wim Taymans  <wim@fluendo.com>
15765
15766         * tools/gst-launch.c: (event_loop):
15767         Message was unreffed too soon.
15768
15769 2005-05-16  Andy Wingo  <wingo@pobox.com>
15770
15771         * gst/gstbin.c (sink_iterator_filter): Err... um...
15772
15773         * check/gst/gstbin.c (test_ghost_pads): New test for the
15774         ghosting-if-elements-not-in-same-bin behavior.
15775
15776 2005-05-16  David Schleef  <ds@schleef.org>
15777
15778         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15779         accessing refcount directly.
15780
15781 2005-05-15  David Schleef  <ds@schleef.org>
15782
15783         * check/Makefile.am: remove GstData checks
15784         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15785         * gst/Makefile.am: add miniobject, remove data
15786         * gst/gst.h: add miniobject, remove data
15787         * gst/gstdata.c: remove
15788         * gst/gstdata.h: remove
15789         * gst/gstdata_private.h: remove
15790         * gst/gsttypes.h: remove GstEvent and GstMessage
15791         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15792         * gst/gstmarshal.list: change BOXED -> OBJECT
15793
15794         Implement GstMiniObject.
15795         * gst/gstminiobject.c:
15796         * gst/gstminiobject.h:
15797
15798         Modify to be subclasses of GstMiniObject.
15799         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15800         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15801         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15802         (gst_subbuffer_get_type), (gst_subbuffer_init),
15803         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15804         (gst_buffer_span):
15805         * gst/gstbuffer.h:
15806         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15807         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15808         (_gst_event_copy), (gst_event_new):
15809         * gst/gstevent.h:
15810         * gst/gstmessage.c: (_gst_message_initialize),
15811         (gst_message_get_type), (gst_message_class_init),
15812         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15813         (gst_message_new), (gst_message_new_error),
15814         (gst_message_new_warning), (gst_message_new_tag),
15815         (gst_message_new_state_changed), (gst_message_new_application):
15816         * gst/gstmessage.h:
15817         * gst/gstprobe.c: (gst_probe_perform),
15818         (gst_probe_dispatcher_dispatch):
15819         * gst/gstprobe.h:
15820         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15821         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15822         (_gst_query_copy), (gst_query_new):
15823
15824         Update elements for GstData -> GstMiniObject changes
15825         * gst/gstquery.h:
15826         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15827         (gst_queue_chain), (gst_queue_loop):
15828         * gst/elements/gstbufferstore.c:
15829         (gst_buffer_store_add_buffer_func),
15830         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15831         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15832         (gst_fakesink_render):
15833         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15834         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15835         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15836         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15837         (gst_filesrc_create_read):
15838         * gst/elements/gstidentity.c: (gst_identity_class_init):
15839         * gst/elements/gsttypefindelement.c:
15840         (gst_type_find_element_src_event), (free_entry_buffers),
15841         (gst_type_find_element_handle_event):
15842         * libs/gst/dataprotocol/dataprotocol.c:
15843         (gst_dp_header_from_buffer):
15844         * libs/gst/dataprotocol/dataprotocol.h:
15845         * libs/gst/dataprotocol/dp-private.h:
15846
15847 2005-05-15  David Schleef  <ds@schleef.org>
15848
15849         * gst/elements/gstelements.c: Don't include headers that were
15850         just removed.
15851
15852 2005-05-15  David Schleef  <ds@schleef.org>
15853
15854         * gst/elements/Makefile.am: Remove some elements that don't
15855         need to be in the core (or even exist at all).
15856         * gst/elements/gstaggregator.c:
15857         * gst/elements/gstaggregator.h:
15858         * gst/elements/gstmd5sink.c:
15859         * gst/elements/gstmd5sink.h:
15860         * gst/elements/gstmultifilesrc.c:
15861         * gst/elements/gstmultifilesrc.h:
15862         * gst/elements/gstpipefilter.c:
15863         * gst/elements/gstpipefilter.h:
15864         * gst/elements/gstshaper.c:
15865         * gst/elements/gstshaper.h:
15866         * gst/elements/gststatistics.c:
15867         * gst/elements/gststatistics.h:
15868         * po/POTFILES.in: Remove above files.
15869
15870 2005-05-14  Andy Wingo  <wingo@pobox.com>
15871
15872         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15873         so as to get the refs right.
15874         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15875         unreffing objects that don't pass the filter.
15876
15877         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15878         gst_element_set_bus.
15879         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15880         normal cases, this will destroy the bus.
15881
15882         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15883         object.
15884
15885         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15886         has no sinks.
15887
15888 2005-05-13  Andy Wingo  <wingo@pobox.com>
15889
15890         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15891         gst_pad_link, call pad_link_maybe_ghosting,
15892         (pad_link_maybe_ghosting): Links pads, making sure that the
15893         elements being linked are in the same bin.
15894         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15895         Helpers for pad_link_maybe_ghosting.
15896
15897 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15898
15899         * configure.ac:
15900           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15901
15902 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15903
15904         * docs/design/part-element-source.txt:
15905           Mention GstPushSrc
15906
15907 2005-05-12  Wim Taymans  <wim@fluendo.com>
15908
15909         * gst/base/gstbasesink.c: (gst_basesink_init),
15910         (gst_basesink_activate):
15911         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15912         (gst_basesrc_is_seekable):
15913         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15914         (bin_element_is_sink), (gst_bin_change_state):
15915         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15916         * gst/gstelement.h:
15917         Identify sinks by their flag to avoid overly complicated
15918         checks (fow now).
15919         Do state changes even for elements not reachable from the
15920         sinks.
15921         BaseSink is a sink now :)
15922         Some more debugging info in the basesrc.
15923
15924
15925 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15926
15927         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15928           Implement _query on a bin, similar to _send_event.
15929
15930 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15931
15932         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15933           Discont event offset format should be GST_FORMAT_BYTES,
15934           not GST_FORMAT_TIME.
15935
15936 2005-05-12  Wim Taymans  <wim@fluendo.com>
15937
15938         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15939         Same fix as Ronald's but without the signal. 
15940
15941 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15942
15943         * gst/gstutils.c: (gst_element_query_position):
15944           No, an element is not a pad.
15945
15946 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15947
15948         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15949         (gst_bin_get_state):
15950           If a child is removed from a bin while we remove the child from
15951           the bin and while we're retrieving its state, signal this to the
15952           get_state function so we abort the wait (instead of waiting for
15953           a timeout) and can immediately re-iterate over all other elements.
15954
15955 2005-05-12  Wim Taymans  <wim@fluendo.com>
15956
15957         * gst/base/Makefile.am:
15958         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15959         (gst_basesrc_start):
15960         * gst/base/gstbasesrc.h:
15961         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15962         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15963         (gst_pushsrc_init), (gst_pushsrc_create):
15964         * gst/base/gstpushsrc.h:
15965         Added is_seekable to BaseSrc
15966         Added simple PushSrc.
15967
15968 2005-05-11  Wim Taymans  <wim@fluendo.com>
15969
15970         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15971         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15972         (gst_element_link_pads), (gst_element_query_position),
15973         (gst_element_query_convert), (intersect_caps_func),
15974         (gst_pad_query_position), (gst_pad_query_convert):
15975         Fix refcounting in utils function.
15976         No point in trying to activate a pad when it's added, it could
15977         be added from the state change function and then we deadlock, the
15978         element has to decide what to do.
15979
15980 2005-05-10  Andy Wingo  <wingo@pobox.com>
15981
15982         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15983         *all* the arguments.
15984
15985         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15986         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15987         lock (according to the docs -- if this is wrong change the docs).
15988
15989         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15990         flush messages in the NULL state.
15991
15992         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15993         message immediately and return.
15994         (gst_bus_set_flushing): New function. If a bus is flushing, it
15995         flushes out any queued messages and immediately unrefs new
15996         messages. This is so when an element goes to NULL, all of the
15997         unhandled messages coming from it can be freed, and their
15998         references to the element dropped. In other words: message source
15999         ref considered harmful :P
16000
16001         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16002         we're finished with it.
16003
16004         * gst/gstmessage.c (gst_message_new_state_changed): 
16005
16006 2005-05-10  Wim Taymans  <wim@fluendo.com>
16007
16008         * gst/gstvalue.c: (gst_value_compare_flags),
16009         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16010         (_gst_value_initialize):
16011         Added flags serialize/deserialize/compare code.
16012
16013 2005-05-09  Andy Wingo  <wingo@pobox.com>
16014
16015         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16016         Intersect the peer's caps with our caps.
16017
16018 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16019
16020         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16021         * gst/elements/gsttypefindelement.c: (find_peek):
16022           Handle negative offsets better. Fixes decodebin.
16023
16024 2005-05-09  Wim Taymans  <wim@fluendo.com>
16025
16026         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16027         (gst_base_transform_event):
16028         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16029         Implement accept_caps.
16030         Fix silly lock/unlock mismatch in base class.
16031
16032 2005-05-09  Wim Taymans  <wim@fluendo.com>
16033
16034         * docs/design/draft-push-pull.txt:
16035         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16036         * gst/elements/gstfilesink.c: (gst_filesink_init),
16037         (gst_filesink_query):
16038         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16039         (gst_type_find_handle_src_query), (find_element_get_length):
16040         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16041         * gst/gstelement.h:
16042         * gst/gstmessage.c:
16043         * gst/gstmessage.h:
16044         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16045         (gst_real_pad_get_caps_unlocked),
16046         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16047         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16048         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16049         (gst_real_pad_dispose), (gst_real_pad_finalize),
16050         (gst_pad_load_and_link), (gst_pad_save_thyself),
16051         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16052         (gst_pad_check_pull_range), (gst_pad_pull_range),
16053         (gst_pad_template_get_type), (gst_pad_template_class_init),
16054         (gst_pad_template_init), (gst_pad_template_dispose),
16055         (name_is_valid), (gst_static_pad_template_get),
16056         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16057         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16058         (gst_pad_get_element_private), (gst_pad_start_task),
16059         (gst_pad_pause_task), (gst_pad_stop_task),
16060         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16061         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16062         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16063         (gst_ghost_pad_new):
16064         * gst/gstpad.h:
16065         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16066         (gst_query_new_position), (gst_query_set_position),
16067         (gst_query_parse_position), (gst_query_new_convert),
16068         (gst_query_set_convert), (gst_query_parse_convert):
16069         * gst/gstquery.h:
16070         * gst/gstqueryutils.c:
16071         * gst/gstqueryutils.h:
16072         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16073         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16074         (gst_queue_handle_src_query):
16075         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16076         (gst_element_query_position), (gst_element_query_convert),
16077         (intersect_caps_func), (gst_pad_query_position),
16078         (gst_pad_query_convert):
16079         * gst/gstutils.h:
16080         * tools/gst-inspect.c: (print_pad_info):
16081         * tools/gst-xmlinspect.c: (print_element_info):
16082         Remove old query functions. Ported old code.
16083         Added position/convert helper functions to gstutils.
16084         Reordered gstpad.c code, grouping relevant things.
16085         Remove gst_message_new(), always need to speficy a specific
16086         message.
16087
16088
16089 2005-05-09  Andy Wingo  <wingo@pobox.com>
16090
16091         * gst/gstiterator.h: Add some includes.
16092
16093         * gst/gstqueryutils.h: Include more headers.
16094
16095         * gst/gstpad.h:
16096         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16097         some uses of gst_pad_query.
16098
16099         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16100         NULL out parameters.
16101         (gst_query_new_position): New proc, allocates a new position
16102         query.
16103
16104         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16105         gstqueryutils.c to the build.
16106
16107         * gst/gststructure.c (gst_structure_set_valist): Implement with
16108         the generic G_VALUE_COLLECT.
16109         
16110 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16111
16112         * gst/Makefile.am: (gst_headers):
16113         Added gstqueryutils.h to the list of headers to install, that was
16114         a 'nachty' move wingo :)
16115
16116 2005-05-06  Andy Wingo  <wingo@pobox.com>
16117
16118         * gst/gstquery.h
16119         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16120         GstData, init a memchunk.
16121         (standard_definitions): Add a few query types, deprecate a few.
16122         (gst_query_get_type): New proc.
16123         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16124         implementation.
16125         (gst_query_new_application, gst_query_get_structure): New public
16126         procs.
16127
16128         * docs/design/draft-query.txt: Removed LINKS from the query types,
16129         because all the rest can be dispatched to other pads -- seemed
16130         ugly to have a query that couldn't be dispatched. internal_links
16131         is fine as a pad method.
16132
16133         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16134         in gstpad.c, but maintain binary compatibility for the moment.
16135         Will fix before 0.9 is out.
16136
16137         * gst/gstqueryutils.c: 
16138         * gst/gstqueryutils.h: New files, implement 3 methods for each
16139         query type: parse_query, parse_response, and set. Probably need an
16140         allocator as well.
16141
16142         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16143
16144         * gst/elements/gstfilesink.c (gst_filesink_query2):
16145         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16146         query_types, and formats methods.
16147
16148         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16149         (gst_pad_set_query2_function): New functions.
16150         (gst_real_pad_init): Set query2_default as the default query2
16151         function. Basically just dispatches to internally linked pads.
16152
16153         Needs review!
16154         
16155         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16156         without using the atomic operations. Only one thread can possibly
16157         be accessing the data at this point. Changed so as to avoid
16158         gst_atomic operations.
16159
16160 2005-05-06  Wim Taymans  <wim@fluendo.com>
16161
16162         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16163         Also set caps if we use the fallback buffer alloc.
16164
16165 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16166
16167         * docs/gst/Makefile.am:
16168         * docs/gst/gstreamer-docs.sgml:
16169         * docs/gst/gstreamer-sections.txt:
16170         * docs/gst/tmpl/gstatomic.sgml:
16171         * docs/gst/tmpl/gstmemchunk.sgml:
16172         * testsuite/elements/struct_i386.h:
16173         * win32/GStreamer.vcproj:
16174         * win32/Makefile:
16175           Purge GstAtomic stuff from docs and win32 makefiles as well
16176
16177 2005-05-06  Wim Taymans  <wim@fluendo.com>
16178
16179         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16180         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16181         * gst/gstpad.c: (gst_pad_peer_get_caps):
16182         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16183         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16184         (gst_queue_src_activate), (gst_queue_change_state):
16185         * gst/gstqueue.h:
16186         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16187         (intersect_caps_func):
16188         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16189         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16190         Some fixes for the peer_get_caps() change.
16191
16192 2005-05-06  Wim Taymans  <wim@fluendo.com>
16193
16194         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16195         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16196         (gst_basesink_activate):
16197         Actually do something with error codes returned from the push
16198         functions.
16199
16200 2005-05-06  Wim Taymans  <wim@fluendo.com>
16201
16202         * docs/design/part-element-sink.txt:
16203         * docs/design/part-element-source.txt:
16204         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16205         (gst_basesink_event), (gst_basesink_activate):
16206         * gst/base/gstbasesink.h:
16207         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16208         (gst_basesrc_activate):
16209         * gst/base/gstbasesrc.h:
16210         * gst/gstelement.c: (gst_element_pads_activate):
16211         Some more documentation.
16212         Fixed scheduling decision in _pads_activate().
16213
16214 2005-05-05  Andy Wingo  <wingo@pobox.com>
16215
16216         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16217         the test suite.
16218
16219 2005-05-05  Wim Taymans  <wim@fluendo.com>
16220
16221         * gst/base/Makefile.am:
16222         * gst/base/gstbasesink.h:
16223         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16224         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16225         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16226         (gst_collectpads_class_init), (gst_collectpads_init),
16227         (gst_collectpads_finalize), (gst_collectpads_new),
16228         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16229         (find_pad), (gst_collectpads_remove_pad),
16230         (gst_collectpads_is_active), (gst_collectpads_collect),
16231         (gst_collectpads_collect_range), (gst_collectpads_start),
16232         (gst_collectpads_stop), (gst_collectpads_peek),
16233         (gst_collectpads_pop), (gst_collectpads_available),
16234         (gst_collectpads_read), (gst_collectpads_flush),
16235         (gst_collectpads_chain):
16236         * gst/base/gstcollectpads.h:
16237         * gst/elements/Makefile.am:
16238         * gst/elements/gstelements.c:
16239         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16240         (gst_fakesink_get_times), (gst_fakesink_event),
16241         (gst_fakesink_preroll), (gst_fakesink_render):
16242         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16243         (gst_filesink_init), (gst_filesink_set_location),
16244         (gst_filesink_open_file), (gst_filesink_close_file),
16245         (gst_filesink_pad_query), (gst_filesink_event),
16246         (gst_filesink_render), (gst_filesink_change_state):
16247         * gst/elements/gstfilesink.h:
16248         Added object to help in making collect pad based elements.
16249         Ported filesink.
16250         Make event function in sink baseclass return gboolean.
16251
16252 2005-05-05  Wim Taymans  <wim@fluendo.com>
16253
16254         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16255         (gst_bin_get_by_name):
16256         * gst/gstbuffer.h:
16257         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16258         (gst_clock_finalize):
16259         * gst/gstdata.c: (gst_data_replace):
16260         * gst/gstdata.h:
16261         * gst/gstelement.c: (gst_element_request_pad),
16262         (gst_element_pads_activate):
16263         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16264         (gst_object_unref):
16265         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16266         (gst_pad_set_checkgetrange_function),
16267         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16268         (gst_pad_check_pull_range), (gst_pad_pull_range),
16269         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16270         (gst_pad_pause_task), (gst_pad_stop_task):
16271         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16272         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16273         Fix name lookup in GstBin.
16274         Added _data_replace() function and _buffer_replace()
16275         Use finalize method to clean up clock.
16276         Fix refcounting on request pads.
16277         Fix pad schedule mode error.
16278         Some more object refcounting debug info,
16279
16280
16281 2005-05-04  Andy Wingo <wingo@pobox.com>
16282
16283         * check/Makefile.am:
16284         * docs/gst/tmpl/gstatomic.sgml:
16285         * docs/gst/tmpl/gstplugin.sgml:
16286         * gst/base/gstbasesink.c: (gst_basesink_activate):
16287         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16288         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16289         (gst_basesrc_query), (gst_basesrc_set_property),
16290         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16291         (gst_basesrc_activate):
16292         * gst/base/gstbasesrc.h:
16293         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16294         (gst_base_transform_src_activate):
16295         * gst/elements/gstelements.c:
16296         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16297         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16298         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16299         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16300         (gst_type_find_element_checkgetrange),
16301         (gst_type_find_element_activate):
16302         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16303         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16304         (gst_caps_load_thyself):
16305         * gst/gstelement.c: (gst_element_pads_activate),
16306         (gst_element_save_thyself), (gst_element_restore_thyself):
16307         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16308         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16309         * gst/gstpad.h:
16310         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16311         (gst_xml_parse_file), (gst_xml_parse_memory),
16312         (gst_xml_get_element), (gst_xml_make_element):
16313         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16314         (_file_index_id_save_xml), (gst_file_index_commit):
16315         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16316         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16317         (load_paths):
16318         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16319         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16320         * tools/gst-complete.c: (main):
16321         * tools/gst-compprep.c: (main):
16322         * tools/gst-inspect.c: (print_element_properties_info):
16323         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16324         * tools/gst-xmlinspect.c: (print_element_properties):
16325         GCC 4 fixen.
16326         
16327 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16328
16329         * gst/gstplugin.c: (gst_plugin_check_module),
16330         (gst_plugin_check_file), (gst_plugin_load_file):
16331             apply patch from #172526 to make register work on MacOSX
16332
16333 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16334
16335         * docs/gst/tmpl/gstconfig.sgml:
16336         * gst/gstconfig.h.in:
16337           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16338         * testsuite/debug/printf_extension.c: (main):
16339           Do not use GST_PTR_FORMAT on pointers to types with
16340           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16341         * testsuite/elements/property.h:
16342           use correct printf format
16343
16344 2005-05-02  Wim Taymans  <wim@fluendo.com>
16345
16346         * docs/design/draft-push-pull.txt:
16347         * docs/design/draft-query.txt:
16348         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16349         (gst_basesrc_start):
16350         Added draft for new query API.
16351         Added draft for better selecting scheduling methods.
16352         Make basesrc ignore length if the subclass does not support
16353         it.
16354
16355 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16356
16357         * gst/Makefile.am:
16358           possible fixes for automake-1.5 - _LIBADD is reserved
16359
16360 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16361
16362         * docs/faq/Makefile.am:
16363         * docs/manual/Makefile.am:
16364         * docs/manuals.mak:
16365         * docs/pwg/Makefile.am:
16366         * gst/Makefile.am:
16367           possible fixes for automake-1.5
16368
16369 2005-04-28  Wim Taymans  <wim@fluendo.com>
16370
16371         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16372         (gst_basesink_pad_getcaps), (gst_basesink_init),
16373         (gst_basesink_do_sync):
16374         * gst/gstclock.c: (gst_clock_entry_new):
16375         * gst/gstevent.c: (gst_event_discont_get_value):
16376         * gst/gstpipeline.c: (pipeline_bus_handler),
16377         (gst_pipeline_change_state):
16378         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16379         Better debugging of clocking info.
16380         Allow NULL values when getting discont values.
16381
16382 2005-04-27  Wim Taymans  <wim@fluendo.com>
16383
16384         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16385         * check/gst/gstpad.c: (gst_pad_suite):
16386         Increase timeout for checks.
16387
16388 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16389
16390         * check/Makefile.am:
16391           fix the broken rule for cleanup.  Apparently this rule is
16392           only needed on FC2, so maybe this warrants further autotool
16393           inspection.
16394
16395 2005-04-26  Wim Taymans  <wim@fluendo.com>
16396
16397         * gst/gsttrashstack.h:
16398         Ooohh. a nasty one! After having a failed pop() from the stack,
16399         it's possible that the stack is empty. In that case, don't
16400         follow the NULL pointer.
16401
16402 2005-04-25  Wim Taymans  <wim@fluendo.com>
16403
16404         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16405         (gst_pad_set_checkgetrange_function),
16406         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16407         (gst_pad_check_pull_range), (gst_pad_pull_range),
16408         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16409         (gst_pad_pause_task), (gst_pad_stop_task):
16410         * gst/gstplugin.c: (gst_plugin_load):
16411         * gst/gstplugin.h:
16412         Remove gst_library_load as it does more harm than good with
16413         the new g_module flags.
16414         Revert bogus caps template check in pad linking, pad caps
16415         are important when linking not the template, which is more
16416         general than the current caps.
16417
16418 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16419
16420         * gst/autoplug/.cvsignore:
16421         * gst/autoplug/Makefile.am:
16422         * gst/autoplug/gstsearchfuncs.c:
16423         * gst/autoplug/gstsearchfuncs.h:
16424         * gst/autoplug/gstspider.c:
16425         * gst/autoplug/gstspider.h:
16426         * gst/autoplug/gstspideridentity.c:
16427         * gst/autoplug/gstspideridentity.h:
16428         * gst/autoplug/spidertest.c:
16429           Die, spider, die.
16430
16431 2005-04-25  Wim Taymans  <wim@fluendo.com>
16432
16433         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16434         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16435         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16436         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16437         * gst/gstpad.h:
16438         Added stubs for unimplemented functions. 
16439
16440 2005-04-24  David Schleef  <ds@schleef.org>
16441
16442         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16443         please fix.
16444
16445 2005-04-24  David Schleef  <ds@schleef.org>
16446
16447         Convert everything from GstAtomicInt to g_atomic_int_*, and
16448         remove gstatomic.
16449         * gst/Makefile.am:
16450         * gst/gstatomic.c:
16451         * gst/gstatomic.h:
16452         * gst/gstatomic_impl.h:
16453         * gst/gstbuffer.c:
16454         * gst/gstcaps.c:
16455         * gst/gstcaps.h:
16456         * gst/gstclock.c:
16457         * gst/gstclock.h:
16458         * gst/gstdata.c:
16459         * gst/gstdata.h:
16460         * gst/gstdata_private.h:
16461         * gst/gstevent.c:
16462         * gst/gstinfo.c:
16463         * gst/gstinfo.h:
16464         * gst/gstmessage.c:
16465         * gst/gstobject.c:
16466         * gst/gstobject.h:
16467         * gst/gststructure.c:
16468         * gst/gststructure.h:
16469         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16470         * gst/gstutils.h:
16471
16472 2005-04-24  David Schleef  <ds@schleef.org>
16473
16474         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16475         make the regressions tests work.  Remove some code that is no
16476         longer true.
16477         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16478         Disable warning for pads without templates.
16479
16480 2005-04-24  David Schleef  <ds@schleef.org>
16481
16482         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16483         functions that handle filtered links.
16484         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16485         removed functions.
16486         * gst/gstutils.c: Fix/remove utility functions that handle
16487         filtered caps.
16488         * gst/gstutils.h:
16489         * gst/gstvalue.c: Add serialization/deserialization of caps
16490         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16491         requires fixing so that the filter caps notation creates
16492         a capsfilter element and sets the filter_caps property.  I
16493         think everyone probably wants to keep the shorthand notation.
16494         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16495         * docs/gst/tmpl/gstpad.sgml:
16496
16497         * gst/elements/gstelements.c: Register capsfilter element.
16498         * gst/Makefile.am: fix spacing
16499         * docs/random/ds/0.9-suggested-changes: random
16500
16501 2005-04-23  David Schleef  <ds@schleef.org>
16502
16503         * gst/elements/Makefile.am:
16504         * gst/elements/gstcapsfilter.c: New element that acts like an
16505         identity, but filters caps.  Will eventually replace filtered
16506         caps in pad linking.
16507         * gst/gstutils.c: (gst_element_create_all_pads): New function
16508         to create all the ALWAYS pads that are registered with an
16509         element class.  This functionality should eventually be
16510         merged in with GstElement initialization.
16511         * gst/gstutils.h:
16512         * testsuite/trigger/README: part of trigger test code that should
16513         have been checked in a long time ago.
16514
16515 2005-04-23  David Schleef  <ds@schleef.org>
16516
16517         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16518         needed with new versions of libtool (nobody will confirm this),
16519         and hard to carry around.
16520         * gst/autoplug/Makefile.am:
16521         * gst/base/Makefile.am:
16522         * gst/elements/Makefile.am:
16523         * gst/indexers/Makefile.am:
16524         * gst/schedulers/Makefile.am:
16525         * libs/gst/bytestream/Makefile.am:
16526         * libs/gst/control/Makefile.am:
16527         * libs/gst/dataprotocol/Makefile.am:
16528         * libs/gst/getbits/Makefile.am:
16529
16530 2005-04-21  Wim Taymans  <wim@fluendo.com>
16531
16532         * docs/design/draft-push-pull.txt:
16533         * docs/design/part-MT-refcounting.txt:
16534         * docs/design/part-TODO.txt:
16535         * docs/design/part-caps.txt:
16536         * docs/design/part-events.txt:
16537         * docs/design/part-gstbus.txt:
16538         * docs/design/part-gstpipeline.txt:
16539         * docs/design/part-messages.txt:
16540         * docs/design/part-push-pull.txt:
16541         * docs/design/part-query.txt:
16542         Some more docs.
16543
16544 2005-04-21  Wim Taymans  <wim@fluendo.com>
16545
16546         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16547         (gst_message_new), (gst_message_new_error),
16548         (gst_message_new_warning), (gst_message_new_tag),
16549         (gst_message_new_state_changed), (gst_message_new_application),
16550         (gst_message_get_structure):
16551         * gst/gstmessage.h:
16552         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16553         (gst_structure_copy_conditional):
16554         Use parent refcount in GstMessage to ensure GstStructure
16555         consistency.
16556         Cleaned up headers a bit.
16557         
16558
16559 2005-04-20  Wim Taymans  <wim@fluendo.com>
16560
16561         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16562         (gst_basesink_pad_getcaps), (gst_basesink_init),
16563         (gst_basesink_chain_unlocked):
16564         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16565         (gst_type_find_helper):
16566         * gst/elements/gsttypefindelement.c:
16567         (gst_type_find_element_have_type), (gst_type_find_element_init),
16568         (stop_typefinding), (gst_type_find_element_handle_event),
16569         (find_suggest), (gst_type_find_element_chain),
16570         (gst_type_find_element_checkgetrange),
16571         (gst_type_find_element_getrange), (do_typefind),
16572         (gst_type_find_element_activate):
16573         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16574         (gst_buffer_default_free), (gst_buffer_default_copy),
16575         (gst_buffer_set_caps):
16576         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16577         (gst_caps_replace):
16578         * gst/gstmessage.c: (gst_message_new),
16579         (gst_message_new_state_changed):
16580         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16581         (gst_pad_set_checkgetrange_function),
16582         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16583         (gst_pad_set_caps), (gst_pad_check_pull_range),
16584         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16585         * gst/gstpad.h:
16586         * gst/gsttypefind.c: (gst_type_find_register):
16587         Make gst_caps_replace() work like other _replace() functions.
16588         Use _caps_replace() where possible.
16589         Make sure _message_new() initialises its field.
16590         Add gst_static_pad_template_get_caps()
16591
16592
16593 2005-04-18  Andy Wingo  <wingo@pobox.com>
16594
16595         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16596         on the peer, not the pad. I think that was a typo. Pass an extra
16597         arg to see if random access is possible. Activate the pads as
16598         PULL_RANGE if possible.
16599
16600         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16601
16602         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16603         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16604         to PROP_....
16605
16606 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16607
16608         * docs/faq/using.xml:
16609           Add note on gstreamer-properties (#154996).
16610
16611 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16612
16613         * docs/random/bbb/optional-properties:
16614           Some analysis on optional properties.
16615
16616 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16617
16618         * docs/gst/tmpl/gstelementfactory.sgml:
16619         * gst/gstelement.h:
16620         * gst/gstelementfactory.c: (gst_element_factory_init),
16621         (gst_element_factory_cleanup), (gst_element_register),
16622         (__gst_element_factory_add_static_pad_template),
16623         (gst_element_factory_get_static_pad_templates),
16624         (gst_element_factory_can_src_caps),
16625         (gst_element_factory_can_sink_caps):
16626         * gst/registries/Makefile.am:
16627         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16628         (gst_xml_registry_class_init), (gst_xml_registry_init),
16629         (gst_xml_registry_new), (gst_xml_registry_set_property),
16630         (gst_xml_registry_get_property), (get_time), (make_dir),
16631         (gst_xml_registry_get_perms_func),
16632         (plugin_times_older_than_recurse), (plugin_times_older_than),
16633         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16634         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16635         (add_to_char_array), (read_string), (read_uint), (read_enum),
16636         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16637         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16638         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16639         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16640         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16641         (gst_xml_registry_rebuild):
16642         * gst/registries/gstlibxmlregistry.h:
16643         * tools/gst-compprep.c: (main):
16644         * tools/gst-inspect.c: (print_pad_templates_info):
16645         * tools/gst-xmlinspect.c: (print_element_info):
16646           Use libxml2 for registry parsing, use staticpadtemplates in
16647           elementfactories. Makes gst_init() +/- 10x faster.
16648
16649 2005-04-12  Wim Taymans  <wim@fluendo.com>
16650
16651         * gst/base/Makefile.am:
16652         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16653         (gst_basesink_pad_getcaps), (gst_basesink_init),
16654         (gst_basesink_event), (gst_basesink_change_state):
16655         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16656         (gst_basesrc_init), (gst_basesrc_query),
16657         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16658         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16659         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16660         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16661         (gst_basesrc_stop), (gst_basesrc_activate),
16662         (gst_basesrc_change_state):
16663         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16664         (helper_find_suggest), (gst_type_find_helper):
16665         * gst/base/gsttypefindhelper.h:
16666         * gst/elements/Makefile.am:
16667         * gst/elements/gstelements.c:
16668         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16669         (gst_fakesink_get_times), (gst_fakesink_event),
16670         (gst_fakesink_preroll), (gst_fakesink_render):
16671         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16672         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16673         (gst_fakesrc_get_property), (gst_fakesrc_create),
16674         (gst_fakesrc_start), (gst_fakesrc_stop):
16675         * gst/elements/gstfakesrc.h:
16676         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16677         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16678         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16679         (gst_filesrc_create_read), (gst_filesrc_create),
16680         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16681         (gst_filesrc_start):
16682         * gst/elements/gsttypefindelement.c:
16683         (gst_type_find_element_have_type), (gst_type_find_element_init),
16684         (start_typefinding), (stop_typefinding), (push_buffer_store),
16685         (gst_type_find_element_handle_event),
16686         (gst_type_find_element_chain),
16687         (gst_type_find_element_checkgetrange),
16688         (gst_type_find_element_getrange), (do_typefind),
16689         (gst_type_find_element_activate),
16690         (gst_type_find_element_change_state):
16691         * gst/elements/gsttypefindelement.h:
16692         * gst/gstpipeline.c: (pipeline_bus_handler):
16693         Added typefind helper.
16694         Small preroll fix in the base sink.
16695         Disable typefind code in basesrc.
16696         Crude port of typefindelement.
16697         Fakesrc cleanups.
16698
16699
16700 2005-04-11  Wim Taymans  <wim@fluendo.com>
16701
16702         * check/gst/gstbus.c: (gstbus_suite):
16703         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16704         * check/gstcheck.h:
16705           Fix up the timeout so that the test does not fail.
16706
16707 2005-04-06  Wim Taymans  <wim@fluendo.com>
16708
16709         * gst/base/README:
16710         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16711         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16712         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16713         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16714         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16715         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16716         (gst_basesrc_stop), (gst_basesrc_activate),
16717         (gst_basesrc_change_state), (basesrc_find_peek),
16718         (basesrc_find_suggest), (gst_basesrc_type_find):
16719         * gst/base/gstbasesrc.h:
16720         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16721         (gst_filesrc_class_init), (gst_filesrc_init),
16722         (gst_filesrc_finalize), (gst_filesrc_set_location),
16723         (gst_filesrc_set_property), (gst_filesrc_get_property),
16724         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16725         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16726         (gst_filesrc_create_read), (gst_filesrc_create),
16727         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16728         * gst/elements/gstfilesrc.h:
16729         * gst/gstelement.c: (gst_element_get_state_func),
16730         (gst_element_lost_state), (gst_element_pads_activate):
16731         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16732         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16733         (gst_pad_pull_range):
16734         * gst/gstpad.h:
16735         More work on the generic source base class, implement seeking,
16736         query.
16737         Make filesrc extend the base source class.
16738         Added gst_pad_set_checkgetrange_function to GstPad.
16739
16740 2005-04-06  Andy Wingo  <wingo@pobox.com>
16741
16742         * pkgconfig/gstreamer-base.pc.in:
16743         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16744
16745         * pkgconfig/Makefile.am:
16746         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16747
16748 2005-04-04  Wim Taymans  <wim@fluendo.com>
16749
16750         * gst/base/Makefile.am:
16751         * gst/base/README:
16752         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16753         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16754         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16755         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16756         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16757         (gst_basesrc_base_init), (gst_basesrc_class_init),
16758         (gst_basesrc_init), (gst_basesrc_get_formats),
16759         (gst_basesrc_get_query_types), (gst_basesrc_query),
16760         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16761         (gst_basesrc_set_property), (gst_basesrc_get_property),
16762         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16763         (gst_basesrc_loop), (gst_basesrc_activate),
16764         (gst_basesrc_change_state):
16765         * gst/base/gstbasesrc.h:
16766         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16767         (gst_fakesrc_class_init), (gst_fakesrc_init),
16768         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16769         (gst_fakesrc_get_property), (gst_fakesrc_create):
16770         * gst/elements/gstfakesrc.h:
16771         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16772         (gst_filesrc_open_file), (gst_filesrc_loop),
16773         (gst_filesrc_activate), (filesrc_find_peek),
16774         (gst_filesrc_type_find):
16775         Made base source class, make fakesrc extend it.
16776         Add comments to basesink class.
16777         Some filesrc cleanup.
16778
16779 2005-03-31  David Schleef  <ds@schleef.org>
16780
16781         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16782         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16783         expected to link against libgstreamer.
16784         * gst/base/Makefile.am: link against libgstreamer
16785         * gst/elements/Makefile.am: same
16786
16787 2005-03-31  Andy Wingo  <wingo@pobox.com>
16788
16789         * tests/instantiate/Makefile.am:
16790         * tests/instantiate/caps.c: Add test to test speed of caps copy
16791         and free.
16792
16793         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16794         GMemChunk to be fair.
16795
16796         * gst/gsttrashstack.h: Remove warning about using the fallback
16797         trash stack implementation, it's still faster than malloc.
16798
16799 2005-03-30  Andy Wingo  <wingo@pobox.com>
16800
16801         * tests/complexity.c: Add a copyright.
16802
16803 2005-03-31  Wim Taymans  <wim@fluendo.com>
16804
16805         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16806         (gst_base_transform_class_init), (gst_base_transform_init),
16807         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16808         (gst_base_transform_get_property),
16809         (gst_base_transform_sink_activate),
16810         (gst_base_transform_src_activate),
16811         (gst_base_transform_change_state):
16812         * gst/base/gstbasetransform.h:
16813         * gst/elements/gstidentity.c: (gst_identity_class_init),
16814         (gst_identity_event), (gst_identity_check_perfect),
16815         (gst_identity_transform), (gst_identity_start),
16816         (gst_identity_stop):
16817         Added start/stop methods to transform base class so subclasses 
16818         don't need to deal with state changes even.
16819
16820 2005-03-31  Wim Taymans  <wim@fluendo.com>
16821
16822         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16823         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16824         * gst/gstevent.h:
16825         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16826         (gst_pad_pull_range):
16827         Added rate to the discont event to prepare for variable speed
16828         and reverse playback.
16829
16830 2005-03-29  David Schleef  <ds@schleef.org>
16831
16832         * configure.ac:
16833         * testsuite/trigger/Makefile.am:
16834         * testsuite/trigger/trigger.c: A little example program to show
16835         how trigger-based elements can work.
16836
16837 2005-03-29  Wim Taymans  <wim@fluendo.com>
16838
16839         * gst/base/Makefile.am:
16840         * gst/base/README:
16841         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16842         (gst_basesink_base_init), (gst_basesink_class_init),
16843         (gst_basesink_pad_getcaps), (gst_basesink_init),
16844         (gst_basesink_activate), (gst_basesink_change_state):
16845         * gst/base/gstbasesink.h:
16846         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16847         (gst_base_transform_base_init), (gst_base_transform_finalize),
16848         (gst_base_transform_class_init), (gst_base_transform_init),
16849         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16850         (gst_base_transform_event), (gst_base_transform_getrange),
16851         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16852         (gst_base_transform_set_property),
16853         (gst_base_transform_get_property),
16854         (gst_base_transform_sink_activate),
16855         (gst_base_transform_src_activate),
16856         (gst_base_transform_change_state):
16857         * gst/base/gstbasetransform.h:
16858         * gst/elements/gstidentity.c: (gst_identity_finalize),
16859         (gst_identity_class_init), (gst_identity_init),
16860         (gst_identity_event), (gst_identity_check_perfect),
16861         (gst_identity_transform), (gst_identity_set_property),
16862         (gst_identity_get_property), (gst_identity_change_state):
16863         * gst/elements/gstidentity.h:
16864         * gst/gstelement.c: (gst_element_get_state_func),
16865         (gst_element_lost_state), (gst_element_pads_activate):
16866         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16867         (gst_pad_check_pull_range), (gst_pad_pull_range):
16868         * gst/gstpad.h:
16869         Simplify pad activation.
16870         Added function to check if pull_range can be performed.
16871         Error out when pulling inactive or flushing pads.
16872         Removed const from refcounted types as it does not make sense.
16873         Simplify pad templates in basesink
16874         Added base class for simple 1-to-1 transforms.
16875         Make identity subclass the base transform.
16876
16877 2005-03-29  Andy Wingo  <wingo@pobox.com>
16878
16879         * docs/libs/gstreamer-libs-overrides.txt: 
16880         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16881         really don't understand what's going on, but like whatever. I want
16882         green buildbot!
16883
16884         * docs/gst/Makefile.am:
16885         * docs/libs/Makefile.am: Dist the overrides files.
16886
16887         * check/Makefile.am (clean-local): Remove .libs directories.
16888
16889         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16890         elements to EXTRA_DIST, so po/ files are happy.
16891
16892         * po/POTFILES.in: Er, remove it here.
16893
16894         * po/POTFILES: Remove gstspider.c.
16895
16896         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16897
16898         * docs/libs/gstreamer-libs-docs.sgml: 
16899         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16900         bytestream.
16901
16902         * tests/complexity.c (main): Set the length of the preroll queue
16903         on the sinks to prevent a lockup.
16904
16905         * libs/gst/dataprotocol/Makefile.am: 
16906         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16907         the same as the one in check/gst-libs/gdp.c.
16908
16909         * po/, docs/gst/: Commit automatic changes to docs and po files.
16910
16911         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16912         the versioned libgstbase.
16913
16914         * check/Makefile.am: Depend on an unversioned gst-register, seems
16915         to make autoconf happier.
16916
16917         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16918
16919 2005-03-28  Wim Taymans  <wim@fluendo.com>
16920
16921         * configure.ac:
16922         * docs/design/part-gstelement.txt:
16923         * docs/design/part-negotiation.txt:
16924         * docs/design/part-preroll.txt:
16925         * docs/design/part-scheduling.txt:
16926         * docs/design/part-states.txt:
16927         * gst/Makefile.am:
16928         * gst/base/Makefile.am:
16929         * gst/base/README:
16930         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16931         (gst_basesink_base_init), (gst_basesink_class_init),
16932         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16933         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16934         (gst_basesink_set_pad_functions),
16935         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16936         (gst_basesink_set_property), (gst_basesink_get_property),
16937         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16938         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16939         (gst_basesink_preroll_queue_push),
16940         (gst_basesink_preroll_queue_empty),
16941         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16942         (gst_basesink_event), (gst_basesink_get_times),
16943         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16944         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16945         (gst_basesink_loop), (gst_basesink_activate),
16946         (gst_basesink_change_state):
16947         * gst/base/gstbasesink.h:
16948         * gst/elements/Makefile.am:
16949         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16950         (gst_fakesink_class_init), (gst_fakesink_init),
16951         (gst_fakesink_set_property), (gst_fakesink_get_property),
16952         (gst_fakesink_get_times), (gst_fakesink_event),
16953         (gst_fakesink_preroll), (gst_fakesink_render),
16954         (gst_fakesink_change_state):
16955         * gst/elements/gstfakesink.h:
16956         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16957         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16958         * gst/gstelement.c: (gst_element_add_pad),
16959         (gst_element_get_state_func), (gst_element_abort_state),
16960         (gst_element_commit_state), (gst_element_lost_state),
16961         (gst_element_set_state), (gst_element_pads_activate):
16962         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16963         * gst/gstpipeline.c: (gst_pipeline_send_event),
16964         (gst_pipeline_change_state):
16965         Added state change code.
16966         Added/updated docs.
16967         Added sink base class, make fakesink extend the base class.
16968         Small cleanups in GstPipeline.
16969
16970 2005-03-26  David Schleef  <ds@schleef.org>
16971
16972         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16973         is broken and should be implemented in a different library.
16974         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16975         * gst/gst.h: remove gstcpu.h
16976         * gst/gstcpu.c: remove
16977         * gst/gstcpu.h: remove
16978         * gst/Makefile.am.future: Remove this file.  It's ancient.
16979
16980 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16981
16982         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16983         (gst_bin_send_event):
16984           Add default event/set_manager handlers. The set_manager handler
16985           takes care that the manager is distributed over kids that were
16986           already in the bin before the manager was set. The event handler
16987           is a utility virtual function that sends the event over all sinks,
16988           so that gst_element_send_event (bin, event); has the expected
16989           behaviour.
16990         * gst/gstpad.c: (gst_pad_event_default):
16991           Re-install default event handling for discontinuities, so that
16992           seeking works without requiring hacks in applications or extra
16993           code in sinks.
16994         * gst/gstpipeline.c: (gst_pipeline_class_init),
16995         (gst_pipeline_send_event):
16996           Half hack, half utility: set a pipeline to PAUSED for seek events,
16997           since that is the only way we can guarantee a/v sync. Means that
16998           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16999           and it "just works".
17000
17001 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17002
17003         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17004           Lock/unlock mismatch.
17005
17006 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17007
17008         * docs/faq/gst-uninstalled:
17009           add gst-plugins-base
17010         * docs/gst/Makefile.am:
17011           don't error out until docs are fixed
17012         * docs/gst/gstreamer.types:
17013           remove thread
17014
17015 2005-03-22  Wim Taymans  <wim@fluendo.com>
17016
17017         * check/Makefile.am:
17018         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17019         * gst/gststructure.c: (gst_structure_set_valist),
17020         (gst_structure_copy_conditional):
17021         Activated more tests.
17022         Added message test.
17023         Added G_TYPE_POINTER to GstStructure.
17024         
17025
17026 2005-03-22  Wim Taymans  <wim@fluendo.com>
17027
17028         * docs/design/part-TODO.txt:
17029         * docs/design/part-events.txt:
17030         * docs/design/part-gstbin.txt:
17031         * docs/design/part-gstbus.txt:
17032         * docs/design/part-gstpipeline.txt:
17033         * docs/design/part-messages.txt:
17034         * gst/gstbus.c:
17035         * gst/gstmessage.c:
17036         Docs updates
17037
17038 2005-03-21  Wim Taymans  <wim@fluendo.com>
17039
17040         * gst/gstbus.c: (gst_bus_post):
17041         Fix copy-and-paste error.
17042
17043 2005-03-21  Wim Taymans  <wim@fluendo.com>
17044
17045         * check/Makefile.am:
17046         * gst/Makefile.am:
17047         * gst/elements/Makefile.am:
17048         * gst/elements/gstelements.c:
17049         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17050         (gst_fakesink_event), (gst_fakesink_chain):
17051         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17052         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17053         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17054         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17055         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17056         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17057         (gst_fakesrc_loop), (gst_fakesrc_activate),
17058         (gst_fakesrc_change_state):
17059         * gst/elements/gstfakesrc.h:
17060         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17061         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17062         (gst_filesrc_open_file), (gst_filesrc_loop),
17063         (gst_filesrc_activate), (gst_filesrc_change_state),
17064         (filesrc_find_peek), (filesrc_find_suggest),
17065         (gst_filesrc_type_find):
17066         * gst/elements/gstidentity.c: (gst_identity_finalize),
17067         (gst_identity_class_init), (gst_identity_init),
17068         (gst_identity_proxy_getcaps), (identity_queue_push),
17069         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17070         (gst_identity_getrange), (gst_identity_chain),
17071         (gst_identity_sink_loop), (gst_identity_src_loop),
17072         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17073         (gst_identity_set_property), (gst_identity_get_property),
17074         (gst_identity_change_state):
17075         * gst/elements/gstidentity.h:
17076         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17077         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17078         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17079         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17080         (gst_tee_sink_activate):
17081         * gst/elements/gsttee.h:
17082         * gst/gst.c: (gst_register_core_elements), (init_post):
17083         * gst/gst.h:
17084         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17085         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17086         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17087         (gst_bin_change_state):
17088         * gst/gstbin.h:
17089         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17090         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17091         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17092         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17093         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17094         (bus_watch_callback), (bus_watch_destroy),
17095         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17096         (poll_timeout), (gst_bus_poll):
17097         * gst/gstbus.h:
17098         * gst/gstcaps.h:
17099         * gst/gstdata.h:
17100         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17101         (gst_element_post_message), (gst_element_message_full),
17102         (gst_element_get_state_func), (gst_element_get_state),
17103         (gst_element_abort_state), (gst_element_commit_state),
17104         (gst_element_lost_state), (gst_element_set_state),
17105         (gst_element_pads_activate), (gst_element_change_state),
17106         (gst_element_dispose), (gst_element_set_manager_func),
17107         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17108         (gst_element_set_manager), (gst_element_get_manager),
17109         (gst_element_set_bus), (gst_element_get_bus),
17110         (gst_element_set_scheduler), (gst_element_get_scheduler):
17111         * gst/gstelement.h:
17112         * gst/gstevent.c: (gst_event_new_segment_seek),
17113         (gst_event_new_flush):
17114         * gst/gstevent.h:
17115         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17116         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17117         (gst_message_new_eos), (gst_message_new_error),
17118         (gst_message_new_warning), (gst_message_new_tag),
17119         (gst_message_new_state_changed), (gst_message_new_application),
17120         (gst_message_get_structure), (gst_message_parse_tag),
17121         (gst_message_parse_state_changed), (gst_message_parse_error),
17122         (gst_message_parse_warning):
17123         * gst/gstmessage.h:
17124         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17125         (gst_real_pad_set_property), (gst_pad_set_active),
17126         (gst_pad_is_active), (gst_pad_set_blocked_async),
17127         (gst_pad_set_blocked), (gst_pad_is_blocked),
17128         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17129         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17130         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17131         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17132         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17133         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17134         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17135         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17136         (gst_pad_set_caps), (gst_pad_configure_sink),
17137         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17138         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17139         (gst_real_pad_dispose), (gst_real_pad_finalize),
17140         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17141         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17142         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17143         * gst/gstpad.h:
17144         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17145         (pipeline_bus_handler), (gst_pipeline_change_state),
17146         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17147         * gst/gstpipeline.h:
17148         * gst/gstprobe.h:
17149         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17150         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17151         (gst_queue_link_src), (gst_queue_bufferalloc),
17152         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17153         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17154         (gst_queue_loop), (gst_queue_handle_src_event),
17155         (gst_queue_handle_src_query), (gst_queue_src_activate),
17156         (gst_queue_change_state):
17157         * gst/gstqueue.h:
17158         * gst/gstscheduler.c: (gst_scheduler_init),
17159         (gst_scheduler_dispose), (gst_scheduler_create_task),
17160         (gst_scheduler_factory_create):
17161         * gst/gstscheduler.h:
17162         * gst/gststructure.c: (gst_structure_get_type),
17163         (gst_structure_copy_conditional):
17164         * gst/gststructure.h:
17165         * gst/gsttaginterface.h:
17166         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17167         (gst_task_init), (gst_task_dispose), (gst_task_create),
17168         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17169         (gst_task_pause):
17170         * gst/gsttask.h:
17171         * gst/gstthread.c:
17172         * gst/gstthread.h:
17173         * gst/gsttypes.h:
17174         * gst/schedulers/Makefile.am:
17175         * gst/schedulers/cothreads_compat.h:
17176         * gst/schedulers/entryscheduler.c:
17177         * gst/schedulers/faircothreads.c:
17178         * gst/schedulers/faircothreads.h:
17179         * gst/schedulers/fairscheduler.c:
17180         * gst/schedulers/gstbasicscheduler.c:
17181         * gst/schedulers/gstoptimalscheduler.c:
17182         * gst/schedulers/gthread-cothreads.h:
17183         * gst/schedulers/threadscheduler.c:
17184         (gst_thread_scheduler_task_get_type),
17185         (gst_thread_scheduler_task_class_init),
17186         (gst_thread_scheduler_task_init),
17187         (gst_thread_scheduler_task_start),
17188         (gst_thread_scheduler_task_stop),
17189         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17190         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17191         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17192         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17193         (plugin_init):
17194         * libs/gst/Makefile.am:
17195         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17196         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17197         (gst_file_pad_parent_set):
17198         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17199         (gst_dp_event_from_packet):
17200         * tests/complexity.c: (main):
17201         * tests/mass_elements.c: (main):
17202         * testsuite/states/locked.c: (message_received), (main):
17203         * testsuite/states/parent.c: (main):
17204         * tools/gst-inspect.c: (print_element_flag_info),
17205         (print_implementation_info), (print_pad_info):
17206         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17207         (main):
17208         * tools/gst-md5sum.c: (event_loop), (main):
17209         * tools/gst-typefind.c: (main):
17210         * tools/gst-xmlinspect.c: (print_element_info):
17211         Next big merge.
17212         Added GstBus for mainloop integration.
17213         Added GstMessage for sending notifications on the bus.
17214         Added GstTask as an abstraction for pipeline entry points.
17215         Removed GstThread.
17216         Removed Schedulers.
17217         Simplified GstQueue for multithreaded core.
17218         Made _link threadsafe, removed old capsnego.
17219         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17220         Added pad blocking functions.
17221         Reworked scheduling functions in GstPad to prepare for
17222         scheduling updates soon.
17223         Moved events out of data stream.
17224         Simplified GstEvent types.
17225         Added return values to push/pull.
17226         Removed clocking from GstElement.
17227         Added prototypes for state change function for next merge.
17228         Removed iterate from bins and state change management.
17229         Fixed some elements, disabled others for now.
17230         Fixed -inspect and -launch.
17231         Added check for GstBus.
17232
17233 2005-03-10  Wim Taymans  <wim@fluendo.com>
17234
17235         * docs/design/part-MT-refcounting.txt:
17236         * docs/design/part-clocks.txt:
17237         * docs/design/part-gstelement.txt:
17238         * docs/design/part-gstobject.txt:
17239         * docs/design/part-standards.txt:
17240         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17241         (gst_bin_remove_func), (gst_bin_remove):
17242         * gst/gstbin.h:
17243         * gst/gstbuffer.c:
17244         * gst/gstcaps.h:
17245         * testsuite/clock/clock1.c: (main):
17246         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17247         (main):
17248         * testsuite/dlopen/loadgst.c: (do_test):
17249         * testsuite/refcounting/bin.c: (add_remove_test1),
17250         (add_remove_test2), (main):
17251         * testsuite/refcounting/element.c: (main):
17252         * testsuite/refcounting/element_pad.c: (main):
17253         * testsuite/refcounting/pad.c: (main):
17254         * tools/gst-launch.c: (sigint_handler_sighandler):
17255         * tools/gst-typefind.c: (main):
17256         Doc updates.
17257         Added doc about clock.
17258         removed gst_bin_iterate_recurse_up(), marked methods
17259         for removal.
17260         Fix more testsuites.
17261
17262 2005-03-09  Wim Taymans  <wim@fluendo.com>
17263
17264         * gst/gstpad.c: (gst_pad_get_direction),
17265         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17266         (gst_pad_collect_valist):
17267         * testsuite/bins/interface.c: (main):
17268         * testsuite/caps/audioscale.c: (test_caps):
17269         * testsuite/caps/caps.c: (test1), (test2), (test3):
17270         * testsuite/caps/deserialize.c: (main):
17271         * testsuite/caps/enumcaps.c: (main):
17272         * testsuite/caps/filtercaps.c: (main):
17273         * testsuite/caps/intersect2.c: (main):
17274         * testsuite/caps/random.c: (main):
17275         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17276         * testsuite/caps/sets.c: (check_caps):
17277         * testsuite/caps/simplify.c: (check_caps), (main):
17278         * testsuite/caps/subtract.c: (check_caps):
17279         Fix _pad_get_direction wrt ghostpads.
17280         Fix caps testsuite.
17281
17282 2005-03-09  Wim Taymans  <wim@fluendo.com>
17283
17284         * check/Makefile.am:
17285         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17286         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17287         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17288         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17289         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17290         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17291         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17292         (bin_element_is_sink), (gst_bin_iterate_sinks),
17293         (gst_bin_iterate_all_by_interface):
17294         * gst/gstbin.h:
17295         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17296         (gst_element_change_state), (gst_element_dispose),
17297         (gst_element_finalize), (gst_element_set_loop_function):
17298         * gst/gstelement.h:
17299         * gst/gstiterator.c: (find_custom_fold_func):
17300         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17301         (gst_pad_collectv), (gst_pad_collect_valist),
17302         (gst_pad_template_new):
17303         * gst/gstpipeline.c: (gst_pipeline_class_init),
17304         (gst_pipeline_dispose), (gst_pipeline_set_property),
17305         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17306         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17307         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17308         * gst/gstutils.h:
17309         * gst/schedulers/entryscheduler.c:
17310         * gst/schedulers/gstbasicscheduler.c:
17311         (gst_basic_scheduler_cothreaded_chain),
17312         (gst_basic_scheduler_chain_add_element):
17313         * testsuite/bins/interface.c: (main):
17314         Added GstBin test.
17315         Added GstSystemClock test.
17316         Implemented clock distribution code in GstBin.
17317         Implemented iterate sinks method for future use.
17318         Rearranged gstelement.h
17319         Fix GstIterator comparison bug.
17320         Moved some code to GstPipeline, mostly clocking related.
17321
17322 2005-03-09  Wim Taymans  <wim@fluendo.com>
17323
17324         * configure.ac:
17325         * gst/gst_private.h:
17326         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17327         (gst_bin_remove_func), (gst_bin_remove),
17328         (gst_bin_get_by_name_recurse_up):
17329         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17330         (gst_clock_id_compare_func), (gst_clock_id_wait),
17331         (gst_clock_id_wait_async), (gst_clock_init),
17332         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17333         * gst/gstelement.h:
17334         * gst/gstinfo.c: (_gst_debug_init):
17335         * gst/gstobject.h:
17336         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17337         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17338         * gst/gstpad.h:
17339         Bump version number, we're now 0.9.0
17340         Add future debugging category.
17341         Fix NULL _unref() in _get_by_name_recurse_up
17342         Rearrange gstpad.h.
17343         Update some docs.
17344
17345 2005-03-08  Wim Taymans  <wim@fluendo.com>
17346
17347         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17348         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17349         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17350         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17351         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17352         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17353         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17354         * gst/elements/gstidentity.c: (gst_identity_class_init):
17355         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17356         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17357         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17358         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17359         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17360         (gst_tee_link):
17361         * gst/gstelement.c: (gst_element_class_init),
17362         (gst_element_base_class_init), (gst_element_init),
17363         (gst_element_get_random_pad), (gst_element_wait_state_change),
17364         (gst_element_change_state), (gst_element_dispose),
17365         (gst_element_finalize), (gst_element_set_loop_function):
17366         * gst/gstelement.h:
17367         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17368         * gst/gstthread.c: (gst_thread_class_init),
17369         (gst_thread_release_children_locks), (gst_thread_change_state):
17370         * gst/schedulers/gstbasicscheduler.c:
17371         (gst_basic_scheduler_loopfunc_wrapper),
17372         (gst_basic_scheduler_chain_wrapper),
17373         (gst_basic_scheduler_src_wrapper),
17374         (gst_basic_scheduler_remove_element):
17375         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17376         Remove threadsafe properties. Fix elements because GObject
17377         complains when installing a property before declaring a
17378         set/get_property handler.
17379         Rearrange gstelement.h file, use STATE macros for state locks.
17380         Free mutexes in the finalize method instead of dispose.
17381
17382 2005-03-08  Wim Taymans  <wim@fluendo.com>
17383
17384         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17385         * gst/gstthread.c: (gst_thread_release_children_locks):
17386         Added parentage check.
17387         Fix build og GstThread again.
17388
17389 2005-03-08  Wim Taymans  <wim@fluendo.com>
17390
17391         * docs/design/part-MT-refcounting.txt:
17392         * docs/design/part-conventions.txt:
17393         * docs/design/part-gstobject.txt:
17394         * docs/design/part-relations.txt:
17395         * docs/design/part-standards.txt:
17396         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17397         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17398         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17399         (gst_bin_iterate_all_by_interface):
17400         * gst/gstbuffer.h:
17401         * gst/gstclock.h:
17402         * gst/gstelement.c: (gst_element_class_init),
17403         (gst_element_change_state), (gst_element_set_loop_function):
17404         * gst/gstelement.h:
17405         * gst/gstiterator.c:
17406         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17407         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17408         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17409         (gst_object_set_parent), (gst_object_unparent),
17410         (gst_object_check_uniqueness):
17411         * gst/gstobject.h:
17412         Docs updates, clean up some headers.
17413
17414 2005-03-07  Wim Taymans  <wim@fluendo.com>
17415
17416         * check/.cvsignore:
17417         * check/Makefile.am:
17418         * check/gst-libs/.cvsignore:
17419         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17420         * check/gst/.cvsignore:
17421         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17422         (START_TEST), (gstbus_suite), (main):
17423         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17424         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17425         (gst_data_suite), (main):
17426         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17427         (add_fold_func), (gstiterator_suite), (main):
17428         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17429         (thread_name_object), (thread_name_object_default),
17430         (gst_object_name_compare), (gst_object_suite), (main):
17431         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17432         (gst_pad_suite), (main):
17433         * check/gstcheck.c: (gst_check_log_message_func),
17434         (gst_check_log_critical_func), (gst_check_init):
17435         * check/gstcheck.h:
17436         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17437         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17438         Added checks.
17439
17440 2005-03-07  Wim Taymans  <wim@fluendo.com>
17441
17442         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17443         (gst_list_iterator_next), (gst_list_iterator_resync),
17444         (gst_list_iterator_free), (gst_iterator_new_list),
17445         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17446         (gst_iterator_free), (gst_iterator_push), (filter_next),
17447         (filter_resync), (filter_uninit), (filter_free),
17448         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17449         (gst_iterator_foreach), (find_custom_fold_func),
17450         (gst_iterator_find_custom):
17451         * gst/gstiterator.h:
17452         Added missing files.
17453
17454 2005-03-07  Wim Taymans  <wim@fluendo.com>
17455
17456         * Makefile.am:
17457         * configure.ac:
17458         * docs/design/part-MT-refcounting.txt:
17459         * docs/design/part-conventions.txt:
17460         * docs/design/part-gstobject.txt:
17461         * docs/design/part-relations.txt:
17462         * examples/mixer/mixer.c: (main):
17463         * examples/thread/thread.c: (eos), (main):
17464         * gst/Makefile.am:
17465         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17466         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17467         (gst_spider_plug_from_srcpad):
17468         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17469         (gst_spider_identity_change_state),
17470         (gst_spider_identity_sink_loop_type_finding):
17471         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17472         * gst/elements/gstidentity.c: (gst_identity_init):
17473         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17474         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17475         * gst/elements/gsttypefindelement.c: (free_entry):
17476         * gst/gst.c:
17477         * gst/gst.h:
17478         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17479         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17480         (gst_bin_set_index), (gst_bin_set_element_sched),
17481         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17482         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17483         (gst_bin_iterate_elements), (iterate_child_recurse),
17484         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17485         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17486         (compare_interface), (gst_bin_get_by_interface),
17487         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17488         * gst/gstbin.h:
17489         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17490         (gst_buffer_default_free), (gst_buffer_default_copy),
17491         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17492         (gst_buffer_create_sub):
17493         * gst/gstbuffer.h:
17494         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17495         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17496         (gst_caps_unref), (gst_static_caps_get),
17497         (gst_caps_remove_and_get_structure), (gst_caps_append),
17498         (gst_caps_append_structure), (gst_caps_remove_structure),
17499         (gst_caps_copy_nth), (gst_caps_set_simple),
17500         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17501         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17502         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17503         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17504         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17505         (gst_caps_structure_figure_out_union),
17506         (gst_caps_switch_structures), (gst_caps_do_simplify),
17507         (gst_caps_replace), (gst_caps_from_string),
17508         (gst_caps_copy_conditional):
17509         * gst/gstcaps.h:
17510         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17511         (_gst_clock_id_free), (gst_clock_id_unref),
17512         (gst_clock_id_compare_func), (gst_clock_id_wait),
17513         (gst_clock_id_wait_async), (gst_clock_class_init),
17514         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17515         (gst_clock_get_time), (gst_clock_set_time_adjust),
17516         (gst_clock_set_property), (gst_clock_get_property):
17517         * gst/gstclock.h:
17518         * gst/gstcompat.h:
17519         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17520         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17521         * gst/gstdata.h:
17522         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17523         (gst_element_requires_clock), (gst_element_provides_clock),
17524         (gst_element_set_clock), (gst_element_clock_wait),
17525         (gst_element_wait), (gst_element_set_time_delay),
17526         (gst_element_is_indexable), (gst_element_add_pad),
17527         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17528         (pad_compare_name), (gst_element_get_static_pad),
17529         (gst_element_request_pad), (gst_element_get_request_pad),
17530         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17531         (gst_element_class_get_pad_template_list),
17532         (gst_element_class_get_pad_template), (gst_element_error_func),
17533         (gst_element_get_random_pad), (gst_element_get_event_masks),
17534         (gst_element_send_event), (gst_element_seek),
17535         (gst_element_get_query_types), (gst_element_query),
17536         (gst_element_get_formats), (gst_element_convert),
17537         (gst_element_is_locked_state), (gst_element_set_locked_state),
17538         (gst_element_sync_state_with_parent), (gst_element_change_state),
17539         (gst_element_finalize), (gst_element_yield),
17540         (gst_element_interrupt), (gst_element_set_scheduler),
17541         (gst_element_get_scheduler), (gst_element_set_loop_function):
17542         * gst/gstelement.h:
17543         * gst/gstevent.h:
17544         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17545         (gst_format_get_by_nick), (gst_format_get_details),
17546         (gst_format_iterate_definitions):
17547         * gst/gstformat.h:
17548         * gst/gstindex.c: (gst_index_gtype_resolver):
17549         * gst/gstinfo.c:
17550         * gst/gstinfo.h:
17551         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17552         (gst_mem_chunk_free):
17553         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17554         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17555         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17556         (gst_object_dispatch_properties_changed),
17557         (gst_object_set_name_default), (gst_object_set_name),
17558         (gst_object_get_name), (gst_object_set_name_prefix),
17559         (gst_object_get_name_prefix), (gst_object_set_parent),
17560         (gst_object_get_parent), (gst_object_unparent),
17561         (gst_object_check_uniqueness), (gst_object_save_thyself),
17562         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17563         (gst_object_set_property), (gst_object_get_property),
17564         (gst_object_get_path_string):
17565         * gst/gstobject.h:
17566         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17567         (gst_real_pad_init), (gst_real_pad_get_property),
17568         (gst_pad_custom_new), (gst_pad_get_direction),
17569         (gst_pad_set_active), (gst_pad_is_active),
17570         (gst_pad_set_event_function), (gst_pad_is_linked),
17571         (gst_pad_link_free), (gst_pad_link_intersect),
17572         (gst_pad_link_fixate), (gst_pad_set_caps),
17573         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17574         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17575         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17576         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17577         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17578         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17579         (gst_pad_realize), (gst_pad_get_allowed_caps),
17580         (gst_real_pad_dispose), (gst_real_pad_finalize),
17581         (gst_pad_collectv), (gst_pad_collect_valist),
17582         (gst_pad_template_dispose), (gst_pad_template_new),
17583         (gst_pad_get_internal_links):
17584         * gst/gstpad.h:
17585         * gst/gstpipeline.c: (gst_pipeline_dispose),
17586         (gst_pipeline_change_state):
17587         * gst/gstpipeline.h:
17588         * gst/gstplugin.c:
17589         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17590         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17591         * gst/gstpluginfeature.h:
17592         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17593         * gst/gstquery.c: (_gst_query_type_initialize),
17594         (gst_query_type_register), (gst_query_type_get_by_nick),
17595         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17596         * gst/gstquery.h:
17597         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17598         * gst/gstscheduler.c: (gst_scheduler_add_element),
17599         (gst_scheduler_factory_create):
17600         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17601         (gst_structure_free), (gst_structure_set_name),
17602         (gst_structure_id_set_value), (gst_structure_set_value),
17603         (gst_structure_set_valist), (gst_structure_remove_field),
17604         (gst_structure_remove_fields),
17605         (gst_structure_remove_fields_valist),
17606         (gst_structure_remove_all_fields), (gst_structure_foreach),
17607         (gst_structure_map_in_place),
17608         (gst_caps_structure_fixate_field_nearest_int),
17609         (gst_caps_structure_fixate_field_nearest_double):
17610         * gst/gststructure.h:
17611         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17612         (gst_system_clock_init), (gst_system_clock_dispose),
17613         (gst_system_clock_async_thread),
17614         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17615         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17616         * gst/gstsystemclock.h:
17617         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17618         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17619         * gst/gsttaginterface.c:
17620         * gst/gstthread.c: (gst_thread_dispose),
17621         (gst_thread_release_children_locks), (gst_thread_change_state),
17622         (gst_thread_main_loop):
17623         * gst/gsttrashstack.h:
17624         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17625         * gst/gsttypes.h:
17626         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17627         (gst_element_request_pad), (gst_element_get_pad_from_template),
17628         (gst_element_request_compatible_pad),
17629         (gst_element_get_compatible_pad_filtered),
17630         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17631         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17632         (gst_element_link_many), (gst_element_link),
17633         (gst_element_link_pads), (gst_element_unlink_pads),
17634         (gst_element_unlink_many), (gst_element_unlink),
17635         (gst_pad_can_link_filtered), (gst_pad_can_link),
17636         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17637         (gst_object_default_error), (gst_bin_add_many),
17638         (gst_bin_remove_many), (gst_element_populate_std_props),
17639         (gst_element_class_install_std_props), (gst_buffer_merge),
17640         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17641         (link_fold_func), (gst_pad_proxy_setcaps):
17642         * gst/gstutils.h:
17643         * gst/gstvalue.c: (gst_value_deserialize_string):
17644         * gst/parse/grammar.y:
17645         * gst/schedulers/gstbasicscheduler.c:
17646         (gst_basic_scheduler_cothreaded_chain),
17647         (gst_basic_scheduler_chain_recursive_add),
17648         (gst_basic_scheduler_pad_link):
17649         * gst/schedulers/gstoptimalscheduler.c:
17650         (get_group_schedule_function),
17651         (gst_opt_scheduler_state_transition),
17652         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17653         * libs/gst/bytestream/bytestream.c:
17654         * libs/gst/dataprotocol/dataprotocol.c:
17655         (gst_dp_header_from_buffer):
17656         * po/nb.po:
17657         * po/ru.po:
17658         * tests/threadstate/threadstate2.c: (eos):
17659         * tools/gst-compprep.c: (main):
17660         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17661         (print_pad_info), (print_children_info):
17662         * tools/gst-launch.c: (idle_func), (main):
17663         * tools/gst-md5sum.c: (idle_func), (main):
17664         * tools/gst-xmlinspect.c: (print_element_info):
17665         First THREADED backport attempt, focusing on adding locks and
17666         making sure the API is threadsafe. Needs more work. More docs
17667         follow this week.
17668
17669 2005-02-24  Andy Wingo  <wingo@pobox.com>
17670
17671         * tests/bench-complexity.scm:
17672         * tests/complexity.gnuplot: New files, good for running complexity
17673         benchmarks.
17674
17675         * tests/Makefile.am:
17676         * tests/complexity.c: New test, sets up N elements, at each level
17677         teeing into M streams per element. Eeeenteresting.
17678
17679         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17680         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17681         running bench-mass_elements.scm.
17682
17683         * tests/bench-mass_elements.scm: New script, runs mass_elements
17684         for various numbers of identities, outputting the results to a
17685         file. Requires guile 1.6. Just for testing.
17686
17687 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17688
17689         * gst/schedulers/fairscheduler.c:
17690           compile with debug disabled
17691
17692 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17693
17694         * configure.ac:
17695           hunting season on 0.9 is now OPEN